unpoly-rails 3.11.0 → 3.14.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed3b99270a3972faa22feb189c2195a4ed9a47ab0e04479d121e548d1f8d6f0a
4
- data.tar.gz: c2bc6af18af8fa2325f3820094cdafac21356892e655b914f19c7e2c3e79eab3
3
+ metadata.gz: 321d103a3eba41fe1d4f86f72cbdd60fab95e51205c973fa28f75f616c250327
4
+ data.tar.gz: 45177432df28cac89d2fe69cce713e7d013c57e2569dd7c81d3ffe812c2fddea
5
5
  SHA512:
6
- metadata.gz: fce8f19e49edb84ab10d6b8a37027520364e55ff3c4b15041e723447a905ef915046cd4385f5d1010135617e495c7c4f03d44d0f9d6474a9ce9a4d70637ae563
7
- data.tar.gz: 22182ec5e245c1e505b56ee2f0dede1853fc8955abbdbc395a9d2d6b2609ec53392009641074d7240e5ec24d8a5e13a12145770cbf7356c75fd23d7398b3fa3a
6
+ metadata.gz: ec69443f62753a523b732a1488a3a93b51fc3ab2411c2429998b11a96229a4cdb25578416e3ef5a0ebe5900e1c00f218fbe29093807c83b08fe4a9f225ee0fc8
7
+ data.tar.gz: 5d38d1e1be787dc1b5a6bc3c8d0c3395f5d40172cef463a7dae74b5085b8923f979e2a582522f48c1d2e7777e5b1879cf18f5f09480ff08b0d16340a9fdfb8dd
@@ -1 +1,3 @@
1
1
  up-modal .container,up-modal .container-fluid,up-drawer .container,up-drawer .container-fluid,up-popup .container,up-popup .container-fluid{padding-left:0;padding-right:0;max-width:none}
2
+
3
+ /*# sourceMappingURL=unpoly-bootstrap3.min.css.map*/
@@ -1 +1,2 @@
1
- (()=>{var o={215:(o,p,u)=>{"use strict";u.r(p)}},p={};function u(e){var a=p[e];if(void 0!==a)return a.exports;var t=p[e]={exports:{}};return o[e](t,t.exports,u),t.exports}u.r=o=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"o",{value:!0})},up.status.config.currentClasses.push("active"),up.status.config.activeClasses.push("active"),up.status.config.navSelectors.push(".nav",".navbar"),up.form.config.groupSelectors.unshift(".form-group"),up.viewport.config.fixedTopSelectors.push(".navbar-fixed-top"),up.viewport.config.fixedBottomSelectors.push(".navbar-fixed-bottom"),up.viewport.config.anchoredRightSelectors.push(".navbar-fixed-top",".navbar-fixed-bottom"),up.fragment.config.badTargetClasses.push("row",/^col(-xs|-sm|-md|-lg)?(-\d+)?$/),up.layer.config.foreignOverlaySelectors.push(".modal:not(up-modal)",".popover:not(up-popup)",".dropdown-menu:not(up-popup)"),u(215)})();
1
+ (()=>{var o={215(o,p,u){"use strict";u.r(p)}},p={};function u(e){var a=p[e];if(void 0!==a)return a.exports;var t=p[e]={exports:{}};return o[e](t,t.exports,u),t.exports}u.r=o=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"o",{value:!0})},up.status.config.currentClasses.push("active"),up.status.config.activeClasses.push("active"),up.status.config.navSelectors.push(".nav",".navbar"),up.form.config.groupSelectors.unshift(".form-group"),up.viewport.config.fixedTopSelectors.push(".navbar-fixed-top"),up.viewport.config.fixedBottomSelectors.push(".navbar-fixed-bottom"),up.viewport.config.anchoredRightSelectors.push(".navbar-fixed-top",".navbar-fixed-bottom"),up.fragment.config.badTargetClasses.push("row",/^col(-xs|-sm|-md|-lg)?(-\d+)?$/),up.layer.config.foreignOverlaySelectors.push(".modal:not(up-modal)",".popover:not(up-popup)",".dropdown-menu:not(up-popup)"),u(215)})();
2
+ //# sourceMappingURL=unpoly-bootstrap3.min.js.map
@@ -1 +1,3 @@
1
1
  up-modal .container,up-modal .container-fluid,up-drawer .container,up-drawer .container-fluid,up-popup .container,up-popup .container-fluid{padding-left:0;padding-right:0;max-width:none}
