lookbook 0.3.1 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/lookbook/app_controller.rb +3 -3
- data/app/views/lookbook/app/index.html.erb +2 -2
- data/app/views/lookbook/app/show.html.erb +1 -1
- data/app/views/lookbook/layouts/app.html.erb +3 -3
- data/app/views/lookbook/nav/_collection.html.erb +4 -4
- data/app/views/lookbook/nav/_node.html.erb +2 -2
- data/app/views/lookbook/nav/_preview.html.erb +4 -4
- data/app/views/lookbook/shared/_header.html.erb +1 -1
- data/app/views/lookbook/{_sidebar.html.erb → shared/_sidebar.html.erb} +3 -3
- data/app/views/lookbook/{_workbench.html.erb → shared/_workbench.html.erb} +5 -5
- data/app/views/lookbook/workbench/_header.html.erb +2 -2
- data/app/views/lookbook/workbench/_inspector.html.erb +3 -3
- data/lib/lookbook/collection.rb +3 -3
- data/lib/lookbook/engine.rb +14 -4
- data/lib/lookbook/null_logger.rb +47 -0
- data/lib/lookbook/parser.rb +1 -1
- data/lib/lookbook/preview.rb +1 -3
- data/lib/lookbook/taggable.rb +5 -3
- data/lib/lookbook/version.rb +1 -1
- data/lib/lookbook.rb +1 -0
- data/lib/tasks/lookbook_tasks.rake +1 -1
- data/public/lookbook-assets/app.css +102 -87
- data/public/lookbook-assets/app.js +329 -212
- metadata +5 -5
- data/lib/lookbook/navigation.rb +0 -68
@@ -1,7 +1,9 @@
|
|
1
1
|
(() => {
|
2
2
|
var __create = Object.create;
|
3
3
|
var __defProp = Object.defineProperty;
|
4
|
+
var __defProps = Object.defineProperties;
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
6
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
5
7
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
6
8
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
7
9
|
var __getProtoOf = Object.getPrototypeOf;
|
@@ -19,6 +21,7 @@
|
|
19
21
|
}
|
20
22
|
return a;
|
21
23
|
};
|
24
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
22
25
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
23
26
|
var __commonJS = (cb, mod) => function __require() {
|
24
27
|
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
@@ -710,7 +713,11 @@
|
|
710
713
|
const type = (element.getAttribute("type") || "").toLowerCase();
|
711
714
|
return name === "select" || name === "textarea" || name === "input" && type !== "submit" && type !== "reset" && type !== "checkbox" && type !== "radio" || element.isContentEditable;
|
712
715
|
}
|
713
|
-
function fireDeterminedAction(el) {
|
716
|
+
function fireDeterminedAction(el, path2) {
|
717
|
+
const delegateEvent = new CustomEvent("hotkey-fire", { cancelable: true, detail: { path: path2 } });
|
718
|
+
const cancelled = !el.dispatchEvent(delegateEvent);
|
719
|
+
if (cancelled)
|
720
|
+
return;
|
714
721
|
if (isFormField(el)) {
|
715
722
|
el.focus();
|
716
723
|
} else {
|
@@ -728,15 +735,24 @@
|
|
728
735
|
var elementsLeaves = new WeakMap();
|
729
736
|
var currentTriePosition = hotkeyRadixTrie;
|
730
737
|
var resetTriePositionTimer = null;
|
738
|
+
var path = [];
|
731
739
|
function resetTriePosition() {
|
740
|
+
path = [];
|
732
741
|
resetTriePositionTimer = null;
|
733
742
|
currentTriePosition = hotkeyRadixTrie;
|
734
743
|
}
|
735
744
|
function keyDownHandler(event) {
|
736
745
|
if (event.defaultPrevented)
|
737
746
|
return;
|
738
|
-
if (event.target instanceof Node
|
747
|
+
if (!(event.target instanceof Node))
|
739
748
|
return;
|
749
|
+
if (isFormField(event.target)) {
|
750
|
+
const target = event.target;
|
751
|
+
if (!target.id)
|
752
|
+
return;
|
753
|
+
if (!target.ownerDocument.querySelector(`[data-hotkey-scope=${target.id}]`))
|
754
|
+
return;
|
755
|
+
}
|
740
756
|
if (resetTriePositionTimer != null) {
|
741
757
|
window.clearTimeout(resetTriePositionTimer);
|
742
758
|
}
|
@@ -746,12 +762,26 @@
|
|
746
762
|
resetTriePosition();
|
747
763
|
return;
|
748
764
|
}
|
765
|
+
path.push(hotkey(event));
|
749
766
|
currentTriePosition = newTriePosition;
|
750
767
|
if (newTriePosition instanceof Leaf) {
|
751
|
-
|
752
|
-
|
768
|
+
const target = event.target;
|
769
|
+
let shouldFire = false;
|
770
|
+
let elementToFire;
|
771
|
+
const formField = isFormField(target);
|
772
|
+
for (let i = newTriePosition.children.length - 1; i >= 0; i -= 1) {
|
773
|
+
elementToFire = newTriePosition.children[i];
|
774
|
+
const scope = elementToFire.getAttribute("data-hotkey-scope");
|
775
|
+
if (!formField && !scope || formField && target.id === scope) {
|
776
|
+
shouldFire = true;
|
777
|
+
break;
|
778
|
+
}
|
779
|
+
}
|
780
|
+
if (elementToFire && shouldFire) {
|
781
|
+
fireDeterminedAction(elementToFire, path);
|
782
|
+
event.preventDefault();
|
783
|
+
}
|
753
784
|
resetTriePosition();
|
754
|
-
return;
|
755
785
|
}
|
756
786
|
}
|
757
787
|
function install(element, hotkey2) {
|
@@ -2108,8 +2138,10 @@
|
|
2108
2138
|
if (!el._x_attributeCleanups)
|
2109
2139
|
return;
|
2110
2140
|
Object.entries(el._x_attributeCleanups).forEach(([name, value]) => {
|
2111
|
-
(names === void 0 || names.includes(name))
|
2112
|
-
|
2141
|
+
if (names === void 0 || names.includes(name)) {
|
2142
|
+
value.forEach((i) => i());
|
2143
|
+
delete el._x_attributeCleanups[name];
|
2144
|
+
}
|
2113
2145
|
});
|
2114
2146
|
}
|
2115
2147
|
var observer = new MutationObserver(onMutate);
|
@@ -2119,6 +2151,7 @@
|
|
2119
2151
|
currentlyObserving = true;
|
2120
2152
|
}
|
2121
2153
|
function stopObservingMutations() {
|
2154
|
+
flushObserver();
|
2122
2155
|
observer.disconnect();
|
2123
2156
|
currentlyObserving = false;
|
2124
2157
|
}
|
@@ -2141,13 +2174,26 @@
|
|
2141
2174
|
function mutateDom(callback) {
|
2142
2175
|
if (!currentlyObserving)
|
2143
2176
|
return callback();
|
2144
|
-
flushObserver();
|
2145
2177
|
stopObservingMutations();
|
2146
2178
|
let result = callback();
|
2147
2179
|
startObservingMutations();
|
2148
2180
|
return result;
|
2149
2181
|
}
|
2182
|
+
var isCollecting = false;
|
2183
|
+
var deferredMutations = [];
|
2184
|
+
function deferMutations() {
|
2185
|
+
isCollecting = true;
|
2186
|
+
}
|
2187
|
+
function flushAndStopDeferringMutations() {
|
2188
|
+
isCollecting = false;
|
2189
|
+
onMutate(deferredMutations);
|
2190
|
+
deferredMutations = [];
|
2191
|
+
}
|
2150
2192
|
function onMutate(mutations) {
|
2193
|
+
if (isCollecting) {
|
2194
|
+
deferredMutations = deferredMutations.concat(mutations);
|
2195
|
+
return;
|
2196
|
+
}
|
2151
2197
|
let addedNodes = [];
|
2152
2198
|
let removedNodes = [];
|
2153
2199
|
let addedAttributes = new Map();
|
@@ -2219,7 +2265,7 @@
|
|
2219
2265
|
function closestDataStack(node) {
|
2220
2266
|
if (node._x_dataStack)
|
2221
2267
|
return node._x_dataStack;
|
2222
|
-
if (node instanceof ShadowRoot) {
|
2268
|
+
if (typeof ShadowRoot === "function" && node instanceof ShadowRoot) {
|
2223
2269
|
return closestDataStack(node.host);
|
2224
2270
|
}
|
2225
2271
|
if (!node.parentNode) {
|
@@ -2228,7 +2274,7 @@
|
|
2228
2274
|
return closestDataStack(node.parentNode);
|
2229
2275
|
}
|
2230
2276
|
function mergeProxies(objects) {
|
2231
|
-
|
2277
|
+
let thisProxy = new Proxy({}, {
|
2232
2278
|
ownKeys: () => {
|
2233
2279
|
return Array.from(new Set(objects.flatMap((i) => Object.keys(i))));
|
2234
2280
|
},
|
@@ -2236,7 +2282,31 @@
|
|
2236
2282
|
return objects.some((obj) => obj.hasOwnProperty(name));
|
2237
2283
|
},
|
2238
2284
|
get: (target, name) => {
|
2239
|
-
return (objects.find((obj) =>
|
2285
|
+
return (objects.find((obj) => {
|
2286
|
+
if (obj.hasOwnProperty(name)) {
|
2287
|
+
let descriptor = Object.getOwnPropertyDescriptor(obj, name);
|
2288
|
+
if (descriptor.get && descriptor.get._x_alreadyBound || descriptor.set && descriptor.set._x_alreadyBound) {
|
2289
|
+
return true;
|
2290
|
+
}
|
2291
|
+
if ((descriptor.get || descriptor.set) && descriptor.enumerable) {
|
2292
|
+
let getter = descriptor.get;
|
2293
|
+
let setter = descriptor.set;
|
2294
|
+
let property = descriptor;
|
2295
|
+
getter = getter && getter.bind(thisProxy);
|
2296
|
+
setter = setter && setter.bind(thisProxy);
|
2297
|
+
if (getter)
|
2298
|
+
getter._x_alreadyBound = true;
|
2299
|
+
if (setter)
|
2300
|
+
setter._x_alreadyBound = true;
|
2301
|
+
Object.defineProperty(obj, name, __spreadProps(__spreadValues({}, property), {
|
2302
|
+
get: getter,
|
2303
|
+
set: setter
|
2304
|
+
}));
|
2305
|
+
}
|
2306
|
+
return true;
|
2307
|
+
}
|
2308
|
+
return false;
|
2309
|
+
}) || {})[name];
|
2240
2310
|
},
|
2241
2311
|
set: (target, name, value) => {
|
2242
2312
|
let closestObjectWithKey = objects.find((obj) => obj.hasOwnProperty(name));
|
@@ -2248,17 +2318,18 @@
|
|
2248
2318
|
return true;
|
2249
2319
|
}
|
2250
2320
|
});
|
2321
|
+
return thisProxy;
|
2251
2322
|
}
|
2252
2323
|
function initInterceptors(data2) {
|
2253
2324
|
let isObject = (val) => typeof val === "object" && !Array.isArray(val) && val !== null;
|
2254
2325
|
let recurse = (obj, basePath = "") => {
|
2255
2326
|
Object.entries(obj).forEach(([key, value]) => {
|
2256
|
-
let
|
2327
|
+
let path2 = basePath === "" ? key : `${basePath}.${key}`;
|
2257
2328
|
if (typeof value === "object" && value !== null && value._x_interceptor) {
|
2258
|
-
obj[key] = value.initialize(data2,
|
2329
|
+
obj[key] = value.initialize(data2, path2, key);
|
2259
2330
|
} else {
|
2260
2331
|
if (isObject(value) && value !== obj && !(value instanceof Element)) {
|
2261
|
-
recurse(value,
|
2332
|
+
recurse(value, path2);
|
2262
2333
|
}
|
2263
2334
|
}
|
2264
2335
|
});
|
@@ -2270,18 +2341,18 @@
|
|
2270
2341
|
let obj = {
|
2271
2342
|
initialValue: void 0,
|
2272
2343
|
_x_interceptor: true,
|
2273
|
-
initialize(data2,
|
2274
|
-
return callback(this.initialValue, () => get(data2,
|
2344
|
+
initialize(data2, path2, key) {
|
2345
|
+
return callback(this.initialValue, () => get(data2, path2), (value) => set(data2, path2, value), path2, key);
|
2275
2346
|
}
|
2276
2347
|
};
|
2277
2348
|
mutateObj(obj);
|
2278
2349
|
return (initialValue) => {
|
2279
2350
|
if (typeof initialValue === "object" && initialValue !== null && initialValue._x_interceptor) {
|
2280
2351
|
let initialize = obj.initialize.bind(obj);
|
2281
|
-
obj.initialize = (data2,
|
2282
|
-
let innerValue = initialValue.initialize(data2,
|
2352
|
+
obj.initialize = (data2, path2, key) => {
|
2353
|
+
let innerValue = initialValue.initialize(data2, path2, key);
|
2283
2354
|
obj.initialValue = innerValue;
|
2284
|
-
return initialize(data2,
|
2355
|
+
return initialize(data2, path2, key);
|
2285
2356
|
};
|
2286
2357
|
} else {
|
2287
2358
|
obj.initialValue = initialValue;
|
@@ -2289,22 +2360,22 @@
|
|
2289
2360
|
return obj;
|
2290
2361
|
};
|
2291
2362
|
}
|
2292
|
-
function get(obj,
|
2293
|
-
return
|
2363
|
+
function get(obj, path2) {
|
2364
|
+
return path2.split(".").reduce((carry, segment) => carry[segment], obj);
|
2294
2365
|
}
|
2295
|
-
function set(obj,
|
2296
|
-
if (typeof
|
2297
|
-
|
2298
|
-
if (
|
2299
|
-
obj[
|
2300
|
-
else if (
|
2366
|
+
function set(obj, path2, value) {
|
2367
|
+
if (typeof path2 === "string")
|
2368
|
+
path2 = path2.split(".");
|
2369
|
+
if (path2.length === 1)
|
2370
|
+
obj[path2[0]] = value;
|
2371
|
+
else if (path2.length === 0)
|
2301
2372
|
throw error;
|
2302
2373
|
else {
|
2303
|
-
if (obj[
|
2304
|
-
return set(obj[
|
2374
|
+
if (obj[path2[0]])
|
2375
|
+
return set(obj[path2[0]], path2.slice(1), value);
|
2305
2376
|
else {
|
2306
|
-
obj[
|
2307
|
-
return set(obj[
|
2377
|
+
obj[path2[0]] = {};
|
2378
|
+
return set(obj[path2[0]], path2.slice(1), value);
|
2308
2379
|
}
|
2309
2380
|
}
|
2310
2381
|
}
|
@@ -2425,6 +2496,9 @@ Expression: "${expression}"
|
|
2425
2496
|
return getDirectiveHandler(el, directive2);
|
2426
2497
|
});
|
2427
2498
|
}
|
2499
|
+
function attributesOnly(attributes) {
|
2500
|
+
return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr));
|
2501
|
+
}
|
2428
2502
|
var isDeferringHandlers = false;
|
2429
2503
|
var directiveHandlerStacks = new Map();
|
2430
2504
|
var currentHandlerStackKey = Symbol();
|
@@ -2478,7 +2552,8 @@ Expression: "${expression}"
|
|
2478
2552
|
return { name, value };
|
2479
2553
|
};
|
2480
2554
|
var into = (i) => i;
|
2481
|
-
function toTransformedAttributes(callback) {
|
2555
|
+
function toTransformedAttributes(callback = () => {
|
2556
|
+
}) {
|
2482
2557
|
return ({ name, value }) => {
|
2483
2558
|
let { name: newName, value: newValue } = attributeTransformers.reduce((carry, transform) => {
|
2484
2559
|
return transform(carry);
|
@@ -2558,7 +2633,7 @@ Expression: "${expression}"
|
|
2558
2633
|
isHolding = true;
|
2559
2634
|
}
|
2560
2635
|
function walk(el, callback) {
|
2561
|
-
if (el instanceof ShadowRoot) {
|
2636
|
+
if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) {
|
2562
2637
|
Array.from(el.children).forEach((el2) => walk(el2, callback));
|
2563
2638
|
return;
|
2564
2639
|
}
|
@@ -2586,7 +2661,7 @@ Expression: "${expression}"
|
|
2586
2661
|
onAttributesAdded((el, attrs) => {
|
2587
2662
|
directives(el, attrs).forEach((handle) => handle());
|
2588
2663
|
});
|
2589
|
-
let outNestedComponents = (el) => !closestRoot(el.parentElement);
|
2664
|
+
let outNestedComponents = (el) => !closestRoot(el.parentElement, true);
|
2590
2665
|
Array.from(document.querySelectorAll(allSelectors())).filter(outNestedComponents).forEach((el) => {
|
2591
2666
|
initTree(el);
|
2592
2667
|
});
|
@@ -2606,14 +2681,15 @@ Expression: "${expression}"
|
|
2606
2681
|
function addInitSelector(selectorCallback) {
|
2607
2682
|
initSelectorCallbacks.push(selectorCallback);
|
2608
2683
|
}
|
2609
|
-
function closestRoot(el) {
|
2684
|
+
function closestRoot(el, includeInitSelectors = false) {
|
2610
2685
|
if (!el)
|
2611
2686
|
return;
|
2612
|
-
|
2687
|
+
const selectors = includeInitSelectors ? allSelectors() : rootSelectors();
|
2688
|
+
if (selectors.some((selector) => el.matches(selector)))
|
2613
2689
|
return el;
|
2614
2690
|
if (!el.parentElement)
|
2615
2691
|
return;
|
2616
|
-
return closestRoot(el.parentElement);
|
2692
|
+
return closestRoot(el.parentElement, includeInitSelectors);
|
2617
2693
|
}
|
2618
2694
|
function isRoot(el) {
|
2619
2695
|
return rootSelectors().some((selector) => el.matches(selector));
|
@@ -2629,139 +2705,6 @@ Expression: "${expression}"
|
|
2629
2705
|
function destroyTree(root) {
|
2630
2706
|
walk(root, (el) => cleanupAttributes(el));
|
2631
2707
|
}
|
2632
|
-
function plugin(callback) {
|
2633
|
-
callback(alpine_default);
|
2634
|
-
}
|
2635
|
-
var stores = {};
|
2636
|
-
var isReactive = false;
|
2637
|
-
function store(name, value) {
|
2638
|
-
if (!isReactive) {
|
2639
|
-
stores = reactive(stores);
|
2640
|
-
isReactive = true;
|
2641
|
-
}
|
2642
|
-
if (value === void 0) {
|
2643
|
-
return stores[name];
|
2644
|
-
}
|
2645
|
-
stores[name] = value;
|
2646
|
-
if (typeof value === "object" && value !== null && value.hasOwnProperty("init") && typeof value.init === "function") {
|
2647
|
-
stores[name].init();
|
2648
|
-
}
|
2649
|
-
}
|
2650
|
-
function getStores() {
|
2651
|
-
return stores;
|
2652
|
-
}
|
2653
|
-
var isCloning = false;
|
2654
|
-
function skipDuringClone(callback) {
|
2655
|
-
return (...args) => isCloning || callback(...args);
|
2656
|
-
}
|
2657
|
-
function clone(oldEl, newEl) {
|
2658
|
-
newEl._x_dataStack = oldEl._x_dataStack;
|
2659
|
-
isCloning = true;
|
2660
|
-
dontRegisterReactiveSideEffects(() => {
|
2661
|
-
cloneTree(newEl);
|
2662
|
-
});
|
2663
|
-
isCloning = false;
|
2664
|
-
}
|
2665
|
-
function cloneTree(el) {
|
2666
|
-
let hasRunThroughFirstEl = false;
|
2667
|
-
let shallowWalker = (el2, callback) => {
|
2668
|
-
walk(el2, (el3, skip) => {
|
2669
|
-
if (hasRunThroughFirstEl && isRoot(el3))
|
2670
|
-
return skip();
|
2671
|
-
hasRunThroughFirstEl = true;
|
2672
|
-
callback(el3, skip);
|
2673
|
-
});
|
2674
|
-
};
|
2675
|
-
initTree(el, shallowWalker);
|
2676
|
-
}
|
2677
|
-
function dontRegisterReactiveSideEffects(callback) {
|
2678
|
-
let cache = effect;
|
2679
|
-
overrideEffect((callback2, el) => {
|
2680
|
-
let storedEffect = cache(callback2);
|
2681
|
-
release(storedEffect);
|
2682
|
-
return () => {
|
2683
|
-
};
|
2684
|
-
});
|
2685
|
-
callback();
|
2686
|
-
overrideEffect(cache);
|
2687
|
-
}
|
2688
|
-
var datas = {};
|
2689
|
-
function data(name, callback) {
|
2690
|
-
datas[name] = callback;
|
2691
|
-
}
|
2692
|
-
function injectDataProviders(obj, context) {
|
2693
|
-
Object.entries(datas).forEach(([name, callback]) => {
|
2694
|
-
Object.defineProperty(obj, name, {
|
2695
|
-
get() {
|
2696
|
-
return (...args) => {
|
2697
|
-
return callback.bind(context)(...args);
|
2698
|
-
};
|
2699
|
-
},
|
2700
|
-
enumerable: false
|
2701
|
-
});
|
2702
|
-
});
|
2703
|
-
return obj;
|
2704
|
-
}
|
2705
|
-
var Alpine2 = {
|
2706
|
-
get reactive() {
|
2707
|
-
return reactive;
|
2708
|
-
},
|
2709
|
-
get release() {
|
2710
|
-
return release;
|
2711
|
-
},
|
2712
|
-
get effect() {
|
2713
|
-
return effect;
|
2714
|
-
},
|
2715
|
-
get raw() {
|
2716
|
-
return raw;
|
2717
|
-
},
|
2718
|
-
version: "3.2.4",
|
2719
|
-
disableEffectScheduling,
|
2720
|
-
setReactivityEngine,
|
2721
|
-
addRootSelector,
|
2722
|
-
mapAttributes,
|
2723
|
-
evaluateLater,
|
2724
|
-
setEvaluator,
|
2725
|
-
closestRoot,
|
2726
|
-
interceptor,
|
2727
|
-
mutateDom,
|
2728
|
-
directive,
|
2729
|
-
evaluate,
|
2730
|
-
initTree,
|
2731
|
-
nextTick,
|
2732
|
-
prefix: setPrefix,
|
2733
|
-
plugin,
|
2734
|
-
magic,
|
2735
|
-
store,
|
2736
|
-
start,
|
2737
|
-
clone,
|
2738
|
-
data
|
2739
|
-
};
|
2740
|
-
var alpine_default = Alpine2;
|
2741
|
-
var import_reactivity9 = __toModule2(require_reactivity());
|
2742
|
-
magic("nextTick", () => nextTick);
|
2743
|
-
magic("dispatch", (el) => dispatch.bind(dispatch, el));
|
2744
|
-
magic("watch", (el) => (key, callback) => {
|
2745
|
-
let evaluate2 = evaluateLater(el, key);
|
2746
|
-
let firstTime = true;
|
2747
|
-
let oldValue;
|
2748
|
-
effect(() => evaluate2((value) => {
|
2749
|
-
let div = document.createElement("div");
|
2750
|
-
div.dataset.throwAway = value;
|
2751
|
-
if (!firstTime) {
|
2752
|
-
queueMicrotask(() => {
|
2753
|
-
callback(value, oldValue);
|
2754
|
-
oldValue = value;
|
2755
|
-
});
|
2756
|
-
} else {
|
2757
|
-
oldValue = value;
|
2758
|
-
}
|
2759
|
-
firstTime = false;
|
2760
|
-
}));
|
2761
|
-
});
|
2762
|
-
magic("store", getStores);
|
2763
|
-
magic("refs", (el) => closestRoot(el)._x_refs || {});
|
2764
|
-
magic("el", (el) => el);
|
2765
2708
|
function setClasses(el, value) {
|
2766
2709
|
if (Array.isArray(value)) {
|
2767
2710
|
return setClassesFromString(el, value.join(" "));
|
@@ -2951,8 +2894,7 @@ Expression: "${expression}"
|
|
2951
2894
|
transition(el, setFunction, {
|
2952
2895
|
during: this.enter.during,
|
2953
2896
|
start: this.enter.start,
|
2954
|
-
end: this.enter.end
|
2955
|
-
entering: true
|
2897
|
+
end: this.enter.end
|
2956
2898
|
}, before, after);
|
2957
2899
|
},
|
2958
2900
|
out(before = () => {
|
@@ -2961,14 +2903,15 @@ Expression: "${expression}"
|
|
2961
2903
|
transition(el, setFunction, {
|
2962
2904
|
during: this.leave.during,
|
2963
2905
|
start: this.leave.start,
|
2964
|
-
end: this.leave.end
|
2965
|
-
entering: false
|
2906
|
+
end: this.leave.end
|
2966
2907
|
}, before, after);
|
2967
2908
|
}
|
2968
2909
|
};
|
2969
2910
|
}
|
2970
2911
|
window.Element.prototype._x_toggleAndCascadeWithTransitions = function(el, value, show, hide) {
|
2971
|
-
let clickAwayCompatibleShow = () =>
|
2912
|
+
let clickAwayCompatibleShow = () => {
|
2913
|
+
document.visibilityState === "visible" ? requestAnimationFrame(show) : setTimeout(show);
|
2914
|
+
};
|
2972
2915
|
if (value) {
|
2973
2916
|
el._x_transition ? el._x_transition.in(show) : clickAwayCompatibleShow();
|
2974
2917
|
return;
|
@@ -3009,7 +2952,7 @@ Expression: "${expression}"
|
|
3009
2952
|
return;
|
3010
2953
|
return parent._x_hidePromise ? parent : closestHide(parent);
|
3011
2954
|
}
|
3012
|
-
function transition(el, setFunction, { during, start: start2, end
|
2955
|
+
function transition(el, setFunction, { during, start: start2, end } = {}, before = () => {
|
3013
2956
|
}, after = () => {
|
3014
2957
|
}) {
|
3015
2958
|
if (el._x_transitioning)
|
@@ -3037,9 +2980,9 @@ Expression: "${expression}"
|
|
3037
2980
|
undoDuring();
|
3038
2981
|
undoEnd();
|
3039
2982
|
}
|
3040
|
-
}
|
2983
|
+
});
|
3041
2984
|
}
|
3042
|
-
function performTransition(el, stages
|
2985
|
+
function performTransition(el, stages) {
|
3043
2986
|
let interrupted, reachedBefore, reachedEnd;
|
3044
2987
|
let finish = once(() => {
|
3045
2988
|
mutateDom(() => {
|
@@ -3068,8 +3011,7 @@ Expression: "${expression}"
|
|
3068
3011
|
;
|
3069
3012
|
finish();
|
3070
3013
|
}),
|
3071
|
-
finish
|
3072
|
-
entering
|
3014
|
+
finish
|
3073
3015
|
};
|
3074
3016
|
mutateDom(() => {
|
3075
3017
|
stages.start();
|
@@ -3121,6 +3063,184 @@ Expression: "${expression}"
|
|
3121
3063
|
}
|
3122
3064
|
return rawValue;
|
3123
3065
|
}
|
3066
|
+
function debounce(func, wait) {
|
3067
|
+
var timeout;
|
3068
|
+
return function() {
|
3069
|
+
var context = this, args = arguments;
|
3070
|
+
var later = function() {
|
3071
|
+
timeout = null;
|
3072
|
+
func.apply(context, args);
|
3073
|
+
};
|
3074
|
+
clearTimeout(timeout);
|
3075
|
+
timeout = setTimeout(later, wait);
|
3076
|
+
};
|
3077
|
+
}
|
3078
|
+
function throttle(func, limit) {
|
3079
|
+
let inThrottle;
|
3080
|
+
return function() {
|
3081
|
+
let context = this, args = arguments;
|
3082
|
+
if (!inThrottle) {
|
3083
|
+
func.apply(context, args);
|
3084
|
+
inThrottle = true;
|
3085
|
+
setTimeout(() => inThrottle = false, limit);
|
3086
|
+
}
|
3087
|
+
};
|
3088
|
+
}
|
3089
|
+
function plugin(callback) {
|
3090
|
+
callback(alpine_default);
|
3091
|
+
}
|
3092
|
+
var stores = {};
|
3093
|
+
var isReactive = false;
|
3094
|
+
function store(name, value) {
|
3095
|
+
if (!isReactive) {
|
3096
|
+
stores = reactive(stores);
|
3097
|
+
isReactive = true;
|
3098
|
+
}
|
3099
|
+
if (value === void 0) {
|
3100
|
+
return stores[name];
|
3101
|
+
}
|
3102
|
+
stores[name] = value;
|
3103
|
+
if (typeof value === "object" && value !== null && value.hasOwnProperty("init") && typeof value.init === "function") {
|
3104
|
+
stores[name].init();
|
3105
|
+
}
|
3106
|
+
}
|
3107
|
+
function getStores() {
|
3108
|
+
return stores;
|
3109
|
+
}
|
3110
|
+
var isCloning = false;
|
3111
|
+
function skipDuringClone(callback) {
|
3112
|
+
return (...args) => isCloning || callback(...args);
|
3113
|
+
}
|
3114
|
+
function clone(oldEl, newEl) {
|
3115
|
+
newEl._x_dataStack = oldEl._x_dataStack;
|
3116
|
+
isCloning = true;
|
3117
|
+
dontRegisterReactiveSideEffects(() => {
|
3118
|
+
cloneTree(newEl);
|
3119
|
+
});
|
3120
|
+
isCloning = false;
|
3121
|
+
}
|
3122
|
+
function cloneTree(el) {
|
3123
|
+
let hasRunThroughFirstEl = false;
|
3124
|
+
let shallowWalker = (el2, callback) => {
|
3125
|
+
walk(el2, (el3, skip) => {
|
3126
|
+
if (hasRunThroughFirstEl && isRoot(el3))
|
3127
|
+
return skip();
|
3128
|
+
hasRunThroughFirstEl = true;
|
3129
|
+
callback(el3, skip);
|
3130
|
+
});
|
3131
|
+
};
|
3132
|
+
initTree(el, shallowWalker);
|
3133
|
+
}
|
3134
|
+
function dontRegisterReactiveSideEffects(callback) {
|
3135
|
+
let cache = effect;
|
3136
|
+
overrideEffect((callback2, el) => {
|
3137
|
+
let storedEffect = cache(callback2);
|
3138
|
+
release(storedEffect);
|
3139
|
+
return () => {
|
3140
|
+
};
|
3141
|
+
});
|
3142
|
+
callback();
|
3143
|
+
overrideEffect(cache);
|
3144
|
+
}
|
3145
|
+
var datas = {};
|
3146
|
+
function data(name, callback) {
|
3147
|
+
datas[name] = callback;
|
3148
|
+
}
|
3149
|
+
function injectDataProviders(obj, context) {
|
3150
|
+
Object.entries(datas).forEach(([name, callback]) => {
|
3151
|
+
Object.defineProperty(obj, name, {
|
3152
|
+
get() {
|
3153
|
+
return (...args) => {
|
3154
|
+
return callback.bind(context)(...args);
|
3155
|
+
};
|
3156
|
+
},
|
3157
|
+
enumerable: false
|
3158
|
+
});
|
3159
|
+
});
|
3160
|
+
return obj;
|
3161
|
+
}
|
3162
|
+
var Alpine2 = {
|
3163
|
+
get reactive() {
|
3164
|
+
return reactive;
|
3165
|
+
},
|
3166
|
+
get release() {
|
3167
|
+
return release;
|
3168
|
+
},
|
3169
|
+
get effect() {
|
3170
|
+
return effect;
|
3171
|
+
},
|
3172
|
+
get raw() {
|
3173
|
+
return raw;
|
3174
|
+
},
|
3175
|
+
version: "3.4.2",
|
3176
|
+
flushAndStopDeferringMutations,
|
3177
|
+
disableEffectScheduling,
|
3178
|
+
setReactivityEngine,
|
3179
|
+
addRootSelector,
|
3180
|
+
deferMutations,
|
3181
|
+
mapAttributes,
|
3182
|
+
evaluateLater,
|
3183
|
+
setEvaluator,
|
3184
|
+
closestRoot,
|
3185
|
+
interceptor,
|
3186
|
+
transition,
|
3187
|
+
setStyles,
|
3188
|
+
mutateDom,
|
3189
|
+
directive,
|
3190
|
+
throttle,
|
3191
|
+
debounce,
|
3192
|
+
evaluate,
|
3193
|
+
initTree,
|
3194
|
+
nextTick,
|
3195
|
+
prefix: setPrefix,
|
3196
|
+
plugin,
|
3197
|
+
magic,
|
3198
|
+
store,
|
3199
|
+
start,
|
3200
|
+
clone,
|
3201
|
+
data
|
3202
|
+
};
|
3203
|
+
var alpine_default = Alpine2;
|
3204
|
+
var import_reactivity9 = __toModule2(require_reactivity());
|
3205
|
+
magic("nextTick", () => nextTick);
|
3206
|
+
magic("dispatch", (el) => dispatch.bind(dispatch, el));
|
3207
|
+
magic("watch", (el) => (key, callback) => {
|
3208
|
+
let evaluate2 = evaluateLater(el, key);
|
3209
|
+
let firstTime = true;
|
3210
|
+
let oldValue;
|
3211
|
+
effect(() => evaluate2((value) => {
|
3212
|
+
let div = document.createElement("div");
|
3213
|
+
div.dataset.throwAway = value;
|
3214
|
+
if (!firstTime) {
|
3215
|
+
queueMicrotask(() => {
|
3216
|
+
callback(value, oldValue);
|
3217
|
+
oldValue = value;
|
3218
|
+
});
|
3219
|
+
} else {
|
3220
|
+
oldValue = value;
|
3221
|
+
}
|
3222
|
+
firstTime = false;
|
3223
|
+
}));
|
3224
|
+
});
|
3225
|
+
magic("store", getStores);
|
3226
|
+
magic("root", (el) => closestRoot(el));
|
3227
|
+
magic("refs", (el) => {
|
3228
|
+
if (el._x_refs_proxy)
|
3229
|
+
return el._x_refs_proxy;
|
3230
|
+
el._x_refs_proxy = mergeProxies(getArrayOfRefObject(el));
|
3231
|
+
return el._x_refs_proxy;
|
3232
|
+
});
|
3233
|
+
function getArrayOfRefObject(el) {
|
3234
|
+
let refObjects = [];
|
3235
|
+
let currentEl = el;
|
3236
|
+
while (currentEl) {
|
3237
|
+
if (currentEl._x_refs)
|
3238
|
+
refObjects.push(currentEl._x_refs);
|
3239
|
+
currentEl = currentEl.parentNode;
|
3240
|
+
}
|
3241
|
+
return refObjects;
|
3242
|
+
}
|
3243
|
+
magic("el", (el) => el);
|
3124
3244
|
var handler = () => {
|
3125
3245
|
};
|
3126
3246
|
handler.inline = (el, { modifiers }, { cleanup: cleanup2 }) => {
|
@@ -3248,7 +3368,7 @@ Expression: "${expression}"
|
|
3248
3368
|
return booleanAttributes.includes(attrName);
|
3249
3369
|
}
|
3250
3370
|
function attributeShouldntBePreservedIfFalsy(name) {
|
3251
|
-
return !["aria-pressed", "aria-checked"].includes(name);
|
3371
|
+
return !["aria-pressed", "aria-checked", "aria-expanded"].includes(name);
|
3252
3372
|
}
|
3253
3373
|
function on(el, event, modifiers, callback) {
|
3254
3374
|
let listenerTarget = el;
|
@@ -3261,6 +3381,8 @@ Expression: "${expression}"
|
|
3261
3381
|
event = camelCase2(event);
|
3262
3382
|
if (modifiers.includes("passive"))
|
3263
3383
|
options.passive = true;
|
3384
|
+
if (modifiers.includes("capture"))
|
3385
|
+
options.capture = true;
|
3264
3386
|
if (modifiers.includes("window"))
|
3265
3387
|
listenerTarget = window;
|
3266
3388
|
if (modifiers.includes("document"))
|
@@ -3300,12 +3422,12 @@ Expression: "${expression}"
|
|
3300
3422
|
if (modifiers.includes("debounce")) {
|
3301
3423
|
let nextModifier = modifiers[modifiers.indexOf("debounce") + 1] || "invalid-wait";
|
3302
3424
|
let wait = isNumeric(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
|
3303
|
-
handler3 = debounce(handler3, wait
|
3425
|
+
handler3 = debounce(handler3, wait);
|
3304
3426
|
}
|
3305
3427
|
if (modifiers.includes("throttle")) {
|
3306
3428
|
let nextModifier = modifiers[modifiers.indexOf("throttle") + 1] || "invalid-wait";
|
3307
3429
|
let wait = isNumeric(nextModifier.split("ms")[0]) ? Number(nextModifier.split("ms")[0]) : 250;
|
3308
|
-
handler3 = throttle(handler3, wait
|
3430
|
+
handler3 = throttle(handler3, wait);
|
3309
3431
|
}
|
3310
3432
|
if (modifiers.includes("once")) {
|
3311
3433
|
handler3 = wrapHandler(handler3, (next, e) => {
|
@@ -3324,29 +3446,6 @@ Expression: "${expression}"
|
|
3324
3446
|
function camelCase2(subject) {
|
3325
3447
|
return subject.toLowerCase().replace(/-(\w)/g, (match, char) => char.toUpperCase());
|
3326
3448
|
}
|
3327
|
-
function debounce(func, wait) {
|
3328
|
-
var timeout;
|
3329
|
-
return function() {
|
3330
|
-
var context = this, args = arguments;
|
3331
|
-
var later = function() {
|
3332
|
-
timeout = null;
|
3333
|
-
func.apply(context, args);
|
3334
|
-
};
|
3335
|
-
clearTimeout(timeout);
|
3336
|
-
timeout = setTimeout(later, wait);
|
3337
|
-
};
|
3338
|
-
}
|
3339
|
-
function throttle(func, limit) {
|
3340
|
-
let inThrottle;
|
3341
|
-
return function() {
|
3342
|
-
let context = this, args = arguments;
|
3343
|
-
if (!inThrottle) {
|
3344
|
-
func.apply(context, args);
|
3345
|
-
inThrottle = true;
|
3346
|
-
setTimeout(() => inThrottle = false, limit);
|
3347
|
-
}
|
3348
|
-
};
|
3349
|
-
}
|
3350
3449
|
function isNumeric(subject) {
|
3351
3450
|
return !Array.isArray(subject) && !isNaN(subject);
|
3352
3451
|
}
|
@@ -3398,7 +3497,9 @@ Expression: "${expression}"
|
|
3398
3497
|
up: "arrow-up",
|
3399
3498
|
down: "arrow-down",
|
3400
3499
|
left: "arrow-left",
|
3401
|
-
right: "arrow-right"
|
3500
|
+
right: "arrow-right",
|
3501
|
+
period: ".",
|
3502
|
+
equal: "="
|
3402
3503
|
};
|
3403
3504
|
modifierToKeyMap[key] = key;
|
3404
3505
|
return Object.keys(modifierToKeyMap).map((modifier) => {
|
@@ -3479,7 +3580,12 @@ Expression: "${expression}"
|
|
3479
3580
|
}
|
3480
3581
|
directive("cloak", (el) => queueMicrotask(() => mutateDom(() => el.removeAttribute(prefix("cloak")))));
|
3481
3582
|
addInitSelector(() => `[${prefix("init")}]`);
|
3482
|
-
directive("init", skipDuringClone((el, { expression }) =>
|
3583
|
+
directive("init", skipDuringClone((el, { expression }) => {
|
3584
|
+
if (typeof expression === "string") {
|
3585
|
+
return !!expression.trim() && evaluate(el, expression, {}, false);
|
3586
|
+
}
|
3587
|
+
return evaluate(el, expression, {}, false);
|
3588
|
+
}));
|
3483
3589
|
directive("text", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2 }) => {
|
3484
3590
|
let evaluate2 = evaluateLater2(expression);
|
3485
3591
|
effect3(() => {
|
@@ -3519,6 +3625,12 @@ Expression: "${expression}"
|
|
3519
3625
|
cleanupRunners.pop()();
|
3520
3626
|
getBindings((bindings) => {
|
3521
3627
|
let attributes = Object.entries(bindings).map(([name, value]) => ({ name, value }));
|
3628
|
+
attributesOnly(attributes).forEach(({ name, value }, index2) => {
|
3629
|
+
attributes[index2] = {
|
3630
|
+
name: `x-bind:${name}`,
|
3631
|
+
value: `"${value}"`
|
3632
|
+
};
|
3633
|
+
});
|
3522
3634
|
directives(el, attributes, original).map((handle) => {
|
3523
3635
|
cleanupRunners.push(handle.runCleanups);
|
3524
3636
|
handle();
|
@@ -3718,6 +3830,11 @@ Expression: "${expression}"
|
|
3718
3830
|
names.forEach((name, i) => {
|
3719
3831
|
scopeVariables[name] = item[i];
|
3720
3832
|
});
|
3833
|
+
} else if (/^\{.*\}$/.test(iteratorNames.item) && !Array.isArray(item) && typeof item === "object") {
|
3834
|
+
let names = iteratorNames.item.replace("{", "").replace("}", "").split(",").map((i) => i.trim());
|
3835
|
+
names.forEach((name) => {
|
3836
|
+
scopeVariables[name] = item[name];
|
3837
|
+
});
|
3721
3838
|
} else {
|
3722
3839
|
scopeVariables[iteratorNames.item] = item;
|
3723
3840
|
}
|
@@ -8374,11 +8491,11 @@ Expression: "${expression}"
|
|
8374
8491
|
this.$dispatch("nav:updated");
|
8375
8492
|
});
|
8376
8493
|
},
|
8377
|
-
navigate(
|
8378
|
-
if (
|
8379
|
-
|
8494
|
+
navigate(path2) {
|
8495
|
+
if (path2 instanceof Event) {
|
8496
|
+
path2 = path2.currentTarget.href;
|
8380
8497
|
}
|
8381
|
-
history.pushState({}, null,
|
8498
|
+
history.pushState({}, null, path2);
|
8382
8499
|
this.$dispatch("popstate");
|
8383
8500
|
},
|
8384
8501
|
focusFilter() {
|