unpoly-rails 3.11.0 → 3.12.0
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/assets/unpoly/unpoly-migrate.js +63 -21
- data/assets/unpoly/unpoly-migrate.min.js +1 -1
- data/assets/unpoly/unpoly.es6.js +444 -227
- data/assets/unpoly/unpoly.es6.min.js +1 -1
- data/assets/unpoly/unpoly.js +411 -215
- data/assets/unpoly/unpoly.min.js +1 -1
- data/lib/unpoly/rails/version.rb +1 -1
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef0fc9fc73ac060a77f0d365affe38309f093ef703fcce67308596792e8ac2b3
|
4
|
+
data.tar.gz: 1a26ec91f4c44875f5d31f9ed55174a8c8b46d782802ae422b9f39ea72a44d89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7ea9beb144bf807c501aaa4d3b2075cffa70e50177495dc4aa330f8281cff3c7b7ce501fecb250f0173c6e5dac291b7ae6e06c887d879cd0c8eb5b1bc2dd1c3
|
7
|
+
data.tar.gz: afb2abefa236d33e39ae7f2be972ccc2c1653c7fda99d1b992e43affe68930f5478f85c682103fa14605c582e45b73671b76157c97809486481ab1a8557104f6
|
@@ -148,7 +148,7 @@ up.migrate = (function () {
|
|
148
148
|
const promise = Promise.resolve();
|
149
149
|
const oldThen = promise.then;
|
150
150
|
promise.then = function () {
|
151
|
-
warn(`${label} no longer returns a promise`);
|
151
|
+
warn(`${label} is now sync and no longer returns a promise`);
|
152
152
|
return oldThen.apply(this, arguments);
|
153
153
|
};
|
154
154
|
return promise;
|
@@ -209,12 +209,26 @@ up.migrate = (function () {
|
|
209
209
|
}
|
210
210
|
return transformed;
|
211
211
|
}
|
212
|
+
function defineThrowingProps(object, forbiddenPrototype, errorMessage) {
|
213
|
+
let complain = () => { throw new TypeError(errorMessage); };
|
214
|
+
for (const propName of Object.getOwnPropertyNames(forbiddenPrototype)) {
|
215
|
+
if (!(propName in object)) {
|
216
|
+
Object.defineProperty(object, propName, {
|
217
|
+
get: complain,
|
218
|
+
set: complain,
|
219
|
+
enumerable: false,
|
220
|
+
configurable: false,
|
221
|
+
});
|
222
|
+
}
|
223
|
+
}
|
224
|
+
}
|
212
225
|
up.on('up:framework:reset', reset);
|
213
226
|
return {
|
214
227
|
deprecated,
|
215
228
|
renamedPackage,
|
216
229
|
renamedProperty,
|
217
230
|
removedProperty,
|
231
|
+
defineThrowingProps,
|
218
232
|
forbiddenPropertyValue,
|
219
233
|
transformAttribute,
|
220
234
|
renamedAttribute,
|
@@ -262,6 +276,20 @@ up.migrate.renamedProperty(up.RenderResult.prototype, 'options', 'renderOptions'
|
|
262
276
|
/* 5 */
|
263
277
|
/***/ (() => {
|
264
278
|
|
279
|
+
up.Layer.prototype.isOpen = function () {
|
280
|
+
up.migrate.deprecated('up.Layer#isOpen()', 'up.Layer#isAlive()');
|
281
|
+
return this.isAlive();
|
282
|
+
};
|
283
|
+
up.Layer.prototype.isClosed = function () {
|
284
|
+
up.migrate.deprecated('up.Layer#isClosed()', '!up.Layer#isAlive()');
|
285
|
+
return !this.isAlive();
|
286
|
+
};
|
287
|
+
|
288
|
+
|
289
|
+
/***/ }),
|
290
|
+
/* 6 */
|
291
|
+
/***/ (() => {
|
292
|
+
|
265
293
|
up.util.only = function (object, ...keys) {
|
266
294
|
up.migrate.deprecated('up.util.only(object, ...keys)', 'up.util.pick(object, keys)');
|
267
295
|
return up.util.pick(object, keys);
|
@@ -331,7 +359,7 @@ up.migrate.splitAtOr = function (value) {
|
|
331
359
|
|
332
360
|
|
333
361
|
/***/ }),
|
334
|
-
/*
|
362
|
+
/* 7 */
|
335
363
|
/***/ (() => {
|
336
364
|
|
337
365
|
class DeprecatedCannotCompile extends up.Error {
|
@@ -343,7 +371,7 @@ Object.defineProperty(up, 'CannotCompile', { get: function () {
|
|
343
371
|
|
344
372
|
|
345
373
|
/***/ }),
|
346
|
-
/*
|
374
|
+
/* 8 */
|
347
375
|
/***/ (() => {
|
348
376
|
|
349
377
|
up.browser.loadPage = function (...args) {
|
@@ -357,7 +385,7 @@ up.browser.isSupported = function (...args) {
|
|
357
385
|
|
358
386
|
|
359
387
|
/***/ }),
|
360
|
-
/*
|
388
|
+
/* 9 */
|
361
389
|
/***/ (() => {
|
362
390
|
|
363
391
|
up.element.first = function (...args) {
|
@@ -418,7 +446,7 @@ up.element.isDetached = function (element) {
|
|
418
446
|
|
419
447
|
|
420
448
|
/***/ }),
|
421
|
-
/*
|
449
|
+
/* 10 */
|
422
450
|
/***/ (() => {
|
423
451
|
|
424
452
|
up.migrate.renamedPackage('bus', 'event');
|
@@ -448,7 +476,7 @@ up.$off = function (...definitionArgs) {
|
|
448
476
|
|
449
477
|
|
450
478
|
/***/ }),
|
451
|
-
/*
|
479
|
+
/* 11 */
|
452
480
|
/***/ (() => {
|
453
481
|
|
454
482
|
const u = up.util;
|
@@ -501,10 +529,21 @@ up.migrate.processCompilerPassMeta = function (meta, response) {
|
|
501
529
|
return response;
|
502
530
|
} });
|
503
531
|
};
|
532
|
+
let modernHello = up.hello;
|
533
|
+
let errorMessage = 'up.hello() is now async and returns a promise';
|
534
|
+
class WasElementIsPromise extends Promise {
|
535
|
+
}
|
536
|
+
up.migrate.defineThrowingProps(WasElementIsPromise.prototype, Element.prototype, errorMessage);
|
537
|
+
up.migrate.defineThrowingProps(WasElementIsPromise.prototype, Node.prototype, errorMessage);
|
538
|
+
up.migrate.defineThrowingProps(WasElementIsPromise.prototype, EventTarget.prototype, errorMessage);
|
539
|
+
up.hello = function (element, ...args) {
|
540
|
+
let elementPromise = modernHello(element, ...args);
|
541
|
+
return WasElementIsPromise.resolve(elementPromise);
|
542
|
+
};
|
504
543
|
|
505
544
|
|
506
545
|
/***/ }),
|
507
|
-
/*
|
546
|
+
/* 12 */
|
508
547
|
/***/ (() => {
|
509
548
|
|
510
549
|
up.form.config.patch(function (config) {
|
@@ -545,7 +584,7 @@ up.observe = function (...args) {
|
|
545
584
|
|
546
585
|
|
547
586
|
/***/ }),
|
548
|
-
/*
|
587
|
+
/* 13 */
|
549
588
|
/***/ (() => {
|
550
589
|
|
551
590
|
const u = up.util;
|
@@ -682,7 +721,6 @@ up.migrate.resolveOrigin = function (target, { origin } = {}) {
|
|
682
721
|
}
|
683
722
|
});
|
684
723
|
};
|
685
|
-
up.migrate.removedEvent('up:fragment:kept', 'up:fragment:keep');
|
686
724
|
up.fragment.config.patch(function () {
|
687
725
|
this.runScriptsValue = this.runScripts;
|
688
726
|
this.runScriptsSet = false;
|
@@ -713,14 +751,17 @@ up.compiler('[up-keep]', function (element) {
|
|
713
751
|
|
714
752
|
|
715
753
|
/***/ }),
|
716
|
-
/*
|
754
|
+
/* 14 */
|
717
755
|
/***/ (() => {
|
718
756
|
|
719
757
|
up.migrate.renamedEvent('up:app:booted', 'up:framework:booted');
|
758
|
+
if (document.querySelector('script[up-boot=manual]')) {
|
759
|
+
up.migrate.warn('The [up-boot="manual"] attribute must be set on the <html> element');
|
760
|
+
}
|
720
761
|
|
721
762
|
|
722
763
|
/***/ }),
|
723
|
-
/*
|
764
|
+
/* 15 */
|
724
765
|
/***/ (() => {
|
725
766
|
|
726
767
|
up.history.config.patch(function (config) {
|
@@ -767,7 +808,7 @@ up.migrate.warnOfHungryMetaTags = function (metaTags) {
|
|
767
808
|
|
768
809
|
|
769
810
|
/***/ }),
|
770
|
-
/*
|
811
|
+
/* 16 */
|
771
812
|
/***/ (() => {
|
772
813
|
|
773
814
|
up.migrate.renamedPackage('navigation', 'status');
|
@@ -778,7 +819,7 @@ up.status.config.patch(function (config) {
|
|
778
819
|
|
779
820
|
|
780
821
|
/***/ }),
|
781
|
-
/*
|
822
|
+
/* 17 */
|
782
823
|
/***/ (() => {
|
783
824
|
|
784
825
|
const followSelectorFn = up.link.config.selectorFn('followSelectors');
|
@@ -890,7 +931,7 @@ up.compiler(LEGACY_UP_HREF_FOLLOW_SELECTOR, function (element) {
|
|
890
931
|
|
891
932
|
|
892
933
|
/***/ }),
|
893
|
-
/*
|
934
|
+
/* 18 */
|
894
935
|
/***/ (() => {
|
895
936
|
|
896
937
|
up.migrate.handleLayerOptions = function (options) {
|
@@ -942,7 +983,7 @@ Object.defineProperty(up.Layer.prototype, 'historyVisible', { get: function () {
|
|
942
983
|
|
943
984
|
|
944
985
|
/***/ }),
|
945
|
-
/*
|
986
|
+
/* 19 */
|
946
987
|
/***/ (() => {
|
947
988
|
|
948
989
|
const FLAVORS_ERROR = new Error('up.modal.flavors has been removed without direct replacement. You may give new layers a { class } or modify layer elements on up:layer:open.');
|
@@ -1001,7 +1042,7 @@ up.migrate.targetMacro('up-drawer', { 'up-layer': 'new drawer' }, () => up.migra
|
|
1001
1042
|
|
1002
1043
|
|
1003
1044
|
/***/ }),
|
1004
|
-
/*
|
1045
|
+
/* 20 */
|
1005
1046
|
/***/ (() => {
|
1006
1047
|
|
1007
1048
|
up.popup = {
|
@@ -1049,7 +1090,7 @@ up.migrate.targetMacro('up-popup', { 'up-layer': 'new popup' }, () => up.migrate
|
|
1049
1090
|
|
1050
1091
|
|
1051
1092
|
/***/ }),
|
1052
|
-
/*
|
1093
|
+
/* 21 */
|
1053
1094
|
/***/ (() => {
|
1054
1095
|
|
1055
1096
|
up.macro('[up-tooltip]', function (opener) {
|
@@ -1059,7 +1100,7 @@ up.macro('[up-tooltip]', function (opener) {
|
|
1059
1100
|
|
1060
1101
|
|
1061
1102
|
/***/ }),
|
1062
|
-
/*
|
1103
|
+
/* 22 */
|
1063
1104
|
/***/ (() => {
|
1064
1105
|
|
1065
1106
|
up.migrate.clearCacheFromXHR = function (xhr) {
|
@@ -1089,7 +1130,7 @@ up.migrate.titleFromXHR = function (xhr) {
|
|
1089
1130
|
|
1090
1131
|
|
1091
1132
|
/***/ }),
|
1092
|
-
/*
|
1133
|
+
/* 23 */
|
1093
1134
|
/***/ (() => {
|
1094
1135
|
|
1095
1136
|
const u = up.util;
|
@@ -1214,7 +1255,7 @@ up.network.config.patch(function (config) {
|
|
1214
1255
|
|
1215
1256
|
|
1216
1257
|
/***/ }),
|
1217
|
-
/*
|
1258
|
+
/* 24 */
|
1218
1259
|
/***/ (() => {
|
1219
1260
|
|
1220
1261
|
const e = up.element;
|
@@ -1244,7 +1285,7 @@ up.compiler('[up-hungry][up-if-history]', function (element) {
|
|
1244
1285
|
|
1245
1286
|
|
1246
1287
|
/***/ }),
|
1247
|
-
/*
|
1288
|
+
/* 25 */
|
1248
1289
|
/***/ (() => {
|
1249
1290
|
|
1250
1291
|
up.migrate.renamedPackage('layout', 'viewport');
|
@@ -1324,6 +1365,7 @@ __webpack_require__(21);
|
|
1324
1365
|
__webpack_require__(22);
|
1325
1366
|
__webpack_require__(23);
|
1326
1367
|
__webpack_require__(24);
|
1368
|
+
__webpack_require__(25);
|
1327
1369
|
up.framework.stopExtension();
|
1328
1370
|
|
1329
1371
|
})();
|
@@ -1 +1 @@
|
|
1
|
-
(()=>{var e={33:()=>{up.browser.loadPage=function(...e){return up.migrate.deprecated("up.browser.loadPage()","up.network.loadPage()"),up.network.loadPage(...e)},up.browser.isSupported=function(...e){return up.migrate.deprecated("up.browser.isSupported()","up.framework.isSupported()"),up.framework.isSupported(...e)}},67:()=>{up.popup={attach:(e,t={})=>(e=up.fragment.get(e),up.migrate.deprecated("up.popup.attach(origin)","up.layer.open({ origin, layer: 'popup' })"),up.layer.open(Object.assign(Object.assign({},t),{origin:e,layer:"popup"}))),close:(e={})=>(up.migrate.deprecated("up.popup.close()","up.layer.dismiss()"),up.layer.dismiss(null,e),up.migrate.formerlyAsync("up.layer.dismiss()")),url:()=>(up.migrate.deprecated("up.popup.url()","up.layer.location"),up.layer.location),coveredUrl(){var e;return up.migrate.deprecated("up.popup.coveredUrl()","up.layer.parent.location"),null===(e=up.layer.parent)||void 0===e?void 0:e.location},get config(){return up.migrate.deprecated("up.popup.config","up.layer.config.popup"),up.layer.config.popup},contains:e=>(up.migrate.deprecated("up.popup.contains()","up.layer.contains()"),up.layer.contains(e)),isOpen:()=>(up.migrate.deprecated("up.popup.isOpen()","up.layer.isOverlay()"),up.layer.isOverlay()),sync:()=>(up.migrate.deprecated("up.popup.sync()","up.layer.sync()"),up.layer.sync())},up.migrate.renamedEvent("up:popup:open","up:layer:open"),up.migrate.renamedEvent("up:popup:opened","up:layer:opened"),up.migrate.renamedEvent("up:popup:close","up:layer:dismiss"),up.migrate.renamedEvent("up:popup:closed","up:layer:dismissed"),up.migrate.targetMacro("up-popup",{"up-layer":"new popup"},(()=>up.migrate.deprecated("[up-popup]",'[up-layer="new popup"]')))},89:()=>{up.util.only=function(e,...t){return up.migrate.deprecated("up.util.only(object, ...keys)","up.util.pick(object, keys)"),up.util.pick(e,t)},up.util.except=function(e,...t){return up.migrate.deprecated("up.util.except(object, ...keys)","up.util.omit(object, keys)"),up.util.omit(e,t)},up.util.parseUrl=function(...e){return up.migrate.deprecated("up.util.parseUrl()","up.util.parseURL()"),up.util.parseURL(...e)},up.util.any=function(...e){return up.migrate.deprecated("up.util.any()","up.util.some()"),up.util.some(...e)},up.util.all=function(...e){return up.migrate.deprecated("up.util.all()","up.util.every()"),up.util.every(...e)},up.util.detect=function(...e){return up.migrate.deprecated("up.util.detect()","up.util.find()"),up.util.find(...e)},up.util.select=function(...e){return up.migrate.deprecated("up.util.select()","up.util.filter()"),up.util.filter(...e)},up.util.setTimer=function(...e){return up.migrate.deprecated("up.util.setTimer()","up.util.timer()"),up.util.timer(...e)},up.util.escapeHtml=function(...e){return up.migrate.deprecated("up.util.escapeHtml()","up.util.escapeHTML()"),up.util.escapeHTML(...e)},up.util.selectorForElement=function(...e){return up.migrate.deprecated("up.util.selectorForElement()","up.fragment.toTarget()"),up.fragment.toTarget(...e)},up.util.nextFrame=function(...e){return up.migrate.deprecated("up.util.nextFrame()","up.util.task()"),up.util.task(...e)},up.util.times=function(e,t){up.migrate.deprecated("up.util.times()","a `for` loop");for(let u=0;u<e;u++)t()},up.util.assign=function(...e){return up.migrate.deprecated("up.util.assign()","Object.assign()"),Object.assign(...e)},up.util.values=function(...e){return up.migrate.deprecated("up.util.values()","Object.values()"),Object.values(...e)},up.util.microtask=window.queueMicrotask,up.migrate.splitAtOr=function(e){let t=e.split(/\s+or\s+/);if(t.length>=2)return up.migrate.warn(`Separating tokens by \`or\` has been deprecated. Use a comma (\`,\`) instead. Found in "${e}".`),t}},154:()=>{up.macro("[up-tooltip]",(function(e){up.migrate.warn("[up-tooltip] has been deprecated. A [title] was set instead."),up.element.setMissingAttr(e,"title",e.getAttribute("up-tooltip"))}))},162:()=>{const e=up.element;let t;up.radio.config.patch((function(e){up.migrate.renamedProperty(e,"hungry","hungrySelectors")})),up.radio.config.pollEnabled=!0,up.radio.config.patch((function(e){t=up.migrate.removedProperty(e,"pollEnabled","The configuration up.radio.config.pollEnabled has been removed. To disable polling, prevent up:fragment:poll instead.")})),up.on("up:fragment:poll",(function(e){t[0]||e.preventDefault()})),up.compiler("[up-hungry][up-if-history]",(function(t){e.booleanAttr(t,"up-if-history")&&t.addEventListener("up:fragment:hungry",(function(e){e.renderOptions.history||e.preventDefault()}))}))},204:()=>{up.migrate.renamedProperty(up.RenderJob.prototype,"options","renderOptions","up.RenderJob: Property { options } has been renamed to { renderOptions }")},267:()=>{up.form.config.patch((function(e){up.migrate.renamedProperty(e,"fields","fieldSelectors"),up.migrate.renamedProperty(e,"submitButtons","submitButtonSelectors"),up.migrate.renamedProperty(e,"validateTargets","groupSelectors"),up.migrate.renamedProperty(e,"observeDelay","watchInputDelay")})),up.migrate.migratedFormGroupSelectors=function(){return up.form.config.groupSelectors.map((e=>{let t=e.replace(/:has\((:origin|&)\)$/,"");return e!==t&&up.migrate.warn('Selectors in up.form.config.groupSelectors must not contain ":has(:origin)". The suffix is added automatically where required. Found in "%s".',e),t}))},up.migrate.watchForSwitch=function(e,t){if(e.matches("input[type=radio]"))return up.migrate.warn("Using [up-switch] on an individual radio button is deprecated (%o). Use [up-switch] on the container of a radio group instead.",e),up.on(e,"change",t)},up.migrate.renamedAttribute("up-observe","up-watch"),up.migrate.renamedAttribute("up-fieldset","up-form-group"),up.migrate.renamedAttribute("up-delay","up-watch-delay",{scope:"[up-autosubmit]"}),up.migrate.renamedAttribute("up-delay","up-watch-delay",{scope:"[up-watch]"}),up.observe=function(...e){if(up.migrate.deprecated("up.observe()","up.watch()"),up.util.isList(e[0])&&e[0].length>1){let t=e.shift();up.migrate.warn("Calling up.observe() with a list of multiple elements is no longer supported by up.watch()");let u=up.util.map(t,(t=>up.watch(t,...e)));return up.util.sequence(u)}return up.watch(...e)}},269:()=>{up.migrate.clearCacheFromXHR=function(e){let t=e.getResponseHeader("X-Up-Clear-Cache");if(t)return up.migrate.deprecated("X-Up-Clear-Cache","X-Up-Expire-Cache"),"false"!==t&&t},up.migrate.titleFromXHR=function(e){let t=e.getResponseHeader("X-Up-Title");if(t){if("false"===t)return!1;if('"'!==t[0]&&"'"!==t[0])return up.migrate.warn("X-Up-Title must now be a JSON-encoded string"),t}}},391:()=>{const e=up.util;up.migrate.renamedPackage("proxy","network"),up.migrate.renamedEvent("up:proxy:load","up:request:load"),up.migrate.renamedEvent("up:proxy:received","up:request:loaded"),up.migrate.renamedEvent("up:proxy:loaded","up:request:loaded"),up.migrate.renamedEvent("up:proxy:fatal","up:request:offline"),up.migrate.renamedEvent("up:request:fatal","up:request:offline"),up.migrate.renamedEvent("up:proxy:aborted","up:request:aborted"),up.migrate.renamedEvent("up:proxy:slow","up:network:late"),up.migrate.renamedEvent("up:proxy:recover","up:network:recover"),up.migrate.renamedEvent("up:request:late","up:network:late"),up.migrate.renamedEvent("up:request:recover","up:network:recover"),up.network.config.patch((function(e){const t=()=>up.migrate.deprecated("up.proxy.config.preloadDelay","up.link.config.preloadDelay");Object.defineProperty(e,"preloadDelay",{configurable:!0,get:()=>(t(),up.link.config.preloadDelay),set(e){t(),up.link.config.preloadDelay=e}})})),up.network.config.patch((function(e){up.migrate.renamedProperty(e,"maxRequests","concurrency"),up.migrate.renamedProperty(e,"slowDelay","lateDelay"),up.migrate.renamedProperty(e,"cacheExpiry","cacheExpireAge",'The configuration up.network.config.cacheExpiry has been renamed to up.network.config.cacheExpireAge. Note that Unpoly 3+ automatically reloads cached content after rendering to ensure users always see fresh data ("cache revalidation"). Setting a custom expiry may no longer be necessary.'),up.migrate.renamedProperty(e,"clearCache","expireCache"),up.migrate.forbiddenPropertyValue(e,"cacheSize",0,"Disabling the cache with up.network.config.cacheSize = 0 is no longer supported. To disable automatic caching during navigation, set up.fragment.config.navigateOptions.cache = false instead."),up.network.config.requestMetaKeys=[],up.migrate.removedProperty(e,"requestMetaKeys","The configuration up.network.config.requestMetaKeys has been removed. Servers that optimize responses based on request headers should instead set a Vary response header.")})),up.migrate.handleRequestOptions=function(e){up.migrate.fixKey(e,"clearCache","expireCache"),e.solo&&up.migrate.warn("The option up.request({ solo }) has been removed. Use up.network.abort() or up.fragment.abort() instead.")},up.on("up:request:loaded",(function(e){"false"===e.response.headers["X-Up-Expire-Cache"]&&up.migrate.warn("The server can no longer override an { expireCache } option using an `X-Up-Expire-Cache: false` response header"),"false"===e.response.headers["X-Up-Evict-Cache"]&&up.migrate.warn("The server can no longer override an { evictCache } option using an `X-Up-Evict-Cache: false` response header")})),up.ajax=function(...e){return up.migrate.deprecated("up.ajax()","up.request()"),up.request(...e).then((e=>e.text))},up.network.clear=function(){up.migrate.deprecated("up.proxy.clear()","up.cache.expire()"),up.cache.expire()},up.Request.Cache.prototype.clear=function(...e){up.migrate.deprecated("up.cache.clear()","up.cache.expire()"),this.expire(...e)},up.network.preload=function(...e){return up.migrate.deprecated("up.proxy.preload(link)","up.link.preload(link)"),up.link.preload(...e)},up.migrate.preprocessAbortArgs=function(t){2===t.length&&e.isString(t[1])&&(up.migrate.warn("up.network.abort() no longer takes a reason as a second argument. Pass it as { reason } option instead."),t[1]={reason:t[1]})},up.network.isIdle=function(){return up.migrate.deprecated("up.network.isIdle()","!up.network.isBusy()"),!up.network.isBusy()},up.Request.prototype.navigate=function(){up.migrate.deprecated("up.Request#navigate()","up.Request#loadPage()"),this.loadPage()},up.migrate.renamedProperty(up.Request.prototype,"preload","background"),up.migrate.renamedProperty(up.Request.prototype,"badResponseTime","lateDelay"),up.Response.prototype.isSuccess=function(){return up.migrate.deprecated("up.Response#isSuccess()","up.Response#ok"),this.ok},up.Response.prototype.getHeader=function(e){return up.migrate.deprecated("up.Response#getHeader()","up.Response#header()"),this.header(e)},up.Response.prototype.isError=function(){return up.migrate.deprecated("up.Response#isError()","!up.Response#ok"),!this.ok};const t=up.network.config.progressBar;up.network.config.patch((function(u){u.progressBar=function(){return function(){const t=up.EventListener.allNonDefault(document);return e.find(t,(e=>"up:network:late"===e.eventType))}()?(up.migrate.warn("Disabled the default progress bar as may have built a custom loading indicator with your up:network:late listener. Please set up.network.config.progressBar to true or false."),!1):t}})),up.network.shouldReduceRequests=function(){return up.migrate("up.network.shouldReduceRequests() has been removed without replacement"),!1},up.network.config.patch((function(e){up.migrate.removedProperty(e,"badRTT"),up.migrate.removedProperty(e,"badDownlink"),up.migrate.renamedProperty(e,"badResponseTime","lateDelay")}))},429:()=>{const e=up.link.config.selectorFn("followSelectors"),t=up.link.config.selectorFn("preloadSelectors");let u;up.migrate.renamedAttribute("up-flavor","up-mode",{scope:e}),up.migrate.renamedAttribute("up-closable","up-dismissable",{scope:e}),up.migrate.removedAttribute("up-width",{scope:e,replacement:"[up-size] or [up-class]"}),up.migrate.removedAttribute("up-height",{scope:e,replacement:"[up-size] or [up-class]"}),up.migrate.renamedAttribute("up-history-visible","up-history",{scope:e}),up.migrate.renamedAttribute("up-clear-cache","up-expire-cache",{scope:e}),up.migrate.renamedAttribute("up-bad-response-time","up-late-delay"),up.migrate.transformAttribute("up-solo",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-solo] has been replaced with [up-abort="all"]'),e.setAttribute("up-abort","all");break;case"true":up.migrate.warn('Attribute [up-solo="true"] has been replaced with [up-abort="all"]'),e.setAttribute("up-abort","all");break;case"false":up.migrate.warn('Attribute [up-solo="false"] has been replaced with [up-abort="false"]'),up.migrate.warn('Unpoly 3+ only aborts requests targeting the same fragment. Setting [up-solo="false"] may no longer be necessary.'),e.setAttribute("up-abort","false");break;default:up.migrate.warn('Attribute [up-solo] has been renamed to [up-abort] and [up-abort] no longer accepts a URL pattern. Check if you can use [up-abort="target"] instead.'),e.setAttribute("up-abort","target")}})),up.migrate.transformAttribute("up-reveal",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-reveal] has been replaced with [up-scroll="target"]'),e.setAttribute("up-scroll","target");break;case"true":up.migrate.warn('Attribute [up-reveal="true"] has been replaced with [up-scroll="target"]'),e.setAttribute("up-scroll","target");break;case"false":up.migrate.warn('Attribute [up-reveal="false"] has been replaced with [up-scroll="false"]'),e.setAttribute("up-scroll","false");break;default:up.migrate.warn('Attribute [up-reveal="%s"] has been replaced with [up-scroll="%s"]',t)}})),up.migrate.transformAttribute("up-reset-scroll",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-reset-scroll] has been replaced with [up-scroll="top"]'),e.setAttribute("up-scroll","top");break;case"true":up.migrate.warn('Attribute [up-reset-scroll="true"] has been replaced with [up-scroll="top"]'),e.setAttribute("up-scroll","top");break;case"false":up.migrate.warn('Attribute [up-reset-scroll="false"] has been replaced with [up-scroll="false"]'),e.setAttribute("up-scroll","false")}})),up.migrate.transformAttribute("up-restore-scroll",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-restore-scroll] has been replaced with [up-scroll="restore"]'),e.setAttribute("up-scroll","restore");break;case"true":up.migrate.warn('Attribute [up-restore-scroll="true"] has been replaced with [up-scroll="restore"]'),e.setAttribute("up-scroll","restore");break;case"false":up.migrate.warn('Attribute [up-restore-scroll="false"] has been replaced with [up-scroll="false"]'),e.setAttribute("up-scroll","false")}})),up.migrate.targetMacro("up-dash",{"up-preload":"","up-instant":""},(()=>up.migrate.deprecated("[up-dash]","up.link.config.instantSelectors and up.link.config.preloadSelectors"))),up.migrate.renamedAttribute("up-delay","up-preload-delay",{scope:t}),up.link.config.patch((function(e){e.preloadEnabled=!0,u=up.migrate.removedProperty(e,"preloadEnabled","The configuration up.link.config.preloadEnabled has been removed. To disable preloading, prevent up:link:preload instead.")})),up.on("up:link:preload",(function(e){u[0]||e.preventDefault()}));const p="[up-href]:not([up-follow], [up-poll], [up-defer], [up-expand])";up.link.config.patch((function(e){e.clickableSelectors.push(p),e.followSelectors.push(p)})),up.compiler(p,(function(e){up.migrate.warn("Following links with only [up-href] has been deprecated. You must now also set an [up-follow] on the same link (found in %o).",e)}));const o=`[up-instant]:is(a[href], ${p})`;up.link.config.patch((function(e){e.followSelectors.push(o)})),up.compiler(p,(function(e){up.migrate.warn("Following links with only [up-instant] has been deprecated. You must now also set an [up-follow] on the same link (found in %o).",e)}))},516:()=>{up.migrate.handleLayerOptions=function(e){up.migrate.fixKey(e,"flavor","mode"),up.migrate.fixKey(e,"closable","dismissable"),up.migrate.fixKey(e,"closeLabel","dismissLabel"),up.migrate.fixKey(e,"dismissAriaLabel","dismissARIALabel");for(let t of["width","maxWidth","height"])e[t]&&up.migrate.warn(`Layer option { ${t} } has been removed. Use { size } or { class } instead.`);e.sticky&&up.migrate.warn("Layer option { sticky } has been removed. Give links an [up-peel=false] attribute to prevent layer dismissal on click."),e.template&&up.migrate.warn("Layer option { template } has been removed. Use { class } or modify the layer HTML on up:layer:open."),"page"===e.layer&&(up.migrate.warn("Option { layer: 'page' } has been renamed to { layer: 'root' }."),e.layer="root"),"modal"!==e.layer&&"popup"!==e.layer||(up.migrate.warn(`Option { layer: '${e.layer}' } has been removed. Did you mean { layer: 'overlay' }?`),e.layer="overlay"),up.util.isMissing(e.layer)&&up.util.isGiven(e.mode)&&(up.migrate.warn('Opening a layer with only a { mode } option is deprecated. Pass { layer: "new", mode } instead.'),e.layer="new")},up.migrate.handleTetherOptions=function(e){const[t,u]=e.position.split("-");u&&(up.migrate.warn("The position value %o is deprecated. Use %o instead.",e.position,{position:t,align:u}),e.position=t,e.align=u)},up.migrate.registerLayerCloser=e=>e.registerAttrCloser("up-close",((t,u)=>{up.migrate.deprecated("[up-close]","[up-dismiss]"),e.dismiss(t,u)})),up.migrate.handleLayerConfig=e=>up.migrate.fixKey(e,"historyVisible","history"),Object.defineProperty(up.Layer.prototype,"historyVisible",{get:function(){return up.migrate.deprecated("up.Layer#historyVisible","up.Layer#history"),this.history}})},635:()=>{class DeprecatedCannotCompile extends up.Error{}Object.defineProperty(up,"CannotCompile",{get:function(){return up.migrate.warn('The error up.CannotCompile is no longer thrown. Compiler errors now emit an "error" event on window, but no longer crash the render pass.'),DeprecatedCannotCompile}})},750:()=>{up.Config.prototype.patch=function(e){let t=e.bind(this,this);t(),document.addEventListener("up:framework:reset",t)}},753:()=>{up.migrate.renamedEvent("up:app:booted","up:framework:booted")},763:()=>{up.migrate.renamedPackage("layout","viewport"),up.viewport.config.patch((function(e){up.migrate.renamedProperty(e,"viewports","viewportSelectors"),up.migrate.renamedProperty(e,"fixedTop","fixedTopSelectors"),up.migrate.renamedProperty(e,"fixedBottom","fixedBottomSelectors"),up.migrate.renamedProperty(e,"anchoredRight","anchoredRightSelectors"),up.migrate.renamedProperty(e,"snap","revealSnap"),up.migrate.removedProperty(e,"scrollSpeed")})),up.viewport.closest=function(...e){return up.migrate.deprecated("up.viewport.closest()","up.viewport.get()"),up.viewport.get(...e)},up.viewport.scroll=function(e,t,u={}){return up.migrate.deprecated("up.scroll()","Element#scrollTo()"),(e=up.fragment.get(e,u)).scrollTo(Object.assign(Object.assign({},u),{top:t})),up.migrate.formerlyAsync("up.scroll()")},up.scroll=up.viewport.scroll},789:()=>{up.history.config.patch((function(e){up.migrate.renamedProperty(e,"popTargets","restoreTargets")})),up.history.url=function(){return up.migrate.deprecated("up.history.url()","up.history.location"),up.history.location},up.migrate.renamedEvent("up:history:push","up:location:changed"),up.migrate.renamedEvent("up:history:pushed","up:location:changed"),up.migrate.renamedEvent("up:history:restore","up:location:changed"),up.migrate.renamedEvent("up:history:restored","up:location:changed"),up.migrate.renamedEvent("up:history:replaced","up:location:changed"),up.migrate.prepareLocationChangedEvent=function(e){up.migrate.renamedProperty(e,"url","location")},up.history.config.patch((function(){this.updateMetaTagsValue=this.updateMetaTags,this.updateMetaTagsSet=!1,Object.defineProperty(this,"updateMetaTags",{configurable:!0,get(){return this.updateMetaTagsValue},set(e){this.updateMetaTagsValue=e,this.updateMetaTagsSet=!0}})})),up.on("up:framework:boot",(function(){up.history.config.updateMetaTagsSet||up.migrate.warn("Meta tags in the <head> are now updated automatically. Configure up.history.config.updateMetaTags to remove this warning.")})),up.migrate.warnOfHungryMetaTags=function(e){let t=up.radio.config.selector("hungrySelectors"),u=up.util.filter(e,(e=>e.matches(t)));u.length&&up.migrate.warn("Meta tags in the <head> are now updated automatically. Remove the [up-hungry] attribute from %o.",u)}},832:()=>{const e=up.util;up.migrate=function(){const t=new up.Config((()=>({logLevel:"warn"})));function u(t,...u){let p=e.extractCallback(u),{scope:o}=e.extractOptions(u),n=o||`[${t}]`;up.macro(n,{priority:-1e3},(function(e){if(e.hasAttribute(t)){let u=e.getAttribute(t);p(e,u)}}))}const p={},o={};function n(e){let t=p[e];if(t)return a(`Event ${e} has been renamed to ${t}`),t;if(e in o){let t=`Event ${e} has been removed`,u=o[e];return u&&(t+=`. Use ${u} instead.`),a(t),e}return e}let r={};const a=up.mockable(((u,...p)=>{const o=e.sprintf(u,...p),n=t.logLevel;"none"===n||r[o]||(r[o]=!0,up.log[n]("unpoly-migrate",u,...p))})),i=["top","right","bottom","left","padding","padding-top","padding-right","padding-bottom","padding-left","margin","margin-top","margin-right","margin-bottom","margin-left","border-width","border-top-width","border-right-width","border-bottom-width","border-left-width","width","height","max-width","max-height","min-width","min-height"];function s(t){return/[A-Z]/.test(t)?(a(`CSS property names must be in kebab-case, but got camelCase "${t}"`),e.camelToKebabCase(t)):t}function l(e,t,u){return!u&&i.includes(e)&&/^[\d.]+$/.test(t)?(a(`CSS length values must have a unit, but got "${e}: ${t}". Use "${e}: ${t}px" instead.`),t+"px"):t}return up.on("up:framework:reset",(function(){r={}})),{deprecated:function(e,t){a(`${e} has been deprecated. Use ${t} instead.`)},renamedPackage:function(e,t){Object.defineProperty(up,e,{configurable:!0,get:()=>(a(`up.${e} has been renamed to up.${t}`),up[t])})},renamedProperty:function(t,u,p,o){const n=e.memoize((()=>o?a(o):a("Property { %s } has been renamed to { %s } (found in %o)",u,p,t)));Object.defineProperty(t,u,{configurable:!0,get(){return n(),this[p]},set(e){n(),this[p]=e}})},removedProperty:function(t,u,p){const o=e.memoize((()=>p?a(p):a("Property { %s } has been removed without replacement (found in %o)",u,t)));let n=[t[u]];return Object.defineProperty(t,u,{configurable:!0,get:()=>(o(),n[0]),set(e){o(),n[0]=e}}),n},forbiddenPropertyValue:function(e,t,u,p){let o=e[t];Object.defineProperty(e,t,{configurable:!0,get:()=>o,set(e){if(e===u)throw new Error(p);o=e}})},transformAttribute:u,renamedAttribute:function(t,p,{scope:o,mapValue:n}={}){u(t,{scope:o},(function(u,o){a("Attribute [%s] has been renamed to [%s] (found in %o)",t,p,u),n&&(o=e.evalOption(n,o)),u.setAttribute(p,o)}))},removedAttribute:function(e,{scope:t,replacement:p}={}){u(e,{scope:t},(function(t,u){p?a("Attribute [%s] has been removed (found in %o). Use %s instead.",e,t,p):a("Attribute [%s] has been removed without replacement (found in %o)",e,t)}))},formerlyAsync:function(e){const t=Promise.resolve(),u=t.then;return t.then=function(){return a(`${e} no longer returns a promise`),u.apply(this,arguments)},t},renamedEvent:function(e,t){p[e]=t},removedEvent:function(e,t=null){o[e]=t},fixGetStyleProps:function(t){let u;return u=e.isString(t)?s(t):e.isArray(t)?t.map(s):t,u},fixSetStyleProps:function(t,u){let p;if(e.isObject(t)){p={};for(let e in t){let o=t[e];e=s(e),o=l(e,o,u),p[e]=o}}else p=t;return p},fixEventTypes:function(t){return e.uniq(e.map(t,n))},fixKey:function(t,u,p){e.isDefined(t[u])&&(a("Property { %s } has been renamed to { %s } (found in %o)",u,p,t),e.renameKey(t,u,p))},warn:a,loaded:!0,config:t}}()},834:()=>{const e=up.util,t=up.element;up.migrate.renamedPackage("syntax","script"),up.migrate.postCompile=function(t,u){let p;if(p=u.keep){up.migrate.warn("The { keep: true } option for up.compiler() has been removed. Have the compiler set [up-keep] attribute instead.");const u=e.isString(p)?p:"";for(let e of t)e.setAttribute("up-keep",u)}},up.migrate.targetMacro=function(u,p,o){up.macro(`[${u}]`,(function(n){let r;const a=e.copy(p);(r=n.getAttribute(u))?a["up-target"]=r:a["up-follow"]="",t.setMissingAttrs(n,a),n.removeAttribute(u),null==o||o()}))},up.$compiler=function(...e){up.migrate.warn("up.$compiler() has been deprecated. Instead use up.compiler() with a callback that wraps the given native element in a jQuery collection.");let t=e.pop();return up.compiler(...e,(function(e,...u){let p=jQuery(e);return t(p,...u)}))},up.$macro=function(...e){up.migrate.warn("up.$macro() has been deprecated. Instead use up.macro() with a callback that wraps the given native element in a jQuery collection.");let t=e.pop();return up.macro(...e,(function(e,...u){let p=jQuery(e);return t(p,...u)}))},up.migrate.processCompilerPassMeta=function(e,t){Object.defineProperty(e,"response",{get:()=>(up.migrate.warn("Accessing meta.response from a compiler has been deprecated without replacement. Avoid fragments that compile differently for the initial page load vs. subsequent fragment updates."),t)})}},838:()=>{up.migrate.renamedProperty(up.RenderResult.prototype,"options","renderOptions","up.RenderResult: Property { options } has been renamed to { renderOptions }")},947:()=>{up.migrate.renamedPackage("navigation","status"),up.migrate.renamedPackage("feedback","status"),up.status.config.patch((function(e){up.migrate.renamedProperty(e,"navs","navSelectors")}))},989:()=>{up.element.first=function(...e){return up.migrate.deprecated("up.element.first()","up.element.get()"),up.element.get(...e)},up.element.createFromHtml=function(...e){return up.migrate.deprecated("up.element.createFromHtml()","up.element.createFromHTML()"),up.element.createFromHTML(...e)},up.element.remove=function(e){return up.migrate.deprecated("up.element.remove()","Element#remove()"),e.remove()},up.element.matches=function(e,t){return up.migrate.deprecated("up.element.matches()","Element#matches()"),e.matches(t)},up.element.closest=function(e,t){return up.migrate.deprecated("up.element.closest()","Element#closest()"),e.closest(t)},up.element.replace=function(e,t){return up.migrate.deprecated("up.element.replace()","Element#replaceWith()"),e.replaceWith(t)},up.element.all=function(...e){up.migrate.deprecated("up.element.all()","Document#querySelectorAll() or Element#querySelectorAll()");const t=e.pop();return(e[0]||document).querySelectorAll(t)},up.element.toggleClass=function(e,t,u){up.migrate.deprecated("up.element.toggleClass()","element.classList.toggle()");const p=e.classList;return null==u&&(u=!p.contains(t)),u?p.add(t):p.remove(t)},up.element.toSelector=function(...e){return up.migrate.deprecated("up.element.toSelector()","up.fragment.toTarget()"),up.fragment.toTarget(...e)},up.element.isAttached=function(e){return up.migrate.deprecated("up.element.isAttached()","document.contains(element)"),document.contains(e)},up.element.isDetached=function(e){return up.migrate.deprecated("up.element.isDetached()","!document.contains(element)"),!up.element.isAttached(e)}},992:()=>{const e=new Error("up.modal.flavors has been removed without direct replacement. You may give new layers a { class } or modify layer elements on up:layer:open.");up.modal={visit:(e,t={})=>(up.migrate.deprecated("up.modal.visit(url)",'up.layer.open({ url, mode: "modal" })'),up.layer.open(Object.assign(Object.assign({},t),{url:e,mode:"modal"}))),follow:(e,t={})=>(up.migrate.deprecated("up.modal.follow(link)",'up.follow(link, { layer: "modal" })'),up.follow(e,Object.assign(Object.assign({},t),{layer:"modal"}))),extract:(e,t,u={})=>(up.migrate.deprecated("up.modal.extract(target, document)",'up.layer.open({ document, mode: "modal" })'),up.layer.open(Object.assign(Object.assign({},u),{target:e,html:t,layer:"modal"}))),close:(e={})=>(up.migrate.deprecated("up.modal.close()","up.layer.dismiss()"),up.layer.dismiss(null,e),up.migrate.formerlyAsync("up.layer.dismiss()")),url:()=>(up.migrate.deprecated("up.modal.url()","up.layer.location"),up.layer.location),coveredUrl(){var e;return up.migrate.deprecated("up.modal.coveredUrl()","up.layer.parent.location"),null===(e=up.layer.parent)||void 0===e?void 0:e.location},get config(){return up.migrate.deprecated("up.modal.config","up.layer.config.modal"),up.layer.config.modal},contains:e=>(up.migrate.deprecated("up.modal.contains()","up.layer.contains()"),up.layer.contains(e)),isOpen:()=>(up.migrate.deprecated("up.modal.isOpen()","up.layer.isOverlay()"),up.layer.isOverlay()),get flavors(){throw e},flavor(){throw e}},up.migrate.renamedEvent("up:modal:open","up:layer:open"),up.migrate.renamedEvent("up:modal:opened","up:layer:opened"),up.migrate.renamedEvent("up:modal:close","up:layer:dismiss"),up.migrate.renamedEvent("up:modal:closed","up:layer:dismissed"),up.migrate.targetMacro("up-modal",{"up-layer":"new modal"},(()=>up.migrate.deprecated("[up-modal]",'[up-layer="new modal"]'))),up.migrate.targetMacro("up-drawer",{"up-layer":"new drawer"},(()=>up.migrate.deprecated("[up-drawer]",'[up-layer="new drawer"]')))},993:()=>{up.migrate.renamedPackage("bus","event"),up.event.nobodyPrevents=function(...e){return up.migrate.deprecated("up.event.nobodyPrevents(type)","!up.emit(type).defaultPrevented"),!up.emit(...e).defaultPrevented},up.$on=function(...e){up.migrate.warn("up.$on() has been deprecated. Instead use up.on() with a callback that wraps the given native element in a jQuery collection.");let t=e.pop();return t.upNativeCallback=function(e,u,p){let o=jQuery(u);t.call(o,e,o,p)},up.on(...e,t.upNativeCallback)},up.$off=function(...e){up.migrate.deprecated("up.$off()","up.off()");let t=e.pop().upNativeCallback;return t||up.fail("The callback passed to up.$off() was never registered with up.$on()"),up.off(...e,t)}},997:()=>{const e=up.util;up.migrate.renamedPackage("flow","fragment"),up.migrate.renamedPackage("dom","fragment"),up.fragment.config.patch((function(e){up.migrate.renamedProperty(e,"fallbacks","mainTargets")})),up.migrate.handleResponseDocOptions=e=>up.migrate.fixKey(e,"html","document"),up.fragment.config.patch((function(e){let t=()=>up.migrate.deprecated("up.fragment.config.matchAroundOrigin","up.fragment.config.match");Object.defineProperty(e,"matchAroundOrigin",{configurable:!0,get:function(){return t(),"closest"===this.match},set:function(e){t(),this.match=e?"region":"first"}})})),up.replace=function(e,t,u){return up.migrate.deprecated("up.replace(target, url)","up.navigate(target, { url })"),up.navigate(Object.assign(Object.assign({},u),{target:e,url:t}))},up.extract=function(e,t,u){return up.migrate.deprecated("up.extract(target, document)","up.navigate(target, { document })"),up.navigate(Object.assign(Object.assign({},u),{target:e,document:t}))},up.fragment.first=function(...e){return up.migrate.deprecated("up.fragment.first()","up.fragment.get()"),up.fragment.get(...e)},up.first=up.fragment.first,up.migrate.preprocessRenderOptions=function(t){e.isString(t.history)&&"auto"!==t.history&&(up.migrate.warn("Passing a URL as { history } option is deprecated. Pass it as { location } instead."),t.location=t.history,t.history="auto");for(let u of["target","origin"])e.isJQuery(t[u])&&(up.migrate.warn("Passing a jQuery collection as { %s } is deprecated. Pass it as a native element instead.",u),t[u]=up.element.get(t[u]));"auto"===t.fail&&(up.migrate.warn("The option { fail: 'auto' } is deprecated. Omit the option instead."),delete t.fail);let u=e.pluckKey(t,"solo");e.isString(u)?(up.migrate.warn("The up.render() option { solo } has been replaced with { abort } and { abort } no longer accepts a URL pattern. Check if you can use { abort: 'target'} or use up.network.abort(pattern) instead."),t.abort=e=>up.network.abort(u,e)):e.isFunction(u)?(up.migrate.warn("The up.render() option { solo } has been replaced with { abort } and { abort } no longer accepts a Function(up.Request): boolean. Check if you can use { abort: 'target'} or use up.network.abort(fn) instead."),t.abort=e=>{up.network.abort(u,e)}):!0===u?(up.migrate.deprecated("Option { solo: true }","{ abort: 'all' }"),t.abort="all"):!1===u&&(up.migrate.deprecated("Option { solo: false }","{ abort: false }"),up.migrate.warn("Unpoly 3+ only aborts requests targeting the same fragment. Setting { solo: false } may no longer be necessary."),t.abort=!1),up.migrate.fixKey(t,"failOnFinished","onFailFinished"),up.migrate.fixKey(t,"badResponseTime","lateDelay"),e.isString(t.reveal)?(up.migrate.deprecated(`Option { reveal: '${t.reveal}' }`,`{ scroll: '${t.reveal}' }`),t.scroll=t.reveal):!0===t.reveal?(up.migrate.deprecated("Option { reveal: true }","{ scroll: 'target' }"),t.scroll="target"):!1===t.reveal&&(up.migrate.deprecated("Option { reveal: false }","{ scroll: false }"),t.scroll=!1),!0===t.resetScroll&&(up.migrate.deprecated("Option { resetScroll: true }","{ scroll: 'top' }"),t.scroll="reset"),!1===t.resetScroll&&(up.migrate.deprecated("Option { resetScroll: false }","{ scroll: false }"),t.scroll=!1),!0===t.restoreScroll&&(up.migrate.deprecated("Option { restoreScroll: true }","{ scroll: 'restore' }"),t.scroll="restore"),!1===t.restoreScroll&&(up.migrate.deprecated("Option { restoreScroll: false }","{ scroll: false }"),t.scroll=!1),"reset"===t.scroll&&(up.migrate.deprecated("Option { scroll: 'reset'' }","{ scroll: 'top' }"),t.scroll="top")},up.migrate.postprocessReloadOptions=function(e){var t;let u,p=null===(t=e.headers)||void 0===t?void 0:t["If-Modified-Since"];u=p?Math.floor(.001*new Date(p)).toString():"0",e.headers[up.protocol.headerize("reloadFromTime")]=u},up.migrate.resolveOrigin=function(e,{origin:t}={}){return e.replace(/"[^"]*"|'[^']*'|&|:origin\b/g,(function(u){return":origin"!==u&&"&"!==u?u:("&"===u&&up.migrate.deprecated("Origin shorthand '&'",":origin"),t?up.fragment.toTarget(t):void up.fail('Missing { origin } element to resolve "%s" reference (found in %s)',u,e))}))},up.migrate.removedEvent("up:fragment:kept","up:fragment:keep"),up.fragment.config.patch((function(){this.runScriptsValue=this.runScripts,this.runScriptsSet=!1,Object.defineProperty(this,"runScripts",{configurable:!0,get(){return this.runScriptsValue},set(e){this.runScriptsValue=e,this.runScriptsSet=!0}})})),up.on("up:framework:boot",(function(){up.fragment.config.runScriptsSet||up.migrate.warn("Scripts within fragments are no longer executed. Configure up.fragment.config.runScripts to remove this warning.")})),up.compiler("[up-keep]",(function(t){let u=up.element.booleanOrStringAttr(t,"up-keep");e.isString(u)&&/[.[#]/.test(u)&&(up.migrate.warn('The [up-keep] attribute no longer supports a selector value. Elements will be matched by their derived target. You may prevent keeping with [up-on-keep="if(condition) event.preventDefault()"]. '),up.element.setMissingAttr(t,"up-on-keep",`if (!newFragment.matches(${JSON.stringify(u)})) event.preventDefault()`),t.setAttribute("up-keep",""))}))}},t={};function u(p){var o=t[p];if(void 0!==o)return o.exports;var n=t[p]={exports:{}};return e[p](n,n.exports,u),n.exports}up.framework.startExtension(),u(832),u(750),u(204),u(838),u(89),u(635),u(33),u(989),u(993),u(834),u(267),u(997),u(753),u(789),u(947),u(429),u(516),u(992),u(67),u(154),u(269),u(391),u(162),u(763),up.framework.stopExtension()})();
|
1
|
+
(()=>{var e={33:()=>{up.browser.loadPage=function(...e){return up.migrate.deprecated("up.browser.loadPage()","up.network.loadPage()"),up.network.loadPage(...e)},up.browser.isSupported=function(...e){return up.migrate.deprecated("up.browser.isSupported()","up.framework.isSupported()"),up.framework.isSupported(...e)}},67:()=>{up.popup={attach:(e,t={})=>(e=up.fragment.get(e),up.migrate.deprecated("up.popup.attach(origin)","up.layer.open({ origin, layer: 'popup' })"),up.layer.open(Object.assign(Object.assign({},t),{origin:e,layer:"popup"}))),close:(e={})=>(up.migrate.deprecated("up.popup.close()","up.layer.dismiss()"),up.layer.dismiss(null,e),up.migrate.formerlyAsync("up.layer.dismiss()")),url:()=>(up.migrate.deprecated("up.popup.url()","up.layer.location"),up.layer.location),coveredUrl(){var e;return up.migrate.deprecated("up.popup.coveredUrl()","up.layer.parent.location"),null===(e=up.layer.parent)||void 0===e?void 0:e.location},get config(){return up.migrate.deprecated("up.popup.config","up.layer.config.popup"),up.layer.config.popup},contains:e=>(up.migrate.deprecated("up.popup.contains()","up.layer.contains()"),up.layer.contains(e)),isOpen:()=>(up.migrate.deprecated("up.popup.isOpen()","up.layer.isOverlay()"),up.layer.isOverlay()),sync:()=>(up.migrate.deprecated("up.popup.sync()","up.layer.sync()"),up.layer.sync())},up.migrate.renamedEvent("up:popup:open","up:layer:open"),up.migrate.renamedEvent("up:popup:opened","up:layer:opened"),up.migrate.renamedEvent("up:popup:close","up:layer:dismiss"),up.migrate.renamedEvent("up:popup:closed","up:layer:dismissed"),up.migrate.targetMacro("up-popup",{"up-layer":"new popup"},(()=>up.migrate.deprecated("[up-popup]",'[up-layer="new popup"]')))},89:()=>{up.util.only=function(e,...t){return up.migrate.deprecated("up.util.only(object, ...keys)","up.util.pick(object, keys)"),up.util.pick(e,t)},up.util.except=function(e,...t){return up.migrate.deprecated("up.util.except(object, ...keys)","up.util.omit(object, keys)"),up.util.omit(e,t)},up.util.parseUrl=function(...e){return up.migrate.deprecated("up.util.parseUrl()","up.util.parseURL()"),up.util.parseURL(...e)},up.util.any=function(...e){return up.migrate.deprecated("up.util.any()","up.util.some()"),up.util.some(...e)},up.util.all=function(...e){return up.migrate.deprecated("up.util.all()","up.util.every()"),up.util.every(...e)},up.util.detect=function(...e){return up.migrate.deprecated("up.util.detect()","up.util.find()"),up.util.find(...e)},up.util.select=function(...e){return up.migrate.deprecated("up.util.select()","up.util.filter()"),up.util.filter(...e)},up.util.setTimer=function(...e){return up.migrate.deprecated("up.util.setTimer()","up.util.timer()"),up.util.timer(...e)},up.util.escapeHtml=function(...e){return up.migrate.deprecated("up.util.escapeHtml()","up.util.escapeHTML()"),up.util.escapeHTML(...e)},up.util.selectorForElement=function(...e){return up.migrate.deprecated("up.util.selectorForElement()","up.fragment.toTarget()"),up.fragment.toTarget(...e)},up.util.nextFrame=function(...e){return up.migrate.deprecated("up.util.nextFrame()","up.util.task()"),up.util.task(...e)},up.util.times=function(e,t){up.migrate.deprecated("up.util.times()","a `for` loop");for(let u=0;u<e;u++)t()},up.util.assign=function(...e){return up.migrate.deprecated("up.util.assign()","Object.assign()"),Object.assign(...e)},up.util.values=function(...e){return up.migrate.deprecated("up.util.values()","Object.values()"),Object.values(...e)},up.util.microtask=window.queueMicrotask,up.migrate.splitAtOr=function(e){let t=e.split(/\s+or\s+/);if(t.length>=2)return up.migrate.warn(`Separating tokens by \`or\` has been deprecated. Use a comma (\`,\`) instead. Found in "${e}".`),t}},154:()=>{up.macro("[up-tooltip]",(function(e){up.migrate.warn("[up-tooltip] has been deprecated. A [title] was set instead."),up.element.setMissingAttr(e,"title",e.getAttribute("up-tooltip"))}))},162:()=>{const e=up.element;let t;up.radio.config.patch((function(e){up.migrate.renamedProperty(e,"hungry","hungrySelectors")})),up.radio.config.pollEnabled=!0,up.radio.config.patch((function(e){t=up.migrate.removedProperty(e,"pollEnabled","The configuration up.radio.config.pollEnabled has been removed. To disable polling, prevent up:fragment:poll instead.")})),up.on("up:fragment:poll",(function(e){t[0]||e.preventDefault()})),up.compiler("[up-hungry][up-if-history]",(function(t){e.booleanAttr(t,"up-if-history")&&t.addEventListener("up:fragment:hungry",(function(e){e.renderOptions.history||e.preventDefault()}))}))},204:()=>{up.migrate.renamedProperty(up.RenderJob.prototype,"options","renderOptions","up.RenderJob: Property { options } has been renamed to { renderOptions }")},267:()=>{up.form.config.patch((function(e){up.migrate.renamedProperty(e,"fields","fieldSelectors"),up.migrate.renamedProperty(e,"submitButtons","submitButtonSelectors"),up.migrate.renamedProperty(e,"validateTargets","groupSelectors"),up.migrate.renamedProperty(e,"observeDelay","watchInputDelay")})),up.migrate.migratedFormGroupSelectors=function(){return up.form.config.groupSelectors.map((e=>{let t=e.replace(/:has\((:origin|&)\)$/,"");return e!==t&&up.migrate.warn('Selectors in up.form.config.groupSelectors must not contain ":has(:origin)". The suffix is added automatically where required. Found in "%s".',e),t}))},up.migrate.watchForSwitch=function(e,t){if(e.matches("input[type=radio]"))return up.migrate.warn("Using [up-switch] on an individual radio button is deprecated (%o). Use [up-switch] on the container of a radio group instead.",e),up.on(e,"change",t)},up.migrate.renamedAttribute("up-observe","up-watch"),up.migrate.renamedAttribute("up-fieldset","up-form-group"),up.migrate.renamedAttribute("up-delay","up-watch-delay",{scope:"[up-autosubmit]"}),up.migrate.renamedAttribute("up-delay","up-watch-delay",{scope:"[up-watch]"}),up.observe=function(...e){if(up.migrate.deprecated("up.observe()","up.watch()"),up.util.isList(e[0])&&e[0].length>1){let t=e.shift();up.migrate.warn("Calling up.observe() with a list of multiple elements is no longer supported by up.watch()");let u=up.util.map(t,(t=>up.watch(t,...e)));return up.util.sequence(u)}return up.watch(...e)}},269:()=>{up.migrate.clearCacheFromXHR=function(e){let t=e.getResponseHeader("X-Up-Clear-Cache");if(t)return up.migrate.deprecated("X-Up-Clear-Cache","X-Up-Expire-Cache"),"false"!==t&&t},up.migrate.titleFromXHR=function(e){let t=e.getResponseHeader("X-Up-Title");if(t){if("false"===t)return!1;if('"'!==t[0]&&"'"!==t[0])return up.migrate.warn("X-Up-Title must now be a JSON-encoded string"),t}}},391:()=>{const e=up.util;up.migrate.renamedPackage("proxy","network"),up.migrate.renamedEvent("up:proxy:load","up:request:load"),up.migrate.renamedEvent("up:proxy:received","up:request:loaded"),up.migrate.renamedEvent("up:proxy:loaded","up:request:loaded"),up.migrate.renamedEvent("up:proxy:fatal","up:request:offline"),up.migrate.renamedEvent("up:request:fatal","up:request:offline"),up.migrate.renamedEvent("up:proxy:aborted","up:request:aborted"),up.migrate.renamedEvent("up:proxy:slow","up:network:late"),up.migrate.renamedEvent("up:proxy:recover","up:network:recover"),up.migrate.renamedEvent("up:request:late","up:network:late"),up.migrate.renamedEvent("up:request:recover","up:network:recover"),up.network.config.patch((function(e){const t=()=>up.migrate.deprecated("up.proxy.config.preloadDelay","up.link.config.preloadDelay");Object.defineProperty(e,"preloadDelay",{configurable:!0,get:()=>(t(),up.link.config.preloadDelay),set(e){t(),up.link.config.preloadDelay=e}})})),up.network.config.patch((function(e){up.migrate.renamedProperty(e,"maxRequests","concurrency"),up.migrate.renamedProperty(e,"slowDelay","lateDelay"),up.migrate.renamedProperty(e,"cacheExpiry","cacheExpireAge",'The configuration up.network.config.cacheExpiry has been renamed to up.network.config.cacheExpireAge. Note that Unpoly 3+ automatically reloads cached content after rendering to ensure users always see fresh data ("cache revalidation"). Setting a custom expiry may no longer be necessary.'),up.migrate.renamedProperty(e,"clearCache","expireCache"),up.migrate.forbiddenPropertyValue(e,"cacheSize",0,"Disabling the cache with up.network.config.cacheSize = 0 is no longer supported. To disable automatic caching during navigation, set up.fragment.config.navigateOptions.cache = false instead."),up.network.config.requestMetaKeys=[],up.migrate.removedProperty(e,"requestMetaKeys","The configuration up.network.config.requestMetaKeys has been removed. Servers that optimize responses based on request headers should instead set a Vary response header.")})),up.migrate.handleRequestOptions=function(e){up.migrate.fixKey(e,"clearCache","expireCache"),e.solo&&up.migrate.warn("The option up.request({ solo }) has been removed. Use up.network.abort() or up.fragment.abort() instead.")},up.on("up:request:loaded",(function(e){"false"===e.response.headers["X-Up-Expire-Cache"]&&up.migrate.warn("The server can no longer override an { expireCache } option using an `X-Up-Expire-Cache: false` response header"),"false"===e.response.headers["X-Up-Evict-Cache"]&&up.migrate.warn("The server can no longer override an { evictCache } option using an `X-Up-Evict-Cache: false` response header")})),up.ajax=function(...e){return up.migrate.deprecated("up.ajax()","up.request()"),up.request(...e).then((e=>e.text))},up.network.clear=function(){up.migrate.deprecated("up.proxy.clear()","up.cache.expire()"),up.cache.expire()},up.Request.Cache.prototype.clear=function(...e){up.migrate.deprecated("up.cache.clear()","up.cache.expire()"),this.expire(...e)},up.network.preload=function(...e){return up.migrate.deprecated("up.proxy.preload(link)","up.link.preload(link)"),up.link.preload(...e)},up.migrate.preprocessAbortArgs=function(t){2===t.length&&e.isString(t[1])&&(up.migrate.warn("up.network.abort() no longer takes a reason as a second argument. Pass it as { reason } option instead."),t[1]={reason:t[1]})},up.network.isIdle=function(){return up.migrate.deprecated("up.network.isIdle()","!up.network.isBusy()"),!up.network.isBusy()},up.Request.prototype.navigate=function(){up.migrate.deprecated("up.Request#navigate()","up.Request#loadPage()"),this.loadPage()},up.migrate.renamedProperty(up.Request.prototype,"preload","background"),up.migrate.renamedProperty(up.Request.prototype,"badResponseTime","lateDelay"),up.Response.prototype.isSuccess=function(){return up.migrate.deprecated("up.Response#isSuccess()","up.Response#ok"),this.ok},up.Response.prototype.getHeader=function(e){return up.migrate.deprecated("up.Response#getHeader()","up.Response#header()"),this.header(e)},up.Response.prototype.isError=function(){return up.migrate.deprecated("up.Response#isError()","!up.Response#ok"),!this.ok};const t=up.network.config.progressBar;up.network.config.patch((function(u){u.progressBar=function(){return function(){const t=up.EventListener.allNonDefault(document);return e.find(t,(e=>"up:network:late"===e.eventType))}()?(up.migrate.warn("Disabled the default progress bar as may have built a custom loading indicator with your up:network:late listener. Please set up.network.config.progressBar to true or false."),!1):t}})),up.network.shouldReduceRequests=function(){return up.migrate("up.network.shouldReduceRequests() has been removed without replacement"),!1},up.network.config.patch((function(e){up.migrate.removedProperty(e,"badRTT"),up.migrate.removedProperty(e,"badDownlink"),up.migrate.renamedProperty(e,"badResponseTime","lateDelay")}))},429:()=>{const e=up.link.config.selectorFn("followSelectors"),t=up.link.config.selectorFn("preloadSelectors");let u;up.migrate.renamedAttribute("up-flavor","up-mode",{scope:e}),up.migrate.renamedAttribute("up-closable","up-dismissable",{scope:e}),up.migrate.removedAttribute("up-width",{scope:e,replacement:"[up-size] or [up-class]"}),up.migrate.removedAttribute("up-height",{scope:e,replacement:"[up-size] or [up-class]"}),up.migrate.renamedAttribute("up-history-visible","up-history",{scope:e}),up.migrate.renamedAttribute("up-clear-cache","up-expire-cache",{scope:e}),up.migrate.renamedAttribute("up-bad-response-time","up-late-delay"),up.migrate.transformAttribute("up-solo",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-solo] has been replaced with [up-abort="all"]'),e.setAttribute("up-abort","all");break;case"true":up.migrate.warn('Attribute [up-solo="true"] has been replaced with [up-abort="all"]'),e.setAttribute("up-abort","all");break;case"false":up.migrate.warn('Attribute [up-solo="false"] has been replaced with [up-abort="false"]'),up.migrate.warn('Unpoly 3+ only aborts requests targeting the same fragment. Setting [up-solo="false"] may no longer be necessary.'),e.setAttribute("up-abort","false");break;default:up.migrate.warn('Attribute [up-solo] has been renamed to [up-abort] and [up-abort] no longer accepts a URL pattern. Check if you can use [up-abort="target"] instead.'),e.setAttribute("up-abort","target")}})),up.migrate.transformAttribute("up-reveal",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-reveal] has been replaced with [up-scroll="target"]'),e.setAttribute("up-scroll","target");break;case"true":up.migrate.warn('Attribute [up-reveal="true"] has been replaced with [up-scroll="target"]'),e.setAttribute("up-scroll","target");break;case"false":up.migrate.warn('Attribute [up-reveal="false"] has been replaced with [up-scroll="false"]'),e.setAttribute("up-scroll","false");break;default:up.migrate.warn('Attribute [up-reveal="%s"] has been replaced with [up-scroll="%s"]',t)}})),up.migrate.transformAttribute("up-reset-scroll",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-reset-scroll] has been replaced with [up-scroll="top"]'),e.setAttribute("up-scroll","top");break;case"true":up.migrate.warn('Attribute [up-reset-scroll="true"] has been replaced with [up-scroll="top"]'),e.setAttribute("up-scroll","top");break;case"false":up.migrate.warn('Attribute [up-reset-scroll="false"] has been replaced with [up-scroll="false"]'),e.setAttribute("up-scroll","false")}})),up.migrate.transformAttribute("up-restore-scroll",(function(e,t){switch(t){case"":up.migrate.warn('Attribute [up-restore-scroll] has been replaced with [up-scroll="restore"]'),e.setAttribute("up-scroll","restore");break;case"true":up.migrate.warn('Attribute [up-restore-scroll="true"] has been replaced with [up-scroll="restore"]'),e.setAttribute("up-scroll","restore");break;case"false":up.migrate.warn('Attribute [up-restore-scroll="false"] has been replaced with [up-scroll="false"]'),e.setAttribute("up-scroll","false")}})),up.migrate.targetMacro("up-dash",{"up-preload":"","up-instant":""},(()=>up.migrate.deprecated("[up-dash]","up.link.config.instantSelectors and up.link.config.preloadSelectors"))),up.migrate.renamedAttribute("up-delay","up-preload-delay",{scope:t}),up.link.config.patch((function(e){e.preloadEnabled=!0,u=up.migrate.removedProperty(e,"preloadEnabled","The configuration up.link.config.preloadEnabled has been removed. To disable preloading, prevent up:link:preload instead.")})),up.on("up:link:preload",(function(e){u[0]||e.preventDefault()}));const p="[up-href]:not([up-follow], [up-poll], [up-defer], [up-expand])";up.link.config.patch((function(e){e.clickableSelectors.push(p),e.followSelectors.push(p)})),up.compiler(p,(function(e){up.migrate.warn("Following links with only [up-href] has been deprecated. You must now also set an [up-follow] on the same link (found in %o).",e)}));const n=`[up-instant]:is(a[href], ${p})`;up.link.config.patch((function(e){e.followSelectors.push(n)})),up.compiler(p,(function(e){up.migrate.warn("Following links with only [up-instant] has been deprecated. You must now also set an [up-follow] on the same link (found in %o).",e)}))},516:()=>{up.migrate.handleLayerOptions=function(e){up.migrate.fixKey(e,"flavor","mode"),up.migrate.fixKey(e,"closable","dismissable"),up.migrate.fixKey(e,"closeLabel","dismissLabel"),up.migrate.fixKey(e,"dismissAriaLabel","dismissARIALabel");for(let t of["width","maxWidth","height"])e[t]&&up.migrate.warn(`Layer option { ${t} } has been removed. Use { size } or { class } instead.`);e.sticky&&up.migrate.warn("Layer option { sticky } has been removed. Give links an [up-peel=false] attribute to prevent layer dismissal on click."),e.template&&up.migrate.warn("Layer option { template } has been removed. Use { class } or modify the layer HTML on up:layer:open."),"page"===e.layer&&(up.migrate.warn("Option { layer: 'page' } has been renamed to { layer: 'root' }."),e.layer="root"),"modal"!==e.layer&&"popup"!==e.layer||(up.migrate.warn(`Option { layer: '${e.layer}' } has been removed. Did you mean { layer: 'overlay' }?`),e.layer="overlay"),up.util.isMissing(e.layer)&&up.util.isGiven(e.mode)&&(up.migrate.warn('Opening a layer with only a { mode } option is deprecated. Pass { layer: "new", mode } instead.'),e.layer="new")},up.migrate.handleTetherOptions=function(e){const[t,u]=e.position.split("-");u&&(up.migrate.warn("The position value %o is deprecated. Use %o instead.",e.position,{position:t,align:u}),e.position=t,e.align=u)},up.migrate.registerLayerCloser=e=>e.registerAttrCloser("up-close",((t,u)=>{up.migrate.deprecated("[up-close]","[up-dismiss]"),e.dismiss(t,u)})),up.migrate.handleLayerConfig=e=>up.migrate.fixKey(e,"historyVisible","history"),Object.defineProperty(up.Layer.prototype,"historyVisible",{get:function(){return up.migrate.deprecated("up.Layer#historyVisible","up.Layer#history"),this.history}})},635:()=>{class DeprecatedCannotCompile extends up.Error{}Object.defineProperty(up,"CannotCompile",{get:function(){return up.migrate.warn('The error up.CannotCompile is no longer thrown. Compiler errors now emit an "error" event on window, but no longer crash the render pass.'),DeprecatedCannotCompile}})},750:()=>{up.Config.prototype.patch=function(e){let t=e.bind(this,this);t(),document.addEventListener("up:framework:reset",t)}},753:()=>{up.migrate.renamedEvent("up:app:booted","up:framework:booted"),document.querySelector("script[up-boot=manual]")&&up.migrate.warn('The [up-boot="manual"] attribute must be set on the <html> element')},763:()=>{up.migrate.renamedPackage("layout","viewport"),up.viewport.config.patch((function(e){up.migrate.renamedProperty(e,"viewports","viewportSelectors"),up.migrate.renamedProperty(e,"fixedTop","fixedTopSelectors"),up.migrate.renamedProperty(e,"fixedBottom","fixedBottomSelectors"),up.migrate.renamedProperty(e,"anchoredRight","anchoredRightSelectors"),up.migrate.renamedProperty(e,"snap","revealSnap"),up.migrate.removedProperty(e,"scrollSpeed")})),up.viewport.closest=function(...e){return up.migrate.deprecated("up.viewport.closest()","up.viewport.get()"),up.viewport.get(...e)},up.viewport.scroll=function(e,t,u={}){return up.migrate.deprecated("up.scroll()","Element#scrollTo()"),(e=up.fragment.get(e,u)).scrollTo(Object.assign(Object.assign({},u),{top:t})),up.migrate.formerlyAsync("up.scroll()")},up.scroll=up.viewport.scroll},789:()=>{up.history.config.patch((function(e){up.migrate.renamedProperty(e,"popTargets","restoreTargets")})),up.history.url=function(){return up.migrate.deprecated("up.history.url()","up.history.location"),up.history.location},up.migrate.renamedEvent("up:history:push","up:location:changed"),up.migrate.renamedEvent("up:history:pushed","up:location:changed"),up.migrate.renamedEvent("up:history:restore","up:location:changed"),up.migrate.renamedEvent("up:history:restored","up:location:changed"),up.migrate.renamedEvent("up:history:replaced","up:location:changed"),up.migrate.prepareLocationChangedEvent=function(e){up.migrate.renamedProperty(e,"url","location")},up.history.config.patch((function(){this.updateMetaTagsValue=this.updateMetaTags,this.updateMetaTagsSet=!1,Object.defineProperty(this,"updateMetaTags",{configurable:!0,get(){return this.updateMetaTagsValue},set(e){this.updateMetaTagsValue=e,this.updateMetaTagsSet=!0}})})),up.on("up:framework:boot",(function(){up.history.config.updateMetaTagsSet||up.migrate.warn("Meta tags in the <head> are now updated automatically. Configure up.history.config.updateMetaTags to remove this warning.")})),up.migrate.warnOfHungryMetaTags=function(e){let t=up.radio.config.selector("hungrySelectors"),u=up.util.filter(e,(e=>e.matches(t)));u.length&&up.migrate.warn("Meta tags in the <head> are now updated automatically. Remove the [up-hungry] attribute from %o.",u)}},832:()=>{const e=up.util;up.migrate=function(){const t=new up.Config((()=>({logLevel:"warn"})));function u(t,...u){let p=e.extractCallback(u),{scope:n}=e.extractOptions(u),o=n||`[${t}]`;up.macro(o,{priority:-1e3},(function(e){if(e.hasAttribute(t)){let u=e.getAttribute(t);p(e,u)}}))}const p={},n={};function o(e){let t=p[e];if(t)return a(`Event ${e} has been renamed to ${t}`),t;if(e in n){let t=`Event ${e} has been removed`,u=n[e];return u&&(t+=`. Use ${u} instead.`),a(t),e}return e}let r={};const a=up.mockable(((u,...p)=>{const n=e.sprintf(u,...p),o=t.logLevel;"none"===o||r[n]||(r[n]=!0,up.log[o]("unpoly-migrate",u,...p))})),i=["top","right","bottom","left","padding","padding-top","padding-right","padding-bottom","padding-left","margin","margin-top","margin-right","margin-bottom","margin-left","border-width","border-top-width","border-right-width","border-bottom-width","border-left-width","width","height","max-width","max-height","min-width","min-height"];function s(t){return/[A-Z]/.test(t)?(a(`CSS property names must be in kebab-case, but got camelCase "${t}"`),e.camelToKebabCase(t)):t}function l(e,t,u){return!u&&i.includes(e)&&/^[\d.]+$/.test(t)?(a(`CSS length values must have a unit, but got "${e}: ${t}". Use "${e}: ${t}px" instead.`),t+"px"):t}return up.on("up:framework:reset",(function(){r={}})),{deprecated:function(e,t){a(`${e} has been deprecated. Use ${t} instead.`)},renamedPackage:function(e,t){Object.defineProperty(up,e,{configurable:!0,get:()=>(a(`up.${e} has been renamed to up.${t}`),up[t])})},renamedProperty:function(t,u,p,n){const o=e.memoize((()=>n?a(n):a("Property { %s } has been renamed to { %s } (found in %o)",u,p,t)));Object.defineProperty(t,u,{configurable:!0,get(){return o(),this[p]},set(e){o(),this[p]=e}})},removedProperty:function(t,u,p){const n=e.memoize((()=>p?a(p):a("Property { %s } has been removed without replacement (found in %o)",u,t)));let o=[t[u]];return Object.defineProperty(t,u,{configurable:!0,get:()=>(n(),o[0]),set(e){n(),o[0]=e}}),o},defineThrowingProps:function(e,t,u){let p=()=>{throw new TypeError(u)};for(const u of Object.getOwnPropertyNames(t))u in e||Object.defineProperty(e,u,{get:p,set:p,enumerable:!1,configurable:!1})},forbiddenPropertyValue:function(e,t,u,p){let n=e[t];Object.defineProperty(e,t,{configurable:!0,get:()=>n,set(e){if(e===u)throw new Error(p);n=e}})},transformAttribute:u,renamedAttribute:function(t,p,{scope:n,mapValue:o}={}){u(t,{scope:n},(function(u,n){a("Attribute [%s] has been renamed to [%s] (found in %o)",t,p,u),o&&(n=e.evalOption(o,n)),u.setAttribute(p,n)}))},removedAttribute:function(e,{scope:t,replacement:p}={}){u(e,{scope:t},(function(t,u){p?a("Attribute [%s] has been removed (found in %o). Use %s instead.",e,t,p):a("Attribute [%s] has been removed without replacement (found in %o)",e,t)}))},formerlyAsync:function(e){const t=Promise.resolve(),u=t.then;return t.then=function(){return a(`${e} is now sync and no longer returns a promise`),u.apply(this,arguments)},t},renamedEvent:function(e,t){p[e]=t},removedEvent:function(e,t=null){n[e]=t},fixGetStyleProps:function(t){let u;return u=e.isString(t)?s(t):e.isArray(t)?t.map(s):t,u},fixSetStyleProps:function(t,u){let p;if(e.isObject(t)){p={};for(let e in t){let n=t[e];e=s(e),n=l(e,n,u),p[e]=n}}else p=t;return p},fixEventTypes:function(t){return e.uniq(e.map(t,o))},fixKey:function(t,u,p){e.isDefined(t[u])&&(a("Property { %s } has been renamed to { %s } (found in %o)",u,p,t),e.renameKey(t,u,p))},warn:a,loaded:!0,config:t}}()},834:()=>{const e=up.util,t=up.element;up.migrate.renamedPackage("syntax","script"),up.migrate.postCompile=function(t,u){let p;if(p=u.keep){up.migrate.warn("The { keep: true } option for up.compiler() has been removed. Have the compiler set [up-keep] attribute instead.");const u=e.isString(p)?p:"";for(let e of t)e.setAttribute("up-keep",u)}},up.migrate.targetMacro=function(u,p,n){up.macro(`[${u}]`,(function(o){let r;const a=e.copy(p);(r=o.getAttribute(u))?a["up-target"]=r:a["up-follow"]="",t.setMissingAttrs(o,a),o.removeAttribute(u),null==n||n()}))},up.$compiler=function(...e){up.migrate.warn("up.$compiler() has been deprecated. Instead use up.compiler() with a callback that wraps the given native element in a jQuery collection.");let t=e.pop();return up.compiler(...e,(function(e,...u){let p=jQuery(e);return t(p,...u)}))},up.$macro=function(...e){up.migrate.warn("up.$macro() has been deprecated. Instead use up.macro() with a callback that wraps the given native element in a jQuery collection.");let t=e.pop();return up.macro(...e,(function(e,...u){let p=jQuery(e);return t(p,...u)}))},up.migrate.processCompilerPassMeta=function(e,t){Object.defineProperty(e,"response",{get:()=>(up.migrate.warn("Accessing meta.response from a compiler has been deprecated without replacement. Avoid fragments that compile differently for the initial page load vs. subsequent fragment updates."),t)})};let u=up.hello,p="up.hello() is now async and returns a promise";class WasElementIsPromise extends Promise{}up.migrate.defineThrowingProps(WasElementIsPromise.prototype,Element.prototype,p),up.migrate.defineThrowingProps(WasElementIsPromise.prototype,Node.prototype,p),up.migrate.defineThrowingProps(WasElementIsPromise.prototype,EventTarget.prototype,p),up.hello=function(e,...t){let p=u(e,...t);return WasElementIsPromise.resolve(p)}},838:()=>{up.migrate.renamedProperty(up.RenderResult.prototype,"options","renderOptions","up.RenderResult: Property { options } has been renamed to { renderOptions }")},947:()=>{up.migrate.renamedPackage("navigation","status"),up.migrate.renamedPackage("feedback","status"),up.status.config.patch((function(e){up.migrate.renamedProperty(e,"navs","navSelectors")}))},959:()=>{up.Layer.prototype.isOpen=function(){return up.migrate.deprecated("up.Layer#isOpen()","up.Layer#isAlive()"),this.isAlive()},up.Layer.prototype.isClosed=function(){return up.migrate.deprecated("up.Layer#isClosed()","!up.Layer#isAlive()"),!this.isAlive()}},989:()=>{up.element.first=function(...e){return up.migrate.deprecated("up.element.first()","up.element.get()"),up.element.get(...e)},up.element.createFromHtml=function(...e){return up.migrate.deprecated("up.element.createFromHtml()","up.element.createFromHTML()"),up.element.createFromHTML(...e)},up.element.remove=function(e){return up.migrate.deprecated("up.element.remove()","Element#remove()"),e.remove()},up.element.matches=function(e,t){return up.migrate.deprecated("up.element.matches()","Element#matches()"),e.matches(t)},up.element.closest=function(e,t){return up.migrate.deprecated("up.element.closest()","Element#closest()"),e.closest(t)},up.element.replace=function(e,t){return up.migrate.deprecated("up.element.replace()","Element#replaceWith()"),e.replaceWith(t)},up.element.all=function(...e){up.migrate.deprecated("up.element.all()","Document#querySelectorAll() or Element#querySelectorAll()");const t=e.pop();return(e[0]||document).querySelectorAll(t)},up.element.toggleClass=function(e,t,u){up.migrate.deprecated("up.element.toggleClass()","element.classList.toggle()");const p=e.classList;return null==u&&(u=!p.contains(t)),u?p.add(t):p.remove(t)},up.element.toSelector=function(...e){return up.migrate.deprecated("up.element.toSelector()","up.fragment.toTarget()"),up.fragment.toTarget(...e)},up.element.isAttached=function(e){return up.migrate.deprecated("up.element.isAttached()","document.contains(element)"),document.contains(e)},up.element.isDetached=function(e){return up.migrate.deprecated("up.element.isDetached()","!document.contains(element)"),!up.element.isAttached(e)}},992:()=>{const e=new Error("up.modal.flavors has been removed without direct replacement. You may give new layers a { class } or modify layer elements on up:layer:open.");up.modal={visit:(e,t={})=>(up.migrate.deprecated("up.modal.visit(url)",'up.layer.open({ url, mode: "modal" })'),up.layer.open(Object.assign(Object.assign({},t),{url:e,mode:"modal"}))),follow:(e,t={})=>(up.migrate.deprecated("up.modal.follow(link)",'up.follow(link, { layer: "modal" })'),up.follow(e,Object.assign(Object.assign({},t),{layer:"modal"}))),extract:(e,t,u={})=>(up.migrate.deprecated("up.modal.extract(target, document)",'up.layer.open({ document, mode: "modal" })'),up.layer.open(Object.assign(Object.assign({},u),{target:e,html:t,layer:"modal"}))),close:(e={})=>(up.migrate.deprecated("up.modal.close()","up.layer.dismiss()"),up.layer.dismiss(null,e),up.migrate.formerlyAsync("up.layer.dismiss()")),url:()=>(up.migrate.deprecated("up.modal.url()","up.layer.location"),up.layer.location),coveredUrl(){var e;return up.migrate.deprecated("up.modal.coveredUrl()","up.layer.parent.location"),null===(e=up.layer.parent)||void 0===e?void 0:e.location},get config(){return up.migrate.deprecated("up.modal.config","up.layer.config.modal"),up.layer.config.modal},contains:e=>(up.migrate.deprecated("up.modal.contains()","up.layer.contains()"),up.layer.contains(e)),isOpen:()=>(up.migrate.deprecated("up.modal.isOpen()","up.layer.isOverlay()"),up.layer.isOverlay()),get flavors(){throw e},flavor(){throw e}},up.migrate.renamedEvent("up:modal:open","up:layer:open"),up.migrate.renamedEvent("up:modal:opened","up:layer:opened"),up.migrate.renamedEvent("up:modal:close","up:layer:dismiss"),up.migrate.renamedEvent("up:modal:closed","up:layer:dismissed"),up.migrate.targetMacro("up-modal",{"up-layer":"new modal"},(()=>up.migrate.deprecated("[up-modal]",'[up-layer="new modal"]'))),up.migrate.targetMacro("up-drawer",{"up-layer":"new drawer"},(()=>up.migrate.deprecated("[up-drawer]",'[up-layer="new drawer"]')))},993:()=>{up.migrate.renamedPackage("bus","event"),up.event.nobodyPrevents=function(...e){return up.migrate.deprecated("up.event.nobodyPrevents(type)","!up.emit(type).defaultPrevented"),!up.emit(...e).defaultPrevented},up.$on=function(...e){up.migrate.warn("up.$on() has been deprecated. Instead use up.on() with a callback that wraps the given native element in a jQuery collection.");let t=e.pop();return t.upNativeCallback=function(e,u,p){let n=jQuery(u);t.call(n,e,n,p)},up.on(...e,t.upNativeCallback)},up.$off=function(...e){up.migrate.deprecated("up.$off()","up.off()");let t=e.pop().upNativeCallback;return t||up.fail("The callback passed to up.$off() was never registered with up.$on()"),up.off(...e,t)}},997:()=>{const e=up.util;up.migrate.renamedPackage("flow","fragment"),up.migrate.renamedPackage("dom","fragment"),up.fragment.config.patch((function(e){up.migrate.renamedProperty(e,"fallbacks","mainTargets")})),up.migrate.handleResponseDocOptions=e=>up.migrate.fixKey(e,"html","document"),up.fragment.config.patch((function(e){let t=()=>up.migrate.deprecated("up.fragment.config.matchAroundOrigin","up.fragment.config.match");Object.defineProperty(e,"matchAroundOrigin",{configurable:!0,get:function(){return t(),"closest"===this.match},set:function(e){t(),this.match=e?"region":"first"}})})),up.replace=function(e,t,u){return up.migrate.deprecated("up.replace(target, url)","up.navigate(target, { url })"),up.navigate(Object.assign(Object.assign({},u),{target:e,url:t}))},up.extract=function(e,t,u){return up.migrate.deprecated("up.extract(target, document)","up.navigate(target, { document })"),up.navigate(Object.assign(Object.assign({},u),{target:e,document:t}))},up.fragment.first=function(...e){return up.migrate.deprecated("up.fragment.first()","up.fragment.get()"),up.fragment.get(...e)},up.first=up.fragment.first,up.migrate.preprocessRenderOptions=function(t){e.isString(t.history)&&"auto"!==t.history&&(up.migrate.warn("Passing a URL as { history } option is deprecated. Pass it as { location } instead."),t.location=t.history,t.history="auto");for(let u of["target","origin"])e.isJQuery(t[u])&&(up.migrate.warn("Passing a jQuery collection as { %s } is deprecated. Pass it as a native element instead.",u),t[u]=up.element.get(t[u]));"auto"===t.fail&&(up.migrate.warn("The option { fail: 'auto' } is deprecated. Omit the option instead."),delete t.fail);let u=e.pluckKey(t,"solo");e.isString(u)?(up.migrate.warn("The up.render() option { solo } has been replaced with { abort } and { abort } no longer accepts a URL pattern. Check if you can use { abort: 'target'} or use up.network.abort(pattern) instead."),t.abort=e=>up.network.abort(u,e)):e.isFunction(u)?(up.migrate.warn("The up.render() option { solo } has been replaced with { abort } and { abort } no longer accepts a Function(up.Request): boolean. Check if you can use { abort: 'target'} or use up.network.abort(fn) instead."),t.abort=e=>{up.network.abort(u,e)}):!0===u?(up.migrate.deprecated("Option { solo: true }","{ abort: 'all' }"),t.abort="all"):!1===u&&(up.migrate.deprecated("Option { solo: false }","{ abort: false }"),up.migrate.warn("Unpoly 3+ only aborts requests targeting the same fragment. Setting { solo: false } may no longer be necessary."),t.abort=!1),up.migrate.fixKey(t,"failOnFinished","onFailFinished"),up.migrate.fixKey(t,"badResponseTime","lateDelay"),e.isString(t.reveal)?(up.migrate.deprecated(`Option { reveal: '${t.reveal}' }`,`{ scroll: '${t.reveal}' }`),t.scroll=t.reveal):!0===t.reveal?(up.migrate.deprecated("Option { reveal: true }","{ scroll: 'target' }"),t.scroll="target"):!1===t.reveal&&(up.migrate.deprecated("Option { reveal: false }","{ scroll: false }"),t.scroll=!1),!0===t.resetScroll&&(up.migrate.deprecated("Option { resetScroll: true }","{ scroll: 'top' }"),t.scroll="reset"),!1===t.resetScroll&&(up.migrate.deprecated("Option { resetScroll: false }","{ scroll: false }"),t.scroll=!1),!0===t.restoreScroll&&(up.migrate.deprecated("Option { restoreScroll: true }","{ scroll: 'restore' }"),t.scroll="restore"),!1===t.restoreScroll&&(up.migrate.deprecated("Option { restoreScroll: false }","{ scroll: false }"),t.scroll=!1),"reset"===t.scroll&&(up.migrate.deprecated("Option { scroll: 'reset'' }","{ scroll: 'top' }"),t.scroll="top")},up.migrate.postprocessReloadOptions=function(e){var t;let u,p=null===(t=e.headers)||void 0===t?void 0:t["If-Modified-Since"];u=p?Math.floor(.001*new Date(p)).toString():"0",e.headers[up.protocol.headerize("reloadFromTime")]=u},up.migrate.resolveOrigin=function(e,{origin:t}={}){return e.replace(/"[^"]*"|'[^']*'|&|:origin\b/g,(function(u){return":origin"!==u&&"&"!==u?u:("&"===u&&up.migrate.deprecated("Origin shorthand '&'",":origin"),t?up.fragment.toTarget(t):void up.fail('Missing { origin } element to resolve "%s" reference (found in %s)',u,e))}))},up.fragment.config.patch((function(){this.runScriptsValue=this.runScripts,this.runScriptsSet=!1,Object.defineProperty(this,"runScripts",{configurable:!0,get(){return this.runScriptsValue},set(e){this.runScriptsValue=e,this.runScriptsSet=!0}})})),up.on("up:framework:boot",(function(){up.fragment.config.runScriptsSet||up.migrate.warn("Scripts within fragments are no longer executed. Configure up.fragment.config.runScripts to remove this warning.")})),up.compiler("[up-keep]",(function(t){let u=up.element.booleanOrStringAttr(t,"up-keep");e.isString(u)&&/[.[#]/.test(u)&&(up.migrate.warn('The [up-keep] attribute no longer supports a selector value. Elements will be matched by their derived target. You may prevent keeping with [up-on-keep="if(condition) event.preventDefault()"]. '),up.element.setMissingAttr(t,"up-on-keep",`if (!newFragment.matches(${JSON.stringify(u)})) event.preventDefault()`),t.setAttribute("up-keep",""))}))}},t={};function u(p){var n=t[p];if(void 0!==n)return n.exports;var o=t[p]={exports:{}};return e[p](o,o.exports,u),o.exports}up.framework.startExtension(),u(832),u(750),u(204),u(838),u(959),u(89),u(635),u(33),u(989),u(993),u(834),u(267),u(997),u(753),u(789),u(947),u(429),u(516),u(992),u(67),u(154),u(269),u(391),u(162),u(763),up.framework.stopExtension()})();
|