unpoly-rails 3.1.1 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/assets/unpoly/unpoly-bootstrap3.css +2 -2
- data/assets/unpoly/unpoly-bootstrap3.min.css +0 -1
- data/assets/unpoly/unpoly-bootstrap4.css +2 -2
- data/assets/unpoly/unpoly-bootstrap4.min.css +0 -1
- data/assets/unpoly/unpoly-bootstrap5.css +2 -2
- data/assets/unpoly/unpoly-bootstrap5.min.css +0 -1
- data/assets/unpoly/unpoly.css +108 -78
- data/assets/unpoly/unpoly.es6.js +429 -372
- data/assets/unpoly/unpoly.es6.min.js +1 -1
- data/assets/unpoly/unpoly.js +415 -359
- data/assets/unpoly/unpoly.min.css +1 -7
- data/assets/unpoly/unpoly.min.js +1 -1
- data/lib/unpoly/rails/version.rb +1 -1
- metadata +2 -2
data/assets/unpoly/unpoly.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
/***/ (() => {
|
6
6
|
|
7
7
|
window.up = {
|
8
|
-
version: '3.
|
8
|
+
version: '3.2.1'
|
9
9
|
};
|
10
10
|
|
11
11
|
|
@@ -721,6 +721,11 @@ up.util = (function () {
|
|
721
721
|
let unicodeEscape = (char) => "\\u" + char.charCodeAt(0).toString(16).padStart(4, '0');
|
722
722
|
return string.replace(/[^\x00-\x7F]/g, unicodeEscape);
|
723
723
|
}
|
724
|
+
function variant(source, changes = {}) {
|
725
|
+
let variant = Object.create(source);
|
726
|
+
Object.assign(variant, changes);
|
727
|
+
return variant;
|
728
|
+
}
|
724
729
|
return {
|
725
730
|
parseURL,
|
726
731
|
normalizeURL,
|
@@ -818,6 +823,7 @@ up.util = (function () {
|
|
818
823
|
negate,
|
819
824
|
memoizeMethod,
|
820
825
|
safeStringifyJSON,
|
826
|
+
variant,
|
821
827
|
};
|
822
828
|
})();
|
823
829
|
|
@@ -827,10 +833,6 @@ up.util = (function () {
|
|
827
833
|
/***/ (() => {
|
828
834
|
|
829
835
|
up.error = (function () {
|
830
|
-
function emitGlobal(error) {
|
831
|
-
const { message } = error;
|
832
|
-
up.emit(window, 'error', { message, error, log: false });
|
833
|
-
}
|
834
836
|
function fail(...args) {
|
835
837
|
throw new up.Error(args);
|
836
838
|
}
|
@@ -838,17 +840,27 @@ up.error = (function () {
|
|
838
840
|
return (typeof error !== 'object') || ((error.name !== 'AbortError') && !(error instanceof up.RenderResult) && !(error instanceof up.Response));
|
839
841
|
}
|
840
842
|
function muteUncriticalRejection(promise) {
|
841
|
-
return promise.catch(
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
843
|
+
return promise.catch(rethrowCritical);
|
844
|
+
}
|
845
|
+
function muteUncriticalSync(block) {
|
846
|
+
try {
|
847
|
+
return block();
|
848
|
+
}
|
849
|
+
catch (e) {
|
850
|
+
rethrowCritical(e);
|
851
|
+
}
|
852
|
+
}
|
853
|
+
function rethrowCritical(value) {
|
854
|
+
if (isCritical(value)) {
|
855
|
+
throw value;
|
856
|
+
}
|
846
857
|
}
|
847
858
|
return {
|
848
859
|
fail,
|
849
|
-
|
860
|
+
rethrowCritical,
|
850
861
|
isCritical,
|
851
862
|
muteUncriticalRejection,
|
863
|
+
muteUncriticalSync,
|
852
864
|
};
|
853
865
|
})();
|
854
866
|
up.fail = up.error.fail;
|
@@ -931,7 +943,7 @@ up.element = (function () {
|
|
931
943
|
}
|
932
944
|
function isInSubtree(root, selectorOrElement) {
|
933
945
|
const element = getOne(selectorOrElement);
|
934
|
-
return
|
946
|
+
return Node.prototype.contains.call(root, element);
|
935
947
|
}
|
936
948
|
function ancestor(element, selector) {
|
937
949
|
let parentElement = element.parentElement;
|
@@ -1173,7 +1185,7 @@ up.element = (function () {
|
|
1173
1185
|
}
|
1174
1186
|
}
|
1175
1187
|
function classSelector(klass) {
|
1176
|
-
klass = klass.replace(
|
1188
|
+
klass = klass.replace(/[^\w-]/g, '\\$&');
|
1177
1189
|
return `.${klass}`;
|
1178
1190
|
}
|
1179
1191
|
function createBrokenDocumentFromHTML(html) {
|
@@ -1586,10 +1598,7 @@ up.Record = class Record {
|
|
1586
1598
|
return u.pick(source, this.keys());
|
1587
1599
|
}
|
1588
1600
|
[u.copy.key]() {
|
1589
|
-
return
|
1590
|
-
}
|
1591
|
-
variant(changes = {}) {
|
1592
|
-
return new this.constructor(u.merge(this.attributes(), changes));
|
1601
|
+
return u.variant(this);
|
1593
1602
|
}
|
1594
1603
|
[u.isEqual.key](other) {
|
1595
1604
|
return (this.constructor === other.constructor) && u.isEqual(this.attributes(), other.attributes());
|
@@ -1761,9 +1770,6 @@ up.Change = class Change {
|
|
1761
1770
|
constructor(options) {
|
1762
1771
|
this.options = options;
|
1763
1772
|
}
|
1764
|
-
cannotMatch(reason) {
|
1765
|
-
throw new up.CannotMatch(reason);
|
1766
|
-
}
|
1767
1773
|
execute() {
|
1768
1774
|
throw new up.NotImplemented();
|
1769
1775
|
}
|
@@ -1778,6 +1784,9 @@ up.Change = class Change {
|
|
1778
1784
|
return newValue;
|
1779
1785
|
}
|
1780
1786
|
}
|
1787
|
+
deriveFailOptions() {
|
1788
|
+
return up.RenderOptions.deriveFailOptions(this.options);
|
1789
|
+
}
|
1781
1790
|
};
|
1782
1791
|
|
1783
1792
|
|
@@ -1794,33 +1803,34 @@ up.Change.Addition = class Addition extends up.Change {
|
|
1794
1803
|
this.acceptLayer = options.acceptLayer;
|
1795
1804
|
this.dismissLayer = options.dismissLayer;
|
1796
1805
|
this.eventPlans = options.eventPlans || [];
|
1806
|
+
this.response = options.meta?.response;
|
1797
1807
|
}
|
1798
1808
|
handleLayerChangeRequests() {
|
1799
1809
|
if (this.layer.isOverlay()) {
|
1800
1810
|
this.tryAcceptLayerFromServer();
|
1801
1811
|
this.abortWhenLayerClosed();
|
1802
|
-
this.layer.tryAcceptForLocation();
|
1812
|
+
this.layer.tryAcceptForLocation(this.responseOption());
|
1803
1813
|
this.abortWhenLayerClosed();
|
1804
1814
|
this.tryDismissLayerFromServer();
|
1805
1815
|
this.abortWhenLayerClosed();
|
1806
|
-
this.layer.tryDismissForLocation();
|
1816
|
+
this.layer.tryDismissForLocation(this.responseOption());
|
1807
1817
|
this.abortWhenLayerClosed();
|
1808
1818
|
}
|
1809
1819
|
this.layer.asCurrent(() => {
|
1810
1820
|
for (let eventPlan of this.eventPlans) {
|
1811
|
-
up.emit(eventPlan);
|
1821
|
+
up.emit({ ...eventPlan, ...this.responseOption() });
|
1812
1822
|
this.abortWhenLayerClosed();
|
1813
1823
|
}
|
1814
1824
|
});
|
1815
1825
|
}
|
1816
1826
|
tryAcceptLayerFromServer() {
|
1817
1827
|
if (u.isDefined(this.acceptLayer) && this.layer.isOverlay()) {
|
1818
|
-
this.layer.accept(this.acceptLayer);
|
1828
|
+
this.layer.accept(this.acceptLayer, this.responseOption());
|
1819
1829
|
}
|
1820
1830
|
}
|
1821
1831
|
tryDismissLayerFromServer() {
|
1822
1832
|
if (u.isDefined(this.dismissLayer) && this.layer.isOverlay()) {
|
1823
|
-
this.layer.dismiss(this.dismissLayer);
|
1833
|
+
this.layer.dismiss(this.dismissLayer, this.responseOption());
|
1824
1834
|
}
|
1825
1835
|
}
|
1826
1836
|
abortWhenLayerClosed() {
|
@@ -1847,6 +1857,9 @@ up.Change.Addition = class Addition extends up.Change {
|
|
1847
1857
|
this.setTime(options);
|
1848
1858
|
this.setETag(options);
|
1849
1859
|
}
|
1860
|
+
responseOption() {
|
1861
|
+
return { response: this.response };
|
1862
|
+
}
|
1850
1863
|
};
|
1851
1864
|
|
1852
1865
|
|
@@ -1876,7 +1889,7 @@ up.RenderJob = (_a = class RenderJob {
|
|
1876
1889
|
if (result instanceof up.RenderResult) {
|
1877
1890
|
if (!result.none)
|
1878
1891
|
result.options.onRendered?.(result);
|
1879
|
-
result.finished.then(result.options.onFinished);
|
1892
|
+
result.finished.then(result.options.onFinished, u.noop);
|
1880
1893
|
return true;
|
1881
1894
|
}
|
1882
1895
|
}
|
@@ -1903,6 +1916,10 @@ up.RenderJob = (_a = class RenderJob {
|
|
1903
1916
|
let onRequest = (request) => this.handleAbortOption(request);
|
1904
1917
|
this.change = new up.Change.FromURL({ ...this.options, onRequest });
|
1905
1918
|
}
|
1919
|
+
else if (this.options.response) {
|
1920
|
+
this.change = new up.Change.FromResponse(this.options);
|
1921
|
+
this.handleAbortOption(null);
|
1922
|
+
}
|
1906
1923
|
else {
|
1907
1924
|
this.change = new up.Change.FromContent(this.options);
|
1908
1925
|
this.handleAbortOption(null);
|
@@ -2036,7 +2053,7 @@ up.Change.OpenLayer = class OpenLayer extends up.Change.Addition {
|
|
2036
2053
|
this.content = responseDoc.select(this.target);
|
2037
2054
|
}
|
2038
2055
|
if (!this.content || this.baseLayer.isClosed()) {
|
2039
|
-
throw
|
2056
|
+
throw new up.CannotMatch();
|
2040
2057
|
}
|
2041
2058
|
onApplicable();
|
2042
2059
|
up.puts('up.render()', `Opening element "${this.target}" in new overlay`);
|
@@ -2044,8 +2061,8 @@ up.Change.OpenLayer = class OpenLayer extends up.Change.Addition {
|
|
2044
2061
|
if (this.emitOpenEvent().defaultPrevented) {
|
2045
2062
|
throw new up.Aborted('Open event was prevented');
|
2046
2063
|
}
|
2047
|
-
this.baseLayer.peel();
|
2048
2064
|
this.layer = this.buildLayer();
|
2065
|
+
this.baseLayer.peel({ history: !this.layer.history });
|
2049
2066
|
up.layer.stack.push(this.layer);
|
2050
2067
|
this.layer.createElements(this.content);
|
2051
2068
|
this.layer.setupHandlers();
|
@@ -2179,7 +2196,7 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
|
|
2179
2196
|
up.viewport.saveFocus({ layer: this.layer });
|
2180
2197
|
}
|
2181
2198
|
if (this.options.peel) {
|
2182
|
-
this.layer.peel();
|
2199
|
+
this.layer.peel({ history: !this.hasHistory() });
|
2183
2200
|
}
|
2184
2201
|
if (this.options.abort !== false) {
|
2185
2202
|
up.fragment.abort(this.getFragments(), { reason: 'Fragment is being replaced' });
|
@@ -2352,7 +2369,7 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
|
|
2352
2369
|
return true;
|
2353
2370
|
}
|
2354
2371
|
else if (!step.maybe) {
|
2355
|
-
throw
|
2372
|
+
throw new up.CannotMatch();
|
2356
2373
|
}
|
2357
2374
|
});
|
2358
2375
|
this.resolveOldNesting();
|
@@ -2368,7 +2385,7 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
|
|
2368
2385
|
return true;
|
2369
2386
|
}
|
2370
2387
|
else if (!step.maybe) {
|
2371
|
-
throw
|
2388
|
+
throw new up.CannotMatch();
|
2372
2389
|
}
|
2373
2390
|
});
|
2374
2391
|
this.resolveOldNesting();
|
@@ -2471,6 +2488,8 @@ up.Change.CloseLayer = class CloseLayer extends up.Change.Removal {
|
|
2471
2488
|
this.origin = options.origin;
|
2472
2489
|
this.value = options.value;
|
2473
2490
|
this.preventable = options.preventable ?? true;
|
2491
|
+
this.response = options.response;
|
2492
|
+
this.history = options.history ?? true;
|
2474
2493
|
}
|
2475
2494
|
execute() {
|
2476
2495
|
if (!this.layer.isOpen()) {
|
@@ -2484,7 +2503,9 @@ up.Change.CloseLayer = class CloseLayer extends up.Change.Removal {
|
|
2484
2503
|
const { parent } = this.layer;
|
2485
2504
|
this.layer.peel();
|
2486
2505
|
this.layer.stack.remove(this.layer);
|
2487
|
-
|
2506
|
+
if (this.history) {
|
2507
|
+
parent.restoreHistory();
|
2508
|
+
}
|
2488
2509
|
this.handleFocus(parent);
|
2489
2510
|
this.layer.teardownHandlers();
|
2490
2511
|
this.layer.destroyElements(this.options);
|
@@ -2512,7 +2533,8 @@ up.Change.CloseLayer = class CloseLayer extends up.Change.Removal {
|
|
2512
2533
|
return up.event.build(name, {
|
2513
2534
|
layer: this.layer,
|
2514
2535
|
value: this.value,
|
2515
|
-
origin: this.origin
|
2536
|
+
origin: this.origin,
|
2537
|
+
response: this.response,
|
2516
2538
|
});
|
2517
2539
|
}
|
2518
2540
|
handleFocus(formerParent) {
|
@@ -2528,142 +2550,6 @@ up.Change.CloseLayer = class CloseLayer extends up.Change.Removal {
|
|
2528
2550
|
/* 31 */
|
2529
2551
|
/***/ (() => {
|
2530
2552
|
|
2531
|
-
var _a;
|
2532
|
-
const u = up.util;
|
2533
|
-
up.Change.FromContent = (_a = class FromContent extends up.Change {
|
2534
|
-
constructor(options) {
|
2535
|
-
super(options);
|
2536
|
-
this.layers = u.filter(up.layer.getAll(this.options), this.isRenderableLayer);
|
2537
|
-
this.origin = this.options.origin;
|
2538
|
-
this.preview = this.options.preview;
|
2539
|
-
this.mode = this.options.mode;
|
2540
|
-
if (this.origin) {
|
2541
|
-
this.originLayer = up.layer.get(this.origin);
|
2542
|
-
}
|
2543
|
-
}
|
2544
|
-
isRenderableLayer(layer) {
|
2545
|
-
return (layer === 'new') || layer.isOpen();
|
2546
|
-
}
|
2547
|
-
getPlans() {
|
2548
|
-
var _a;
|
2549
|
-
let plans = [];
|
2550
|
-
if (this.options.fragment) {
|
2551
|
-
(_a = this.options).target || (_a.target = this.getResponseDoc().rootSelector());
|
2552
|
-
}
|
2553
|
-
this.expandIntoPlans(plans, this.layers, this.options.target);
|
2554
|
-
this.expandIntoPlans(plans, this.layers, this.options.fallback);
|
2555
|
-
return plans;
|
2556
|
-
}
|
2557
|
-
expandIntoPlans(plans, layers, targets) {
|
2558
|
-
for (let layer of layers) {
|
2559
|
-
for (let target of this.expandTargets(targets, layer)) {
|
2560
|
-
const props = { ...this.options, target, layer, defaultPlacement: this.defaultPlacement() };
|
2561
|
-
const change = layer === 'new' ? new up.Change.OpenLayer(props) : new up.Change.UpdateLayer(props);
|
2562
|
-
plans.push(change);
|
2563
|
-
}
|
2564
|
-
}
|
2565
|
-
}
|
2566
|
-
expandTargets(targets, layer) {
|
2567
|
-
return up.fragment.expandTargets(targets, { layer, mode: this.mode, origin: this.origin });
|
2568
|
-
}
|
2569
|
-
execute() {
|
2570
|
-
if (this.options.preload) {
|
2571
|
-
return Promise.resolve();
|
2572
|
-
}
|
2573
|
-
return this.seekPlan(this.executePlan.bind(this)) || this.cannotMatchPostflightTarget();
|
2574
|
-
}
|
2575
|
-
executePlan(matchedPlan) {
|
2576
|
-
let result = matchedPlan.execute(this.getResponseDoc(), this.onPlanApplicable.bind(this, matchedPlan));
|
2577
|
-
result.options = this.options;
|
2578
|
-
return result;
|
2579
|
-
}
|
2580
|
-
onPlanApplicable(plan) {
|
2581
|
-
let primaryPlan = this.getPlans()[0];
|
2582
|
-
if (plan !== primaryPlan) {
|
2583
|
-
up.puts('up.render()', 'Could not match primary target "%s". Updating a fallback target "%s".', primaryPlan.target, plan.target);
|
2584
|
-
}
|
2585
|
-
}
|
2586
|
-
getResponseDoc() {
|
2587
|
-
if (this.preview)
|
2588
|
-
return;
|
2589
|
-
const docOptions = u.pick(this.options, [
|
2590
|
-
'target',
|
2591
|
-
'content',
|
2592
|
-
'fragment',
|
2593
|
-
'document',
|
2594
|
-
'html',
|
2595
|
-
'cspNonces',
|
2596
|
-
'origin',
|
2597
|
-
]);
|
2598
|
-
up.migrate.handleResponseDocOptions?.(docOptions);
|
2599
|
-
if (this.defaultPlacement() === 'content') {
|
2600
|
-
docOptions.target = this.firstExpandedTarget(docOptions.target);
|
2601
|
-
}
|
2602
|
-
return new up.ResponseDoc(docOptions);
|
2603
|
-
}
|
2604
|
-
defaultPlacement() {
|
2605
|
-
if (!this.options.document && !this.options.fragment) {
|
2606
|
-
return 'content';
|
2607
|
-
}
|
2608
|
-
}
|
2609
|
-
firstExpandedTarget(target) {
|
2610
|
-
return this.expandTargets(target || ':main', this.layers[0])[0];
|
2611
|
-
}
|
2612
|
-
getPreflightProps(opts = {}) {
|
2613
|
-
const getPlanProps = plan => plan.getPreflightProps();
|
2614
|
-
return this.seekPlan(getPlanProps) || opts.optional || this.cannotMatchPreflightTarget();
|
2615
|
-
}
|
2616
|
-
cannotMatchPreflightTarget() {
|
2617
|
-
this.cannotMatchTarget('Could not find target in current page');
|
2618
|
-
}
|
2619
|
-
cannotMatchPostflightTarget() {
|
2620
|
-
this.cannotMatchTarget('Could not find common target in current page and response');
|
2621
|
-
}
|
2622
|
-
cannotMatchTarget(reason) {
|
2623
|
-
if (this.getPlans().length) {
|
2624
|
-
const planTargets = u.uniq(u.map(this.getPlans(), 'target'));
|
2625
|
-
const humanizedLayerOption = up.layer.optionToString(this.options.layer);
|
2626
|
-
up.fail(reason + " (tried selectors %o in %s)", planTargets, humanizedLayerOption);
|
2627
|
-
}
|
2628
|
-
else if (this.layers.length) {
|
2629
|
-
if (this.options.failPrefixForced) {
|
2630
|
-
up.fail('No target selector given for failed responses (https://unpoly.com/failed-responses)');
|
2631
|
-
}
|
2632
|
-
else {
|
2633
|
-
up.fail('No target selector given');
|
2634
|
-
}
|
2635
|
-
}
|
2636
|
-
else {
|
2637
|
-
up.fail('Layer %o does not exist', this.options.layer);
|
2638
|
-
}
|
2639
|
-
}
|
2640
|
-
seekPlan(fn) {
|
2641
|
-
for (let plan of this.getPlans()) {
|
2642
|
-
try {
|
2643
|
-
return fn(plan);
|
2644
|
-
}
|
2645
|
-
catch (error) {
|
2646
|
-
if (!(error instanceof up.CannotMatch)) {
|
2647
|
-
throw error;
|
2648
|
-
}
|
2649
|
-
}
|
2650
|
-
}
|
2651
|
-
}
|
2652
|
-
},
|
2653
|
-
(() => {
|
2654
|
-
u.memoizeMethod(_a.prototype, [
|
2655
|
-
'getPlans',
|
2656
|
-
'getResponseDoc',
|
2657
|
-
'getPreflightProps',
|
2658
|
-
]);
|
2659
|
-
})(),
|
2660
|
-
_a);
|
2661
|
-
|
2662
|
-
|
2663
|
-
/***/ }),
|
2664
|
-
/* 32 */
|
2665
|
-
/***/ (() => {
|
2666
|
-
|
2667
2553
|
var _a;
|
2668
2554
|
const u = up.util;
|
2669
2555
|
up.Change.FromURL = (_a = class FromURL extends up.Change {
|
@@ -2688,9 +2574,6 @@ up.Change.FromURL = (_a = class FromURL extends up.Change {
|
|
2688
2574
|
}
|
2689
2575
|
return u.always(this.request, responseOrError => this.onRequestSettled(responseOrError));
|
2690
2576
|
}
|
2691
|
-
deriveFailOptions() {
|
2692
|
-
return up.RenderOptions.deriveFailOptions(this.options);
|
2693
|
-
}
|
2694
2577
|
newPageReason() {
|
2695
2578
|
if (u.isCrossOrigin(this.options.url)) {
|
2696
2579
|
return 'Loading cross-origin content in new page';
|
@@ -2724,7 +2607,41 @@ up.Change.FromURL = (_a = class FromURL extends up.Change {
|
|
2724
2607
|
}
|
2725
2608
|
}
|
2726
2609
|
onRequestSettledWithResponse(response) {
|
2727
|
-
this.response
|
2610
|
+
return new up.Change.FromResponse({ ...this.options, response }).execute();
|
2611
|
+
}
|
2612
|
+
onRequestSettledWithError(error) {
|
2613
|
+
if (error instanceof up.Offline) {
|
2614
|
+
this.request.emit('up:fragment:offline', {
|
2615
|
+
callback: this.options.onOffline,
|
2616
|
+
renderOptions: this.options,
|
2617
|
+
retry: (retryOptions) => up.render({ ...this.options, ...retryOptions }),
|
2618
|
+
log: ['Cannot load fragment from %s: %s', this.request.description, error.reason],
|
2619
|
+
});
|
2620
|
+
}
|
2621
|
+
throw error;
|
2622
|
+
}
|
2623
|
+
},
|
2624
|
+
(() => {
|
2625
|
+
u.memoizeMethod(_a.prototype, [
|
2626
|
+
'getRequestAttrs',
|
2627
|
+
]);
|
2628
|
+
})(),
|
2629
|
+
_a);
|
2630
|
+
|
2631
|
+
|
2632
|
+
/***/ }),
|
2633
|
+
/* 32 */
|
2634
|
+
/***/ (() => {
|
2635
|
+
|
2636
|
+
var _a;
|
2637
|
+
const u = up.util;
|
2638
|
+
up.Change.FromResponse = (_a = class FromResponse extends up.Change {
|
2639
|
+
constructor(options) {
|
2640
|
+
super(options);
|
2641
|
+
this.response = options.response;
|
2642
|
+
this.request = this.response.request;
|
2643
|
+
}
|
2644
|
+
execute() {
|
2728
2645
|
if (up.fragment.config.skipResponse(this.loadedEventProps())) {
|
2729
2646
|
this.skip();
|
2730
2647
|
}
|
@@ -2736,40 +2653,12 @@ up.Change.FromURL = (_a = class FromURL extends up.Change {
|
|
2736
2653
|
skip: () => this.skip()
|
2737
2654
|
});
|
2738
2655
|
}
|
2739
|
-
let fail = u.evalOption(this.options.fail, this.response) ?? !response.ok;
|
2656
|
+
let fail = u.evalOption(this.options.fail, this.response) ?? !this.response.ok;
|
2740
2657
|
if (fail) {
|
2741
2658
|
throw this.updateContentFromResponse(this.deriveFailOptions());
|
2742
2659
|
}
|
2743
2660
|
return this.updateContentFromResponse(this.options);
|
2744
2661
|
}
|
2745
|
-
compilerPassMeta() {
|
2746
|
-
return u.pick(this.loadedEventProps(), [
|
2747
|
-
'revalidating',
|
2748
|
-
'response'
|
2749
|
-
]);
|
2750
|
-
}
|
2751
|
-
loadedEventProps() {
|
2752
|
-
const { expiredResponse } = this.options;
|
2753
|
-
return {
|
2754
|
-
request: this.request,
|
2755
|
-
response: this.response,
|
2756
|
-
renderOptions: this.options,
|
2757
|
-
revalidating: !!expiredResponse,
|
2758
|
-
expiredResponse,
|
2759
|
-
};
|
2760
|
-
}
|
2761
|
-
onRequestSettledWithError(error) {
|
2762
|
-
if (error instanceof up.Offline) {
|
2763
|
-
this.request.emit('up:fragment:offline', {
|
2764
|
-
callback: this.options.onOffline,
|
2765
|
-
response: this.response,
|
2766
|
-
renderOptions: this.options,
|
2767
|
-
retry: (retryOptions) => up.render({ ...this.options, ...retryOptions }),
|
2768
|
-
log: ['Cannot load fragment from %s: %s', this.request.description, error.reason],
|
2769
|
-
});
|
2770
|
-
}
|
2771
|
-
throw error;
|
2772
|
-
}
|
2773
2662
|
skip() {
|
2774
2663
|
up.puts('up.render()', 'Skipping ' + this.response.description);
|
2775
2664
|
this.options.target = ':none';
|
@@ -2818,6 +2707,22 @@ up.Change.FromURL = (_a = class FromURL extends up.Change {
|
|
2818
2707
|
}
|
2819
2708
|
return renderResult;
|
2820
2709
|
}
|
2710
|
+
loadedEventProps() {
|
2711
|
+
const { expiredResponse } = this.options;
|
2712
|
+
return {
|
2713
|
+
request: this.request,
|
2714
|
+
response: this.response,
|
2715
|
+
renderOptions: this.options,
|
2716
|
+
revalidating: !!expiredResponse,
|
2717
|
+
expiredResponse,
|
2718
|
+
};
|
2719
|
+
}
|
2720
|
+
compilerPassMeta() {
|
2721
|
+
return u.pick(this.loadedEventProps(), [
|
2722
|
+
'revalidating',
|
2723
|
+
'response'
|
2724
|
+
]);
|
2725
|
+
}
|
2821
2726
|
augmentOptionsFromResponse(renderOptions) {
|
2822
2727
|
const responseURL = this.response.url;
|
2823
2728
|
let serverLocation = responseURL;
|
@@ -2826,44 +2731,181 @@ up.Change.FromURL = (_a = class FromURL extends up.Change {
|
|
2826
2731
|
renderOptions.hash = hash;
|
2827
2732
|
serverLocation += hash;
|
2828
2733
|
}
|
2829
|
-
const isReloadable = (this.response.method === 'GET');
|
2830
|
-
if (isReloadable) {
|
2831
|
-
renderOptions.source = this.improveHistoryValue(renderOptions.source, responseURL);
|
2734
|
+
const isReloadable = (this.response.method === 'GET');
|
2735
|
+
if (isReloadable) {
|
2736
|
+
renderOptions.source = this.improveHistoryValue(renderOptions.source, responseURL);
|
2737
|
+
}
|
2738
|
+
else {
|
2739
|
+
renderOptions.source = this.improveHistoryValue(renderOptions.source, 'keep');
|
2740
|
+
renderOptions.history = !!renderOptions.location;
|
2741
|
+
}
|
2742
|
+
renderOptions.location = this.improveHistoryValue(renderOptions.location, serverLocation);
|
2743
|
+
renderOptions.title = this.improveHistoryValue(renderOptions.title, this.response.title);
|
2744
|
+
renderOptions.eventPlans = this.response.eventPlans;
|
2745
|
+
let serverTarget = this.response.target;
|
2746
|
+
if (serverTarget) {
|
2747
|
+
renderOptions.target = serverTarget;
|
2748
|
+
}
|
2749
|
+
renderOptions.acceptLayer = this.response.acceptLayer;
|
2750
|
+
renderOptions.dismissLayer = this.response.dismissLayer;
|
2751
|
+
renderOptions.document = this.response.text;
|
2752
|
+
if (this.response.none) {
|
2753
|
+
renderOptions.target = ':none';
|
2754
|
+
}
|
2755
|
+
renderOptions.context = u.merge(renderOptions.context, this.response.context);
|
2756
|
+
renderOptions.cspNonces = this.response.cspNonces;
|
2757
|
+
renderOptions.time ?? (renderOptions.time = this.response.lastModified);
|
2758
|
+
renderOptions.etag ?? (renderOptions.etag = this.response.etag);
|
2759
|
+
}
|
2760
|
+
},
|
2761
|
+
(() => {
|
2762
|
+
u.memoizeMethod(_a.prototype, [
|
2763
|
+
'loadedEventProps',
|
2764
|
+
]);
|
2765
|
+
})(),
|
2766
|
+
_a);
|
2767
|
+
|
2768
|
+
|
2769
|
+
/***/ }),
|
2770
|
+
/* 33 */
|
2771
|
+
/***/ (() => {
|
2772
|
+
|
2773
|
+
var _a;
|
2774
|
+
const u = up.util;
|
2775
|
+
up.Change.FromContent = (_a = class FromContent extends up.Change {
|
2776
|
+
constructor(options) {
|
2777
|
+
super(options);
|
2778
|
+
this.layers = u.filter(up.layer.getAll(this.options), this.isRenderableLayer);
|
2779
|
+
this.origin = this.options.origin;
|
2780
|
+
this.preview = this.options.preview;
|
2781
|
+
this.mode = this.options.mode;
|
2782
|
+
if (this.origin) {
|
2783
|
+
this.originLayer = up.layer.get(this.origin);
|
2784
|
+
}
|
2785
|
+
}
|
2786
|
+
isRenderableLayer(layer) {
|
2787
|
+
return (layer === 'new') || layer.isOpen();
|
2788
|
+
}
|
2789
|
+
getPlans() {
|
2790
|
+
var _a;
|
2791
|
+
let plans = [];
|
2792
|
+
if (this.options.fragment) {
|
2793
|
+
(_a = this.options).target || (_a.target = this.getResponseDoc().rootSelector());
|
2794
|
+
}
|
2795
|
+
this.expandIntoPlans(plans, this.layers, this.options.target);
|
2796
|
+
this.expandIntoPlans(plans, this.layers, this.options.fallback);
|
2797
|
+
return plans;
|
2798
|
+
}
|
2799
|
+
expandIntoPlans(plans, layers, targets) {
|
2800
|
+
for (let layer of layers) {
|
2801
|
+
for (let target of this.expandTargets(targets, layer)) {
|
2802
|
+
const props = { ...this.options, target, layer, defaultPlacement: this.defaultPlacement() };
|
2803
|
+
const change = layer === 'new' ? new up.Change.OpenLayer(props) : new up.Change.UpdateLayer(props);
|
2804
|
+
plans.push(change);
|
2805
|
+
}
|
2806
|
+
}
|
2807
|
+
}
|
2808
|
+
expandTargets(targets, layer) {
|
2809
|
+
return up.fragment.expandTargets(targets, { layer, mode: this.mode, origin: this.origin });
|
2810
|
+
}
|
2811
|
+
execute() {
|
2812
|
+
if (this.options.preload) {
|
2813
|
+
return Promise.resolve();
|
2814
|
+
}
|
2815
|
+
return this.seekPlan(this.executePlan.bind(this)) || this.cannotMatchPostflightTarget();
|
2816
|
+
}
|
2817
|
+
executePlan(matchedPlan) {
|
2818
|
+
let result = matchedPlan.execute(this.getResponseDoc(), this.onPlanApplicable.bind(this, matchedPlan));
|
2819
|
+
result.options = this.options;
|
2820
|
+
return result;
|
2821
|
+
}
|
2822
|
+
onPlanApplicable(plan) {
|
2823
|
+
let primaryPlan = this.getPlans()[0];
|
2824
|
+
if (plan !== primaryPlan) {
|
2825
|
+
up.puts('up.render()', 'Could not match primary target "%s". Updating a fallback target "%s".', primaryPlan.target, plan.target);
|
2826
|
+
}
|
2827
|
+
}
|
2828
|
+
getResponseDoc() {
|
2829
|
+
if (this.preview)
|
2830
|
+
return;
|
2831
|
+
const docOptions = u.pick(this.options, [
|
2832
|
+
'target',
|
2833
|
+
'content',
|
2834
|
+
'fragment',
|
2835
|
+
'document',
|
2836
|
+
'html',
|
2837
|
+
'cspNonces',
|
2838
|
+
'origin',
|
2839
|
+
]);
|
2840
|
+
up.migrate.handleResponseDocOptions?.(docOptions);
|
2841
|
+
if (this.defaultPlacement() === 'content') {
|
2842
|
+
docOptions.target = this.firstExpandedTarget(docOptions.target);
|
2843
|
+
}
|
2844
|
+
return new up.ResponseDoc(docOptions);
|
2845
|
+
}
|
2846
|
+
defaultPlacement() {
|
2847
|
+
if (!this.options.document && !this.options.fragment) {
|
2848
|
+
return 'content';
|
2849
|
+
}
|
2850
|
+
}
|
2851
|
+
firstExpandedTarget(target) {
|
2852
|
+
return this.expandTargets(target || ':main', this.layers[0])[0];
|
2853
|
+
}
|
2854
|
+
getPreflightProps(opts = {}) {
|
2855
|
+
const getPlanProps = plan => plan.getPreflightProps();
|
2856
|
+
return this.seekPlan(getPlanProps) || opts.optional || this.cannotMatchPreflightTarget();
|
2857
|
+
}
|
2858
|
+
cannotMatchPreflightTarget() {
|
2859
|
+
this.cannotMatchTarget('Could not find target in current page');
|
2860
|
+
}
|
2861
|
+
cannotMatchPostflightTarget() {
|
2862
|
+
this.cannotMatchTarget('Could not find common target in current page and response');
|
2863
|
+
}
|
2864
|
+
cannotMatchTarget(reason) {
|
2865
|
+
let message;
|
2866
|
+
if (this.getPlans().length) {
|
2867
|
+
const planTargets = u.uniq(u.map(this.getPlans(), 'target'));
|
2868
|
+
const humanizedLayerOption = up.layer.optionToString(this.options.layer);
|
2869
|
+
message = [reason + " (tried selectors %o in %s)", planTargets, humanizedLayerOption];
|
2870
|
+
}
|
2871
|
+
else if (this.layers.length) {
|
2872
|
+
if (this.options.failPrefixForced) {
|
2873
|
+
message = 'No target selector given for failed responses (https://unpoly.com/failed-responses)';
|
2874
|
+
}
|
2875
|
+
else {
|
2876
|
+
message = 'No target selector given';
|
2877
|
+
}
|
2832
2878
|
}
|
2833
2879
|
else {
|
2834
|
-
|
2835
|
-
renderOptions.history = !!renderOptions.location;
|
2836
|
-
}
|
2837
|
-
renderOptions.location = this.improveHistoryValue(renderOptions.location, serverLocation);
|
2838
|
-
renderOptions.title = this.improveHistoryValue(renderOptions.title, this.response.title);
|
2839
|
-
renderOptions.eventPlans = this.response.eventPlans;
|
2840
|
-
let serverTarget = this.response.target;
|
2841
|
-
if (serverTarget) {
|
2842
|
-
renderOptions.target = serverTarget;
|
2880
|
+
message = 'Could not find a layer to render in. You may have passed a non-existing layer reference, or a detached element.';
|
2843
2881
|
}
|
2844
|
-
|
2845
|
-
|
2846
|
-
|
2847
|
-
|
2848
|
-
|
2882
|
+
throw new up.CannotMatch(message);
|
2883
|
+
}
|
2884
|
+
seekPlan(fn) {
|
2885
|
+
for (let plan of this.getPlans()) {
|
2886
|
+
try {
|
2887
|
+
return fn(plan);
|
2888
|
+
}
|
2889
|
+
catch (error) {
|
2890
|
+
if (!(error instanceof up.CannotMatch)) {
|
2891
|
+
throw error;
|
2892
|
+
}
|
2893
|
+
}
|
2849
2894
|
}
|
2850
|
-
renderOptions.context = u.merge(renderOptions.context, this.response.context);
|
2851
|
-
renderOptions.cspNonces = this.response.cspNonces;
|
2852
|
-
renderOptions.time ?? (renderOptions.time = this.response.lastModified);
|
2853
|
-
renderOptions.etag ?? (renderOptions.etag = this.response.etag);
|
2854
2895
|
}
|
2855
2896
|
},
|
2856
2897
|
(() => {
|
2857
2898
|
u.memoizeMethod(_a.prototype, [
|
2858
|
-
'
|
2859
|
-
'
|
2899
|
+
'getPlans',
|
2900
|
+
'getResponseDoc',
|
2901
|
+
'getPreflightProps',
|
2860
2902
|
]);
|
2861
2903
|
})(),
|
2862
2904
|
_a);
|
2863
2905
|
|
2864
2906
|
|
2865
2907
|
/***/ }),
|
2866
|
-
/*
|
2908
|
+
/* 34 */
|
2867
2909
|
/***/ (() => {
|
2868
2910
|
|
2869
2911
|
const u = up.util;
|
@@ -2949,7 +2991,6 @@ up.CompilerPass = class CompilerPass {
|
|
2949
2991
|
catch (error) {
|
2950
2992
|
this.errors.push(error);
|
2951
2993
|
up.log.error('up.hello()', 'While compiling %o: %o', elementOrElements, error);
|
2952
|
-
up.error.emitGlobal(error);
|
2953
2994
|
}
|
2954
2995
|
}
|
2955
2996
|
destructorPresence(result) {
|
@@ -2974,7 +3015,7 @@ up.CompilerPass = class CompilerPass {
|
|
2974
3015
|
|
2975
3016
|
|
2976
3017
|
/***/ }),
|
2977
|
-
/*
|
3018
|
+
/* 35 */
|
2978
3019
|
/***/ (() => {
|
2979
3020
|
|
2980
3021
|
const u = up.util;
|
@@ -3085,7 +3126,7 @@ up.CSSTransition = class CSSTransition {
|
|
3085
3126
|
|
3086
3127
|
|
3087
3128
|
/***/ }),
|
3088
|
-
/*
|
3129
|
+
/* 36 */
|
3089
3130
|
/***/ (() => {
|
3090
3131
|
|
3091
3132
|
const u = up.util;
|
@@ -3120,14 +3161,13 @@ up.DestructorPass = class DestructorPass {
|
|
3120
3161
|
catch (error) {
|
3121
3162
|
this.errors.push(error);
|
3122
3163
|
up.log.error('up.destroy()', 'While destroying %o: %o', element, error);
|
3123
|
-
up.error.emitGlobal(error);
|
3124
3164
|
}
|
3125
3165
|
}
|
3126
3166
|
};
|
3127
3167
|
|
3128
3168
|
|
3129
3169
|
/***/ }),
|
3130
|
-
/*
|
3170
|
+
/* 37 */
|
3131
3171
|
/***/ (() => {
|
3132
3172
|
|
3133
3173
|
const u = up.util;
|
@@ -3226,7 +3266,7 @@ up.EventEmitter = class EventEmitter extends up.Record {
|
|
3226
3266
|
|
3227
3267
|
|
3228
3268
|
/***/ }),
|
3229
|
-
/*
|
3269
|
+
/* 38 */
|
3230
3270
|
/***/ (() => {
|
3231
3271
|
|
3232
3272
|
const u = up.util;
|
@@ -3289,6 +3329,9 @@ up.EventListener = class EventListener extends up.Record {
|
|
3289
3329
|
const data = up.syntax.data(element);
|
3290
3330
|
args.push(data);
|
3291
3331
|
}
|
3332
|
+
if (this.eventType === 'click' && element.disabled) {
|
3333
|
+
return;
|
3334
|
+
}
|
3292
3335
|
const applyCallback = this.callback.bind(element, ...args);
|
3293
3336
|
if (this.baseLayer) {
|
3294
3337
|
this.baseLayer.asCurrent(applyCallback);
|
@@ -3328,7 +3371,7 @@ up.EventListener = class EventListener extends up.Record {
|
|
3328
3371
|
|
3329
3372
|
|
3330
3373
|
/***/ }),
|
3331
|
-
/*
|
3374
|
+
/* 39 */
|
3332
3375
|
/***/ (() => {
|
3333
3376
|
|
3334
3377
|
const u = up.util;
|
@@ -3400,7 +3443,7 @@ up.EventListenerGroup = class EventListenerGroup extends up.Record {
|
|
3400
3443
|
|
3401
3444
|
|
3402
3445
|
/***/ }),
|
3403
|
-
/*
|
3446
|
+
/* 40 */
|
3404
3447
|
/***/ (() => {
|
3405
3448
|
|
3406
3449
|
const u = up.util;
|
@@ -3516,7 +3559,7 @@ up.FieldWatcher = class FieldWatcher {
|
|
3516
3559
|
|
3517
3560
|
|
3518
3561
|
/***/ }),
|
3519
|
-
/*
|
3562
|
+
/* 41 */
|
3520
3563
|
/***/ (() => {
|
3521
3564
|
|
3522
3565
|
const u = up.util;
|
@@ -3690,7 +3733,7 @@ up.FormValidator = class FormValidator {
|
|
3690
3733
|
|
3691
3734
|
|
3692
3735
|
/***/ }),
|
3693
|
-
/*
|
3736
|
+
/* 42 */
|
3694
3737
|
/***/ (() => {
|
3695
3738
|
|
3696
3739
|
up.FocusCapsule = class FocusCapsule {
|
@@ -3720,7 +3763,7 @@ up.FocusCapsule = class FocusCapsule {
|
|
3720
3763
|
|
3721
3764
|
|
3722
3765
|
/***/ }),
|
3723
|
-
/*
|
3766
|
+
/* 43 */
|
3724
3767
|
/***/ (() => {
|
3725
3768
|
|
3726
3769
|
const u = up.util;
|
@@ -3784,7 +3827,7 @@ up.FragmentProcessor = class FragmentProcessor extends up.Record {
|
|
3784
3827
|
|
3785
3828
|
|
3786
3829
|
/***/ }),
|
3787
|
-
/*
|
3830
|
+
/* 44 */
|
3788
3831
|
/***/ (() => {
|
3789
3832
|
|
3790
3833
|
const DESCENDANT_SELECTOR = /^([^ >+(]+) (.+)$/;
|
@@ -3827,7 +3870,7 @@ up.FragmentFinder = class FragmentFinder {
|
|
3827
3870
|
|
3828
3871
|
|
3829
3872
|
/***/ }),
|
3830
|
-
/*
|
3873
|
+
/* 45 */
|
3831
3874
|
/***/ (() => {
|
3832
3875
|
|
3833
3876
|
const u = up.util;
|
@@ -3911,7 +3954,7 @@ up.FragmentFocus = class FragmentFocus extends up.FragmentProcessor {
|
|
3911
3954
|
|
3912
3955
|
|
3913
3956
|
/***/ }),
|
3914
|
-
/*
|
3957
|
+
/* 46 */
|
3915
3958
|
/***/ (() => {
|
3916
3959
|
|
3917
3960
|
const e = up.element;
|
@@ -3995,9 +4038,7 @@ up.FragmentPolling = class FragmentPolling {
|
|
3995
4038
|
}
|
3996
4039
|
onReloadFailure(reason) {
|
3997
4040
|
this.scheduleReload();
|
3998
|
-
|
3999
|
-
throw reason;
|
4000
|
-
}
|
4041
|
+
up.error.rethrowCritical(reason);
|
4001
4042
|
}
|
4002
4043
|
onFragmentSwapped(newFragment) {
|
4003
4044
|
this.stop();
|
@@ -4018,7 +4059,7 @@ up.FragmentPolling = class FragmentPolling {
|
|
4018
4059
|
|
4019
4060
|
|
4020
4061
|
/***/ }),
|
4021
|
-
/*
|
4062
|
+
/* 47 */
|
4022
4063
|
/***/ (() => {
|
4023
4064
|
|
4024
4065
|
const u = up.util;
|
@@ -4082,7 +4123,7 @@ up.FragmentScrolling = class FragmentScrolling extends up.FragmentProcessor {
|
|
4082
4123
|
|
4083
4124
|
|
4084
4125
|
/***/ }),
|
4085
|
-
/*
|
4126
|
+
/* 48 */
|
4086
4127
|
/***/ (() => {
|
4087
4128
|
|
4088
4129
|
const e = up.element;
|
@@ -4305,7 +4346,7 @@ up.Layer = class Layer extends up.Record {
|
|
4305
4346
|
|
4306
4347
|
|
4307
4348
|
/***/ }),
|
4308
|
-
/*
|
4349
|
+
/* 49 */
|
4309
4350
|
/***/ (() => {
|
4310
4351
|
|
4311
4352
|
const e = up.element;
|
@@ -4487,7 +4528,7 @@ up.Layer.Overlay = class Overlay extends up.Layer {
|
|
4487
4528
|
parser.string('easing');
|
4488
4529
|
parser.number('duration');
|
4489
4530
|
parser.string('confirm');
|
4490
|
-
closeFn(value, closeOptions);
|
4531
|
+
up.error.muteUncriticalSync(() => closeFn(value, closeOptions));
|
4491
4532
|
});
|
4492
4533
|
}
|
4493
4534
|
registerEventCloser(eventTypes, closeFn) {
|
@@ -4496,20 +4537,20 @@ up.Layer.Overlay = class Overlay extends up.Layer {
|
|
4496
4537
|
}
|
4497
4538
|
return this.on(eventTypes, event => {
|
4498
4539
|
event.preventDefault();
|
4499
|
-
closeFn.call(this, event);
|
4540
|
+
closeFn.call(this, event, { response: event.response });
|
4500
4541
|
});
|
4501
4542
|
}
|
4502
|
-
tryAcceptForLocation() {
|
4503
|
-
this.tryCloseForLocation(this.acceptLocation, this.accept);
|
4543
|
+
tryAcceptForLocation(options) {
|
4544
|
+
this.tryCloseForLocation(this.acceptLocation, this.accept, options);
|
4504
4545
|
}
|
4505
|
-
tryDismissForLocation() {
|
4506
|
-
this.tryCloseForLocation(this.dismissLocation, this.dismiss);
|
4546
|
+
tryDismissForLocation(options) {
|
4547
|
+
this.tryCloseForLocation(this.dismissLocation, this.dismiss, options);
|
4507
4548
|
}
|
4508
|
-
tryCloseForLocation(urlPattern, closeFn) {
|
4549
|
+
tryCloseForLocation(urlPattern, closeFn, options) {
|
4509
4550
|
let location, resolution;
|
4510
4551
|
if (urlPattern && (location = this.location) && (resolution = urlPattern.recognize(location))) {
|
4511
4552
|
const closeValue = { ...resolution, location };
|
4512
|
-
closeFn.call(this, closeValue);
|
4553
|
+
closeFn.call(this, closeValue, options);
|
4513
4554
|
}
|
4514
4555
|
}
|
4515
4556
|
teardownHandlers() {
|
@@ -4580,7 +4621,7 @@ up.Layer.Overlay = class Overlay extends up.Layer {
|
|
4580
4621
|
|
4581
4622
|
|
4582
4623
|
/***/ }),
|
4583
|
-
/*
|
4624
|
+
/* 50 */
|
4584
4625
|
/***/ (() => {
|
4585
4626
|
|
4586
4627
|
up.Layer.OverlayWithTether = class OverlayWithTether extends up.Layer.Overlay {
|
@@ -4617,7 +4658,7 @@ up.Layer.OverlayWithTether = class OverlayWithTether extends up.Layer.Overlay {
|
|
4617
4658
|
|
4618
4659
|
|
4619
4660
|
/***/ }),
|
4620
|
-
/*
|
4661
|
+
/* 51 */
|
4621
4662
|
/***/ (() => {
|
4622
4663
|
|
4623
4664
|
var _a;
|
@@ -4655,19 +4696,19 @@ up.Layer.OverlayWithViewport = (_a = class OverlayWithViewport extends up.Layer.
|
|
4655
4696
|
|
4656
4697
|
|
4657
4698
|
/***/ }),
|
4658
|
-
/*
|
4699
|
+
/* 52 */
|
4659
4700
|
/***/ (() => {
|
4660
4701
|
|
4661
4702
|
var _a;
|
4662
4703
|
const e = up.element;
|
4663
4704
|
up.Layer.Root = (_a = class Root extends up.Layer {
|
4705
|
+
get element() {
|
4706
|
+
return e.root;
|
4707
|
+
}
|
4664
4708
|
constructor(options) {
|
4665
4709
|
super(options);
|
4666
4710
|
this.setupHandlers();
|
4667
4711
|
}
|
4668
|
-
get element() {
|
4669
|
-
return e.root;
|
4670
|
-
}
|
4671
4712
|
getFirstSwappableElement() {
|
4672
4713
|
return document.body;
|
4673
4714
|
}
|
@@ -4701,7 +4742,7 @@ up.Layer.Root = (_a = class Root extends up.Layer {
|
|
4701
4742
|
|
4702
4743
|
|
4703
4744
|
/***/ }),
|
4704
|
-
/*
|
4745
|
+
/* 53 */
|
4705
4746
|
/***/ (() => {
|
4706
4747
|
|
4707
4748
|
var _a;
|
@@ -4712,7 +4753,7 @@ up.Layer.Modal = (_a = class Modal extends up.Layer.OverlayWithViewport {
|
|
4712
4753
|
|
4713
4754
|
|
4714
4755
|
/***/ }),
|
4715
|
-
/*
|
4756
|
+
/* 54 */
|
4716
4757
|
/***/ (() => {
|
4717
4758
|
|
4718
4759
|
var _a;
|
@@ -4723,7 +4764,7 @@ up.Layer.Popup = (_a = class Popup extends up.Layer.OverlayWithTether {
|
|
4723
4764
|
|
4724
4765
|
|
4725
4766
|
/***/ }),
|
4726
|
-
/*
|
4767
|
+
/* 55 */
|
4727
4768
|
/***/ (() => {
|
4728
4769
|
|
4729
4770
|
var _a;
|
@@ -4734,7 +4775,7 @@ up.Layer.Drawer = (_a = class Drawer extends up.Layer.OverlayWithViewport {
|
|
4734
4775
|
|
4735
4776
|
|
4736
4777
|
/***/ }),
|
4737
|
-
/*
|
4778
|
+
/* 56 */
|
4738
4779
|
/***/ (() => {
|
4739
4780
|
|
4740
4781
|
var _a;
|
@@ -4745,7 +4786,7 @@ up.Layer.Cover = (_a = class Cover extends up.Layer.OverlayWithViewport {
|
|
4745
4786
|
|
4746
4787
|
|
4747
4788
|
/***/ }),
|
4748
|
-
/*
|
4789
|
+
/* 57 */
|
4749
4790
|
/***/ (() => {
|
4750
4791
|
|
4751
4792
|
const u = up.util;
|
@@ -4835,7 +4876,7 @@ up.LayerLookup = class LayerLookup {
|
|
4835
4876
|
|
4836
4877
|
|
4837
4878
|
/***/ }),
|
4838
|
-
/*
|
4879
|
+
/* 58 */
|
4839
4880
|
/***/ (() => {
|
4840
4881
|
|
4841
4882
|
const u = up.util;
|
@@ -4948,7 +4989,7 @@ up.LayerStack = class LayerStack extends Array {
|
|
4948
4989
|
|
4949
4990
|
|
4950
4991
|
/***/ }),
|
4951
|
-
/*
|
4992
|
+
/* 59 */
|
4952
4993
|
/***/ (() => {
|
4953
4994
|
|
4954
4995
|
up.LinkFeedbackURLs = class LinkFeedbackURLs {
|
@@ -4979,7 +5020,7 @@ up.LinkFeedbackURLs = class LinkFeedbackURLs {
|
|
4979
5020
|
|
4980
5021
|
|
4981
5022
|
/***/ }),
|
4982
|
-
/*
|
5023
|
+
/* 60 */
|
4983
5024
|
/***/ (() => {
|
4984
5025
|
|
4985
5026
|
const u = up.util;
|
@@ -5047,7 +5088,7 @@ up.LinkPreloader = class LinkPreloader {
|
|
5047
5088
|
|
5048
5089
|
|
5049
5090
|
/***/ }),
|
5050
|
-
/*
|
5091
|
+
/* 61 */
|
5051
5092
|
/***/ (() => {
|
5052
5093
|
|
5053
5094
|
const u = up.util;
|
@@ -5143,7 +5184,7 @@ up.MotionController = class MotionController {
|
|
5143
5184
|
|
5144
5185
|
|
5145
5186
|
/***/ }),
|
5146
|
-
/*
|
5187
|
+
/* 62 */
|
5147
5188
|
/***/ (() => {
|
5148
5189
|
|
5149
5190
|
const u = up.util;
|
@@ -5235,7 +5276,7 @@ up.NonceableCallback = class NonceableCallback {
|
|
5235
5276
|
|
5236
5277
|
|
5237
5278
|
/***/ }),
|
5238
|
-
/*
|
5279
|
+
/* 63 */
|
5239
5280
|
/***/ (() => {
|
5240
5281
|
|
5241
5282
|
const u = up.util;
|
@@ -5312,7 +5353,7 @@ up.OptionsParser = class OptionsParser {
|
|
5312
5353
|
|
5313
5354
|
|
5314
5355
|
/***/ }),
|
5315
|
-
/*
|
5356
|
+
/* 64 */
|
5316
5357
|
/***/ (() => {
|
5317
5358
|
|
5318
5359
|
const e = up.element;
|
@@ -5380,7 +5421,7 @@ up.OverlayFocus = class OverlayFocus {
|
|
5380
5421
|
|
5381
5422
|
|
5382
5423
|
/***/ }),
|
5383
|
-
/*
|
5424
|
+
/* 65 */
|
5384
5425
|
/***/ (() => {
|
5385
5426
|
|
5386
5427
|
const u = up.util;
|
@@ -5611,7 +5652,7 @@ up.Params = class Params {
|
|
5611
5652
|
|
5612
5653
|
|
5613
5654
|
/***/ }),
|
5614
|
-
/*
|
5655
|
+
/* 66 */
|
5615
5656
|
/***/ (() => {
|
5616
5657
|
|
5617
5658
|
const e = up.element;
|
@@ -5661,7 +5702,7 @@ up.ProgressBar = class ProgressBar {
|
|
5661
5702
|
|
5662
5703
|
|
5663
5704
|
/***/ }),
|
5664
|
-
/*
|
5705
|
+
/* 67 */
|
5665
5706
|
/***/ (() => {
|
5666
5707
|
|
5667
5708
|
const u = up.util;
|
@@ -5710,14 +5751,15 @@ up.RenderOptions = (function () {
|
|
5710
5751
|
]);
|
5711
5752
|
const CONTENT_KEYS = [
|
5712
5753
|
'url',
|
5754
|
+
'response',
|
5713
5755
|
'content',
|
5714
5756
|
'fragment',
|
5715
|
-
'document'
|
5757
|
+
'document',
|
5716
5758
|
];
|
5717
5759
|
const LATE_KEYS = [
|
5718
5760
|
'history',
|
5719
5761
|
'focus',
|
5720
|
-
'scroll'
|
5762
|
+
'scroll',
|
5721
5763
|
];
|
5722
5764
|
function navigateDefaults(options) {
|
5723
5765
|
if (options.navigate) {
|
@@ -5784,7 +5826,7 @@ up.RenderOptions = (function () {
|
|
5784
5826
|
|
5785
5827
|
|
5786
5828
|
/***/ }),
|
5787
|
-
/*
|
5829
|
+
/* 68 */
|
5788
5830
|
/***/ (() => {
|
5789
5831
|
|
5790
5832
|
up.RenderResult = class RenderResult extends up.Record {
|
@@ -5812,32 +5854,12 @@ up.RenderResult = class RenderResult extends up.Record {
|
|
5812
5854
|
|
5813
5855
|
|
5814
5856
|
/***/ }),
|
5815
|
-
/*
|
5857
|
+
/* 69 */
|
5816
5858
|
/***/ (() => {
|
5817
5859
|
|
5818
5860
|
var _a;
|
5819
5861
|
const u = up.util;
|
5820
5862
|
up.Request = (_a = class Request extends up.Record {
|
5821
|
-
constructor(options) {
|
5822
|
-
super(options);
|
5823
|
-
this.params = new up.Params(this.params);
|
5824
|
-
if (this.wrapMethod == null) {
|
5825
|
-
this.wrapMethod = up.network.config.wrapMethod;
|
5826
|
-
}
|
5827
|
-
this.normalize();
|
5828
|
-
if ((this.target || this.layer || this.origin) && !options.basic) {
|
5829
|
-
const layerLookupOptions = { origin: this.origin };
|
5830
|
-
this.layer = up.layer.get(this.layer, layerLookupOptions);
|
5831
|
-
this.failLayer = up.layer.get(this.failLayer || this.layer, layerLookupOptions);
|
5832
|
-
this.context || (this.context = this.layer.context || {});
|
5833
|
-
this.failContext || (this.failContext = this.failLayer.context || {});
|
5834
|
-
this.mode || (this.mode = this.layer.mode);
|
5835
|
-
this.failMode || (this.failMode = this.failLayer.mode);
|
5836
|
-
}
|
5837
|
-
this.deferred = u.newDeferred();
|
5838
|
-
this.badResponseTime ?? (this.badResponseTime = u.evalOption(up.network.config.badResponseTime, this));
|
5839
|
-
this.addAutoHeaders();
|
5840
|
-
}
|
5841
5863
|
keys() {
|
5842
5864
|
return [
|
5843
5865
|
'method',
|
@@ -5880,17 +5902,39 @@ up.Request = (_a = class Request extends up.Record {
|
|
5880
5902
|
builtAt: new Date(),
|
5881
5903
|
};
|
5882
5904
|
}
|
5905
|
+
constructor(options) {
|
5906
|
+
super(options);
|
5907
|
+
this.params = new up.Params(this.params);
|
5908
|
+
if (this.wrapMethod == null) {
|
5909
|
+
this.wrapMethod = up.network.config.wrapMethod;
|
5910
|
+
}
|
5911
|
+
this.normalize();
|
5912
|
+
if ((this.target || this.layer || this.origin) && !options.basic) {
|
5913
|
+
const layerLookupOptions = { origin: this.origin };
|
5914
|
+
this.layer = up.layer.get(this.layer, layerLookupOptions);
|
5915
|
+
this.failLayer = up.layer.get(this.failLayer || this.layer, layerLookupOptions);
|
5916
|
+
this.context || (this.context = this.layer.context || {});
|
5917
|
+
this.failContext || (this.failContext = this.failLayer.context || {});
|
5918
|
+
this.mode || (this.mode = this.layer.mode);
|
5919
|
+
this.failMode || (this.failMode = this.failLayer.mode);
|
5920
|
+
}
|
5921
|
+
this.deferred = u.newDeferred();
|
5922
|
+
this.badResponseTime ?? (this.badResponseTime = u.evalOption(up.network.config.badResponseTime, this));
|
5923
|
+
this.addAutoHeaders();
|
5924
|
+
}
|
5883
5925
|
get xhr() {
|
5884
5926
|
return this._xhr ?? (this._xhr = new XMLHttpRequest());
|
5885
5927
|
}
|
5886
5928
|
get fragments() {
|
5887
|
-
if (
|
5929
|
+
if (this._fragments) {
|
5930
|
+
return this._fragments;
|
5931
|
+
}
|
5932
|
+
else if (this.target) {
|
5888
5933
|
let steps = up.fragment.parseTargetSteps(this.target);
|
5889
5934
|
let selectors = u.map(steps, 'selector');
|
5890
5935
|
let lookupOpts = { origin: this.origin, layer: this.layer };
|
5891
|
-
|
5936
|
+
return u.compact(u.map(selectors, (selector) => up.fragment.get(selector, lookupOpts)));
|
5892
5937
|
}
|
5893
|
-
return this._fragments;
|
5894
5938
|
}
|
5895
5939
|
set fragments(value) {
|
5896
5940
|
this._fragments = value;
|
@@ -6147,7 +6191,7 @@ up.Request = (_a = class Request extends up.Record {
|
|
6147
6191
|
|
6148
6192
|
|
6149
6193
|
/***/ }),
|
6150
|
-
/*
|
6194
|
+
/* 70 */
|
6151
6195
|
/***/ (() => {
|
6152
6196
|
|
6153
6197
|
const u = up.util;
|
@@ -6237,6 +6281,7 @@ up.Request.Cache = class Cache {
|
|
6237
6281
|
if (value instanceof up.Response) {
|
6238
6282
|
if (options.force || this.isCacheCompatible(existingRequest, newRequest)) {
|
6239
6283
|
newRequest.fromCache = true;
|
6284
|
+
value = u.variant(value, { request: newRequest });
|
6240
6285
|
newRequest.respondWith(value);
|
6241
6286
|
u.delegate(newRequest, ['expired', 'state'], () => existingRequest);
|
6242
6287
|
}
|
@@ -6286,7 +6331,7 @@ up.Request.Cache = class Cache {
|
|
6286
6331
|
|
6287
6332
|
|
6288
6333
|
/***/ }),
|
6289
|
-
/*
|
6334
|
+
/* 71 */
|
6290
6335
|
/***/ (() => {
|
6291
6336
|
|
6292
6337
|
const u = up.util;
|
@@ -6394,7 +6439,7 @@ up.Request.Queue = class Queue {
|
|
6394
6439
|
|
6395
6440
|
|
6396
6441
|
/***/ }),
|
6397
|
-
/*
|
6442
|
+
/* 72 */
|
6398
6443
|
/***/ (() => {
|
6399
6444
|
|
6400
6445
|
const u = up.util;
|
@@ -6433,7 +6478,7 @@ up.Request.FormRenderer = class FormRenderer {
|
|
6433
6478
|
|
6434
6479
|
|
6435
6480
|
/***/ }),
|
6436
|
-
/*
|
6481
|
+
/* 73 */
|
6437
6482
|
/***/ (() => {
|
6438
6483
|
|
6439
6484
|
var _a;
|
@@ -6505,7 +6550,7 @@ up.Request.XHRRenderer = (_a = class XHRRenderer {
|
|
6505
6550
|
|
6506
6551
|
|
6507
6552
|
/***/ }),
|
6508
|
-
/*
|
6553
|
+
/* 74 */
|
6509
6554
|
/***/ (() => {
|
6510
6555
|
|
6511
6556
|
const u = up.util;
|
@@ -6540,6 +6585,12 @@ up.Response = class Response extends up.Record {
|
|
6540
6585
|
get ok() {
|
6541
6586
|
return !u.evalOption(this.fail ?? up.network.config.fail, this);
|
6542
6587
|
}
|
6588
|
+
get none() {
|
6589
|
+
return !this.text;
|
6590
|
+
}
|
6591
|
+
isCacheable() {
|
6592
|
+
return this.ok && !this.none;
|
6593
|
+
}
|
6543
6594
|
header(name) {
|
6544
6595
|
return this.headers[name] || this.xhr?.getResponseHeader(name);
|
6545
6596
|
}
|
@@ -6580,7 +6631,7 @@ up.Response = class Response extends up.Record {
|
|
6580
6631
|
|
6581
6632
|
|
6582
6633
|
/***/ }),
|
6583
|
-
/*
|
6634
|
+
/* 75 */
|
6584
6635
|
/***/ (() => {
|
6585
6636
|
|
6586
6637
|
var _a;
|
@@ -6660,7 +6711,7 @@ up.ResponseDoc = (_a = class ResponseDoc {
|
|
6660
6711
|
|
6661
6712
|
|
6662
6713
|
/***/ }),
|
6663
|
-
/*
|
6714
|
+
/* 76 */
|
6664
6715
|
/***/ (() => {
|
6665
6716
|
|
6666
6717
|
const e = up.element;
|
@@ -6754,7 +6805,7 @@ up.RevealMotion = class RevealMotion {
|
|
6754
6805
|
|
6755
6806
|
|
6756
6807
|
/***/ }),
|
6757
|
-
/*
|
6808
|
+
/* 77 */
|
6758
6809
|
/***/ (() => {
|
6759
6810
|
|
6760
6811
|
const u = up.util;
|
@@ -6795,7 +6846,7 @@ up.Selector = class Selector {
|
|
6795
6846
|
|
6796
6847
|
|
6797
6848
|
/***/ }),
|
6798
|
-
/*
|
6849
|
+
/* 78 */
|
6799
6850
|
/***/ (() => {
|
6800
6851
|
|
6801
6852
|
const u = up.util;
|
@@ -6915,7 +6966,7 @@ up.Tether = class Tether {
|
|
6915
6966
|
|
6916
6967
|
|
6917
6968
|
/***/ }),
|
6918
|
-
/*
|
6969
|
+
/* 79 */
|
6919
6970
|
/***/ (() => {
|
6920
6971
|
|
6921
6972
|
const u = up.util;
|
@@ -6995,7 +7046,7 @@ up.URLPattern = class URLPattern {
|
|
6995
7046
|
|
6996
7047
|
|
6997
7048
|
/***/ }),
|
6998
|
-
/*
|
7049
|
+
/* 80 */
|
6999
7050
|
/***/ (() => {
|
7000
7051
|
|
7001
7052
|
up.framework = (function () {
|
@@ -7079,7 +7130,7 @@ up.boot = up.framework.boot;
|
|
7079
7130
|
|
7080
7131
|
|
7081
7132
|
/***/ }),
|
7082
|
-
/*
|
7133
|
+
/* 81 */
|
7083
7134
|
/***/ (() => {
|
7084
7135
|
|
7085
7136
|
up.event = (function () {
|
@@ -7182,7 +7233,7 @@ up.emit = up.event.emit;
|
|
7182
7233
|
|
7183
7234
|
|
7184
7235
|
/***/ }),
|
7185
|
-
/*
|
7236
|
+
/* 82 */
|
7186
7237
|
/***/ (() => {
|
7187
7238
|
|
7188
7239
|
up.protocol = (function () {
|
@@ -7323,7 +7374,7 @@ up.protocol = (function () {
|
|
7323
7374
|
|
7324
7375
|
|
7325
7376
|
/***/ }),
|
7326
|
-
/*
|
7377
|
+
/* 83 */
|
7327
7378
|
/***/ (() => {
|
7328
7379
|
|
7329
7380
|
up.log = (function () {
|
@@ -7408,7 +7459,7 @@ up.warn = up.log.warn;
|
|
7408
7459
|
|
7409
7460
|
|
7410
7461
|
/***/ }),
|
7411
|
-
/*
|
7462
|
+
/* 84 */
|
7412
7463
|
/***/ (() => {
|
7413
7464
|
|
7414
7465
|
up.syntax = (function () {
|
@@ -7558,7 +7609,7 @@ up.hello = up.syntax.hello;
|
|
7558
7609
|
|
7559
7610
|
|
7560
7611
|
/***/ }),
|
7561
|
-
/*
|
7612
|
+
/* 85 */
|
7562
7613
|
/***/ (() => {
|
7563
7614
|
|
7564
7615
|
up.history = (function () {
|
@@ -7651,6 +7702,7 @@ up.history = (function () {
|
|
7651
7702
|
}
|
7652
7703
|
function onPop(event) {
|
7653
7704
|
trackCurrentLocation();
|
7705
|
+
let location = currentLocation();
|
7654
7706
|
emitLocationChanged({ location, reason: 'pop', log: `Navigated to history entry ${location}` });
|
7655
7707
|
up.viewport.saveFocus({ location: previousLocation });
|
7656
7708
|
up.viewport.saveScroll({ location: previousLocation });
|
@@ -7694,10 +7746,10 @@ up.history = (function () {
|
|
7694
7746
|
|
7695
7747
|
|
7696
7748
|
/***/ }),
|
7697
|
-
/*
|
7749
|
+
/* 86 */
|
7698
7750
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
7699
7751
|
|
7700
|
-
__webpack_require__(
|
7752
|
+
__webpack_require__(87);
|
7701
7753
|
const u = up.util;
|
7702
7754
|
const e = up.element;
|
7703
7755
|
up.fragment = (function () {
|
@@ -8224,7 +8276,7 @@ u.delegate(up, ['context'], () => up.layer.current);
|
|
8224
8276
|
|
8225
8277
|
|
8226
8278
|
/***/ }),
|
8227
|
-
/*
|
8279
|
+
/* 87 */
|
8228
8280
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
8229
8281
|
|
8230
8282
|
"use strict";
|
@@ -8233,10 +8285,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
8233
8285
|
|
8234
8286
|
|
8235
8287
|
/***/ }),
|
8236
|
-
/*
|
8288
|
+
/* 88 */
|
8237
8289
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
8238
8290
|
|
8239
|
-
__webpack_require__(
|
8291
|
+
__webpack_require__(89);
|
8240
8292
|
up.viewport = (function () {
|
8241
8293
|
const u = up.util;
|
8242
8294
|
const e = up.element;
|
@@ -8556,7 +8608,7 @@ up.reveal = up.viewport.reveal;
|
|
8556
8608
|
|
8557
8609
|
|
8558
8610
|
/***/ }),
|
8559
|
-
/*
|
8611
|
+
/* 89 */
|
8560
8612
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
8561
8613
|
|
8562
8614
|
"use strict";
|
@@ -8565,7 +8617,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
8565
8617
|
|
8566
8618
|
|
8567
8619
|
/***/ }),
|
8568
|
-
/*
|
8620
|
+
/* 90 */
|
8569
8621
|
/***/ (() => {
|
8570
8622
|
|
8571
8623
|
up.motion = (function () {
|
@@ -8758,8 +8810,11 @@ up.motion = (function () {
|
|
8758
8810
|
function translateCSS(dx, dy) {
|
8759
8811
|
return { transform: `translate(${dx}px, ${dy}px)` };
|
8760
8812
|
}
|
8813
|
+
function noTranslateCSS() {
|
8814
|
+
return { transform: null };
|
8815
|
+
}
|
8761
8816
|
function untranslatedBox(element) {
|
8762
|
-
e.setStyle(element,
|
8817
|
+
e.setStyle(element, noTranslateCSS());
|
8763
8818
|
return element.getBoundingClientRect();
|
8764
8819
|
}
|
8765
8820
|
function registerMoveAnimations(direction, boxToTransform) {
|
@@ -8774,7 +8829,7 @@ up.motion = (function () {
|
|
8774
8829
|
const box = untranslatedBox(element);
|
8775
8830
|
const transform = boxToTransform(box);
|
8776
8831
|
e.setStyle(element, transform);
|
8777
|
-
return animateNow(element,
|
8832
|
+
return animateNow(element, noTranslateCSS(), options);
|
8778
8833
|
});
|
8779
8834
|
}
|
8780
8835
|
registerMoveAnimations('top', function (box) {
|
@@ -8820,10 +8875,10 @@ up.animate = up.motion.animate;
|
|
8820
8875
|
|
8821
8876
|
|
8822
8877
|
/***/ }),
|
8823
|
-
/*
|
8878
|
+
/* 91 */
|
8824
8879
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
8825
8880
|
|
8826
|
-
__webpack_require__(
|
8881
|
+
__webpack_require__(92);
|
8827
8882
|
const u = up.util;
|
8828
8883
|
up.network = (function () {
|
8829
8884
|
const config = new up.Config(() => ({
|
@@ -8891,19 +8946,19 @@ up.network = (function () {
|
|
8891
8946
|
cache.put(request);
|
8892
8947
|
request.onLoading = () => cache.put(request);
|
8893
8948
|
}
|
8894
|
-
u.always(request, function (
|
8895
|
-
let expireCache =
|
8949
|
+
u.always(request, function (responseOrError) {
|
8950
|
+
let expireCache = responseOrError.expireCache ?? request.expireCache ?? u.evalOption(config.expireCache, request, responseOrError);
|
8896
8951
|
if (expireCache) {
|
8897
8952
|
cache.expire(expireCache, { except: request });
|
8898
8953
|
}
|
8899
|
-
let evictCache =
|
8954
|
+
let evictCache = responseOrError.evictCache ?? request.evictCache ?? u.evalOption(config.evictCache, request, responseOrError);
|
8900
8955
|
if (evictCache) {
|
8901
8956
|
cache.evict(evictCache, { except: request });
|
8902
8957
|
}
|
8903
8958
|
if (cache.get(request)) {
|
8904
8959
|
cache.put(request);
|
8905
8960
|
}
|
8906
|
-
if (!
|
8961
|
+
if (!responseOrError.isCacheable?.()) {
|
8907
8962
|
cache.evict(request);
|
8908
8963
|
}
|
8909
8964
|
});
|
@@ -8927,7 +8982,7 @@ up.network = (function () {
|
|
8927
8982
|
}
|
8928
8983
|
function registerAliasForRedirect(request, response) {
|
8929
8984
|
if (request.cache && response.url && request.url !== response.url) {
|
8930
|
-
const newRequest =
|
8985
|
+
const newRequest = u.variant(request, {
|
8931
8986
|
method: response.method,
|
8932
8987
|
url: response.url
|
8933
8988
|
});
|
@@ -8966,7 +9021,7 @@ up.cache = up.network.cache;
|
|
8966
9021
|
|
8967
9022
|
|
8968
9023
|
/***/ }),
|
8969
|
-
/*
|
9024
|
+
/* 92 */
|
8970
9025
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
8971
9026
|
|
8972
9027
|
"use strict";
|
@@ -8975,10 +9030,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
8975
9030
|
|
8976
9031
|
|
8977
9032
|
/***/ }),
|
8978
|
-
/*
|
9033
|
+
/* 93 */
|
8979
9034
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
8980
9035
|
|
8981
|
-
__webpack_require__(
|
9036
|
+
__webpack_require__(94);
|
8982
9037
|
const u = up.util;
|
8983
9038
|
const e = up.element;
|
8984
9039
|
up.layer = (function () {
|
@@ -9122,7 +9177,7 @@ up.layer = (function () {
|
|
9122
9177
|
return e.callbackAttr(link, attr, { exposedKeys: ['layer'] });
|
9123
9178
|
}
|
9124
9179
|
function closeCallbackAttr(link, attr) {
|
9125
|
-
return e.callbackAttr(link, attr, { exposedKeys: ['layer', 'value'] });
|
9180
|
+
return e.callbackAttr(link, attr, { exposedKeys: ['layer', 'value', 'response'] });
|
9126
9181
|
}
|
9127
9182
|
function reset() {
|
9128
9183
|
config.reset();
|
@@ -9219,7 +9274,7 @@ up.layer = (function () {
|
|
9219
9274
|
|
9220
9275
|
|
9221
9276
|
/***/ }),
|
9222
|
-
/*
|
9277
|
+
/* 94 */
|
9223
9278
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
9224
9279
|
|
9225
9280
|
"use strict";
|
@@ -9228,10 +9283,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
9228
9283
|
|
9229
9284
|
|
9230
9285
|
/***/ }),
|
9231
|
-
/*
|
9286
|
+
/* 95 */
|
9232
9287
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
9233
9288
|
|
9234
|
-
__webpack_require__(
|
9289
|
+
__webpack_require__(96);
|
9235
9290
|
up.link = (function () {
|
9236
9291
|
const u = up.util;
|
9237
9292
|
const e = up.element;
|
@@ -9239,7 +9294,7 @@ up.link = (function () {
|
|
9239
9294
|
let lastMousedownTarget = null;
|
9240
9295
|
const LINKS_WITH_LOCAL_HTML = ['a[up-content]', 'a[up-fragment]', 'a[up-document]'];
|
9241
9296
|
const LINKS_WITH_REMOTE_HTML = ['a[href]', '[up-href]'];
|
9242
|
-
const ATTRIBUTES_SUGGESTING_FOLLOW = ['[up-follow]', '[up-target]', '[up-layer]', '[up-transition]', '[up-preload]', '[up-instant]'];
|
9297
|
+
const ATTRIBUTES_SUGGESTING_FOLLOW = ['[up-follow]', '[up-target]', '[up-layer]', '[up-transition]', '[up-preload]', '[up-instant]', '[up-href]'];
|
9243
9298
|
function combineFollowableSelectors(elementSelectors, attributeSelectors) {
|
9244
9299
|
return u.flatMap(elementSelectors, elementSelector => attributeSelectors.map(attrSelector => elementSelector + attrSelector));
|
9245
9300
|
}
|
@@ -9526,7 +9581,7 @@ up.follow = up.link.follow;
|
|
9526
9581
|
|
9527
9582
|
|
9528
9583
|
/***/ }),
|
9529
|
-
/*
|
9584
|
+
/* 96 */
|
9530
9585
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
9531
9586
|
|
9532
9587
|
"use strict";
|
@@ -9535,7 +9590,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
9535
9590
|
|
9536
9591
|
|
9537
9592
|
/***/ }),
|
9538
|
-
/*
|
9593
|
+
/* 97 */
|
9539
9594
|
/***/ (() => {
|
9540
9595
|
|
9541
9596
|
up.form = (function () {
|
@@ -9550,7 +9605,7 @@ up.form = (function () {
|
|
9550
9605
|
submitButtonSelectors: ['input[type=submit]', 'input[type=image]', 'button[type=submit]', 'button:not([type])'],
|
9551
9606
|
watchInputEvents: ['input', 'change'],
|
9552
9607
|
watchInputDelay: 0,
|
9553
|
-
watchChangeEvents:
|
9608
|
+
watchChangeEvents: ['change'],
|
9554
9609
|
}));
|
9555
9610
|
function fullSubmitSelector() {
|
9556
9611
|
return config.submitSelectors.join(',');
|
@@ -9580,13 +9635,13 @@ up.form = (function () {
|
|
9580
9635
|
}
|
9581
9636
|
function submittingButton(form) {
|
9582
9637
|
const selector = submitButtonSelector();
|
9583
|
-
const focusedElement =
|
9584
|
-
if (focusedElement && focusedElement.
|
9585
|
-
|
9586
|
-
|
9587
|
-
|
9588
|
-
return e.get(form, selector);
|
9638
|
+
const focusedElement = document.activeElement;
|
9639
|
+
if (focusedElement && focusedElement.form === form) {
|
9640
|
+
if (focusedElement.matches(selector)) {
|
9641
|
+
return focusedElement;
|
9642
|
+
}
|
9589
9643
|
}
|
9644
|
+
return e.get(form, selector);
|
9590
9645
|
}
|
9591
9646
|
function submitButtonSelector() {
|
9592
9647
|
return config.submitButtonSelectors.join(',');
|
@@ -9929,7 +9984,7 @@ up.validate = up.form.validate;
|
|
9929
9984
|
|
9930
9985
|
|
9931
9986
|
/***/ }),
|
9932
|
-
/*
|
9987
|
+
/* 98 */
|
9933
9988
|
/***/ (() => {
|
9934
9989
|
|
9935
9990
|
up.feedback = (function () {
|
@@ -10046,7 +10101,7 @@ up.feedback = (function () {
|
|
10046
10101
|
|
10047
10102
|
|
10048
10103
|
/***/ }),
|
10049
|
-
/*
|
10104
|
+
/* 99 */
|
10050
10105
|
/***/ (() => {
|
10051
10106
|
|
10052
10107
|
up.radio = (function () {
|
@@ -10123,7 +10178,7 @@ up.radio = (function () {
|
|
10123
10178
|
|
10124
10179
|
|
10125
10180
|
/***/ }),
|
10126
|
-
/*
|
10181
|
+
/* 100 */
|
10127
10182
|
/***/ (() => {
|
10128
10183
|
|
10129
10184
|
(function () {
|
@@ -10272,15 +10327,16 @@ __webpack_require__(82);
|
|
10272
10327
|
__webpack_require__(83);
|
10273
10328
|
__webpack_require__(84);
|
10274
10329
|
__webpack_require__(85);
|
10275
|
-
__webpack_require__(
|
10276
|
-
__webpack_require__(
|
10330
|
+
__webpack_require__(86);
|
10331
|
+
__webpack_require__(88);
|
10277
10332
|
__webpack_require__(90);
|
10278
|
-
__webpack_require__(
|
10279
|
-
__webpack_require__(
|
10280
|
-
__webpack_require__(
|
10333
|
+
__webpack_require__(91);
|
10334
|
+
__webpack_require__(93);
|
10335
|
+
__webpack_require__(95);
|
10281
10336
|
__webpack_require__(97);
|
10282
10337
|
__webpack_require__(98);
|
10283
10338
|
__webpack_require__(99);
|
10339
|
+
__webpack_require__(100);
|
10284
10340
|
up.framework.onEvaled();
|
10285
10341
|
|
10286
10342
|
})();
|