2
+
3
+ /*# sourceMappingURL=unpoly-bootstrap4.min.css.map*/
@@ -1 +1,2 @@
1
- (()=>{var o={566:(o,p,u)=>{"use strict";u.r(p)}},p={};function u(e){var t=p[e];if(void 0!==t)return t.exports;var a=p[e]={exports:{}};return o[e](a,a.exports,u),a.exports}u.r=o=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"o",{value:!0})},up.status.config.currentClasses.push("active"),up.status.config.activeClasses.push("active"),up.status.config.navSelectors.push(".nav",".navbar"),up.form.config.groupSelectors.unshift(".form-group"),up.viewport.config.fixedTopSelectors.push(".navbar.fixed-top"),up.viewport.config.fixedBottomSelectors.push(".navbar.fixed-bottom"),up.viewport.config.anchoredRightSelectors.push(".navbar.fixed-top",".navbar.fixed-bottom"),up.fragment.config.badTargetClasses.push("row",/^col(-xs|-sm|-md|-lg|-xl)?(-\d+)?$/,/^[mp][tblrxy]?-\d+$/),up.layer.config.foreignOverlaySelectors.push(".modal:not(up-modal)",".popover:not(up-popup)",".dropdown-menu:not(up-popup)"),u(566)})();
1
+ (()=>{var o={566(o,p,u){"use strict";u.r(p)}},p={};function u(e){var t=p[e];if(void 0!==t)return t.exports;var a=p[e]={exports:{}};return o[e](a,a.exports,u),a.exports}u.r=o=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"o",{value:!0})},up.status.config.currentClasses.push("active"),up.status.config.activeClasses.push("active"),up.status.config.navSelectors.push(".nav",".navbar"),up.form.config.groupSelectors.unshift(".form-group"),up.viewport.config.fixedTopSelectors.push(".navbar.fixed-top"),up.viewport.config.fixedBottomSelectors.push(".navbar.fixed-bottom"),up.viewport.config.anchoredRightSelectors.push(".navbar.fixed-top",".navbar.fixed-bottom"),up.fragment.config.badTargetClasses.push("row",/^col(-xs|-sm|-md|-lg|-xl)?(-\d+)?$/,/^[mp][tblrxy]?-\d+$/),up.layer.config.foreignOverlaySelectors.push(".modal:not(up-modal)",".popover:not(up-popup)",".dropdown-menu:not(up-popup)"),u(566)})();
2
+ //# sourceMappingURL=unpoly-bootstrap4.min.js.map
@@ -1 +1,3 @@
1
1
  up-modal .container,up-modal .container-fluid,up-drawer .container,up-drawer .container-fluid,up-popup .container,up-popup .container-fluid{padding-left:0;padding-right:0;max-width:none}
2
+
3
+ /*# sourceMappingURL=unpoly-bootstrap5.min.css.map*/
@@ -1 +1,2 @@
1
- (()=>{var o={633:(o,p,e)=>{"use strict";e.r(p)}},p={};function e(u){var t=p[u];if(void 0!==t)return t.exports;var a=p[u]={exports:{}};return o[u](a,a.exports,e),a.exports}e.r=o=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"o",{value:!0})},up.status.config.currentClasses.push("active"),up.status.config.activeClasses.push("active"),up.status.config.navSelectors.push(".nav",".navbar"),up.viewport.config.fixedTopSelectors.push(".navbar.fixed-top"),up.viewport.config.fixedBottomSelectors.push(".navbar.fixed-bottom"),up.viewport.config.anchoredRightSelectors.push(".navbar.fixed-top",".navbar.fixed-bottom"),up.fragment.config.badTargetClasses.push("row",/^col(-xs|-sm|-md|-lg|-xl|-xxl)?(-\d+)?$/,/^[mp][tbsexy]?-\d+$/),up.layer.config.foreignOverlaySelectors.push(".modal:not(up-modal)",".popover:not(up-popup)",".dropdown-menu:not(up-popup)"),e(633)})();
1
+ (()=>{var o={633(o,p,e){"use strict";e.r(p)}},p={};function e(u){var t=p[u];if(void 0!==t)return t.exports;var a=p[u]={exports:{}};return o[u](a,a.exports,e),a.exports}e.r=o=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"o",{value:!0})},up.status.config.currentClasses.push("active"),up.status.config.activeClasses.push("active"),up.status.config.navSelectors.push(".nav",".navbar"),up.viewport.config.fixedTopSelectors.push(".navbar.fixed-top"),up.viewport.config.fixedBottomSelectors.push(".navbar.fixed-bottom"),up.viewport.config.anchoredRightSelectors.push(".navbar.fixed-top",".navbar.fixed-bottom"),up.fragment.config.badTargetClasses.push("row",/^col(-xs|-sm|-md|-lg|-xl|-xxl)?(-\d+)?$/,/^[mp][tbsexy]?-\d+$/),up.layer.config.foreignOverlaySelectors.push(".modal:not(up-modal)",".popover:not(up-popup)",".dropdown-menu:not(up-popup)"),e(633)})();
2
+ //# sourceMappingURL=unpoly-bootstrap5.min.js.map
@@ -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
- /* 6 */
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
- /* 7 */
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
- /* 8 */
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
- /* 9 */
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
- /* 10 */
479
+ /* 11 */
452
480
  /***/ (() => {
453
481
 
454
482
  const u = up.util;
@@ -495,16 +523,27 @@ up.$macro = function (...definitionArgs) {
495
523
  return $fn($element, ...fnArgs);
496
524
  });
497
525
  };
