unpoly-rails 3.1.1 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
})();
|