498
- up.migrate.processCompilerPassMeta = function (meta, response) {
526
+ up.migrate.processHelloMeta = function (meta, response) {
499
527
  Object.defineProperty(meta, 'response', { get() {
500
528
  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.');
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
- /* 11 */
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
- /* 12 */
587
+ /* 13 */
549
588
  /***/ (() => {
550
589
 
551
590
  const u = up.util;
@@ -682,45 +721,60 @@ 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
- this.runScriptsValue = this.runScripts;
688
- this.runScriptsSet = false;
689
725
  Object.defineProperty(this, 'runScripts', {
690
726
  configurable: true,
691
727
  get() {
692
- return this.runScriptsValue;
728
+ up.migrate.deprecated('up.fragment.config.runScripts', 'up.script.config.scriptElementPolicy = "auto"');
729
+ switch (up.script.config.scriptElementPolicy) {
730
+ case 'auto': return true;
731
+ case 'pass': return true;
732
+ case 'block': return false;
733
+ case 'nonce': return (script) => !!script.nonce;
734
+ }
693
735
  },
694
736
  set(value) {
695
- this.runScriptsValue = value;
696
- this.runScriptsSet = true;
737
+ if (value === true) {
738
+ up.migrate.deprecated('up.fragment.config.runScripts = true', 'up.script.config.scriptElementPolicy = "auto"');
739
+ up.script.config.scriptElementPolicy = 'auto';
740
+ }
741
+ else if (value === false) {
742
+ up.migrate.deprecated('up.fragment.config.runScripts = false', 'up.script.config.scriptElementPolicy = "block"');
743
+ up.script.config.scriptElementPolicy = 'block';
744
+ }
745
+ else if (u.isFunction(value)) {
746
+ up.migrate.warn('up.fragment.config.runScripts has been replaced by up.script.config.scriptElementPolicy, but no longer supports a function value.');
747
+ up.script.config.scriptElementPolicy = 'block';
748
+ }
697
749
  }
698
750
  });
699
751
  });
700
- up.on('up:framework:boot', function () {
701
- if (!up.fragment.config.runScriptsSet) {
702
- up.migrate.warn('Scripts within fragments are no longer executed. Configure up.fragment.config.runScripts to remove this warning.');
703
- }
704
- });
705
752
  up.compiler('[up-keep]', function (element) {
706
753
  let selector = up.element.booleanOrStringAttr(element, 'up-keep');
707
754
  if (u.isString(selector) && /[.[#]/.test(selector)) {
708
755
  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()"]. ');
709
- up.element.setMissingAttr(element, 'up-on-keep', `if (!newFragment.matches(${JSON.stringify(selector)})) event.preventDefault()`);
756
+ element.addEventListener('up:fragment:keep', function (event) {
757
+ if (event.target === element && !event.newFragment.matches(selector)) {
758
+ event.preventDefault();
759
+ }
760
+ });
710
761
  element.setAttribute('up-keep', '');
711
762
  }
712
763
  });
713
764
 
714
765
 
715
766
  /***/ }),
716
- /* 13 */
767
+ /* 14 */
717
768
  /***/ (() => {
718
769
 
719
770
  up.migrate.renamedEvent('up:app:booted', 'up:framework:booted');
771
+ if (document.querySelector('script[up-boot=manual]')) {
772
+ up.migrate.warn('The [up-boot="manual"] attribute must be set on the <html> element');
773
+ }
720
774
 
721
775
 
722
776
  /***/ }),
723
- /* 14 */
777
+ /* 15 */
724
778
  /***/ (() => {
725
779
 
726
780
  up.history.config.patch(function (config) {
@@ -767,7 +821,7 @@ up.migrate.warnOfHungryMetaTags = function (metaTags) {
767
821
 
768
822
 
769
823
  /***/ }),
770
- /* 15 */
824
+ /* 16 */
771
825
  /***/ (() => {
772
826
 
773
827
  up.migrate.renamedPackage('navigation', 'status');
@@ -778,13 +832,14 @@ up.status.config.patch(function (config) {
778
832
 
779
833
 
780
834
  /***/ }),
781
- /* 16 */
835
+ /* 17 */
782
836
  /***/ (() => {
783
837
 
784
838
  const followSelectorFn = up.link.config.selectorFn('followSelectors');
785
839
  const preloadSelectorFn = up.link.config.selectorFn('preloadSelectors');
786
840
  up.migrate.renamedAttribute('up-flavor', 'up-mode', { scope: followSelectorFn });
787
- up.migrate.renamedAttribute('up-closable', 'up-dismissable', { scope: followSelectorFn });
841
+ up.migrate.renamedAttribute('up-closable', 'up-dismissible', { scope: followSelectorFn });
842
+ up.migrate.renamedAttribute('up-dismissable', 'up-dismissible', { scope: followSelectorFn });
788
843
  up.migrate.removedAttribute('up-width', { scope: followSelectorFn, replacement: '[up-size] or [up-class]' });
789
844
  up.migrate.removedAttribute('up-height', { scope: followSelectorFn, replacement: '[up-size] or [up-class]' });
790
845
  up.migrate.renamedAttribute('up-history-visible', 'up-history', { scope: followSelectorFn });
@@ -890,12 +945,13 @@ up.compiler(LEGACY_UP_HREF_FOLLOW_SELECTOR, function (element) {
890
945
 
891
946
 
892
947
  /***/ }),
893
- /* 17 */
948
+ /* 18 */
894
949
  /***/ (() => {
895
950
 
896
951
  up.migrate.handleLayerOptions = function (options) {
897
952
  up.migrate.fixKey(options, 'flavor', 'mode');
898
- up.migrate.fixKey(options, 'closable', 'dismissable');
953
+ up.migrate.fixKey(options, 'closable', 'dismissible');
954
+ up.migrate.fixKey(options, 'dismissable', 'dismissible');
899
955
  up.migrate.fixKey(options, 'closeLabel', 'dismissLabel');
900
956
  up.migrate.fixKey(options, 'dismissAriaLabel', 'dismissARIALabel');
901
957
  for (let dimensionKey of ['width', 'maxWidth', 'height']) {
@@ -942,7 +998,7 @@ Object.defineProperty(up.Layer.prototype, 'historyVisible', { get: function () {
942
998
 
943
999
 
944
1000
  /***/ }),
945
- /* 18 */
1001
+ /* 19 */
946
1002
  /***/ (() => {
947
1003
 
948
1004
  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 +1057,7 @@ up.migrate.targetMacro('up-drawer', { 'up-layer': 'new drawer' }, () => up.migra
1001
1057
 
1002
1058
 
1003
1059
  /***/ }),
1004
- /* 19 */
1060
+ /* 20 */
1005
1061
  /***/ (() => {
1006
1062
 
1007
1063
  up.popup = {
@@ -1049,7 +1105,7 @@ up.migrate.targetMacro('up-popup', { 'up-layer': 'new popup' }, () => up.migrate
1049
1105
 
1050
1106
 
1051
1107
  /***/ }),
1052
- /* 20 */
1108
+ /* 21 */
1053
1109
  /***/ (() => {
1054
1110
 
1055
1111
  up.macro('[up-tooltip]', function (opener) {
@@ -1059,7 +1115,7 @@ up.macro('[up-tooltip]', function (opener) {
1059
1115
 
1060
1116
 
1061
1117
  /***/ }),
1062
- /* 21 */
1118
+ /* 22 */
1063
1119
  /***/ (() => {
1064
1120
 
1065
1121
  up.migrate.clearCacheFromXHR = function (xhr) {
@@ -1086,10 +1142,24 @@ up.migrate.titleFromXHR = function (xhr) {
1086
1142
  }
1087
1143
  }
1088
1144
  };
1145
+ up.protocol.config.patch(function () {
1146
+ const cspNonceMoved = () => up.migrate.deprecated('up.protocol.config.cspNonce', 'up.script.config.cspNonce');
1147
+ Object.defineProperty(this, 'cspNonce', {
1148
+ configurable: true,
1149
+ get() {
1150
+ cspNonceMoved();
1151
+ return up.script.config.cspNonce;
1152
+ },
1153
+ set(value) {
1154
+ cspNonceMoved();
1155
+ up.script.config.cspNonce = value;
1156
+ }
1157
+ });
1158
+ });
1089
1159
 
1090
1160
 
1091
1161
  /***/ }),
1092
- /* 22 */
1162
+ /* 23 */
1093
1163
  /***/ (() => {
1094
1164
 
1095
1165
  const u = up.util;
@@ -1214,7 +1284,7 @@ up.network.config.patch(function (config) {
1214
1284
 
1215
1285
 
1216
1286
  /***/ }),
1217
- /* 23 */
1287
+ /* 24 */
1218
1288
  /***/ (() => {
1219
1289
 
1220
1290
  const e = up.element;
@@ -1244,7 +1314,7 @@ up.compiler('[up-hungry][up-if-history]', function (element) {
1244
1314
 
1245
1315
 
1246
1316
  /***/ }),
1247
- /* 24 */
1317
+ /* 25 */
1248
1318
  /***/ (() => {
1249
1319
 
1250
1320
  up.migrate.renamedPackage('layout', 'viewport');
@@ -1324,6 +1394,7 @@ __webpack_require__(21);
1324
1394
  __webpack_require__(22);
1325
1395
  __webpack_require__(23);
1326
1396
  __webpack_require__(24);
1397
+ __webpack_require__(25);
1327
1398
  up.framework.stopExtension();
1328
1399
 
1329
1400
  })();
@@ -1 +1,2 @@
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)}},750(){up.Config.prototype.patch=function(e){let u=e.bind(this,this);u(),document.addEventListener("up:framework:reset",u)}},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()}},204(){up.migrate.renamedProperty(up.RenderJob.prototype,"options","renderOptions","up.RenderJob: Property { options } has been renamed to { renderOptions }")},838(){up.migrate.renamedProperty(up.RenderResult.prototype,"options","renderOptions","up.RenderResult: Property { options } has been renamed to { renderOptions }")},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,u){return up.migrate.deprecated("up.element.matches()","Element#matches()"),e.matches(u)},up.element.closest=function(e,u){return up.migrate.deprecated("up.element.closest()","Element#closest()"),e.closest(u)},up.element.replace=function(e,u){return up.migrate.deprecated("up.element.replace()","Element#replaceWith()"),e.replaceWith(u)},up.element.all=function(...e){up.migrate.deprecated("up.element.all()","Document#querySelectorAll() or Element#querySelectorAll()");const u=e.pop();return(e[0]||document).querySelectorAll(u)},up.element.toggleClass=function(e,u,t){up.migrate.deprecated("up.element.toggleClass()","element.classList.toggle()");const p=e.classList;return null==t&&(t=!p.contains(u)),t?p.add(u):p.remove(u)},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)}},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}})},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 u=e.pop();return u.upNativeCallback=function(e,t,p){let o=jQuery(t);u.call(o,e,o,p)},up.on(...e,u.upNativeCallback)},up.$off=function(...e){up.migrate.deprecated("up.$off()","up.off()");let u=e.pop().upNativeCallback;return u||up.fail("The callback passed to up.$off() was never registered with up.$on()"),up.off(...e,u)}},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 u=e.replace(/:has\((:origin|&)\)$/,"");return e!==u&&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),u})},up.migrate.watchForSwitch=function(e,u){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",u)},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 u=e.shift();up.migrate.warn("Calling up.observe() with a list of multiple elements is no longer supported by up.watch()");let t=up.util.map(u,u=>up.watch(u,...e));return up.util.sequence(t)}return up.watch(...e)}},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 u=()=>up.migrate.deprecated("up.fragment.config.matchAroundOrigin","up.fragment.config.match");Object.defineProperty(e,"matchAroundOrigin",{configurable:!0,get:function(){return u(),"closest"===this.match},set:function(e){u(),this.match=e?"region":"first"}})}),up.replace=function(e,u,t){return up.migrate.deprecated("up.replace(target, url)","up.navigate(target, { url })"),up.navigate(Object.assign(Object.assign({},t),{target:e,url:u}))},up.extract=function(e,u,t){return up.migrate.deprecated("up.extract(target, document)","up.navigate(target, { document })"),up.navigate(Object.assign(Object.assign({},t),{target:e,document:u}))},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(u){e.isString(u.history)&&"auto"!==u.history&&(up.migrate.warn("Passing a URL as { history } option is deprecated. Pass it as { location } instead."),u.location=u.history,u.history="auto");for(let t of["target","origin"])e.isJQuery(u[t])&&(up.migrate.warn("Passing a jQuery collection as { %s } is deprecated. Pass it as a native element instead.",t),u[t]=up.element.get(u[t]));"auto"===u.fail&&(up.migrate.warn("The option { fail: 'auto' } is deprecated. Omit the option instead."),delete u.fail);let t=e.pluckKey(u,"solo");e.isString(t)?(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."),u.abort=e=>up.network.abort(t,e)):e.isFunction(t)?(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."),u.abort=e=>{up.network.abort(t,e)}):!0===t?(up.migrate.deprecated("Option { solo: true }","{ abort: 'all' }"),u.abort="all"):!1===t&&(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."),u.abort=!1),up.migrate.fixKey(u,"failOnFinished","onFailFinished"),up.migrate.fixKey(u,"badResponseTime","lateDelay"),e.isString(u.reveal)?(up.migrate.deprecated(`Option { reveal: '${u.reveal}' }`,`{ scroll: '${u.reveal}' }`),u.scroll=u.reveal):!0===u.reveal?(up.migrate.deprecated("Option { reveal: true }","{ scroll: 'target' }"),u.scroll="target"):!1===u.reveal&&(up.migrate.deprecated("Option { reveal: false }","{ scroll: false }"),u.scroll=!1),!0===u.resetScroll&&(up.migrate.deprecated("Option { resetScroll: true }","{ scroll: 'top' }"),u.scroll="reset"),!1===u.resetScroll&&(up.migrate.deprecated("Option { resetScroll: false }","{ scroll: false }"),u.scroll=!1),!0===u.restoreScroll&&(up.migrate.deprecated("Option { restoreScroll: true }","{ scroll: 'restore' }"),u.scroll="restore"),!1===u.restoreScroll&&(up.migrate.deprecated("Option { restoreScroll: false }","{ scroll: false }"),u.scroll=!1),"reset"===u.scroll&&(up.migrate.deprecated("Option { scroll: 'reset'' }","{ scroll: 'top' }"),u.scroll="top")},up.migrate.postprocessReloadOptions=function(e){var u;let t,p=null===(u=e.headers)||void 0===u?void 0:u["If-Modified-Since"];t=p?Math.floor(.001*new Date(p)).toString():"0",e.headers[up.protocol.headerize("reloadFromTime")]=t},up.migrate.resolveOrigin=function(e,{origin:u}={}){return e.replace(/"[^"]*"|'[^']*'|&|:origin\b/g,function(t){return":origin"!==t&&"&"!==t?t:("&"===t&&up.migrate.deprecated("Origin shorthand '&'",":origin"),u?up.fragment.toTarget(u):void up.fail('Missing { origin } element to resolve "%s" reference (found in %s)',t,e))})},up.fragment.config.patch(function(){Object.defineProperty(this,"runScripts",{configurable:!0,get(){switch(up.migrate.deprecated("up.fragment.config.runScripts",'up.script.config.scriptElementPolicy = "auto"'),up.script.config.scriptElementPolicy){case"auto":case"pass":return!0;case"block":return!1;case"nonce":return e=>!!e.nonce}},set(u){!0===u?(up.migrate.deprecated("up.fragment.config.runScripts = true",'up.script.config.scriptElementPolicy = "auto"'),up.script.config.scriptElementPolicy="auto"):!1===u?(up.migrate.deprecated("up.fragment.config.runScripts = false",'up.script.config.scriptElementPolicy = "block"'),up.script.config.scriptElementPolicy="block"):e.isFunction(u)&&(up.migrate.warn("up.fragment.config.runScripts has been replaced by up.script.config.scriptElementPolicy, but no longer supports a function value."),up.script.config.scriptElementPolicy="block")}})}),up.compiler("[up-keep]",function(u){let t=up.element.booleanOrStringAttr(u,"up-keep");e.isString(t)&&/[.[#]/.test(t)&&(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()"]. '),u.addEventListener("up:fragment:keep",function(e){e.target!==u||e.newFragment.matches(t)||e.preventDefault()}),u.setAttribute("up-keep",""))})},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')},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 u=up.radio.config.selector("hungrySelectors"),t=up.util.filter(e,e=>e.matches(u));t.length&&up.migrate.warn("Meta tags in the <head> are now updated automatically. Remove the [up-hungry] attribute from %o.",t)}},516(){up.migrate.handleLayerOptions=function(e){up.migrate.fixKey(e,"flavor","mode"),up.migrate.fixKey(e,"closable","dismissible"),up.migrate.fixKey(e,"dismissable","dismissible"),up.migrate.fixKey(e,"closeLabel","dismissLabel"),up.migrate.fixKey(e,"dismissAriaLabel","dismissARIALabel");for(let u of["width","maxWidth","height"])e[u]&&up.migrate.warn(`Layer option { ${u} } 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[u,t]=e.position.split("-");t&&(up.migrate.warn("The position value %o is deprecated. Use %o instead.",e.position,{position:u,align:t}),e.position=u,e.align=t)},up.migrate.registerLayerCloser=e=>e.registerAttrCloser("up-close",(u,t)=>{up.migrate.deprecated("[up-close]","[up-dismiss]"),e.dismiss(u,t)}),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}})},429(){const e=up.link.config.selectorFn("followSelectors"),u=up.link.config.selectorFn("preloadSelectors");let t;up.migrate.renamedAttribute("up-flavor","up-mode",{scope:e}),up.migrate.renamedAttribute("up-closable","up-dismissible",{scope:e}),up.migrate.renamedAttribute("up-dismissable","up-dismissible",{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,u){switch(u){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,u){switch(u){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"]',u)}}),up.migrate.transformAttribute("up-reset-scroll",function(e,u){switch(u){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,u){switch(u){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:u}),up.link.config.patch(function(e){e.preloadEnabled=!0,t=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){t[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)})},832(){const e=up.util;up.migrate=function(){const u=new up.Config(()=>({logLevel:"warn"}));function t(u,...t){let p=e.extractCallback(t),{scope:o}=e.extractOptions(t),n=o||`[${u}]`;up.macro(n,{priority:-1e3},function(e){if(e.hasAttribute(u)){let t=e.getAttribute(u);p(e,t)}})}const p={},o={};function n(e){let u=p[e];if(u)return a(`Event ${e} has been renamed to ${u}`),u;if(e in o){let u=`Event ${e} has been removed`,t=o[e];return t&&(u+=`. Use ${t} instead.`),a(u),e}return e}let r={};const a=up.mockable((t,...p)=>{const o=e.sprintf(t,...p),n=u.logLevel;"none"===n||r[o]||(r[o]=!0,up.log[n]("unpoly-migrate",t,...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(u){return/[A-Z]/.test(u)?(a(`CSS property names must be in kebab-case, but got camelCase "${u}"`),e.camelToKebabCase(u)):u}function l(e,u,t){return!t&&i.includes(e)&&/^[\d.]+$/.test(u)?(a(`CSS length values must have a unit, but got "${e}: ${u}". Use "${e}: ${u}px" instead.`),u+"px"):u}return up.on("up:framework:reset",function(){r={}}),{deprecated:function(e,u){a(`${e} has been deprecated. Use ${u} instead.`)},renamedPackage:function(e,u){Object.defineProperty(up,e,{configurable:!0,get:()=>(a(`up.${e} has been renamed to up.${u}`),up[u])})},renamedProperty:function(u,t,p,o){const n=e.memoize(()=>o?a(o):a("Property { %s } has been renamed to { %s } (found in %o)",t,p,u));Object.defineProperty(u,t,{configurable:!0,get(){return n(),this[p]},set(e){n(),this[p]=e}})},removedProperty:function(u,t,p){const o=e.memoize(()=>p?a(p):a("Property { %s } has been removed without replacement (found in %o)",t,u));let n=[u[t]];return Object.defineProperty(u,t,{configurable:!0,get:()=>(o(),n[0]),set(e){o(),n[0]=e}}),n},defineThrowingProps:function(e,u,t){let p=()=>{throw new TypeError(t)};for(const t of Object.getOwnPropertyNames(u))t in e||Object.defineProperty(e,t,{get:p,set:p,enumerable:!1,configurable:!1})},forbiddenPropertyValue:function(e,u,t,p){let o=e[u];Object.defineProperty(e,u,{configurable:!0,get:()=>o,set(e){if(e===t)throw new Error(p);o=e}})},transformAttribute:t,renamedAttribute:function(u,p,{scope:o,mapValue:n}={}){t(u,{scope:o},function(t,o){a("Attribute [%s] has been renamed to [%s] (found in %o)",u,p,t),n&&(o=e.evalOption(n,o)),t.setAttribute(p,o)})},removedAttribute:function(e,{scope:u,replacement:p}={}){t(e,{scope:u},function(u,t){p?a("Attribute [%s] has been removed (found in %o). Use %s instead.",e,u,p):a("Attribute [%s] has been removed without replacement (found in %o)",e,u)})},formerlyAsync:function(e){const u=Promise.resolve(),t=u.then;return u.then=function(){return a(`${e} is now sync and no longer returns a promise`),t.apply(this,arguments)},u},renamedEvent:function(e,u){p[e]=u},removedEvent:function(e,u=null){o[e]=u},fixGetStyleProps:function(u){let t;return t=e.isString(u)?s(u):e.isArray(u)?u.map(s):u,t},fixSetStyleProps:function(u,t){let p;if(e.isObject(u)){p={};for(let e in u){let o=u[e];e=s(e),o=l(e,o,t),p[e]=o}}else p=u;return p},fixEventTypes:function(u){return e.uniq(e.map(u,n))},fixKey:function(u,t,p){e.isDefined(u[t])&&(a("Property { %s } has been renamed to { %s } (found in %o)",t,p,u),e.renameKey(u,t,p))},warn:a,loaded:!0,config:u}}()},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,u={})=>(up.migrate.deprecated("up.modal.visit(url)",'up.layer.open({ url, mode: "modal" })'),up.layer.open(Object.assign(Object.assign({},u),{url:e,mode:"modal"}))),follow:(e,u={})=>(up.migrate.deprecated("up.modal.follow(link)",'up.follow(link, { layer: "modal" })'),up.follow(e,Object.assign(Object.assign({},u),{layer:"modal"}))),extract:(e,u,t={})=>(up.migrate.deprecated("up.modal.extract(target, document)",'up.layer.open({ document, mode: "modal" })'),up.layer.open(Object.assign(Object.assign({},t),{target:e,html:u,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"]'))},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 u=()=>up.migrate.deprecated("up.proxy.config.preloadDelay","up.link.config.preloadDelay");Object.defineProperty(e,"preloadDelay",{configurable:!0,get:()=>(u(),up.link.config.preloadDelay),set(e){u(),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(u){2===u.length&&e.isString(u[1])&&(up.migrate.warn("up.network.abort() no longer takes a reason as a second argument. Pass it as { reason } option instead."),u[1]={reason:u[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 u=up.network.config.progressBar;up.network.config.patch(function(t){t.progressBar=function(){return function(){const u=up.EventListener.allNonDefault(document);return e.find(u,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):u}}),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")})},67(){up.popup={attach:(e,u={})=>(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({},u),{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"]'))},269(){up.migrate.clearCacheFromXHR=function(e){let u=e.getResponseHeader("X-Up-Clear-Cache");if(u)return up.migrate.deprecated("X-Up-Clear-Cache","X-Up-Expire-Cache"),"false"!==u&&u},up.migrate.titleFromXHR=function(e){let u=e.getResponseHeader("X-Up-Title");if(u){if("false"===u)return!1;if('"'!==u[0]&&"'"!==u[0])return up.migrate.warn("X-Up-Title must now be a JSON-encoded string"),u}},up.protocol.config.patch(function(){const e=()=>up.migrate.deprecated("up.protocol.config.cspNonce","up.script.config.cspNonce");Object.defineProperty(this,"cspNonce",{configurable:!0,get:()=>(e(),up.script.config.cspNonce),set(u){e(),up.script.config.cspNonce=u}})})},162(){const e=up.element;let u;up.radio.config.patch(function(e){up.migrate.renamedProperty(e,"hungry","hungrySelectors")}),up.radio.config.pollEnabled=!0,up.radio.config.patch(function(e){u=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){u[0]||e.preventDefault()}),up.compiler("[up-hungry][up-if-history]",function(u){e.booleanAttr(u,"up-if-history")&&u.addEventListener("up:fragment:hungry",function(e){e.renderOptions.history||e.preventDefault()})})},834(){const e=up.util,u=up.element;up.migrate.renamedPackage("syntax","script"),up.migrate.postCompile=function(u,t){let p;if(p=t.keep){up.migrate.warn("The { keep: true } option for up.compiler() has been removed. Have the compiler set [up-keep] attribute instead.");const t=e.isString(p)?p:"";for(let e of u)e.setAttribute("up-keep",t)}},up.migrate.targetMacro=function(t,p,o){up.macro(`[${t}]`,function(n){let r;const a=e.copy(p);(r=n.getAttribute(t))?a["up-target"]=r:a["up-follow"]="",u.setMissingAttrs(n,a),n.removeAttribute(t),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 u=e.pop();return up.compiler(...e,function(e,...t){let p=jQuery(e);return u(p,...t)})},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 u=e.pop();return up.macro(...e,function(e,...t){let p=jQuery(e);return u(p,...t)})},up.migrate.processHelloMeta=function(e,u){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."),u)})};let t=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,...u){let p=t(e,...u);return WasElementIsPromise.resolve(p)}},947(){up.migrate.renamedPackage("navigation","status"),up.migrate.renamedPackage("feedback","status"),up.status.config.patch(function(e){up.migrate.renamedProperty(e,"navs","navSelectors")})},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"))})},89(){up.util.only=function(e,...u){return up.migrate.deprecated("up.util.only(object, ...keys)","up.util.pick(object, keys)"),up.util.pick(e,u)},up.util.except=function(e,...u){return up.migrate.deprecated("up.util.except(object, ...keys)","up.util.omit(object, keys)"),up.util.omit(e,u)},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,u){up.migrate.deprecated("up.util.times()","a `for` loop");for(let t=0;t<e;t++)u()},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 u=e.split(/\s+or\s+/);if(u.length>=2)return up.migrate.warn(`Separating tokens by \`or\` has been deprecated. Use a comma (\`,\`) instead. Found in "${e}".`),u}},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,u,t={}){return up.migrate.deprecated("up.scroll()","Element#scrollTo()"),(e=up.fragment.get(e,t)).scrollTo(Object.assign(Object.assign({},t),{top:u})),up.migrate.formerlyAsync("up.scroll()")},up.scroll=up.viewport.scroll}},u={};function t(p){var o=u[p];if(void 0!==o)return o.exports;var n=u[p]={exports:{}};return e[p](n,n.exports,t),n.exports}up.framework.startExtension(),t(832),t(750),t(204),t(838),t(959),t(89),t(635),t(33),t(989),t(993),t(834),t(267),t(997),t(753),t(789),t(947),t(429),t(516),t(992),t(67),t(154),t(269),t(391),t(162),t(763),up.framework.stopExtension()})();
2
+ //# sourceMappingURL=unpoly-migrate.min.js.map