unpoly-rails 3.10.2 → 3.11.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.md +84 -71
 - data/assets/unpoly/unpoly-bootstrap3.min.js +1 -1
 - data/assets/unpoly/unpoly-bootstrap4.min.js +1 -1
 - data/assets/unpoly/unpoly-bootstrap5.min.js +1 -1
 - data/assets/unpoly/unpoly-migrate.js +46 -15
 - data/assets/unpoly/unpoly-migrate.min.js +1 -1
 - data/assets/unpoly/unpoly.css +1 -0
 - data/assets/unpoly/unpoly.es6.js +1004 -652
 - data/assets/unpoly/unpoly.es6.min.js +1 -1
 - data/assets/unpoly/unpoly.js +1000 -647
 - data/assets/unpoly/unpoly.min.css +1 -1
 - data/assets/unpoly/unpoly.min.js +1 -1
 - data/lib/unpoly/rails/change/cache.rb +11 -4
 - data/lib/unpoly/rails/change/layer.rb +9 -2
 - data/lib/unpoly/rails/change.rb +11 -0
 - data/lib/unpoly/rails/version.rb +1 -1
 - metadata +5 -5
 
    
        data/assets/unpoly/unpoly.js
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ 
     | 
|
| 
       5 
5 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            window.up = {
         
     | 
| 
       8 
     | 
    
         
            -
                version: '3. 
     | 
| 
      
 8 
     | 
    
         
            +
                version: '3.11.0-rc1'
         
     | 
| 
       9 
9 
     | 
    
         
             
            };
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         | 
| 
         @@ -116,7 +116,7 @@ up.util = (function () { 
     | 
|
| 
       116 
116 
     | 
    
         
             
                }
         
     | 
| 
       117 
117 
     | 
    
         
             
                function iteratee(block) {
         
     | 
| 
       118 
118 
     | 
    
         
             
                    if (isString(block)) {
         
     | 
| 
       119 
     | 
    
         
            -
                        return item => item[block];
         
     | 
| 
      
 119 
     | 
    
         
            +
                        return (item) => item[block];
         
     | 
| 
       120 
120 
     | 
    
         
             
                    }
         
     | 
| 
       121 
121 
     | 
    
         
             
                    else {
         
     | 
| 
       122 
122 
     | 
    
         
             
                        return block;
         
     | 
| 
         @@ -135,11 +135,7 @@ up.util = (function () { 
     | 
|
| 
       135 
135 
     | 
    
         
             
                    return mapped;
         
     | 
| 
       136 
136 
     | 
    
         
             
                }
         
     | 
| 
       137 
137 
     | 
    
         
             
                function mapObject(array, pairer) {
         
     | 
| 
       138 
     | 
    
         
            -
                     
     | 
| 
       139 
     | 
    
         
            -
                        object[pair[0]] = pair[1];
         
     | 
| 
       140 
     | 
    
         
            -
                        return object;
         
     | 
| 
       141 
     | 
    
         
            -
                    };
         
     | 
| 
       142 
     | 
    
         
            -
                    return map(array, pairer).reduce(merger, {});
         
     | 
| 
      
 138 
     | 
    
         
            +
                    return Object.fromEntries(array.map(pairer));
         
     | 
| 
       143 
139 
     | 
    
         
             
                }
         
     | 
| 
       144 
140 
     | 
    
         
             
                function each(array, block) {
         
     | 
| 
       145 
141 
     | 
    
         
             
                    let i = 0;
         
     | 
| 
         @@ -147,15 +143,15 @@ up.util = (function () { 
     | 
|
| 
       147 
143 
     | 
    
         
             
                        block(item, i++);
         
     | 
| 
       148 
144 
     | 
    
         
             
                    }
         
     | 
| 
       149 
145 
     | 
    
         
             
                }
         
     | 
| 
       150 
     | 
    
         
            -
                function isNull( 
     | 
| 
       151 
     | 
    
         
            -
                    return  
     | 
| 
      
 146 
     | 
    
         
            +
                function isNull(value) {
         
     | 
| 
      
 147 
     | 
    
         
            +
                    return value === null;
         
     | 
| 
       152 
148 
     | 
    
         
             
                }
         
     | 
| 
       153 
     | 
    
         
            -
                function isUndefined( 
     | 
| 
       154 
     | 
    
         
            -
                    return  
     | 
| 
      
 149 
     | 
    
         
            +
                function isUndefined(value) {
         
     | 
| 
      
 150 
     | 
    
         
            +
                    return value === undefined;
         
     | 
| 
       155 
151 
     | 
    
         
             
                }
         
     | 
| 
       156 
152 
     | 
    
         
             
                const isDefined = negate(isUndefined);
         
     | 
| 
       157 
     | 
    
         
            -
                function isMissing( 
     | 
| 
       158 
     | 
    
         
            -
                    return isUndefined( 
     | 
| 
      
 153 
     | 
    
         
            +
                function isMissing(value) {
         
     | 
| 
      
 154 
     | 
    
         
            +
                    return isUndefined(value) || isNull(value);
         
     | 
| 
       159 
155 
     | 
    
         
             
                }
         
     | 
| 
       160 
156 
     | 
    
         
             
                const isGiven = negate(isMissing);
         
     | 
| 
       161 
157 
     | 
    
         
             
                function isBlank(value) {
         
     | 
| 
         @@ -180,49 +176,49 @@ up.util = (function () { 
     | 
|
| 
       180 
176 
     | 
    
         
             
                    }
         
     | 
| 
       181 
177 
     | 
    
         
             
                }
         
     | 
| 
       182 
178 
     | 
    
         
             
                const isPresent = negate(isBlank);
         
     | 
| 
       183 
     | 
    
         
            -
                function isFunction( 
     | 
| 
       184 
     | 
    
         
            -
                    return typeof ( 
     | 
| 
      
 179 
     | 
    
         
            +
                function isFunction(value) {
         
     | 
| 
      
 180 
     | 
    
         
            +
                    return typeof (value) === 'function';
         
     | 
| 
       185 
181 
     | 
    
         
             
                }
         
     | 
| 
       186 
     | 
    
         
            -
                function isString( 
     | 
| 
       187 
     | 
    
         
            -
                    return (typeof ( 
     | 
| 
      
 182 
     | 
    
         
            +
                function isString(value) {
         
     | 
| 
      
 183 
     | 
    
         
            +
                    return (typeof (value) === 'string') || value instanceof String;
         
     | 
| 
       188 
184 
     | 
    
         
             
                }
         
     | 
| 
       189 
     | 
    
         
            -
                function isBoolean( 
     | 
| 
       190 
     | 
    
         
            -
                    return (typeof ( 
     | 
| 
      
 185 
     | 
    
         
            +
                function isBoolean(value) {
         
     | 
| 
      
 186 
     | 
    
         
            +
                    return (typeof (value) === 'boolean') || value instanceof Boolean;
         
     | 
| 
       191 
187 
     | 
    
         
             
                }
         
     | 
| 
       192 
     | 
    
         
            -
                function isNumber( 
     | 
| 
       193 
     | 
    
         
            -
                    return (typeof ( 
     | 
| 
      
 188 
     | 
    
         
            +
                function isNumber(value) {
         
     | 
| 
      
 189 
     | 
    
         
            +
                    return (typeof (value) === 'number') || value instanceof Number;
         
     | 
| 
       194 
190 
     | 
    
         
             
                }
         
     | 
| 
       195 
     | 
    
         
            -
                function isOptions( 
     | 
| 
       196 
     | 
    
         
            -
                    return (typeof ( 
     | 
| 
      
 191 
     | 
    
         
            +
                function isOptions(value) {
         
     | 
| 
      
 192 
     | 
    
         
            +
                    return (typeof (value) === 'object') && !isNull(value) && (isUndefined(value.constructor) || (value.constructor === Object));
         
     | 
| 
       197 
193 
     | 
    
         
             
                }
         
     | 
| 
       198 
     | 
    
         
            -
                function isObject( 
     | 
| 
       199 
     | 
    
         
            -
                    const typeOfResult = typeof ( 
     | 
| 
       200 
     | 
    
         
            -
                    return ((typeOfResult === 'object') && !isNull( 
     | 
| 
      
 194 
     | 
    
         
            +
                function isObject(value) {
         
     | 
| 
      
 195 
     | 
    
         
            +
                    const typeOfResult = typeof (value);
         
     | 
| 
      
 196 
     | 
    
         
            +
                    return ((typeOfResult === 'object') && !isNull(value)) || (typeOfResult === 'function');
         
     | 
| 
       201 
197 
     | 
    
         
             
                }
         
     | 
| 
       202 
     | 
    
         
            -
                function isElement( 
     | 
| 
       203 
     | 
    
         
            -
                    return  
     | 
| 
      
 198 
     | 
    
         
            +
                function isElement(value) {
         
     | 
| 
      
 199 
     | 
    
         
            +
                    return value instanceof Element;
         
     | 
| 
       204 
200 
     | 
    
         
             
                }
         
     | 
| 
       205 
     | 
    
         
            -
                function isTextNode( 
     | 
| 
       206 
     | 
    
         
            -
                    return  
     | 
| 
      
 201 
     | 
    
         
            +
                function isTextNode(value) {
         
     | 
| 
      
 202 
     | 
    
         
            +
                    return value instanceof Text;
         
     | 
| 
       207 
203 
     | 
    
         
             
                }
         
     | 
| 
       208 
     | 
    
         
            -
                function isRegExp( 
     | 
| 
       209 
     | 
    
         
            -
                    return  
     | 
| 
      
 204 
     | 
    
         
            +
                function isRegExp(value) {
         
     | 
| 
      
 205 
     | 
    
         
            +
                    return value instanceof RegExp;
         
     | 
| 
       210 
206 
     | 
    
         
             
                }
         
     | 
| 
       211 
     | 
    
         
            -
                function isError( 
     | 
| 
       212 
     | 
    
         
            -
                    return  
     | 
| 
      
 207 
     | 
    
         
            +
                function isError(value) {
         
     | 
| 
      
 208 
     | 
    
         
            +
                    return value instanceof Error;
         
     | 
| 
       213 
209 
     | 
    
         
             
                }
         
     | 
| 
       214 
     | 
    
         
            -
                function isJQuery( 
     | 
| 
       215 
     | 
    
         
            -
                    return up.browser.canJQuery() &&  
     | 
| 
      
 210 
     | 
    
         
            +
                function isJQuery(value) {
         
     | 
| 
      
 211 
     | 
    
         
            +
                    return up.browser.canJQuery() && value instanceof jQuery;
         
     | 
| 
       216 
212 
     | 
    
         
             
                }
         
     | 
| 
       217 
     | 
    
         
            -
                function isElementLike( 
     | 
| 
       218 
     | 
    
         
            -
                    return !!( 
     | 
| 
      
 213 
     | 
    
         
            +
                function isElementLike(value) {
         
     | 
| 
      
 214 
     | 
    
         
            +
                    return !!(value && (value.addEventListener || (isJQuery(value) && value[0]?.addEventListener)));
         
     | 
| 
       219 
215 
     | 
    
         
             
                }
         
     | 
| 
       220 
     | 
    
         
            -
                function isPromise( 
     | 
| 
       221 
     | 
    
         
            -
                    return isObject( 
     | 
| 
      
 216 
     | 
    
         
            +
                function isPromise(value) {
         
     | 
| 
      
 217 
     | 
    
         
            +
                    return isObject(value) && isFunction(value.then);
         
     | 
| 
       222 
218 
     | 
    
         
             
                }
         
     | 
| 
       223 
219 
     | 
    
         
             
                const { isArray } = Array;
         
     | 
| 
       224 
     | 
    
         
            -
                function isFormData( 
     | 
| 
       225 
     | 
    
         
            -
                    return  
     | 
| 
      
 220 
     | 
    
         
            +
                function isFormData(value) {
         
     | 
| 
      
 221 
     | 
    
         
            +
                    return value instanceof FormData;
         
     | 
| 
       226 
222 
     | 
    
         
             
                }
         
     | 
| 
       227 
223 
     | 
    
         
             
                function toArray(value) {
         
     | 
| 
       228 
224 
     | 
    
         
             
                    return isArray(value) ? value : copyArrayLike(value);
         
     | 
| 
         @@ -389,13 +385,15 @@ up.util = (function () { 
     | 
|
| 
       389 
385 
     | 
    
         
             
                    return filterList(list, tester);
         
     | 
| 
       390 
386 
     | 
    
         
             
                }
         
     | 
| 
       391 
387 
     | 
    
         
             
                function intersect(array1, array2) {
         
     | 
| 
       392 
     | 
    
         
            -
                    return filterList(array1, element => contains(array2, element));
         
     | 
| 
      
 388 
     | 
    
         
            +
                    return filterList(array1, (element) => contains(array2, element));
         
     | 
| 
       393 
389 
     | 
    
         
             
                }
         
     | 
| 
       394 
390 
     | 
    
         
             
                function scheduleTimer(millis, callback) {
         
     | 
| 
       395 
391 
     | 
    
         
             
                    return setTimeout(callback, millis);
         
     | 
| 
       396 
392 
     | 
    
         
             
                }
         
     | 
| 
       397 
393 
     | 
    
         
             
                function queueTask(task) {
         
     | 
| 
       398 
     | 
    
         
            -
                     
     | 
| 
      
 394 
     | 
    
         
            +
                    const channel = new MessageChannel();
         
     | 
| 
      
 395 
     | 
    
         
            +
                    channel.port1.onmessage = () => task();
         
     | 
| 
      
 396 
     | 
    
         
            +
                    channel.port2.postMessage(0);
         
     | 
| 
       399 
397 
     | 
    
         
             
                }
         
     | 
| 
       400 
398 
     | 
    
         
             
                function last(value) {
         
     | 
| 
       401 
399 
     | 
    
         
             
                    return value[value.length - 1];
         
     | 
| 
         @@ -462,7 +460,7 @@ up.util = (function () { 
     | 
|
| 
       462 
460 
     | 
    
         
             
                    "'": '''
         
     | 
| 
       463 
461 
     | 
    
         
             
                };
         
     | 
| 
       464 
462 
     | 
    
         
             
                function escapeHTML(string) {
         
     | 
| 
       465 
     | 
    
         
            -
                    return string.replace(/[&<>"']/g, char => ESCAPE_HTML_ENTITY_MAP[char]);
         
     | 
| 
      
 463 
     | 
    
         
            +
                    return string.replace(/[&<>"']/g, (char) => ESCAPE_HTML_ENTITY_MAP[char]);
         
     | 
| 
       466 
464 
     | 
    
         
             
                }
         
     | 
| 
       467 
465 
     | 
    
         
             
                function escapeRegExp(string) {
         
     | 
| 
       468 
466 
     | 
    
         
             
                    return string.replace(/[\\^$*+?.()|[\]{}]/g, '\\$&');
         
     | 
| 
         @@ -491,9 +489,9 @@ up.util = (function () { 
     | 
|
| 
       491 
489 
     | 
    
         
             
                function identity(arg) {
         
     | 
| 
       492 
490 
     | 
    
         
             
                    return arg;
         
     | 
| 
       493 
491 
     | 
    
         
             
                }
         
     | 
| 
       494 
     | 
    
         
            -
                function sequence( 
     | 
| 
       495 
     | 
    
         
            -
                    functions =  
     | 
| 
       496 
     | 
    
         
            -
                    return (...args) => map(functions, fn => fn(...args));
         
     | 
| 
      
 492 
     | 
    
         
            +
                function sequence(...args) {
         
     | 
| 
      
 493 
     | 
    
         
            +
                    let functions = scanFunctions(...args);
         
     | 
| 
      
 494 
     | 
    
         
            +
                    return (...args) => map(functions, (fn) => fn(...args));
         
     | 
| 
       497 
495 
     | 
    
         
             
                }
         
     | 
| 
       498 
496 
     | 
    
         
             
                function flatten(array) {
         
     | 
| 
       499 
497 
     | 
    
         
             
                    const flattened = [];
         
     | 
| 
         @@ -547,7 +545,7 @@ up.util = (function () { 
     | 
|
| 
       547 
545 
     | 
    
         
             
                        const aKeys = Object.keys(a);
         
     | 
| 
       548 
546 
     | 
    
         
             
                        const bKeys = Object.keys(b);
         
     | 
| 
       549 
547 
     | 
    
         
             
                        if (isEqualList(aKeys, bKeys)) {
         
     | 
| 
       550 
     | 
    
         
            -
                            return every(aKeys, aKey => isEqual(a[aKey], b[aKey]));
         
     | 
| 
      
 548 
     | 
    
         
            +
                            return every(aKeys, (aKey) => isEqual(a[aKey], b[aKey]));
         
     | 
| 
       551 
549 
     | 
    
         
             
                        }
         
     | 
| 
       552 
550 
     | 
    
         
             
                        else {
         
     | 
| 
       553 
551 
     | 
    
         
             
                            return false;
         
     | 
| 
         @@ -611,7 +609,7 @@ up.util = (function () { 
     | 
|
| 
       611 
609 
     | 
    
         
             
                    return renamed;
         
     | 
| 
       612 
610 
     | 
    
         
             
                }
         
     | 
| 
       613 
611 
     | 
    
         
             
                function camelToKebabCase(str) {
         
     | 
| 
       614 
     | 
    
         
            -
                    return str.replace(/[A-Z]/g, char => '-' + char.toLowerCase());
         
     | 
| 
      
 612 
     | 
    
         
            +
                    return str.replace(/[A-Z]/g, (char) => '-' + char.toLowerCase());
         
     | 
| 
       615 
613 
     | 
    
         
             
                }
         
     | 
| 
       616 
614 
     | 
    
         
             
                function lowerCaseFirst(str) {
         
     | 
| 
       617 
615 
     | 
    
         
             
                    return str[0].toLowerCase() + str.slice(1);
         
     | 
| 
         @@ -865,6 +863,9 @@ up.util = (function () { 
     | 
|
| 
       865 
863 
     | 
    
         
             
                        ];
         
     | 
| 
       866 
864 
     | 
    
         
             
                    });
         
     | 
| 
       867 
865 
     | 
    
         
             
                }
         
     | 
| 
      
 866 
     | 
    
         
            +
                function spanObject(keys, value) {
         
     | 
| 
      
 867 
     | 
    
         
            +
                    return mapObject(keys, (key) => [key, value]);
         
     | 
| 
      
 868 
     | 
    
         
            +
                }
         
     | 
| 
       868 
869 
     | 
    
         
             
                return {
         
     | 
| 
       869 
870 
     | 
    
         
             
                    parseURL,
         
     | 
| 
       870 
871 
     | 
    
         
             
                    normalizeURL,
         
     | 
| 
         @@ -882,6 +883,7 @@ up.util = (function () { 
     | 
|
| 
       882 
883 
     | 
    
         
             
                    map,
         
     | 
| 
       883 
884 
     | 
    
         
             
                    flatMap,
         
     | 
| 
       884 
885 
     | 
    
         
             
                    mapObject,
         
     | 
| 
      
 886 
     | 
    
         
            +
                    spanObject,
         
     | 
| 
       885 
887 
     | 
    
         
             
                    findResult,
         
     | 
| 
       886 
888 
     | 
    
         
             
                    some,
         
     | 
| 
       887 
889 
     | 
    
         
             
                    every,
         
     | 
| 
         @@ -1085,12 +1087,13 @@ up.element = (function () { 
     | 
|
| 
       1085 
1087 
     | 
    
         
             
                    return root.querySelector(selector);
         
     | 
| 
       1086 
1088 
     | 
    
         
             
                }
         
     | 
| 
       1087 
1089 
     | 
    
         
             
                function subtree(root, selector) {
         
     | 
| 
       1088 
     | 
    
         
            -
                    const  
     | 
| 
      
 1090 
     | 
    
         
            +
                    const descendantMatches = root.querySelectorAll(selector);
         
     | 
| 
       1089 
1091 
     | 
    
         
             
                    if (elementLikeMatches(root, selector)) {
         
     | 
| 
       1090 
     | 
    
         
            -
                         
     | 
| 
      
 1092 
     | 
    
         
            +
                        return [root, ...descendantMatches];
         
     | 
| 
      
 1093 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1094 
     | 
    
         
            +
                    else {
         
     | 
| 
      
 1095 
     | 
    
         
            +
                        return descendantMatches;
         
     | 
| 
       1091 
1096 
     | 
    
         
             
                    }
         
     | 
| 
       1092 
     | 
    
         
            -
                    results.push(...root.querySelectorAll(selector));
         
     | 
| 
       1093 
     | 
    
         
            -
                    return results;
         
     | 
| 
       1094 
1097 
     | 
    
         
             
                }
         
     | 
| 
       1095 
1098 
     | 
    
         
             
                function subtreeFirst(root, selector) {
         
     | 
| 
       1096 
1099 
     | 
    
         
             
                    return elementLikeMatches(root, selector) ? root : root.querySelector(selector);
         
     | 
| 
         @@ -1196,7 +1199,7 @@ up.element = (function () { 
     | 
|
| 
       1196 
1199 
     | 
    
         
             
                }
         
     | 
| 
       1197 
1200 
     | 
    
         
             
                function metaContent(name) {
         
     | 
| 
       1198 
1201 
     | 
    
         
             
                    const selector = "meta" + attrSelector('name', name);
         
     | 
| 
       1199 
     | 
    
         
            -
                    return  
     | 
| 
      
 1202 
     | 
    
         
            +
                    return document.head.querySelector(selector)?.getAttribute('content');
         
     | 
| 
       1200 
1203 
     | 
    
         
             
                }
         
     | 
| 
       1201 
1204 
     | 
    
         
             
                function insertBefore(existingNode, newNode) {
         
     | 
| 
       1202 
1205 
     | 
    
         
             
                    existingNode.parentNode.insertBefore(newNode, existingNode);
         
     | 
| 
         @@ -1306,7 +1309,7 @@ up.element = (function () { 
     | 
|
| 
       1306 
1309 
     | 
    
         
             
                    return element;
         
     | 
| 
       1307 
1310 
     | 
    
         
             
                }
         
     | 
| 
       1308 
1311 
     | 
    
         
             
                const SINGLETON_TAG_NAMES = ['HTML', 'BODY', 'HEAD', 'TITLE'];
         
     | 
| 
       1309 
     | 
    
         
            -
                const isSingleton = up.mockable(element => element.matches(SINGLETON_TAG_NAMES.join()));
         
     | 
| 
      
 1312 
     | 
    
         
            +
                const isSingleton = up.mockable((element) => element.matches(SINGLETON_TAG_NAMES.join()));
         
     | 
| 
       1310 
1313 
     | 
    
         
             
                function elementTagName(element) {
         
     | 
| 
       1311 
1314 
     | 
    
         
             
                    return element.tagName.toLowerCase();
         
     | 
| 
       1312 
1315 
     | 
    
         
             
                }
         
     | 
| 
         @@ -1334,9 +1337,11 @@ up.element = (function () { 
     | 
|
| 
       1334 
1337 
     | 
    
         
             
                function createBrokenDocumentFromHTML(html) {
         
     | 
| 
       1335 
1338 
     | 
    
         
             
                    return new DOMParser().parseFromString(html, 'text/html');
         
     | 
| 
       1336 
1339 
     | 
    
         
             
                }
         
     | 
| 
       1337 
     | 
    
         
            -
                function  
     | 
| 
       1338 
     | 
    
         
            -
                    let clone = createFromHTML( 
     | 
| 
       1339 
     | 
    
         
            -
                     
     | 
| 
      
 1340 
     | 
    
         
            +
                function revivedClone(element) {
         
     | 
| 
      
 1341 
     | 
    
         
            +
                    let clone = createFromHTML(element.outerHTML);
         
     | 
| 
      
 1342 
     | 
    
         
            +
                    if ('nonce' in element)
         
     | 
| 
      
 1343 
     | 
    
         
            +
                        clone.nonce = element.nonce;
         
     | 
| 
      
 1344 
     | 
    
         
            +
                    return clone;
         
     | 
| 
       1340 
1345 
     | 
    
         
             
                }
         
     | 
| 
       1341 
1346 
     | 
    
         
             
                function createFromHTML(html) {
         
     | 
| 
       1342 
1347 
     | 
    
         
             
                    return extractSingular(createNodesFromHTML(html));
         
     | 
| 
         @@ -1618,6 +1623,18 @@ up.element = (function () { 
     | 
|
| 
       1618 
1623 
     | 
    
         
             
                        return [element.parentElement, 'beforeend'];
         
     | 
| 
       1619 
1624 
     | 
    
         
             
                    }
         
     | 
| 
       1620 
1625 
     | 
    
         
             
                }
         
     | 
| 
      
 1626 
     | 
    
         
            +
                function moveBefore(parent, movedElement, referenceElement) {
         
     | 
| 
      
 1627 
     | 
    
         
            +
                    let fn = parent.moveBefore || parent.insertBefore;
         
     | 
| 
      
 1628 
     | 
    
         
            +
                    fn.call(parent, movedElement, referenceElement);
         
     | 
| 
      
 1629 
     | 
    
         
            +
                }
         
     | 
| 
      
 1630 
     | 
    
         
            +
                function preservingAppend(parent, newNode) {
         
     | 
| 
      
 1631 
     | 
    
         
            +
                    moveBefore(parent, newNode, null);
         
     | 
| 
      
 1632 
     | 
    
         
            +
                }
         
     | 
| 
      
 1633 
     | 
    
         
            +
                function preservingReplace(oldElement, newElement) {
         
     | 
| 
      
 1634 
     | 
    
         
            +
                    let parent = oldElement.parentElement;
         
     | 
| 
      
 1635 
     | 
    
         
            +
                    moveBefore(parent, newElement, oldElement);
         
     | 
| 
      
 1636 
     | 
    
         
            +
                    oldElement.remove();
         
     | 
| 
      
 1637 
     | 
    
         
            +
                }
         
     | 
| 
       1621 
1638 
     | 
    
         
             
                return {
         
     | 
| 
       1622 
1639 
     | 
    
         
             
                    subtree,
         
     | 
| 
       1623 
1640 
     | 
    
         
             
                    subtreeFirst,
         
     | 
| 
         @@ -1644,7 +1661,7 @@ up.element = (function () { 
     | 
|
| 
       1644 
1661 
     | 
    
         
             
                    attrSelector,
         
     | 
| 
       1645 
1662 
     | 
    
         
             
                    tagName: elementTagName,
         
     | 
| 
       1646 
1663 
     | 
    
         
             
                    createBrokenDocumentFromHTML,
         
     | 
| 
       1647 
     | 
    
         
            -
                     
     | 
| 
      
 1664 
     | 
    
         
            +
                    revivedClone,
         
     | 
| 
       1648 
1665 
     | 
    
         
             
                    createNodesFromHTML,
         
     | 
| 
       1649 
1666 
     | 
    
         
             
                    createFromHTML,
         
     | 
| 
       1650 
1667 
     | 
    
         
             
                    extractSingular,
         
     | 
| 
         @@ -1686,6 +1703,8 @@ up.element = (function () { 
     | 
|
| 
       1686 
1703 
     | 
    
         
             
                    matchSelectorMap,
         
     | 
| 
       1687 
1704 
     | 
    
         
             
                    elementLikeMatches,
         
     | 
| 
       1688 
1705 
     | 
    
         
             
                    documentPosition,
         
     | 
| 
      
 1706 
     | 
    
         
            +
                    preservingAppend,
         
     | 
| 
      
 1707 
     | 
    
         
            +
                    preservingReplace,
         
     | 
| 
       1689 
1708 
     | 
    
         
             
                };
         
     | 
| 
       1690 
1709 
     | 
    
         
             
            })();
         
     | 
| 
       1691 
1710 
     | 
    
         | 
| 
         @@ -1779,7 +1798,7 @@ up.Record = class Record { 
     | 
|
| 
       1779 
1798 
     | 
    
         
             
                    return {};
         
     | 
| 
       1780 
1799 
     | 
    
         
             
                }
         
     | 
| 
       1781 
1800 
     | 
    
         
             
                constructor(options) {
         
     | 
| 
       1782 
     | 
    
         
            -
                    Object.assign(this, this.defaults(options), this.attributes(options));
         
     | 
| 
      
 1801 
     | 
    
         
            +
                    Object.assign(this, u.mergeDefined(this.defaults(options), this.attributes(options)));
         
     | 
| 
       1783 
1802 
     | 
    
         
             
                }
         
     | 
| 
       1784 
1803 
     | 
    
         
             
                attributes(source = this) {
         
     | 
| 
       1785 
1804 
     | 
    
         
             
                    return u.pick(source, this.keys());
         
     | 
| 
         @@ -1858,13 +1877,39 @@ up.LogConfig = class LogConfig extends up.Config { 
     | 
|
| 
       1858 
1877 
     | 
    
         
             
            /* 19 */
         
     | 
| 
       1859 
1878 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       1860 
1879 
     | 
    
         | 
| 
      
 1880 
     | 
    
         
            +
            const u = up.util;
         
     | 
| 
      
 1881 
     | 
    
         
            +
            up.Registry = class Registry {
         
     | 
| 
      
 1882 
     | 
    
         
            +
                constructor(valueDescription, normalize = u.identity) {
         
     | 
| 
      
 1883 
     | 
    
         
            +
                    this._data = {};
         
     | 
| 
      
 1884 
     | 
    
         
            +
                    this._normalize = normalize;
         
     | 
| 
      
 1885 
     | 
    
         
            +
                    this._valueDescription = valueDescription;
         
     | 
| 
      
 1886 
     | 
    
         
            +
                    this.put = this.put.bind(this);
         
     | 
| 
      
 1887 
     | 
    
         
            +
                    document.addEventListener('up:framework:reset', () => this.reset());
         
     | 
| 
      
 1888 
     | 
    
         
            +
                }
         
     | 
| 
      
 1889 
     | 
    
         
            +
                put(key, object) {
         
     | 
| 
      
 1890 
     | 
    
         
            +
                    object = this._normalize(object);
         
     | 
| 
      
 1891 
     | 
    
         
            +
                    object.isDefault = up.framework.evaling;
         
     | 
| 
      
 1892 
     | 
    
         
            +
                    this._data[key] = object;
         
     | 
| 
      
 1893 
     | 
    
         
            +
                }
         
     | 
| 
      
 1894 
     | 
    
         
            +
                get(name) {
         
     | 
| 
      
 1895 
     | 
    
         
            +
                    return this._data[name] || up.fail("Unknown %s %o", this._valueDescription, name);
         
     | 
| 
      
 1896 
     | 
    
         
            +
                }
         
     | 
| 
      
 1897 
     | 
    
         
            +
                reset() {
         
     | 
| 
      
 1898 
     | 
    
         
            +
                    this._data = u.pickBy(this._data, 'isDefault');
         
     | 
| 
      
 1899 
     | 
    
         
            +
                }
         
     | 
| 
      
 1900 
     | 
    
         
            +
            };
         
     | 
| 
      
 1901 
     | 
    
         
            +
             
     | 
| 
      
 1902 
     | 
    
         
            +
             
     | 
| 
      
 1903 
     | 
    
         
            +
            /***/ }),
         
     | 
| 
      
 1904 
     | 
    
         
            +
            /* 20 */
         
     | 
| 
      
 1905 
     | 
    
         
            +
            /***/ (() => {
         
     | 
| 
      
 1906 
     | 
    
         
            +
             
     | 
| 
       1861 
1907 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
       1862 
1908 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
       1863 
1909 
     | 
    
         
             
            up.OptionsParser = class OptionsParser {
         
     | 
| 
       1864 
1910 
     | 
    
         
             
                constructor(element, options, parserOptions = {}) {
         
     | 
| 
       1865 
1911 
     | 
    
         
             
                    this._options = options;
         
     | 
| 
       1866 
1912 
     | 
    
         
             
                    this._element = element;
         
     | 
| 
       1867 
     | 
    
         
            -
                    this._parserOptions = parserOptions;
         
     | 
| 
       1868 
1913 
     | 
    
         
             
                    this._fail = parserOptions.fail;
         
     | 
| 
       1869 
1914 
     | 
    
         
             
                    this._closest = parserOptions.closest;
         
     | 
| 
       1870 
1915 
     | 
    
         
             
                    this._attrPrefix = parserOptions.attrPrefix || 'up-';
         
     | 
| 
         @@ -1899,11 +1944,11 @@ up.OptionsParser = class OptionsParser { 
     | 
|
| 
       1899 
1944 
     | 
    
         
             
                        value ??= this._parseFromAttr(attrValueFn, this._element, attrName);
         
     | 
| 
       1900 
1945 
     | 
    
         
             
                    }
         
     | 
| 
       1901 
1946 
     | 
    
         
             
                    value ??= keyOptions.default ?? this._defaults[key];
         
     | 
| 
       1902 
     | 
    
         
            -
                    let normalizeFn = keyOptions.normalize;
         
     | 
| 
       1903 
     | 
    
         
            -
                    if (normalizeFn) {
         
     | 
| 
       1904 
     | 
    
         
            -
                        value = normalizeFn(value);
         
     | 
| 
       1905 
     | 
    
         
            -
                    }
         
     | 
| 
       1906 
1947 
     | 
    
         
             
                    if (u.isDefined(value)) {
         
     | 
| 
      
 1948 
     | 
    
         
            +
                        let normalizeFn = keyOptions.normalize;
         
     | 
| 
      
 1949 
     | 
    
         
            +
                        if (normalizeFn) {
         
     | 
| 
      
 1950 
     | 
    
         
            +
                            value = normalizeFn(value);
         
     | 
| 
      
 1951 
     | 
    
         
            +
                        }
         
     | 
| 
       1907 
1952 
     | 
    
         
             
                        this._options[key] = value;
         
     | 
| 
       1908 
1953 
     | 
    
         
             
                    }
         
     | 
| 
       1909 
1954 
     | 
    
         
             
                    let failKey;
         
     | 
| 
         @@ -1912,8 +1957,8 @@ up.OptionsParser = class OptionsParser { 
     | 
|
| 
       1912 
1957 
     | 
    
         
             
                        this.parse(attrValueFn, failKey, { ...keyOptions, attr: failAttrNames });
         
     | 
| 
       1913 
1958 
     | 
    
         
             
                    }
         
     | 
| 
       1914 
1959 
     | 
    
         
             
                }
         
     | 
| 
       1915 
     | 
    
         
            -
                include(optionsFn) {
         
     | 
| 
       1916 
     | 
    
         
            -
                    let fnResult = optionsFn(this._element, this._options, this. 
     | 
| 
      
 1960 
     | 
    
         
            +
                include(optionsFn, parserOptions) {
         
     | 
| 
      
 1961 
     | 
    
         
            +
                    let fnResult = optionsFn(this._element, this._options, { defaults: this._defaults, ...parserOptions });
         
     | 
| 
       1917 
1962 
     | 
    
         
             
                    Object.assign(this._options, fnResult);
         
     | 
| 
       1918 
1963 
     | 
    
         
             
                }
         
     | 
| 
       1919 
1964 
     | 
    
         
             
                _parseFromAttr(attrValueFn, element, attrName) {
         
     | 
| 
         @@ -1940,7 +1985,7 @@ up.OptionsParser = class OptionsParser { 
     | 
|
| 
       1940 
1985 
     | 
    
         | 
| 
       1941 
1986 
     | 
    
         | 
| 
       1942 
1987 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       1943 
     | 
    
         
            -
            /*  
     | 
| 
      
 1988 
     | 
    
         
            +
            /* 21 */
         
     | 
| 
       1944 
1989 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       1945 
1990 
     | 
    
         | 
| 
       1946 
1991 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -1969,7 +2014,7 @@ up.FIFOCache = class FIFOCache { 
     | 
|
| 
       1969 
2014 
     | 
    
         | 
| 
       1970 
2015 
     | 
    
         | 
| 
       1971 
2016 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       1972 
     | 
    
         
            -
            /*  
     | 
| 
      
 2017 
     | 
    
         
            +
            /* 22 */
         
     | 
| 
       1973 
2018 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       1974 
2019 
     | 
    
         | 
| 
       1975 
2020 
     | 
    
         
             
            up.Rect = class Rect extends up.Record {
         
     | 
| 
         @@ -2000,7 +2045,7 @@ up.Rect = class Rect extends up.Record { 
     | 
|
| 
       2000 
2045 
     | 
    
         | 
| 
       2001 
2046 
     | 
    
         | 
| 
       2002 
2047 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2003 
     | 
    
         
            -
            /*  
     | 
| 
      
 2048 
     | 
    
         
            +
            /* 23 */
         
     | 
| 
       2004 
2049 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2005 
2050 
     | 
    
         | 
| 
       2006 
2051 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
         @@ -2048,7 +2093,7 @@ up.BodyShifter = class BodyShifter { 
     | 
|
| 
       2048 
2093 
     | 
    
         | 
| 
       2049 
2094 
     | 
    
         | 
| 
       2050 
2095 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2051 
     | 
    
         
            -
            /*  
     | 
| 
      
 2096 
     | 
    
         
            +
            /* 24 */
         
     | 
| 
       2052 
2097 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2053 
2098 
     | 
    
         | 
| 
       2054 
2099 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -2074,7 +2119,7 @@ up.Change = class Change { 
     | 
|
| 
       2074 
2119 
     | 
    
         | 
| 
       2075 
2120 
     | 
    
         | 
| 
       2076 
2121 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2077 
     | 
    
         
            -
            /*  
     | 
| 
      
 2122 
     | 
    
         
            +
            /* 25 */
         
     | 
| 
       2078 
2123 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2079 
2124 
     | 
    
         | 
| 
       2080 
2125 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -2149,7 +2194,7 @@ up.Change.Addition = class Addition extends up.Change { 
     | 
|
| 
       2149 
2194 
     | 
    
         | 
| 
       2150 
2195 
     | 
    
         | 
| 
       2151 
2196 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2152 
     | 
    
         
            -
            /*  
     | 
| 
      
 2197 
     | 
    
         
            +
            /* 26 */
         
     | 
| 
       2153 
2198 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2154 
2199 
     | 
    
         | 
| 
       2155 
2200 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -2272,7 +2317,7 @@ up.RenderJob = (_a = class RenderJob { 
     | 
|
| 
       2272 
2317 
     | 
    
         | 
| 
       2273 
2318 
     | 
    
         | 
| 
       2274 
2319 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2275 
     | 
    
         
            -
            /*  
     | 
| 
      
 2320 
     | 
    
         
            +
            /* 27 */
         
     | 
| 
       2276 
2321 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2277 
2322 
     | 
    
         | 
| 
       2278 
2323 
     | 
    
         
             
            up.Change.DestroyFragment = class DestroyFragment extends up.Change {
         
     | 
| 
         @@ -2297,18 +2342,18 @@ up.Change.DestroyFragment = class DestroyFragment extends up.Change { 
     | 
|
| 
       2297 
2342 
     | 
    
         
             
                async _destroyAfterAnimation() {
         
     | 
| 
       2298 
2343 
     | 
    
         
             
                    this._emitDestroyed();
         
     | 
| 
       2299 
2344 
     | 
    
         
             
                    await this._animate();
         
     | 
| 
       2300 
     | 
    
         
            -
                    this. 
     | 
| 
      
 2345 
     | 
    
         
            +
                    this._erase();
         
     | 
| 
       2301 
2346 
     | 
    
         
             
                    this._onFinished?.();
         
     | 
| 
       2302 
2347 
     | 
    
         
             
                }
         
     | 
| 
       2303 
2348 
     | 
    
         
             
                _destroyNow() {
         
     | 
| 
       2304 
     | 
    
         
            -
                    this. 
     | 
| 
      
 2349 
     | 
    
         
            +
                    this._erase();
         
     | 
| 
       2305 
2350 
     | 
    
         
             
                    this._emitDestroyed();
         
     | 
| 
       2306 
2351 
     | 
    
         
             
                    this._onFinished?.();
         
     | 
| 
       2307 
2352 
     | 
    
         
             
                }
         
     | 
| 
       2308 
2353 
     | 
    
         
             
                _animate() {
         
     | 
| 
       2309 
2354 
     | 
    
         
             
                    return up.motion.animate(this._element, this._animation, this.options);
         
     | 
| 
       2310 
2355 
     | 
    
         
             
                }
         
     | 
| 
       2311 
     | 
    
         
            -
                 
     | 
| 
      
 2356 
     | 
    
         
            +
                _erase() {
         
     | 
| 
       2312 
2357 
     | 
    
         
             
                    this._layer.asCurrent(() => {
         
     | 
| 
       2313 
2358 
     | 
    
         
             
                        up.fragment.abort(this._element);
         
     | 
| 
       2314 
2359 
     | 
    
         
             
                        up.script.clean(this._element, { layer: this._layer });
         
     | 
| 
         @@ -2323,7 +2368,7 @@ up.Change.DestroyFragment = class DestroyFragment extends up.Change { 
     | 
|
| 
       2323 
2368 
     | 
    
         | 
| 
       2324 
2369 
     | 
    
         | 
| 
       2325 
2370 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2326 
     | 
    
         
            -
            /*  
     | 
| 
      
 2371 
     | 
    
         
            +
            /* 28 */
         
     | 
| 
       2327 
2372 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2328 
2373 
     | 
    
         | 
| 
       2329 
2374 
     | 
    
         
             
            let u = up.util;
         
     | 
| 
         @@ -2414,7 +2459,7 @@ up.Change.OpenLayer = class OpenLayer extends up.Change.Addition { 
     | 
|
| 
       2414 
2459 
     | 
    
         
             
                }
         
     | 
| 
       2415 
2460 
     | 
    
         
             
                _buildLayer() {
         
     | 
| 
       2416 
2461 
     | 
    
         
             
                    const buildOptions = { ...this.options, opening: true };
         
     | 
| 
       2417 
     | 
    
         
            -
                    const beforeNew = optionsWithLayerDefaults => {
         
     | 
| 
      
 2462 
     | 
    
         
            +
                    const beforeNew = (optionsWithLayerDefaults) => {
         
     | 
| 
       2418 
2463 
     | 
    
         
             
                        return this.options = up.RenderOptions.finalize(optionsWithLayerDefaults);
         
     | 
| 
       2419 
2464 
     | 
    
         
             
                    };
         
     | 
| 
       2420 
2465 
     | 
    
         
             
                    return up.layer.build(buildOptions, beforeNew);
         
     | 
| 
         @@ -2478,7 +2523,7 @@ up.Change.OpenLayer = class OpenLayer extends up.Change.Addition { 
     | 
|
| 
       2478 
2523 
     | 
    
         | 
| 
       2479 
2524 
     | 
    
         | 
| 
       2480 
2525 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2481 
     | 
    
         
            -
            /*  
     | 
| 
      
 2526 
     | 
    
         
            +
            /* 29 */
         
     | 
| 
       2482 
2527 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2483 
2528 
     | 
    
         | 
| 
       2484 
2529 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -2629,7 +2674,7 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition { 
     | 
|
| 
       2629 
2674 
     | 
    
         | 
| 
       2630 
2675 
     | 
    
         | 
| 
       2631 
2676 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2632 
     | 
    
         
            -
            /*  
     | 
| 
      
 2677 
     | 
    
         
            +
            /* 30 */
         
     | 
| 
       2633 
2678 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2634 
2679 
     | 
    
         | 
| 
       2635 
2680 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -2652,7 +2697,7 @@ up.Change.UpdateSteps = class UpdateSteps extends up.Change.Addition { 
     | 
|
| 
       2652 
2697 
     | 
    
         
             
                        target: up.fragment.targetForSteps(this._steps),
         
     | 
| 
       2653 
2698 
     | 
    
         
             
                    });
         
     | 
| 
       2654 
2699 
     | 
    
         
             
                    this._steps.reverse();
         
     | 
| 
       2655 
     | 
    
         
            -
                    const motionEndPromises = this._steps.map(step => this._executeStep(step));
         
     | 
| 
      
 2700 
     | 
    
         
            +
                    const motionEndPromises = this._steps.map((step) => this._executeStep(step));
         
     | 
| 
       2656 
2701 
     | 
    
         
             
                    this.renderResult.finished = this._finish(motionEndPromises);
         
     | 
| 
       2657 
2702 
     | 
    
         
             
                    return this.renderResult;
         
     | 
| 
       2658 
2703 
     | 
    
         
             
                }
         
     | 
| 
         @@ -2683,7 +2728,7 @@ up.Change.UpdateSteps = class UpdateSteps extends up.Change.Addition { 
     | 
|
| 
       2683 
2728 
     | 
    
         
             
                                return Promise.resolve();
         
     | 
| 
       2684 
2729 
     | 
    
         
             
                            }
         
     | 
| 
       2685 
2730 
     | 
    
         
             
                            else {
         
     | 
| 
       2686 
     | 
    
         
            -
                                this. 
     | 
| 
      
 2731 
     | 
    
         
            +
                                this._preserveDescendantKeepables(step);
         
     | 
| 
       2687 
2732 
     | 
    
         
             
                                const parent = step.oldElement.parentNode;
         
     | 
| 
       2688 
2733 
     | 
    
         
             
                                const morphOptions = {
         
     | 
| 
       2689 
2734 
     | 
    
         
             
                                    ...step,
         
     | 
| 
         @@ -2691,9 +2736,9 @@ up.Change.UpdateSteps = class UpdateSteps extends up.Change.Addition { 
     | 
|
| 
       2691 
2736 
     | 
    
         
             
                                        up.fragment.markAsDestroying(step.oldElement);
         
     | 
| 
       2692 
2737 
     | 
    
         
             
                                    },
         
     | 
| 
       2693 
2738 
     | 
    
         
             
                                    afterInsert: () => {
         
     | 
| 
       2694 
     | 
    
         
            -
                                        this. 
     | 
| 
      
 2739 
     | 
    
         
            +
                                        this._restoreDescendantKeepables(step);
         
     | 
| 
       2695 
2740 
     | 
    
         
             
                                        this.responseDoc.finalizeElement(step.newElement);
         
     | 
| 
       2696 
     | 
    
         
            -
                                        this. 
     | 
| 
      
 2741 
     | 
    
         
            +
                                        this._finalizeDescendantKeepables(step);
         
     | 
| 
       2697 
2742 
     | 
    
         
             
                                        up.hello(step.newElement, step);
         
     | 
| 
       2698 
2743 
     | 
    
         
             
                                        this._addToResult(step.newElement);
         
     | 
| 
       2699 
2744 
     | 
    
         
             
                                    },
         
     | 
| 
         @@ -2774,8 +2819,8 @@ up.Change.UpdateSteps = class UpdateSteps extends up.Change.Addition { 
     | 
|
| 
       2774 
2819 
     | 
    
         
             
                        }
         
     | 
| 
       2775 
2820 
     | 
    
         
             
                    }
         
     | 
| 
       2776 
2821 
     | 
    
         
             
                }
         
     | 
| 
       2777 
     | 
    
         
            -
                 
     | 
| 
       2778 
     | 
    
         
            -
                    const  
     | 
| 
      
 2822 
     | 
    
         
            +
                _preserveDescendantKeepables(step) {
         
     | 
| 
      
 2823 
     | 
    
         
            +
                    const descendantKeepPlans = [];
         
     | 
| 
       2779 
2824 
     | 
    
         
             
                    if (step.keep) {
         
     | 
| 
       2780 
2825 
     | 
    
         
             
                        for (let keepable of step.oldElement.querySelectorAll('[up-keep]')) {
         
     | 
| 
       2781 
2826 
     | 
    
         
             
                            let keepPlan = this._findKeepPlan({ ...step, oldElement: keepable, descendantsOnly: true });
         
     | 
| 
         @@ -2785,37 +2830,42 @@ up.Change.UpdateSteps = class UpdateSteps extends up.Change.Addition { 
     | 
|
| 
       2785 
2830 
     | 
    
         
             
                                keepable.classList.add('up-keeping');
         
     | 
| 
       2786 
2831 
     | 
    
         
             
                                up.script.disableSubtree(keepPlan.newElement);
         
     | 
| 
       2787 
2832 
     | 
    
         
             
                                let viewports = up.viewport.subtree(keepPlan.oldElement);
         
     | 
| 
       2788 
     | 
    
         
            -
                                keepPlan.revivers =  
     | 
| 
      
 2833 
     | 
    
         
            +
                                keepPlan.revivers = u.map(viewports, function (viewport) {
         
     | 
| 
       2789 
2834 
     | 
    
         
             
                                    let cursorProps = up.viewport.copyCursorProps(viewport);
         
     | 
| 
       2790 
2835 
     | 
    
         
             
                                    return () => up.viewport.copyCursorProps(cursorProps, viewport);
         
     | 
| 
       2791 
2836 
     | 
    
         
             
                                });
         
     | 
| 
       2792 
     | 
    
         
            -
                                if (this. 
     | 
| 
      
 2837 
     | 
    
         
            +
                                if (this._willChangeBody()) {
         
     | 
| 
       2793 
2838 
     | 
    
         
             
                                    keepPlan.newElement.replaceWith(keepable);
         
     | 
| 
       2794 
2839 
     | 
    
         
             
                                }
         
     | 
| 
       2795 
2840 
     | 
    
         
             
                                else {
         
     | 
| 
       2796 
     | 
    
         
            -
                                    document.body 
     | 
| 
      
 2841 
     | 
    
         
            +
                                    e.preservingAppend(document.body, keepable);
         
     | 
| 
       2797 
2842 
     | 
    
         
             
                                }
         
     | 
| 
       2798 
     | 
    
         
            -
                                 
     | 
| 
      
 2843 
     | 
    
         
            +
                                descendantKeepPlans.push(keepPlan);
         
     | 
| 
       2799 
2844 
     | 
    
         
             
                            }
         
     | 
| 
       2800 
2845 
     | 
    
         
             
                        }
         
     | 
| 
       2801 
2846 
     | 
    
         
             
                    }
         
     | 
| 
       2802 
     | 
    
         
            -
                    step. 
     | 
| 
      
 2847 
     | 
    
         
            +
                    step.descendantKeepPlans = descendantKeepPlans;
         
     | 
| 
       2803 
2848 
     | 
    
         
             
                }
         
     | 
| 
       2804 
     | 
    
         
            -
                 
     | 
| 
       2805 
     | 
    
         
            -
                    for (let keepPlan of step. 
     | 
| 
       2806 
     | 
    
         
            -
                         
     | 
| 
      
 2849 
     | 
    
         
            +
                _restoreDescendantKeepables(step) {
         
     | 
| 
      
 2850 
     | 
    
         
            +
                    for (let keepPlan of step.descendantKeepPlans) {
         
     | 
| 
      
 2851 
     | 
    
         
            +
                        if (this._willChangeBody()) {
         
     | 
| 
      
 2852 
     | 
    
         
            +
                            keepPlan.newElement.replaceWith(keepPlan.oldElement);
         
     | 
| 
      
 2853 
     | 
    
         
            +
                        }
         
     | 
| 
      
 2854 
     | 
    
         
            +
                        else {
         
     | 
| 
      
 2855 
     | 
    
         
            +
                            e.preservingReplace(keepPlan.newElement, keepPlan.oldElement);
         
     | 
| 
      
 2856 
     | 
    
         
            +
                        }
         
     | 
| 
       2807 
2857 
     | 
    
         
             
                        for (let reviver of keepPlan.revivers) {
         
     | 
| 
       2808 
2858 
     | 
    
         
             
                            reviver();
         
     | 
| 
       2809 
2859 
     | 
    
         
             
                        }
         
     | 
| 
       2810 
2860 
     | 
    
         
             
                    }
         
     | 
| 
       2811 
2861 
     | 
    
         
             
                }
         
     | 
| 
       2812 
     | 
    
         
            -
                 
     | 
| 
       2813 
     | 
    
         
            -
                    for (let keepPlan of step. 
     | 
| 
      
 2862 
     | 
    
         
            +
                _finalizeDescendantKeepables(step) {
         
     | 
| 
      
 2863 
     | 
    
         
            +
                    for (let keepPlan of step.descendantKeepPlans) {
         
     | 
| 
       2814 
2864 
     | 
    
         
             
                        keepPlan.oldElement.classList.remove('up-keeping');
         
     | 
| 
       2815 
2865 
     | 
    
         
             
                    }
         
     | 
| 
       2816 
2866 
     | 
    
         
             
                }
         
     | 
| 
       2817 
     | 
    
         
            -
                 
     | 
| 
       2818 
     | 
    
         
            -
                    return u.some(this._steps, (step) => step.oldElement. 
     | 
| 
      
 2867 
     | 
    
         
            +
                _willChangeBody() {
         
     | 
| 
      
 2868 
     | 
    
         
            +
                    return u.some(this._steps, (step) => step.oldElement.matches('body'));
         
     | 
| 
       2819 
2869 
     | 
    
         
             
                }
         
     | 
| 
       2820 
2870 
     | 
    
         
             
                _handleFocus(fragment, options) {
         
     | 
| 
       2821 
2871 
     | 
    
         
             
                    const fragmentFocus = new up.FragmentFocus({
         
     | 
| 
         @@ -2837,7 +2887,7 @@ up.Change.UpdateSteps = class UpdateSteps extends up.Change.Addition { 
     | 
|
| 
       2837 
2887 
     | 
    
         | 
| 
       2838 
2888 
     | 
    
         | 
| 
       2839 
2889 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2840 
     | 
    
         
            -
            /*  
     | 
| 
      
 2890 
     | 
    
         
            +
            /* 31 */
         
     | 
| 
       2841 
2891 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2842 
2892 
     | 
    
         | 
| 
       2843 
2893 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -2915,7 +2965,7 @@ up.Change.CloseLayer = class CloseLayer extends up.Change { 
     | 
|
| 
       2915 
2965 
     | 
    
         | 
| 
       2916 
2966 
     | 
    
         | 
| 
       2917 
2967 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2918 
     | 
    
         
            -
            /*  
     | 
| 
      
 2968 
     | 
    
         
            +
            /* 32 */
         
     | 
| 
       2919 
2969 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2920 
2970 
     | 
    
         | 
| 
       2921 
2971 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -2934,7 +2984,7 @@ up.Change.FromURL = (_a = class FromURL extends up.Change { 
     | 
|
| 
       2934 
2984 
     | 
    
         
             
                            return request;
         
     | 
| 
       2935 
2985 
     | 
    
         
             
                        this.options.handleAbort?.(request);
         
     | 
| 
       2936 
2986 
     | 
    
         
             
                        request.runPreviews(this.options);
         
     | 
| 
       2937 
     | 
    
         
            -
                        return await u.always(request, responseOrError => this._onRequestSettled(responseOrError));
         
     | 
| 
      
 2987 
     | 
    
         
            +
                        return await u.always(request, (responseOrError) => this._onRequestSettled(responseOrError));
         
     | 
| 
       2938 
2988 
     | 
    
         
             
                    }
         
     | 
| 
       2939 
2989 
     | 
    
         
             
                    _newPageReason() {
         
     | 
| 
       2940 
2990 
     | 
    
         
             
                        if (u.isCrossOrigin(this.options.url)) {
         
     | 
| 
         @@ -2992,7 +3042,7 @@ up.Change.FromURL = (_a = class FromURL extends up.Change { 
     | 
|
| 
       2992 
3042 
     | 
    
         | 
| 
       2993 
3043 
     | 
    
         | 
| 
       2994 
3044 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       2995 
     | 
    
         
            -
            /*  
     | 
| 
      
 3045 
     | 
    
         
            +
            /* 33 */
         
     | 
| 
       2996 
3046 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       2997 
3047 
     | 
    
         | 
| 
       2998 
3048 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -3110,6 +3160,17 @@ up.Change.FromResponse = (_a = class FromResponse extends up.Change { 
     | 
|
| 
       3110 
3160 
     | 
    
         
             
                            renderOptions.source = this.improveHistoryValue(renderOptions.source, 'keep');
         
     | 
| 
       3111 
3161 
     | 
    
         
             
                            renderOptions.history = !!renderOptions.location;
         
     | 
| 
       3112 
3162 
     | 
    
         
             
                        }
         
     | 
| 
      
 3163 
     | 
    
         
            +
                        let openLayerOptions = this._response.openLayer;
         
     | 
| 
      
 3164 
     | 
    
         
            +
                        if (openLayerOptions) {
         
     | 
| 
      
 3165 
     | 
    
         
            +
                            Object.assign(renderOptions, {
         
     | 
| 
      
 3166 
     | 
    
         
            +
                                ...up.Layer.Overlay.UNSET_VISUALS,
         
     | 
| 
      
 3167 
     | 
    
         
            +
                                target: undefined,
         
     | 
| 
      
 3168 
     | 
    
         
            +
                                ...up.fragment.config.navigateOptions,
         
     | 
| 
      
 3169 
     | 
    
         
            +
                                ...openLayerOptions,
         
     | 
| 
      
 3170 
     | 
    
         
            +
                                layer: 'new',
         
     | 
| 
      
 3171 
     | 
    
         
            +
                            });
         
     | 
| 
      
 3172 
     | 
    
         
            +
                            Object.assign(renderOptions, openLayerOptions);
         
     | 
| 
      
 3173 
     | 
    
         
            +
                        }
         
     | 
| 
       3113 
3174 
     | 
    
         
             
                        renderOptions.location = this.improveHistoryValue(renderOptions.location, serverLocation);
         
     | 
| 
       3114 
3175 
     | 
    
         
             
                        renderOptions.title = this.improveHistoryValue(renderOptions.title, this._response.title);
         
     | 
| 
       3115 
3176 
     | 
    
         
             
                        renderOptions.eventPlans = this._response.eventPlans;
         
     | 
| 
         @@ -3124,7 +3185,7 @@ up.Change.FromResponse = (_a = class FromResponse extends up.Change { 
     | 
|
| 
       3124 
3185 
     | 
    
         
             
                            renderOptions.target = ':none';
         
     | 
| 
       3125 
3186 
     | 
    
         
             
                        }
         
     | 
| 
       3126 
3187 
     | 
    
         
             
                        renderOptions.context = u.merge(renderOptions.context, this._response.context);
         
     | 
| 
       3127 
     | 
    
         
            -
                        renderOptions. 
     | 
| 
      
 3188 
     | 
    
         
            +
                        renderOptions.cspInfo = this._response.cspInfo;
         
     | 
| 
       3128 
3189 
     | 
    
         
             
                        renderOptions.time ??= this._response.lastModified;
         
     | 
| 
       3129 
3190 
     | 
    
         
             
                        renderOptions.etag ??= this._response.etag;
         
     | 
| 
       3130 
3191 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -3138,7 +3199,7 @@ up.Change.FromResponse = (_a = class FromResponse extends up.Change { 
     | 
|
| 
       3138 
3199 
     | 
    
         | 
| 
       3139 
3200 
     | 
    
         | 
| 
       3140 
3201 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3141 
     | 
    
         
            -
            /*  
     | 
| 
      
 3202 
     | 
    
         
            +
            /* 34 */
         
     | 
| 
       3142 
3203 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3143 
3204 
     | 
    
         | 
| 
       3144 
3205 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -3210,7 +3271,7 @@ up.Change.FromContent = (_a = class FromContent extends up.Change { 
     | 
|
| 
       3210 
3271 
     | 
    
         
             
                            'fragment',
         
     | 
| 
       3211 
3272 
     | 
    
         
             
                            'document',
         
     | 
| 
       3212 
3273 
     | 
    
         
             
                            'html',
         
     | 
| 
       3213 
     | 
    
         
            -
                            ' 
     | 
| 
      
 3274 
     | 
    
         
            +
                            'cspInfo',
         
     | 
| 
       3214 
3275 
     | 
    
         
             
                            'origin',
         
     | 
| 
       3215 
3276 
     | 
    
         
             
                            'data',
         
     | 
| 
       3216 
3277 
     | 
    
         
             
                        ]);
         
     | 
| 
         @@ -3241,7 +3302,7 @@ up.Change.FromContent = (_a = class FromContent extends up.Change { 
     | 
|
| 
       3241 
3302 
     | 
    
         
             
                        return this._expandTargets(target || ':main', layer)[0];
         
     | 
| 
       3242 
3303 
     | 
    
         
             
                    }
         
     | 
| 
       3243 
3304 
     | 
    
         
             
                    getPreflightProps(opts = {}) {
         
     | 
| 
       3244 
     | 
    
         
            -
                        const getPlanProps = plan => plan.getPreflightProps();
         
     | 
| 
      
 3305 
     | 
    
         
            +
                        const getPlanProps = (plan) => plan.getPreflightProps();
         
     | 
| 
       3245 
3306 
     | 
    
         
             
                        return this._seekPlan(getPlanProps) || opts.optional || this._cannotMatchPreflightTarget();
         
     | 
| 
       3246 
3307 
     | 
    
         
             
                    }
         
     | 
| 
       3247 
3308 
     | 
    
         
             
                    _cannotMatchPreflightTarget() {
         
     | 
| 
         @@ -3293,7 +3354,7 @@ up.Change.FromContent = (_a = class FromContent extends up.Change { 
     | 
|
| 
       3293 
3354 
     | 
    
         | 
| 
       3294 
3355 
     | 
    
         | 
| 
       3295 
3356 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3296 
     | 
    
         
            -
            /*  
     | 
| 
      
 3357 
     | 
    
         
            +
            /* 35 */
         
     | 
| 
       3297 
3358 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3298 
3359 
     | 
    
         | 
| 
       3299 
3360 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3388,7 +3449,7 @@ up.CompilerPass = class CompilerPass { 
     | 
|
| 
       3388 
3449 
     | 
    
         | 
| 
       3389 
3450 
     | 
    
         | 
| 
       3390 
3451 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3391 
     | 
    
         
            -
            /*  
     | 
| 
      
 3452 
     | 
    
         
            +
            /* 36 */
         
     | 
| 
       3392 
3453 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3393 
3454 
     | 
    
         | 
| 
       3394 
3455 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3493,7 +3554,7 @@ up.CSSTransition = class CSSTransition { 
     | 
|
| 
       3493 
3554 
     | 
    
         | 
| 
       3494 
3555 
     | 
    
         | 
| 
       3495 
3556 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3496 
     | 
    
         
            -
            /*  
     | 
| 
      
 3557 
     | 
    
         
            +
            /* 37 */
         
     | 
| 
       3497 
3558 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3498 
3559 
     | 
    
         | 
| 
       3499 
3560 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3516,7 +3577,7 @@ up.DestructorPass = class DestructorPass { 
     | 
|
| 
       3516 
3577 
     | 
    
         | 
| 
       3517 
3578 
     | 
    
         | 
| 
       3518 
3579 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3519 
     | 
    
         
            -
            /*  
     | 
| 
      
 3580 
     | 
    
         
            +
            /* 38 */
         
     | 
| 
       3520 
3581 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3521 
3582 
     | 
    
         | 
| 
       3522 
3583 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3615,7 +3676,7 @@ up.EventEmitter = class EventEmitter extends up.Record { 
     | 
|
| 
       3615 
3676 
     | 
    
         | 
| 
       3616 
3677 
     | 
    
         | 
| 
       3617 
3678 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3618 
     | 
    
         
            -
            /*  
     | 
| 
      
 3679 
     | 
    
         
            +
            /* 39 */
         
     | 
| 
       3619 
3680 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3620 
3681 
     | 
    
         | 
| 
       3621 
3682 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3666,7 +3727,8 @@ up.EventListener = class EventListener extends up.Record { 
     | 
|
| 
       3666 
3727 
     | 
    
         
             
                    }
         
     | 
| 
       3667 
3728 
     | 
    
         
             
                    let element = event.target;
         
     | 
| 
       3668 
3729 
     | 
    
         
             
                    if (this.selector) {
         
     | 
| 
       3669 
     | 
    
         
            -
                         
     | 
| 
      
 3730 
     | 
    
         
            +
                        let selector = u.evalOption(this.selector);
         
     | 
| 
      
 3731 
     | 
    
         
            +
                        element = element.closest(selector);
         
     | 
| 
       3670 
3732 
     | 
    
         
             
                    }
         
     | 
| 
       3671 
3733 
     | 
    
         
             
                    if (this.guard && !this.guard(event)) {
         
     | 
| 
       3672 
3734 
     | 
    
         
             
                        return;
         
     | 
| 
         @@ -3719,7 +3781,7 @@ up.EventListener = class EventListener extends up.Record { 
     | 
|
| 
       3719 
3781 
     | 
    
         | 
| 
       3720 
3782 
     | 
    
         | 
| 
       3721 
3783 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3722 
     | 
    
         
            -
            /*  
     | 
| 
      
 3784 
     | 
    
         
            +
            /* 40 */
         
     | 
| 
       3723 
3785 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3724 
3786 
     | 
    
         | 
| 
       3725 
3787 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3765,7 +3827,7 @@ up.EventListenerGroup = class EventListenerGroup extends up.Record { 
     | 
|
| 
       3765 
3827 
     | 
    
         
             
                        }
         
     | 
| 
       3766 
3828 
     | 
    
         
             
                    });
         
     | 
| 
       3767 
3829 
     | 
    
         
             
                }
         
     | 
| 
       3768 
     | 
    
         
            -
                static fromBindArgs(args,  
     | 
| 
      
 3830 
     | 
    
         
            +
                static fromBindArgs(args, overrides) {
         
     | 
| 
       3769 
3831 
     | 
    
         
             
                    args = u.copy(args);
         
     | 
| 
       3770 
3832 
     | 
    
         
             
                    const callback = args.pop();
         
     | 
| 
       3771 
3833 
     | 
    
         
             
                    let elements;
         
     | 
| 
         @@ -3785,14 +3847,63 @@ up.EventListenerGroup = class EventListenerGroup extends up.Record { 
     | 
|
| 
       3785 
3847 
     | 
    
         
             
                    }
         
     | 
| 
       3786 
3848 
     | 
    
         
             
                    const options = u.extractOptions(args);
         
     | 
| 
       3787 
3849 
     | 
    
         
             
                    const selector = args[0];
         
     | 
| 
       3788 
     | 
    
         
            -
                    const attributes = { elements, eventTypes, selector, callback, ...options, ... 
     | 
| 
      
 3850 
     | 
    
         
            +
                    const attributes = { elements, eventTypes, selector, callback, ...options, ...overrides };
         
     | 
| 
       3789 
3851 
     | 
    
         
             
                    return new (this)(attributes);
         
     | 
| 
       3790 
3852 
     | 
    
         
             
                }
         
     | 
| 
       3791 
3853 
     | 
    
         
             
            };
         
     | 
| 
       3792 
3854 
     | 
    
         | 
| 
       3793 
3855 
     | 
    
         | 
| 
       3794 
3856 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3795 
     | 
    
         
            -
            /*  
     | 
| 
      
 3857 
     | 
    
         
            +
            /* 41 */
         
     | 
| 
      
 3858 
     | 
    
         
            +
            /***/ (() => {
         
     | 
| 
      
 3859 
     | 
    
         
            +
             
     | 
| 
      
 3860 
     | 
    
         
            +
            const u = up.util;
         
     | 
| 
      
 3861 
     | 
    
         
            +
            up.SelectorTracker = class SelectorTracker {
         
     | 
| 
      
 3862 
     | 
    
         
            +
                constructor(selector, options, addCallback) {
         
     | 
| 
      
 3863 
     | 
    
         
            +
                    this._selector = selector;
         
     | 
| 
      
 3864 
     | 
    
         
            +
                    this._addCallback = addCallback;
         
     | 
| 
      
 3865 
     | 
    
         
            +
                    this._layer = options.layer || 'any';
         
     | 
| 
      
 3866 
     | 
    
         
            +
                    this._filter = options.filter || u.identity;
         
     | 
| 
      
 3867 
     | 
    
         
            +
                    this._live = options.live ?? true;
         
     | 
| 
      
 3868 
     | 
    
         
            +
                    this._knownMatches = new Map();
         
     | 
| 
      
 3869 
     | 
    
         
            +
                }
         
     | 
| 
      
 3870 
     | 
    
         
            +
                start() {
         
     | 
| 
      
 3871 
     | 
    
         
            +
                    this._sync();
         
     | 
| 
      
 3872 
     | 
    
         
            +
                    return u.sequence(this._trackFragments(), () => this._removeAllMatches());
         
     | 
| 
      
 3873 
     | 
    
         
            +
                }
         
     | 
| 
      
 3874 
     | 
    
         
            +
                _trackFragments() {
         
     | 
| 
      
 3875 
     | 
    
         
            +
                    if (this._live) {
         
     | 
| 
      
 3876 
     | 
    
         
            +
                        return up.on('up:fragment:inserted up:fragment:destroyed', () => this._sync());
         
     | 
| 
      
 3877 
     | 
    
         
            +
                    }
         
     | 
| 
      
 3878 
     | 
    
         
            +
                }
         
     | 
| 
      
 3879 
     | 
    
         
            +
                _sync() {
         
     | 
| 
      
 3880 
     | 
    
         
            +
                    let removeMap = new Map(this._knownMatches);
         
     | 
| 
      
 3881 
     | 
    
         
            +
                    this._knownMatches.clear();
         
     | 
| 
      
 3882 
     | 
    
         
            +
                    for (let newMatch of this._currentMatches) {
         
     | 
| 
      
 3883 
     | 
    
         
            +
                        let knownRemoveCallback = removeMap.get(newMatch);
         
     | 
| 
      
 3884 
     | 
    
         
            +
                        removeMap.delete(newMatch);
         
     | 
| 
      
 3885 
     | 
    
         
            +
                        let removeCallback = knownRemoveCallback || this._addCallback(newMatch) || u.noop;
         
     | 
| 
      
 3886 
     | 
    
         
            +
                        this._knownMatches.set(newMatch, removeCallback);
         
     | 
| 
      
 3887 
     | 
    
         
            +
                    }
         
     | 
| 
      
 3888 
     | 
    
         
            +
                    this._runRemoveCallbacks(removeMap);
         
     | 
| 
      
 3889 
     | 
    
         
            +
                }
         
     | 
| 
      
 3890 
     | 
    
         
            +
                get _currentMatches() {
         
     | 
| 
      
 3891 
     | 
    
         
            +
                    let allMatches = up.fragment.all(this._selector, { layer: this._layer });
         
     | 
| 
      
 3892 
     | 
    
         
            +
                    return this._filter(allMatches);
         
     | 
| 
      
 3893 
     | 
    
         
            +
                }
         
     | 
| 
      
 3894 
     | 
    
         
            +
                _removeAllMatches() {
         
     | 
| 
      
 3895 
     | 
    
         
            +
                    this._runRemoveCallbacks(this._knownMatches);
         
     | 
| 
      
 3896 
     | 
    
         
            +
                }
         
     | 
| 
      
 3897 
     | 
    
         
            +
                _runRemoveCallbacks(map) {
         
     | 
| 
      
 3898 
     | 
    
         
            +
                    for (let [element, removeCallback] of map) {
         
     | 
| 
      
 3899 
     | 
    
         
            +
                        removeCallback(element);
         
     | 
| 
      
 3900 
     | 
    
         
            +
                    }
         
     | 
| 
      
 3901 
     | 
    
         
            +
                }
         
     | 
| 
      
 3902 
     | 
    
         
            +
            };
         
     | 
| 
      
 3903 
     | 
    
         
            +
             
     | 
| 
      
 3904 
     | 
    
         
            +
             
     | 
| 
      
 3905 
     | 
    
         
            +
            /***/ }),
         
     | 
| 
      
 3906 
     | 
    
         
            +
            /* 42 */
         
     | 
| 
       3796 
3907 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3797 
3908 
     | 
    
         | 
| 
       3798 
3909 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3800,40 +3911,46 @@ up.FieldWatcher = class FieldWatcher { 
     | 
|
| 
       3800 
3911 
     | 
    
         
             
                constructor(root, options, callback) {
         
     | 
| 
       3801 
3912 
     | 
    
         
             
                    this._options = options;
         
     | 
| 
       3802 
3913 
     | 
    
         
             
                    this._root = root;
         
     | 
| 
       3803 
     | 
    
         
            -
                    this._scope = up.form.getScope(root);
         
     | 
| 
       3804 
3914 
     | 
    
         
             
                    this._callback = callback;
         
     | 
| 
       3805 
3915 
     | 
    
         
             
                    this._batch = options.batch;
         
     | 
| 
      
 3916 
     | 
    
         
            +
                    this._logPrefix = options.logPrefix ?? 'up.watch()';
         
     | 
| 
      
 3917 
     | 
    
         
            +
                    this._ensureWatchable();
         
     | 
| 
       3806 
3918 
     | 
    
         
             
                }
         
     | 
| 
       3807 
3919 
     | 
    
         
             
                start() {
         
     | 
| 
       3808 
3920 
     | 
    
         
             
                    this._scheduledValues = null;
         
     | 
| 
       3809 
3921 
     | 
    
         
             
                    this._processedValues = this._readFieldValues();
         
     | 
| 
       3810 
3922 
     | 
    
         
             
                    this._currentTimer = null;
         
     | 
| 
       3811 
3923 
     | 
    
         
             
                    this._callbackRunning = false;
         
     | 
| 
       3812 
     | 
    
         
            -
                    this. 
     | 
| 
       3813 
     | 
    
         
            -
                    this._watchFieldsWithin(this._root);
         
     | 
| 
       3814 
     | 
    
         
            -
                    this._root.addEventListener('up:fragment:inserted', ({ target }) => {
         
     | 
| 
       3815 
     | 
    
         
            -
                        if (target !== this._root)
         
     | 
| 
       3816 
     | 
    
         
            -
                            this._watchFieldsWithin(target);
         
     | 
| 
       3817 
     | 
    
         
            -
                    });
         
     | 
| 
       3818 
     | 
    
         
            -
                    this._cleaner(up.fragment.onAborted(this._scope, () => this._abort()));
         
     | 
| 
       3819 
     | 
    
         
            -
                    this._cleaner(up.on(this._scope, 'reset', () => this._onFormReset()));
         
     | 
| 
      
 3924 
     | 
    
         
            +
                    return u.sequence(up.form.trackFields(this._root, (field) => this._watchField(field)), this._trackAbort(), this._trackReset(), () => this._abort());
         
     | 
| 
       3820 
3925 
     | 
    
         
             
                }
         
     | 
| 
       3821 
     | 
    
         
            -
                 
     | 
| 
       3822 
     | 
    
         
            -
                    this. 
     | 
| 
       3823 
     | 
    
         
            -
                    this. 
     | 
| 
      
 3926 
     | 
    
         
            +
                _ensureWatchable() {
         
     | 
| 
      
 3927 
     | 
    
         
            +
                    const fail = (message) => up.fail(message, this._logPrefix, this._root);
         
     | 
| 
      
 3928 
     | 
    
         
            +
                    if (!this._callback) {
         
     | 
| 
      
 3929 
     | 
    
         
            +
                        fail('No callback provided for %s (%o)');
         
     | 
| 
      
 3930 
     | 
    
         
            +
                    }
         
     | 
| 
      
 3931 
     | 
    
         
            +
                    if (this._root.matches('input[type=radio]')) {
         
     | 
| 
      
 3932 
     | 
    
         
            +
                        fail('Use %s with the container of a radio group, not with an individual radio button (%o)');
         
     | 
| 
      
 3933 
     | 
    
         
            +
                    }
         
     | 
| 
      
 3934 
     | 
    
         
            +
                }
         
     | 
| 
      
 3935 
     | 
    
         
            +
                _trackAbort() {
         
     | 
| 
      
 3936 
     | 
    
         
            +
                    let guard = ({ target }) => target.contains(this._region);
         
     | 
| 
      
 3937 
     | 
    
         
            +
                    return up.on('up:fragment:aborted', { guard }, () => this._abort());
         
     | 
| 
      
 3938 
     | 
    
         
            +
                }
         
     | 
| 
      
 3939 
     | 
    
         
            +
                _trackReset() {
         
     | 
| 
      
 3940 
     | 
    
         
            +
                    let guard = ({ target }) => target === this._region;
         
     | 
| 
      
 3941 
     | 
    
         
            +
                    return up.on('reset', { guard }, (event) => this._onFormReset(event));
         
     | 
| 
      
 3942 
     | 
    
         
            +
                }
         
     | 
| 
      
 3943 
     | 
    
         
            +
                get _region() {
         
     | 
| 
      
 3944 
     | 
    
         
            +
                    return up.form.getRegion(this._root);
         
     | 
| 
       3824 
3945 
     | 
    
         
             
                }
         
     | 
| 
       3825 
3946 
     | 
    
         
             
                _fieldOptions(field) {
         
     | 
| 
       3826 
3947 
     | 
    
         
             
                    let rootOptions = u.copy(this._options);
         
     | 
| 
       3827 
3948 
     | 
    
         
             
                    return up.form.watchOptions(field, rootOptions, { defaults: { event: 'input' } });
         
     | 
| 
       3828 
3949 
     | 
    
         
             
                }
         
     | 
| 
       3829 
     | 
    
         
            -
                _watchFieldsWithin(container) {
         
     | 
| 
       3830 
     | 
    
         
            -
                    for (let field of up.form.fields(container)) {
         
     | 
| 
       3831 
     | 
    
         
            -
                        this._watchField(field);
         
     | 
| 
       3832 
     | 
    
         
            -
                    }
         
     | 
| 
       3833 
     | 
    
         
            -
                }
         
     | 
| 
       3834 
3950 
     | 
    
         
             
                _watchField(field) {
         
     | 
| 
       3835 
3951 
     | 
    
         
             
                    let fieldOptions = this._fieldOptions(field);
         
     | 
| 
       3836 
     | 
    
         
            -
                     
     | 
| 
      
 3952 
     | 
    
         
            +
                    let eventType = fieldOptions.event;
         
     | 
| 
      
 3953 
     | 
    
         
            +
                    return up.on(field, eventType, (event) => this._check(event, fieldOptions));
         
     | 
| 
       3837 
3954 
     | 
    
         
             
                }
         
     | 
| 
       3838 
3955 
     | 
    
         
             
                _abort() {
         
     | 
| 
       3839 
3956 
     | 
    
         
             
                    this._scheduledValues = null;
         
     | 
| 
         @@ -3858,7 +3975,7 @@ up.FieldWatcher = class FieldWatcher { 
     | 
|
| 
       3858 
3975 
     | 
    
         
             
                        return;
         
     | 
| 
       3859 
3976 
     | 
    
         
             
                    if (this._currentTimer)
         
     | 
| 
       3860 
3977 
     | 
    
         
             
                        return;
         
     | 
| 
       3861 
     | 
    
         
            -
                    if (!this. 
     | 
| 
      
 3978 
     | 
    
         
            +
                    if (!up.fragment.isAlive(this._region))
         
     | 
| 
       3862 
3979 
     | 
    
         
             
                        return;
         
     | 
| 
       3863 
3980 
     | 
    
         
             
                    let callbackOptions = u.omit(this._scheduledFieldOptions, ['event', 'delay']);
         
     | 
| 
       3864 
3981 
     | 
    
         
             
                    const diff = this._changedValues(this._processedValues, this._scheduledValues);
         
     | 
| 
         @@ -3903,20 +4020,141 @@ up.FieldWatcher = class FieldWatcher { 
     | 
|
| 
       3903 
4020 
     | 
    
         
             
                _readFieldValues() {
         
     | 
| 
       3904 
4021 
     | 
    
         
             
                    return up.Params.fromContainer(this._root).toObject();
         
     | 
| 
       3905 
4022 
     | 
    
         
             
                }
         
     | 
| 
       3906 
     | 
    
         
            -
                _check(fieldOptions = {}) {
         
     | 
| 
      
 4023 
     | 
    
         
            +
                _check(event, fieldOptions = {}) {
         
     | 
| 
      
 4024 
     | 
    
         
            +
                    up.log.putsEvent(event);
         
     | 
| 
       3907 
4025 
     | 
    
         
             
                    const values = this._readFieldValues();
         
     | 
| 
       3908 
4026 
     | 
    
         
             
                    if (this._isNewValues(values)) {
         
     | 
| 
       3909 
4027 
     | 
    
         
             
                        this._scheduleValues(values, fieldOptions);
         
     | 
| 
       3910 
4028 
     | 
    
         
             
                    }
         
     | 
| 
       3911 
4029 
     | 
    
         
             
                }
         
     | 
| 
       3912 
     | 
    
         
            -
                _onFormReset() {
         
     | 
| 
       3913 
     | 
    
         
            -
                    u.task(() => this._check());
         
     | 
| 
      
 4030 
     | 
    
         
            +
                _onFormReset(event) {
         
     | 
| 
      
 4031 
     | 
    
         
            +
                    u.task(() => this._check(event));
         
     | 
| 
       3914 
4032 
     | 
    
         
             
                }
         
     | 
| 
       3915 
4033 
     | 
    
         
             
            };
         
     | 
| 
       3916 
4034 
     | 
    
         | 
| 
       3917 
4035 
     | 
    
         | 
| 
       3918 
4036 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       3919 
     | 
    
         
            -
            /*  
     | 
| 
      
 4037 
     | 
    
         
            +
            /* 43 */
         
     | 
| 
      
 4038 
     | 
    
         
            +
            /***/ (() => {
         
     | 
| 
      
 4039 
     | 
    
         
            +
             
     | 
| 
      
 4040 
     | 
    
         
            +
            const u = up.util;
         
     | 
| 
      
 4041 
     | 
    
         
            +
            const e = up.element;
         
     | 
| 
      
 4042 
     | 
    
         
            +
            const BUILTIN_SWITCH_EFFECTS = [
         
     | 
| 
      
 4043 
     | 
    
         
            +
                { attr: 'up-hide-for', toggle(target, active) { e.toggle(target, !active); } },
         
     | 
| 
      
 4044 
     | 
    
         
            +
                { attr: 'up-show-for', toggle(target, active) { e.toggle(target, active); } },
         
     | 
| 
      
 4045 
     | 
    
         
            +
                { attr: 'up-disable-for', toggle(target, active) { up.form.setDisabled(target, active); } },
         
     | 
| 
      
 4046 
     | 
    
         
            +
                { attr: 'up-enable-for', toggle(target, active) { up.form.setDisabled(target, !active); } },
         
     | 
| 
      
 4047 
     | 
    
         
            +
            ];
         
     | 
| 
      
 4048 
     | 
    
         
            +
            up.Switcher = class Switcher {
         
     | 
| 
      
 4049 
     | 
    
         
            +
                constructor(root) {
         
     | 
| 
      
 4050 
     | 
    
         
            +
                    this._root = root;
         
     | 
| 
      
 4051 
     | 
    
         
            +
                    this._switcheeSelector = root.getAttribute('up-switch') || up.fail("No switch target given for %o", root);
         
     | 
| 
      
 4052 
     | 
    
         
            +
                    this._regionSelector = root.getAttribute('up-switch-region');
         
     | 
| 
      
 4053 
     | 
    
         
            +
                }
         
     | 
| 
      
 4054 
     | 
    
         
            +
                start() {
         
     | 
| 
      
 4055 
     | 
    
         
            +
                    this._switchRegion();
         
     | 
| 
      
 4056 
     | 
    
         
            +
                    return u.sequence(this._trackFieldChanges(), this._trackNewSwitchees());
         
     | 
| 
      
 4057 
     | 
    
         
            +
                }
         
     | 
| 
      
 4058 
     | 
    
         
            +
                _trackFieldChanges() {
         
     | 
| 
      
 4059 
     | 
    
         
            +
                    let callback = () => this._onFieldChanged();
         
     | 
| 
      
 4060 
     | 
    
         
            +
                    return up.migrate.watchForSwitch?.(this._root, callback)
         
     | 
| 
      
 4061 
     | 
    
         
            +
                        || up.watch(this._root, { logPrefix: '[up-switch]' }, callback);
         
     | 
| 
      
 4062 
     | 
    
         
            +
                }
         
     | 
| 
      
 4063 
     | 
    
         
            +
                _trackNewSwitchees() {
         
     | 
| 
      
 4064 
     | 
    
         
            +
                    let filter = (matches) => {
         
     | 
| 
      
 4065 
     | 
    
         
            +
                        let scope = this._scope;
         
     | 
| 
      
 4066 
     | 
    
         
            +
                        return u.filter(matches, (match) => scope.contains(match));
         
     | 
| 
      
 4067 
     | 
    
         
            +
                    };
         
     | 
| 
      
 4068 
     | 
    
         
            +
                    let onSwitcheeAdded = (switchee) => this._switchSwitchee(switchee);
         
     | 
| 
      
 4069 
     | 
    
         
            +
                    return up.fragment.trackSelector(this._switcheeSelector, { filter }, onSwitcheeAdded);
         
     | 
| 
      
 4070 
     | 
    
         
            +
                }
         
     | 
| 
      
 4071 
     | 
    
         
            +
                _onFieldChanged() {
         
     | 
| 
      
 4072 
     | 
    
         
            +
                    this._switchRegion();
         
     | 
| 
      
 4073 
     | 
    
         
            +
                }
         
     | 
| 
      
 4074 
     | 
    
         
            +
                _switchRegion() {
         
     | 
| 
      
 4075 
     | 
    
         
            +
                    const fieldTokens = this._buildFieldTokens();
         
     | 
| 
      
 4076 
     | 
    
         
            +
                    for (let switchee of this._findSwitchees()) {
         
     | 
| 
      
 4077 
     | 
    
         
            +
                        this._switchSwitchee(switchee, fieldTokens);
         
     | 
| 
      
 4078 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4079 
     | 
    
         
            +
                }
         
     | 
| 
      
 4080 
     | 
    
         
            +
                _switchSwitchee(switchee, fieldTokens = this._buildFieldTokens()) {
         
     | 
| 
      
 4081 
     | 
    
         
            +
                    let previousValues = switchee.upSwitchValues;
         
     | 
| 
      
 4082 
     | 
    
         
            +
                    if (!u.isEqual(previousValues, fieldTokens)) {
         
     | 
| 
      
 4083 
     | 
    
         
            +
                        switchee.upSwitchValues = fieldTokens;
         
     | 
| 
      
 4084 
     | 
    
         
            +
                        this._switchSwitcheeNow(switchee, fieldTokens);
         
     | 
| 
      
 4085 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4086 
     | 
    
         
            +
                }
         
     | 
| 
      
 4087 
     | 
    
         
            +
                _switchSwitcheeNow(switchee, fieldTokens) {
         
     | 
| 
      
 4088 
     | 
    
         
            +
                    for (let { attr, toggle } of BUILTIN_SWITCH_EFFECTS) {
         
     | 
| 
      
 4089 
     | 
    
         
            +
                        let attrValue = switchee.getAttribute(attr);
         
     | 
| 
      
 4090 
     | 
    
         
            +
                        if (attrValue) {
         
     | 
| 
      
 4091 
     | 
    
         
            +
                            let activeTokens = this._parseSwitcheeTokens(attrValue);
         
     | 
| 
      
 4092 
     | 
    
         
            +
                            let isActive = u.intersect(fieldTokens, activeTokens).length > 0;
         
     | 
| 
      
 4093 
     | 
    
         
            +
                            toggle(switchee, isActive);
         
     | 
| 
      
 4094 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4095 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4096 
     | 
    
         
            +
                    let log = ['Switching %o', switchee];
         
     | 
| 
      
 4097 
     | 
    
         
            +
                    up.emit(switchee, 'up:form:switch', { field: this._root, tokens: fieldTokens, log });
         
     | 
| 
      
 4098 
     | 
    
         
            +
                }
         
     | 
| 
      
 4099 
     | 
    
         
            +
                _findSwitchees() {
         
     | 
| 
      
 4100 
     | 
    
         
            +
                    return up.fragment.subtree(this._scope, this._switcheeSelector);
         
     | 
| 
      
 4101 
     | 
    
         
            +
                }
         
     | 
| 
      
 4102 
     | 
    
         
            +
                get _scope() {
         
     | 
| 
      
 4103 
     | 
    
         
            +
                    if (this._regionSelector) {
         
     | 
| 
      
 4104 
     | 
    
         
            +
                        return up.fragment.get(this._regionSelector, { origin: this._root });
         
     | 
| 
      
 4105 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4106 
     | 
    
         
            +
                    else {
         
     | 
| 
      
 4107 
     | 
    
         
            +
                        return up.form.getRegion(this._root);
         
     | 
| 
      
 4108 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4109 
     | 
    
         
            +
                }
         
     | 
| 
      
 4110 
     | 
    
         
            +
                _parseSwitcheeTokens(str) {
         
     | 
| 
      
 4111 
     | 
    
         
            +
                    return u.getSimpleTokens(str, { json: true });
         
     | 
| 
      
 4112 
     | 
    
         
            +
                }
         
     | 
| 
      
 4113 
     | 
    
         
            +
                _buildFieldTokens() {
         
     | 
| 
      
 4114 
     | 
    
         
            +
                    let fields = up.form.fields(this._root);
         
     | 
| 
      
 4115 
     | 
    
         
            +
                    let field = fields[0];
         
     | 
| 
      
 4116 
     | 
    
         
            +
                    let value;
         
     | 
| 
      
 4117 
     | 
    
         
            +
                    let meta;
         
     | 
| 
      
 4118 
     | 
    
         
            +
                    if (field.matches('input[type=checkbox]')) {
         
     | 
| 
      
 4119 
     | 
    
         
            +
                        if (field.checked) {
         
     | 
| 
      
 4120 
     | 
    
         
            +
                            value = field.value;
         
     | 
| 
      
 4121 
     | 
    
         
            +
                            meta = ':checked';
         
     | 
| 
      
 4122 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4123 
     | 
    
         
            +
                        else {
         
     | 
| 
      
 4124 
     | 
    
         
            +
                            meta = ':unchecked';
         
     | 
| 
      
 4125 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4126 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4127 
     | 
    
         
            +
                    else if (field.matches('input[type=radio]')) {
         
     | 
| 
      
 4128 
     | 
    
         
            +
                        let checkedButton = up.migrate.checkedRadioButtonForSwitch?.(field) || u.find(fields, 'checked');
         
     | 
| 
      
 4129 
     | 
    
         
            +
                        if (checkedButton) {
         
     | 
| 
      
 4130 
     | 
    
         
            +
                            meta = ':checked';
         
     | 
| 
      
 4131 
     | 
    
         
            +
                            value = checkedButton.value;
         
     | 
| 
      
 4132 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4133 
     | 
    
         
            +
                        else {
         
     | 
| 
      
 4134 
     | 
    
         
            +
                            meta = ':unchecked';
         
     | 
| 
      
 4135 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4136 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4137 
     | 
    
         
            +
                    else {
         
     | 
| 
      
 4138 
     | 
    
         
            +
                        value = field.value;
         
     | 
| 
      
 4139 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4140 
     | 
    
         
            +
                    const values = [];
         
     | 
| 
      
 4141 
     | 
    
         
            +
                    if (u.isPresent(value)) {
         
     | 
| 
      
 4142 
     | 
    
         
            +
                        values.push(value);
         
     | 
| 
      
 4143 
     | 
    
         
            +
                        values.push(':present');
         
     | 
| 
      
 4144 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4145 
     | 
    
         
            +
                    else {
         
     | 
| 
      
 4146 
     | 
    
         
            +
                        values.push(':blank');
         
     | 
| 
      
 4147 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4148 
     | 
    
         
            +
                    if (u.isPresent(meta)) {
         
     | 
| 
      
 4149 
     | 
    
         
            +
                        values.push(meta);
         
     | 
| 
      
 4150 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4151 
     | 
    
         
            +
                    return values;
         
     | 
| 
      
 4152 
     | 
    
         
            +
                }
         
     | 
| 
      
 4153 
     | 
    
         
            +
            };
         
     | 
| 
      
 4154 
     | 
    
         
            +
             
     | 
| 
      
 4155 
     | 
    
         
            +
             
     | 
| 
      
 4156 
     | 
    
         
            +
            /***/ }),
         
     | 
| 
      
 4157 
     | 
    
         
            +
            /* 44 */
         
     | 
| 
       3920 
4158 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       3921 
4159 
     | 
    
         | 
| 
       3922 
4160 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -3927,41 +4165,51 @@ up.FormValidator = class FormValidator { 
     | 
|
| 
       3927 
4165 
     | 
    
         
             
                    this._dirtySolutions = [];
         
     | 
| 
       3928 
4166 
     | 
    
         
             
                    this._nextRenderTimer = null;
         
     | 
| 
       3929 
4167 
     | 
    
         
             
                    this._rendering = false;
         
     | 
| 
       3930 
     | 
    
         
            -
                    this._resetNextRenderPromise();
         
     | 
| 
       3931 
4168 
     | 
    
         
             
                    this._honorAbort();
         
     | 
| 
       3932 
4169 
     | 
    
         
             
                }
         
     | 
| 
      
 4170 
     | 
    
         
            +
                start() {
         
     | 
| 
      
 4171 
     | 
    
         
            +
                    let guard = (field) => this._isValidatingField(field);
         
     | 
| 
      
 4172 
     | 
    
         
            +
                    let callback = (field) => this._onFieldAdded(field);
         
     | 
| 
      
 4173 
     | 
    
         
            +
                    return up.form.trackFields(this._form, { guard }, callback);
         
     | 
| 
      
 4174 
     | 
    
         
            +
                }
         
     | 
| 
      
 4175 
     | 
    
         
            +
                _isValidatingField(field) {
         
     | 
| 
      
 4176 
     | 
    
         
            +
                    return field.closest('[up-validate]:not([up-validate=false])');
         
     | 
| 
      
 4177 
     | 
    
         
            +
                }
         
     | 
| 
      
 4178 
     | 
    
         
            +
                _onFieldAdded(field) {
         
     | 
| 
      
 4179 
     | 
    
         
            +
                    let eventType = up.form.validateOptions(field).event;
         
     | 
| 
      
 4180 
     | 
    
         
            +
                    return up.on(field, eventType, (event) => {
         
     | 
| 
      
 4181 
     | 
    
         
            +
                        up.log.putsEvent(event);
         
     | 
| 
      
 4182 
     | 
    
         
            +
                        up.error.muteUncriticalRejection(this.validate({ origin: field }));
         
     | 
| 
      
 4183 
     | 
    
         
            +
                    });
         
     | 
| 
      
 4184 
     | 
    
         
            +
                }
         
     | 
| 
       3933 
4185 
     | 
    
         
             
                _honorAbort() {
         
     | 
| 
       3934 
4186 
     | 
    
         
             
                    up.fragment.onAborted(this._form, (event) => this._onAborted(event));
         
     | 
| 
       3935 
4187 
     | 
    
         
             
                }
         
     | 
| 
       3936 
4188 
     | 
    
         
             
                _onAborted(event) {
         
     | 
| 
       3937 
     | 
    
         
            -
                     
     | 
| 
       3938 
     | 
    
         
            -
             
     | 
| 
       3939 
     | 
    
         
            -
             
     | 
| 
       3940 
     | 
    
         
            -
                         
     | 
| 
      
 4189 
     | 
    
         
            +
                    let abortedError = new up.Aborted(event.reason);
         
     | 
| 
      
 4190 
     | 
    
         
            +
                    let solution;
         
     | 
| 
      
 4191 
     | 
    
         
            +
                    while (solution = this._dirtySolutions.shift()) {
         
     | 
| 
      
 4192 
     | 
    
         
            +
                        solution.deferred.reject(abortedError);
         
     | 
| 
       3941 
4193 
     | 
    
         
             
                    }
         
     | 
| 
       3942 
4194 
     | 
    
         
             
                }
         
     | 
| 
       3943 
     | 
    
         
            -
                _resetNextRenderPromise() {
         
     | 
| 
       3944 
     | 
    
         
            -
                    this._nextRenderPromise = u.newDeferred();
         
     | 
| 
       3945 
     | 
    
         
            -
                }
         
     | 
| 
       3946 
     | 
    
         
            -
                watchContainer(fieldOrForm) {
         
     | 
| 
       3947 
     | 
    
         
            -
                    let { event } = this._originOptions(fieldOrForm);
         
     | 
| 
       3948 
     | 
    
         
            -
                    let guard = () => up.fragment.isAlive(fieldOrForm);
         
     | 
| 
       3949 
     | 
    
         
            -
                    let callback = () => up.error.muteUncriticalRejection(this.validate({ origin: fieldOrForm }));
         
     | 
| 
       3950 
     | 
    
         
            -
                    up.on(fieldOrForm, event, { guard }, callback);
         
     | 
| 
       3951 
     | 
    
         
            -
                }
         
     | 
| 
       3952 
4195 
     | 
    
         
             
                validate(options = {}) {
         
     | 
| 
       3953 
     | 
    
         
            -
                    let  
     | 
| 
       3954 
     | 
    
         
            -
                    this._dirtySolutions.push(... 
     | 
| 
      
 4196 
     | 
    
         
            +
                    let newSolutions = this._getSolutions(options);
         
     | 
| 
      
 4197 
     | 
    
         
            +
                    this._dirtySolutions.push(...newSolutions);
         
     | 
| 
       3955 
4198 
     | 
    
         
             
                    this._scheduleNextRender();
         
     | 
| 
       3956 
     | 
    
         
            -
                    return  
     | 
| 
      
 4199 
     | 
    
         
            +
                    return newSolutions[0]?.deferred;
         
     | 
| 
       3957 
4200 
     | 
    
         
             
                }
         
     | 
| 
       3958 
4201 
     | 
    
         
             
                _getSolutions(options) {
         
     | 
| 
       3959 
4202 
     | 
    
         
             
                    let solutions = this._getTargetSelectorSolutions(options)
         
     | 
| 
       3960 
4203 
     | 
    
         
             
                        || this._getFieldSolutions(options)
         
     | 
| 
       3961 
4204 
     | 
    
         
             
                        || this._getElementSolutions(options.origin);
         
     | 
| 
      
 4205 
     | 
    
         
            +
                    let deferred = u.newDeferred();
         
     | 
| 
       3962 
4206 
     | 
    
         
             
                    for (let solution of solutions) {
         
     | 
| 
       3963 
     | 
    
         
            -
                         
     | 
| 
      
 4207 
     | 
    
         
            +
                        let renderOptions = up.form.validateOptions(solution.origin, options);
         
     | 
| 
      
 4208 
     | 
    
         
            +
                        solution.batch = u.pluckKey(renderOptions, 'batch');
         
     | 
| 
      
 4209 
     | 
    
         
            +
                        solution.renderOptions = renderOptions;
         
     | 
| 
      
 4210 
     | 
    
         
            +
                        solution.destination = `${renderOptions.method} ${renderOptions.url}`;
         
     | 
| 
       3964 
4211 
     | 
    
         
             
                        solution.target = up.fragment.resolveOrigin(solution.target, solution);
         
     | 
| 
      
 4212 
     | 
    
         
            +
                        solution.deferred = deferred;
         
     | 
| 
       3965 
4213 
     | 
    
         
             
                    }
         
     | 
| 
       3966 
4214 
     | 
    
         
             
                    return solutions;
         
     | 
| 
       3967 
4215 
     | 
    
         
             
                }
         
     | 
| 
         @@ -4013,9 +4261,6 @@ up.FormValidator = class FormValidator { 
     | 
|
| 
       4013 
4261 
     | 
    
         
             
                        return this._getTargetSelectorSolutions({ target, origin: field });
         
     | 
| 
       4014 
4262 
     | 
    
         
             
                    }
         
     | 
| 
       4015 
4263 
     | 
    
         
             
                }
         
     | 
| 
       4016 
     | 
    
         
            -
                _originOptions(element, overrideOptions) {
         
     | 
| 
       4017 
     | 
    
         
            -
                    return up.form.watchOptions(element, overrideOptions, { defaults: { event: 'change' } });
         
     | 
| 
       4018 
     | 
    
         
            -
                }
         
     | 
| 
       4019 
4264 
     | 
    
         
             
                _scheduleNextRender() {
         
     | 
| 
       4020 
4265 
     | 
    
         
             
                    let solutionDelays = this._dirtySolutions.map((solution) => solution.renderOptions.delay);
         
     | 
| 
       4021 
4266 
     | 
    
         
             
                    let shortestDelay = Math.min(...solutionDelays) || 0;
         
     | 
| 
         @@ -4035,33 +4280,53 @@ up.FormValidator = class FormValidator { 
     | 
|
| 
       4035 
4280 
     | 
    
         
             
                        return;
         
     | 
| 
       4036 
4281 
     | 
    
         
             
                    if (this._nextRenderTimer)
         
     | 
| 
       4037 
4282 
     | 
    
         
             
                        return;
         
     | 
| 
       4038 
     | 
    
         
            -
                    let  
     | 
| 
       4039 
     | 
    
         
            -
                     
     | 
| 
      
 4283 
     | 
    
         
            +
                    let solutionsBatch = this._selectDirtySolutionsBatch();
         
     | 
| 
      
 4284 
     | 
    
         
            +
                    let renderOptions = this._mergeRenderOptions(solutionsBatch);
         
     | 
| 
       4040 
4285 
     | 
    
         
             
                    this._rendering = true;
         
     | 
| 
       4041 
     | 
    
         
            -
                    let renderingPromise = this._nextRenderPromise;
         
     | 
| 
       4042 
     | 
    
         
            -
                    this._resetNextRenderPromise();
         
     | 
| 
       4043 
4286 
     | 
    
         
             
                    try {
         
     | 
| 
       4044 
     | 
    
         
            -
                         
     | 
| 
       4045 
     | 
    
         
            -
                         
     | 
| 
      
 4287 
     | 
    
         
            +
                        let renderPromise = up.render(renderOptions);
         
     | 
| 
      
 4288 
     | 
    
         
            +
                        for (let solution of solutionsBatch) {
         
     | 
| 
      
 4289 
     | 
    
         
            +
                            solution.deferred.resolve(renderPromise);
         
     | 
| 
      
 4290 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4291 
     | 
    
         
            +
                        await renderPromise;
         
     | 
| 
       4046 
4292 
     | 
    
         
             
                    }
         
     | 
| 
       4047 
4293 
     | 
    
         
             
                    finally {
         
     | 
| 
       4048 
4294 
     | 
    
         
             
                        this._rendering = false;
         
     | 
| 
       4049 
4295 
     | 
    
         
             
                        this._renderDirtySolutions();
         
     | 
| 
       4050 
4296 
     | 
    
         
             
                    }
         
     | 
| 
       4051 
4297 
     | 
    
         
             
                }
         
     | 
| 
      
 4298 
     | 
    
         
            +
                _selectDirtySolutionsBatch() {
         
     | 
| 
      
 4299 
     | 
    
         
            +
                    let batch = [];
         
     | 
| 
      
 4300 
     | 
    
         
            +
                    let i = 0;
         
     | 
| 
      
 4301 
     | 
    
         
            +
                    while (i < this._dirtySolutions.length) {
         
     | 
| 
      
 4302 
     | 
    
         
            +
                        let solution = this._dirtySolutions[i];
         
     | 
| 
      
 4303 
     | 
    
         
            +
                        if (batch.length === 0 || this._canBatchSolutions(batch[0], solution)) {
         
     | 
| 
      
 4304 
     | 
    
         
            +
                            batch.push(solution);
         
     | 
| 
      
 4305 
     | 
    
         
            +
                            this._dirtySolutions.splice(i, 1);
         
     | 
| 
      
 4306 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4307 
     | 
    
         
            +
                        else {
         
     | 
| 
      
 4308 
     | 
    
         
            +
                            i++;
         
     | 
| 
      
 4309 
     | 
    
         
            +
                        }
         
     | 
| 
      
 4310 
     | 
    
         
            +
                    }
         
     | 
| 
      
 4311 
     | 
    
         
            +
                    return batch;
         
     | 
| 
      
 4312 
     | 
    
         
            +
                }
         
     | 
| 
      
 4313 
     | 
    
         
            +
                _canBatchSolutions(s1, s2) {
         
     | 
| 
      
 4314 
     | 
    
         
            +
                    return s1.destination === s2.destination && s1.batch && s2.batch;
         
     | 
| 
      
 4315 
     | 
    
         
            +
                }
         
     | 
| 
       4052 
4316 
     | 
    
         
             
                _mergeRenderOptions(dirtySolutions) {
         
     | 
| 
       4053 
4317 
     | 
    
         
             
                    let dirtyOrigins = u.map(dirtySolutions, 'origin');
         
     | 
| 
       4054 
4318 
     | 
    
         
             
                    let dirtyFields = u.flatMap(dirtyOrigins, up.form.fields);
         
     | 
| 
       4055 
4319 
     | 
    
         
             
                    let dirtyNames = u.uniq(u.map(dirtyFields, 'name'));
         
     | 
| 
       4056 
4320 
     | 
    
         
             
                    let dirtyRenderOptionsList = u.map(dirtySolutions, 'renderOptions');
         
     | 
| 
       4057 
     | 
    
         
            -
                    let  
     | 
| 
      
 4321 
     | 
    
         
            +
                    let formDestinationOptions = up.form.destinationOptions(this._form);
         
     | 
| 
      
 4322 
     | 
    
         
            +
                    let options = u.mergeDefined(formDestinationOptions, ...dirtyRenderOptionsList);
         
     | 
| 
       4058 
4323 
     | 
    
         
             
                    options.target = u.map(dirtySolutions, 'target').join(', ');
         
     | 
| 
       4059 
4324 
     | 
    
         
             
                    options.origin = this._form;
         
     | 
| 
       4060 
4325 
     | 
    
         
             
                    options.focus ??= 'keep';
         
     | 
| 
       4061 
4326 
     | 
    
         
             
                    options.failOptions = false;
         
     | 
| 
       4062 
4327 
     | 
    
         
             
                    options.defaultMaybe = true;
         
     | 
| 
       4063 
     | 
    
         
            -
                    options.params = up.Params.merge( 
     | 
| 
       4064 
     | 
    
         
            -
                    options.headers = u.merge( 
     | 
| 
      
 4328 
     | 
    
         
            +
                    options.params = up.Params.merge(formDestinationOptions.params, ...u.map(dirtyRenderOptionsList, 'params'));
         
     | 
| 
      
 4329 
     | 
    
         
            +
                    options.headers = u.merge(formDestinationOptions.headers, ...u.map(dirtyRenderOptionsList, 'headers'));
         
     | 
| 
       4065 
4330 
     | 
    
         
             
                    this._addValidateHeader(options.headers, dirtyNames);
         
     | 
| 
       4066 
4331 
     | 
    
         
             
                    options.feedback = u.some(dirtyRenderOptionsList, 'feedback');
         
     | 
| 
       4067 
4332 
     | 
    
         
             
                    options.data = undefined;
         
     | 
| 
         @@ -4089,15 +4354,11 @@ up.FormValidator = class FormValidator { 
     | 
|
| 
       4089 
4354 
     | 
    
         
             
                        value = ':unknown';
         
     | 
| 
       4090 
4355 
     | 
    
         
             
                    headers[key] = value;
         
     | 
| 
       4091 
4356 
     | 
    
         
             
                }
         
     | 
| 
       4092 
     | 
    
         
            -
                static forElement(element) {
         
     | 
| 
       4093 
     | 
    
         
            -
                    let form = up.form.get(element);
         
     | 
| 
       4094 
     | 
    
         
            -
                    return form.upFormValidator ||= new this(form);
         
     | 
| 
       4095 
     | 
    
         
            -
                }
         
     | 
| 
       4096 
4357 
     | 
    
         
             
            };
         
     | 
| 
       4097 
4358 
     | 
    
         | 
| 
       4098 
4359 
     | 
    
         | 
| 
       4099 
4360 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4100 
     | 
    
         
            -
            /*  
     | 
| 
      
 4361 
     | 
    
         
            +
            /* 45 */
         
     | 
| 
       4101 
4362 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4102 
4363 
     | 
    
         | 
| 
       4103 
4364 
     | 
    
         
             
            up.FocusCapsule = class FocusCapsule {
         
     | 
| 
         @@ -4136,7 +4397,7 @@ up.FocusCapsule = class FocusCapsule { 
     | 
|
| 
       4136 
4397 
     | 
    
         | 
| 
       4137 
4398 
     | 
    
         | 
| 
       4138 
4399 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4139 
     | 
    
         
            -
            /*  
     | 
| 
      
 4400 
     | 
    
         
            +
            /* 46 */
         
     | 
| 
       4140 
4401 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4141 
4402 
     | 
    
         | 
| 
       4142 
4403 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -4179,7 +4440,7 @@ up.FragmentProcessor = class FragmentProcessor extends up.Record { 
     | 
|
| 
       4179 
4440 
     | 
    
         
             
                    return this.processPrimitive(opt);
         
     | 
| 
       4180 
4441 
     | 
    
         
             
                }
         
     | 
| 
       4181 
4442 
     | 
    
         
             
                processArray(array) {
         
     | 
| 
       4182 
     | 
    
         
            -
                    return u.find(array, opt => this.tryProcess(opt));
         
     | 
| 
      
 4443 
     | 
    
         
            +
                    return u.find(array, (opt) => this.tryProcess(opt));
         
     | 
| 
       4183 
4444 
     | 
    
         
             
                }
         
     | 
| 
       4184 
4445 
     | 
    
         
             
                resolveCondition(condition) {
         
     | 
| 
       4185 
4446 
     | 
    
         
             
                    if (condition === 'main') {
         
     | 
| 
         @@ -4201,7 +4462,7 @@ up.FragmentProcessor = class FragmentProcessor extends up.Record { 
     | 
|
| 
       4201 
4462 
     | 
    
         | 
| 
       4202 
4463 
     | 
    
         | 
| 
       4203 
4464 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4204 
     | 
    
         
            -
            /*  
     | 
| 
      
 4465 
     | 
    
         
            +
            /* 47 */
         
     | 
| 
       4205 
4466 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4206 
4467 
     | 
    
         | 
| 
       4207 
4468 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -4250,7 +4511,7 @@ up.FragmentFinder = class FragmentFinder { 
     | 
|
| 
       4250 
4511 
     | 
    
         | 
| 
       4251 
4512 
     | 
    
         | 
| 
       4252 
4513 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4253 
     | 
    
         
            -
            /*  
     | 
| 
      
 4514 
     | 
    
         
            +
            /* 48 */
         
     | 
| 
       4254 
4515 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4255 
4516 
     | 
    
         | 
| 
       4256 
4517 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -4260,6 +4521,7 @@ up.FragmentFocus = class FragmentFocus extends up.FragmentProcessor { 
     | 
|
| 
       4260 
4521 
     | 
    
         
             
                keys() {
         
     | 
| 
       4261 
4522 
     | 
    
         
             
                    return super.keys().concat([
         
     | 
| 
       4262 
4523 
     | 
    
         
             
                        'hash',
         
     | 
| 
      
 4524 
     | 
    
         
            +
                        'focusVisible',
         
     | 
| 
       4263 
4525 
     | 
    
         
             
                        'focusCapsule',
         
     | 
| 
       4264 
4526 
     | 
    
         
             
                        'inputDevice',
         
     | 
| 
       4265 
4527 
     | 
    
         
             
                    ]);
         
     | 
| 
         @@ -4316,7 +4578,12 @@ up.FragmentFocus = class FragmentFocus extends up.FragmentProcessor { 
     | 
|
| 
       4316 
4578 
     | 
    
         
             
                }
         
     | 
| 
       4317 
4579 
     | 
    
         
             
                _focusElement(element) {
         
     | 
| 
       4318 
4580 
     | 
    
         
             
                    if (element) {
         
     | 
| 
       4319 
     | 
    
         
            -
                        up.focus(element, { 
     | 
| 
      
 4581 
     | 
    
         
            +
                        up.focus(element, {
         
     | 
| 
      
 4582 
     | 
    
         
            +
                            force: true,
         
     | 
| 
      
 4583 
     | 
    
         
            +
                            ...PREVENT_SCROLL_OPTIONS,
         
     | 
| 
      
 4584 
     | 
    
         
            +
                            inputDevice: this.inputDevice,
         
     | 
| 
      
 4585 
     | 
    
         
            +
                            focusVisible: this.focusVisible,
         
     | 
| 
      
 4586 
     | 
    
         
            +
                        });
         
     | 
| 
       4320 
4587 
     | 
    
         
             
                        return true;
         
     | 
| 
       4321 
4588 
     | 
    
         
             
                    }
         
     | 
| 
       4322 
4589 
     | 
    
         
             
                }
         
     | 
| 
         @@ -4333,7 +4600,7 @@ up.FragmentFocus = class FragmentFocus extends up.FragmentProcessor { 
     | 
|
| 
       4333 
4600 
     | 
    
         | 
| 
       4334 
4601 
     | 
    
         | 
| 
       4335 
4602 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4336 
     | 
    
         
            -
            /*  
     | 
| 
      
 4603 
     | 
    
         
            +
            /* 49 */
         
     | 
| 
       4337 
4604 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4338 
4605 
     | 
    
         | 
| 
       4339 
4606 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
         @@ -4419,6 +4686,11 @@ up.FragmentPolling = class FragmentPolling { 
     | 
|
| 
       4419 
4686 
     | 
    
         
             
                    if (this._state !== 'started') {
         
     | 
| 
       4420 
4687 
     | 
    
         
             
                        return;
         
     | 
| 
       4421 
4688 
     | 
    
         
             
                    }
         
     | 
| 
      
 4689 
     | 
    
         
            +
                    if (!up.fragment.isAlive(this._fragment)) {
         
     | 
| 
      
 4690 
     | 
    
         
            +
                        this._stop();
         
     | 
| 
      
 4691 
     | 
    
         
            +
                        up.puts('[up-poll]', 'Stopped polling a detached fragment');
         
     | 
| 
      
 4692 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 4693 
     | 
    
         
            +
                    }
         
     | 
| 
       4422 
4694 
     | 
    
         
             
                    if (!this._isFragmentVisible()) {
         
     | 
| 
       4423 
4695 
     | 
    
         
             
                        up.puts('[up-poll]', 'Will not poll hidden fragment');
         
     | 
| 
       4424 
4696 
     | 
    
         
             
                        return;
         
     | 
| 
         @@ -4488,7 +4760,7 @@ up.FragmentPolling = class FragmentPolling { 
     | 
|
| 
       4488 
4760 
     | 
    
         | 
| 
       4489 
4761 
     | 
    
         | 
| 
       4490 
4762 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4491 
     | 
    
         
            -
            /*  
     | 
| 
      
 4763 
     | 
    
         
            +
            /* 50 */
         
     | 
| 
       4492 
4764 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4493 
4765 
     | 
    
         | 
| 
       4494 
4766 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -4505,8 +4777,10 @@ up.FragmentScrolling = class FragmentScrolling extends up.FragmentProcessor { 
     | 
|
| 
       4505 
4777 
     | 
    
         
             
                }
         
     | 
| 
       4506 
4778 
     | 
    
         
             
                processPrimitive(opt) {
         
     | 
| 
       4507 
4779 
     | 
    
         
             
                    switch (opt) {
         
     | 
| 
       4508 
     | 
    
         
            -
                        case ' 
     | 
| 
       4509 
     | 
    
         
            -
                            return this. 
     | 
| 
      
 4780 
     | 
    
         
            +
                        case 'top':
         
     | 
| 
      
 4781 
     | 
    
         
            +
                            return this._scrollTo(0);
         
     | 
| 
      
 4782 
     | 
    
         
            +
                        case 'bottom':
         
     | 
| 
      
 4783 
     | 
    
         
            +
                            return this._scrollTo(99999999);
         
     | 
| 
       4510 
4784 
     | 
    
         
             
                        case 'layer':
         
     | 
| 
       4511 
4785 
     | 
    
         
             
                            return this._revealLayer();
         
     | 
| 
       4512 
4786 
     | 
    
         
             
                        case 'main':
         
     | 
| 
         @@ -4541,9 +4815,8 @@ up.FragmentScrolling = class FragmentScrolling extends up.FragmentProcessor { 
     | 
|
| 
       4541 
4815 
     | 
    
         
             
                _revealLayer() {
         
     | 
| 
       4542 
4816 
     | 
    
         
             
                    return this._revealElement(this.layer.getBoxElement());
         
     | 
| 
       4543 
4817 
     | 
    
         
             
                }
         
     | 
| 
       4544 
     | 
    
         
            -
                 
     | 
| 
       4545 
     | 
    
         
            -
                    up.viewport. 
     | 
| 
       4546 
     | 
    
         
            -
                    return true;
         
     | 
| 
      
 4818 
     | 
    
         
            +
                _scrollTo(position) {
         
     | 
| 
      
 4819 
     | 
    
         
            +
                    return up.viewport.scrollTo(position, { ...this.attributes(), around: this.fragment });
         
     | 
| 
       4547 
4820 
     | 
    
         
             
                }
         
     | 
| 
       4548 
4821 
     | 
    
         
             
                _restore() {
         
     | 
| 
       4549 
4822 
     | 
    
         
             
                    return up.viewport.restoreScroll({ ...this.attributes(), around: this.fragment });
         
     | 
| 
         @@ -4552,7 +4825,7 @@ up.FragmentScrolling = class FragmentScrolling extends up.FragmentProcessor { 
     | 
|
| 
       4552 
4825 
     | 
    
         | 
| 
       4553 
4826 
     | 
    
         | 
| 
       4554 
4827 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4555 
     | 
    
         
            -
            /*  
     | 
| 
      
 4828 
     | 
    
         
            +
            /* 51 */
         
     | 
| 
       4556 
4829 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4557 
4830 
     | 
    
         | 
| 
       4558 
4831 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
         @@ -4788,7 +5061,7 @@ up.Layer = class Layer extends up.Record { 
     | 
|
| 
       4788 
5061 
     | 
    
         
             
                            up.history.push(location);
         
     | 
| 
       4789 
5062 
     | 
    
         
             
                        }
         
     | 
| 
       4790 
5063 
     | 
    
         
             
                        if (!this.opening) {
         
     | 
| 
       4791 
     | 
    
         
            -
                            this.emit('up:layer:location:changed', { location });
         
     | 
| 
      
 5064 
     | 
    
         
            +
                            this.emit('up:layer:location:changed', { location, log: false });
         
     | 
| 
       4792 
5065 
     | 
    
         
             
                        }
         
     | 
| 
       4793 
5066 
     | 
    
         
             
                    }
         
     | 
| 
       4794 
5067 
     | 
    
         
             
                }
         
     | 
| 
         @@ -4818,7 +5091,7 @@ up.Layer = class Layer extends up.Record { 
     | 
|
| 
       4818 
5091 
     | 
    
         | 
| 
       4819 
5092 
     | 
    
         | 
| 
       4820 
5093 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       4821 
     | 
    
         
            -
            /*  
     | 
| 
      
 5094 
     | 
    
         
            +
            /* 52 */
         
     | 
| 
       4822 
5095 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       4823 
5096 
     | 
    
         | 
| 
       4824 
5097 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -4918,7 +5191,7 @@ up.Layer.Overlay = (_a = class Overlay extends up.Layer { 
     | 
|
| 
       4918 
5191 
     | 
    
         
             
                        }
         
     | 
| 
       4919 
5192 
     | 
    
         
             
                        if (this._supportsDismissMethod('outside')) {
         
     | 
| 
       4920 
5193 
     | 
    
         
             
                            if (this.viewportElement) {
         
     | 
| 
       4921 
     | 
    
         
            -
                                up.on(this.viewportElement, 'up:click', event => {
         
     | 
| 
      
 5194 
     | 
    
         
            +
                                up.on(this.viewportElement, 'up:click', (event) => {
         
     | 
| 
       4922 
5195 
     | 
    
         
             
                                    if (event.target === this.viewportElement) {
         
     | 
| 
       4923 
5196 
     | 
    
         
             
                                        this._onOutsideClicked(event, true);
         
     | 
| 
       4924 
5197 
     | 
    
         
             
                                    }
         
     | 
| 
         @@ -4934,17 +5207,17 @@ up.Layer.Overlay = (_a = class Overlay extends up.Layer { 
     | 
|
| 
       4934 
5207 
     | 
    
         
             
                            }
         
     | 
| 
       4935 
5208 
     | 
    
         
             
                        }
         
     | 
| 
       4936 
5209 
     | 
    
         
             
                        if (this._supportsDismissMethod('key')) {
         
     | 
| 
       4937 
     | 
    
         
            -
                            this.unbindEscapePressed = up.event.onEscape(event => this.onEscapePressed(event));
         
     | 
| 
      
 5210 
     | 
    
         
            +
                            this.unbindEscapePressed = up.event.onEscape((event) => this.onEscapePressed(event));
         
     | 
| 
       4938 
5211 
     | 
    
         
             
                        }
         
     | 
| 
       4939 
     | 
    
         
            -
                        this. 
     | 
| 
      
 5212 
     | 
    
         
            +
                        this.registerAttrCloser('up-accept', (value, closeOptions) => {
         
     | 
| 
       4940 
5213 
     | 
    
         
             
                            this.accept(value, closeOptions);
         
     | 
| 
       4941 
5214 
     | 
    
         
             
                        });
         
     | 
| 
       4942 
     | 
    
         
            -
                        this. 
     | 
| 
      
 5215 
     | 
    
         
            +
                        this.registerAttrCloser('up-dismiss', (value, closeOptions) => {
         
     | 
| 
       4943 
5216 
     | 
    
         
             
                            this.dismiss(value, closeOptions);
         
     | 
| 
       4944 
5217 
     | 
    
         
             
                        });
         
     | 
| 
       4945 
5218 
     | 
    
         
             
                        up.migrate.registerLayerCloser?.(this);
         
     | 
| 
       4946 
     | 
    
         
            -
                        this. 
     | 
| 
       4947 
     | 
    
         
            -
                        this. 
     | 
| 
      
 5219 
     | 
    
         
            +
                        this._registerExternalEventCloser(this.acceptEvent, this.accept);
         
     | 
| 
      
 5220 
     | 
    
         
            +
                        this._registerExternalEventCloser(this.dismissEvent, this.dismiss);
         
     | 
| 
       4948 
5221 
     | 
    
         
             
                        this.on('up:click', 'label[for]', (event, label) => this._onLabelClicked(event, label));
         
     | 
| 
       4949 
5222 
     | 
    
         
             
                    }
         
     | 
| 
       4950 
5223 
     | 
    
         
             
                    _onLabelClicked(event, label) {
         
     | 
| 
         @@ -4979,26 +5252,38 @@ up.Layer.Overlay = (_a = class Overlay extends up.Layer { 
     | 
|
| 
       4979 
5252 
     | 
    
         
             
                            }
         
     | 
| 
       4980 
5253 
     | 
    
         
             
                        }
         
     | 
| 
       4981 
5254 
     | 
    
         
             
                    }
         
     | 
| 
       4982 
     | 
    
         
            -
                     
     | 
| 
       4983 
     | 
    
         
            -
                         
     | 
| 
       4984 
     | 
    
         
            -
                        this. 
     | 
| 
      
 5255 
     | 
    
         
            +
                    registerAttrCloser(attribute, closeFn) {
         
     | 
| 
      
 5256 
     | 
    
         
            +
                        this._registerClickCloser(attribute, closeFn);
         
     | 
| 
      
 5257 
     | 
    
         
            +
                        this._registerSubmitCloser(attribute, closeFn);
         
     | 
| 
      
 5258 
     | 
    
         
            +
                    }
         
     | 
| 
      
 5259 
     | 
    
         
            +
                    _registerClickCloser(attribute, closeFn) {
         
     | 
| 
      
 5260 
     | 
    
         
            +
                        this.on('up:click', `[${attribute}]:not(form)`, (event, link) => {
         
     | 
| 
      
 5261 
     | 
    
         
            +
                            up.event.halt(event, { log: true });
         
     | 
| 
      
 5262 
     | 
    
         
            +
                            const value = e.jsonAttr(link, attribute);
         
     | 
| 
      
 5263 
     | 
    
         
            +
                            this._onAttrCloserActivated(link, value, closeFn);
         
     | 
| 
      
 5264 
     | 
    
         
            +
                        });
         
     | 
| 
      
 5265 
     | 
    
         
            +
                    }
         
     | 
| 
      
 5266 
     | 
    
         
            +
                    _registerSubmitCloser(attribute, closeFn) {
         
     | 
| 
      
 5267 
     | 
    
         
            +
                        this.on('submit', `[${attribute}]`, (event, form) => {
         
     | 
| 
       4985 
5268 
     | 
    
         
             
                            up.event.halt(event, { log: true });
         
     | 
| 
       4986 
     | 
    
         
            -
                            const  
     | 
| 
       4987 
     | 
    
         
            -
                             
     | 
| 
       4988 
     | 
    
         
            -
                            const closeOptions = { origin };
         
     | 
| 
       4989 
     | 
    
         
            -
                            const parser = new up.OptionsParser(origin, closeOptions);
         
     | 
| 
       4990 
     | 
    
         
            -
                            parser.booleanOrString('animation');
         
     | 
| 
       4991 
     | 
    
         
            -
                            parser.string('easing');
         
     | 
| 
       4992 
     | 
    
         
            -
                            parser.number('duration');
         
     | 
| 
       4993 
     | 
    
         
            -
                            parser.string('confirm');
         
     | 
| 
       4994 
     | 
    
         
            -
                            up.error.muteUncriticalSync(() => closeFn(value, closeOptions));
         
     | 
| 
      
 5269 
     | 
    
         
            +
                            const value = up.Params.fromForm(form);
         
     | 
| 
      
 5270 
     | 
    
         
            +
                            this._onAttrCloserActivated(form, value, closeFn);
         
     | 
| 
       4995 
5271 
     | 
    
         
             
                        });
         
     | 
| 
       4996 
5272 
     | 
    
         
             
                    }
         
     | 
| 
       4997 
     | 
    
         
            -
                     
     | 
| 
      
 5273 
     | 
    
         
            +
                    _onAttrCloserActivated(origin, value, closeFn) {
         
     | 
| 
      
 5274 
     | 
    
         
            +
                        const closeOptions = { origin };
         
     | 
| 
      
 5275 
     | 
    
         
            +
                        const parser = new up.OptionsParser(origin, closeOptions);
         
     | 
| 
      
 5276 
     | 
    
         
            +
                        parser.booleanOrString('animation');
         
     | 
| 
      
 5277 
     | 
    
         
            +
                        parser.string('easing');
         
     | 
| 
      
 5278 
     | 
    
         
            +
                        parser.number('duration');
         
     | 
| 
      
 5279 
     | 
    
         
            +
                        parser.string('confirm');
         
     | 
| 
      
 5280 
     | 
    
         
            +
                        up.error.muteUncriticalSync(() => closeFn(value, closeOptions));
         
     | 
| 
      
 5281 
     | 
    
         
            +
                    }
         
     | 
| 
      
 5282 
     | 
    
         
            +
                    _registerExternalEventCloser(eventTypes, closeFn) {
         
     | 
| 
       4998 
5283 
     | 
    
         
             
                        if (!eventTypes) {
         
     | 
| 
       4999 
5284 
     | 
    
         
             
                            return;
         
     | 
| 
       5000 
5285 
     | 
    
         
             
                        }
         
     | 
| 
       5001 
     | 
    
         
            -
                        return this.on(eventTypes, event => {
         
     | 
| 
      
 5286 
     | 
    
         
            +
                        return this.on(eventTypes, (event) => {
         
     | 
| 
       5002 
5287 
     | 
    
         
             
                            event.preventDefault();
         
     | 
| 
       5003 
5288 
     | 
    
         
             
                            up.error.muteUncriticalSync(() => closeFn.call(this, event, { response: event.response }));
         
     | 
| 
       5004 
5289 
     | 
    
         
             
                        });
         
     | 
| 
         @@ -5101,11 +5386,12 @@ up.Layer.Overlay = (_a = class Overlay extends up.Layer { 
     | 
|
| 
       5101 
5386 
     | 
    
         
             
                    'closeEasing',
         
     | 
| 
       5102 
5387 
     | 
    
         
             
                    'trapFocus',
         
     | 
| 
       5103 
5388 
     | 
    
         
             
                ],
         
     | 
| 
      
 5389 
     | 
    
         
            +
                _a.UNSET_VISUALS = u.spanObject(_a.VISUAL_KEYS, undefined),
         
     | 
| 
       5104 
5390 
     | 
    
         
             
                _a);
         
     | 
| 
       5105 
5391 
     | 
    
         | 
| 
       5106 
5392 
     | 
    
         | 
| 
       5107 
5393 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5108 
     | 
    
         
            -
            /*  
     | 
| 
      
 5394 
     | 
    
         
            +
            /* 53 */
         
     | 
| 
       5109 
5395 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5110 
5396 
     | 
    
         | 
| 
       5111 
5397 
     | 
    
         
             
            up.Layer.OverlayWithTether = class OverlayWithTether extends up.Layer.Overlay {
         
     | 
| 
         @@ -5144,7 +5430,7 @@ up.Layer.OverlayWithTether = class OverlayWithTether extends up.Layer.Overlay { 
     | 
|
| 
       5144 
5430 
     | 
    
         | 
| 
       5145 
5431 
     | 
    
         | 
| 
       5146 
5432 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5147 
     | 
    
         
            -
            /*  
     | 
| 
      
 5433 
     | 
    
         
            +
            /* 54 */
         
     | 
| 
       5148 
5434 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5149 
5435 
     | 
    
         | 
| 
       5150 
5436 
     | 
    
         
             
            up.Layer.OverlayWithViewport = class OverlayWithViewport extends up.Layer.Overlay {
         
     | 
| 
         @@ -5173,7 +5459,7 @@ up.Layer.OverlayWithViewport = class OverlayWithViewport extends up.Layer.Overla 
     | 
|
| 
       5173 
5459 
     | 
    
         | 
| 
       5174 
5460 
     | 
    
         | 
| 
       5175 
5461 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5176 
     | 
    
         
            -
            /*  
     | 
| 
      
 5462 
     | 
    
         
            +
            /* 55 */
         
     | 
| 
       5177 
5463 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5178 
5464 
     | 
    
         | 
| 
       5179 
5465 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -5219,7 +5505,7 @@ up.Layer.Root = (_a = class Root extends up.Layer { 
     | 
|
| 
       5219 
5505 
     | 
    
         | 
| 
       5220 
5506 
     | 
    
         | 
| 
       5221 
5507 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5222 
     | 
    
         
            -
            /*  
     | 
| 
      
 5508 
     | 
    
         
            +
            /* 56 */
         
     | 
| 
       5223 
5509 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5224 
5510 
     | 
    
         | 
| 
       5225 
5511 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -5230,7 +5516,7 @@ up.Layer.Modal = (_a = class Modal extends up.Layer.OverlayWithViewport { 
     | 
|
| 
       5230 
5516 
     | 
    
         | 
| 
       5231 
5517 
     | 
    
         | 
| 
       5232 
5518 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5233 
     | 
    
         
            -
            /*  
     | 
| 
      
 5519 
     | 
    
         
            +
            /* 57 */
         
     | 
| 
       5234 
5520 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5235 
5521 
     | 
    
         | 
| 
       5236 
5522 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -5241,7 +5527,7 @@ up.Layer.Popup = (_a = class Popup extends up.Layer.OverlayWithTether { 
     | 
|
| 
       5241 
5527 
     | 
    
         | 
| 
       5242 
5528 
     | 
    
         | 
| 
       5243 
5529 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5244 
     | 
    
         
            -
            /*  
     | 
| 
      
 5530 
     | 
    
         
            +
            /* 58 */
         
     | 
| 
       5245 
5531 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5246 
5532 
     | 
    
         | 
| 
       5247 
5533 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -5252,7 +5538,7 @@ up.Layer.Drawer = (_a = class Drawer extends up.Layer.OverlayWithViewport { 
     | 
|
| 
       5252 
5538 
     | 
    
         | 
| 
       5253 
5539 
     | 
    
         | 
| 
       5254 
5540 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5255 
     | 
    
         
            -
            /*  
     | 
| 
      
 5541 
     | 
    
         
            +
            /* 59 */
         
     | 
| 
       5256 
5542 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5257 
5543 
     | 
    
         | 
| 
       5258 
5544 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -5263,7 +5549,7 @@ up.Layer.Cover = (_a = class Cover extends up.Layer.OverlayWithViewport { 
     | 
|
| 
       5263 
5549 
     | 
    
         | 
| 
       5264 
5550 
     | 
    
         | 
| 
       5265 
5551 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5266 
     | 
    
         
            -
            /*  
     | 
| 
      
 5552 
     | 
    
         
            +
            /* 60 */
         
     | 
| 
       5267 
5553 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5268 
5554 
     | 
    
         | 
| 
       5269 
5555 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -5279,7 +5565,7 @@ up.LayerLookup = (_a = class LayerLookup { 
     | 
|
| 
       5279 
5565 
     | 
    
         
             
                        this._values = u.getSimpleTokens(options.layer);
         
     | 
| 
       5280 
5566 
     | 
    
         
             
                    }
         
     | 
| 
       5281 
5567 
     | 
    
         
             
                    all() {
         
     | 
| 
       5282 
     | 
    
         
            -
                        let results = u.flatMap(this._values, value => this._resolveValue(value));
         
     | 
| 
      
 5568 
     | 
    
         
            +
                        let results = u.flatMap(this._values, (value) => this._resolveValue(value));
         
     | 
| 
       5283 
5569 
     | 
    
         
             
                        results = u.compact(results);
         
     | 
| 
       5284 
5570 
     | 
    
         
             
                        results = u.uniq(results);
         
     | 
| 
       5285 
5571 
     | 
    
         
             
                        return results;
         
     | 
| 
         @@ -5294,7 +5580,7 @@ up.LayerLookup = (_a = class LayerLookup { 
     | 
|
| 
       5294 
5580 
     | 
    
         
             
                    }
         
     | 
| 
       5295 
5581 
     | 
    
         
             
                    _forElement(element) {
         
     | 
| 
       5296 
5582 
     | 
    
         
             
                        element = e.get(element);
         
     | 
| 
       5297 
     | 
    
         
            -
                        return u.find(this._stack.reversed(), layer => layer.contains(element));
         
     | 
| 
      
 5583 
     | 
    
         
            +
                        return u.find(this._stack.reversed(), (layer) => layer.contains(element));
         
     | 
| 
       5298 
5584 
     | 
    
         
             
                    }
         
     | 
| 
       5299 
5585 
     | 
    
         
             
                    _forIndex(value) {
         
     | 
| 
       5300 
5586 
     | 
    
         
             
                        return this._stack.at(value);
         
     | 
| 
         @@ -5376,7 +5662,7 @@ up.LayerLookup = (_a = class LayerLookup { 
     | 
|
| 
       5376 
5662 
     | 
    
         | 
| 
       5377 
5663 
     | 
    
         | 
| 
       5378 
5664 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5379 
     | 
    
         
            -
            /*  
     | 
| 
      
 5665 
     | 
    
         
            +
            /* 61 */
         
     | 
| 
       5380 
5666 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5381 
5667 
     | 
    
         | 
| 
       5382 
5668 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -5490,7 +5776,7 @@ up.LayerStack = class LayerStack { 
     | 
|
| 
       5490 
5776 
     | 
    
         | 
| 
       5491 
5777 
     | 
    
         | 
| 
       5492 
5778 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5493 
     | 
    
         
            -
            /*  
     | 
| 
      
 5779 
     | 
    
         
            +
            /* 62 */
         
     | 
| 
       5494 
5780 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5495 
5781 
     | 
    
         | 
| 
       5496 
5782 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -5524,7 +5810,7 @@ up.LinkCurrentURLs = class LinkCurrentURLs { 
     | 
|
| 
       5524 
5810 
     | 
    
         | 
| 
       5525 
5811 
     | 
    
         | 
| 
       5526 
5812 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5527 
     | 
    
         
            -
            /*  
     | 
| 
      
 5813 
     | 
    
         
            +
            /* 63 */
         
     | 
| 
       5528 
5814 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5529 
5815 
     | 
    
         | 
| 
       5530 
5816 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -5565,13 +5851,15 @@ up.LinkFollowIntent = class LinkFollowIntent { 
     | 
|
| 
       5565 
5851 
     | 
    
         
             
                }
         
     | 
| 
       5566 
5852 
     | 
    
         
             
                _runCallback(event) {
         
     | 
| 
       5567 
5853 
     | 
    
         
             
                    up.log.putsEvent(event);
         
     | 
| 
      
 5854 
     | 
    
         
            +
                    if (!up.fragment.isAlive(this._link))
         
     | 
| 
      
 5855 
     | 
    
         
            +
                        return;
         
     | 
| 
       5568 
5856 
     | 
    
         
             
                    this._callback({ onRequestKnown: (request) => this._lastRequest = request });
         
     | 
| 
       5569 
5857 
     | 
    
         
             
                }
         
     | 
| 
       5570 
5858 
     | 
    
         
             
            };
         
     | 
| 
       5571 
5859 
     | 
    
         | 
| 
       5572 
5860 
     | 
    
         | 
| 
       5573 
5861 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5574 
     | 
    
         
            -
            /*  
     | 
| 
      
 5862 
     | 
    
         
            +
            /* 64 */
         
     | 
| 
       5575 
5863 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5576 
5864 
     | 
    
         | 
| 
       5577 
5865 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -5613,7 +5901,7 @@ up.MotionController = class MotionController { 
     | 
|
| 
       5613 
5901 
     | 
    
         
             
                }
         
     | 
| 
       5614 
5902 
     | 
    
         
             
                _expandFinishRequest(elements) {
         
     | 
| 
       5615 
5903 
     | 
    
         
             
                    if (elements) {
         
     | 
| 
       5616 
     | 
    
         
            -
                        return u.flatMap(elements, el => e.list(el.closest(this._selector), el.querySelectorAll(this._selector)));
         
     | 
| 
      
 5904 
     | 
    
         
            +
                        return u.flatMap(elements, (el) => e.list(el.closest(this._selector), el.querySelectorAll(this._selector)));
         
     | 
| 
       5617 
5905 
     | 
    
         
             
                    }
         
     | 
| 
       5618 
5906 
     | 
    
         
             
                    else {
         
     | 
| 
       5619 
5907 
     | 
    
         
             
                        return document.querySelectorAll(this._selector);
         
     | 
| 
         @@ -5667,10 +5955,9 @@ up.MotionController = class MotionController { 
     | 
|
| 
       5667 
5955 
     | 
    
         | 
| 
       5668 
5956 
     | 
    
         | 
| 
       5669 
5957 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5670 
     | 
    
         
            -
            /*  
     | 
| 
      
 5958 
     | 
    
         
            +
            /* 65 */
         
     | 
| 
       5671 
5959 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5672 
5960 
     | 
    
         | 
| 
       5673 
     | 
    
         
            -
            const u = up.util;
         
     | 
| 
       5674 
5961 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
       5675 
5962 
     | 
    
         
             
            up.NonceableCallback = class NonceableCallback {
         
     | 
| 
       5676 
5963 
     | 
    
         
             
                constructor(script, nonce) {
         
     | 
| 
         @@ -5724,37 +6011,11 @@ up.NonceableCallback = class NonceableCallback { 
     | 
|
| 
       5724 
6011 
     | 
    
         
             
                        }
         
     | 
| 
       5725 
6012 
     | 
    
         
             
                    }
         
     | 
| 
       5726 
6013 
     | 
    
         
             
                }
         
     | 
| 
       5727 
     | 
    
         
            -
                _allowedBy(allowedNonces) {
         
     | 
| 
       5728 
     | 
    
         
            -
                    return this.nonce && u.contains(allowedNonces, this.nonce);
         
     | 
| 
       5729 
     | 
    
         
            -
                }
         
     | 
| 
       5730 
     | 
    
         
            -
                static adoptNonces(element, allowedNonces) {
         
     | 
| 
       5731 
     | 
    
         
            -
                    if (!allowedNonces?.length) {
         
     | 
| 
       5732 
     | 
    
         
            -
                        return;
         
     | 
| 
       5733 
     | 
    
         
            -
                    }
         
     | 
| 
       5734 
     | 
    
         
            -
                    const getPageNonce = u.memoize(up.protocol.cspNonce);
         
     | 
| 
       5735 
     | 
    
         
            -
                    u.each(up.script.config.nonceableAttributes, (attribute) => {
         
     | 
| 
       5736 
     | 
    
         
            -
                        let matches = e.subtree(element, `[${attribute}^="nonce-"]`);
         
     | 
| 
       5737 
     | 
    
         
            -
                        u.each(matches, (match) => {
         
     | 
| 
       5738 
     | 
    
         
            -
                            let attributeValue = match.getAttribute(attribute);
         
     | 
| 
       5739 
     | 
    
         
            -
                            let callback = this.fromString(attributeValue);
         
     | 
| 
       5740 
     | 
    
         
            -
                            let warn = (message, ...args) => up.log.warn('up.render()', `Cannot use callback [${attribute}="${attributeValue}"]: ${message}`, ...args);
         
     | 
| 
       5741 
     | 
    
         
            -
                            if (!callback._allowedBy(allowedNonces)) {
         
     | 
| 
       5742 
     | 
    
         
            -
                                return warn("Callback's CSP nonce (%o) does not match response header (%o)", callback.nonce, allowedNonces);
         
     | 
| 
       5743 
     | 
    
         
            -
                            }
         
     | 
| 
       5744 
     | 
    
         
            -
                            let pageNonce = getPageNonce();
         
     | 
| 
       5745 
     | 
    
         
            -
                            if (!pageNonce) {
         
     | 
| 
       5746 
     | 
    
         
            -
                                return warn("Current page's CSP nonce is unknown");
         
     | 
| 
       5747 
     | 
    
         
            -
                            }
         
     | 
| 
       5748 
     | 
    
         
            -
                            callback.nonce = pageNonce;
         
     | 
| 
       5749 
     | 
    
         
            -
                            match.setAttribute(attribute, callback.toString());
         
     | 
| 
       5750 
     | 
    
         
            -
                        });
         
     | 
| 
       5751 
     | 
    
         
            -
                    });
         
     | 
| 
       5752 
     | 
    
         
            -
                }
         
     | 
| 
       5753 
6014 
     | 
    
         
             
            };
         
     | 
| 
       5754 
6015 
     | 
    
         | 
| 
       5755 
6016 
     | 
    
         | 
| 
       5756 
6017 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5757 
     | 
    
         
            -
            /*  
     | 
| 
      
 6018 
     | 
    
         
            +
            /* 66 */
         
     | 
| 
       5758 
6019 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5759 
6020 
     | 
    
         | 
| 
       5760 
6021 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
         @@ -5776,7 +6037,7 @@ up.OverlayFocus = class OverlayFocus { 
     | 
|
| 
       5776 
6037 
     | 
    
         
             
                        'aria-modal': this._trapFocus.toString()
         
     | 
| 
       5777 
6038 
     | 
    
         
             
                    });
         
     | 
| 
       5778 
6039 
     | 
    
         
             
                    if (this._trapFocus) {
         
     | 
| 
       5779 
     | 
    
         
            -
                        this._untrapFocus = up.on('focusin', event => this._onFocus(event));
         
     | 
| 
      
 6040 
     | 
    
         
            +
                        this._untrapFocus = up.on('focusin', (event) => this._onFocus(event));
         
     | 
| 
       5780 
6041 
     | 
    
         
             
                        this._focusTrapBefore = e.affix(this._focusElement, 'beforebegin', 'up-focus-trap[tabindex=0]');
         
     | 
| 
       5781 
6042 
     | 
    
         
             
                        this._focusTrapAfter = e.affix(this._focusElement, 'afterend', 'up-focus-trap[tabindex=0]');
         
     | 
| 
       5782 
6043 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -5827,7 +6088,7 @@ up.OverlayFocus = class OverlayFocus { 
     | 
|
| 
       5827 
6088 
     | 
    
         | 
| 
       5828 
6089 
     | 
    
         | 
| 
       5829 
6090 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       5830 
     | 
    
         
            -
            /*  
     | 
| 
      
 6091 
     | 
    
         
            +
            /* 67 */
         
     | 
| 
       5831 
6092 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       5832 
6093 
     | 
    
         | 
| 
       5833 
6094 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -5964,7 +6225,7 @@ up.Params = class Params { 
     | 
|
| 
       5964 
6225 
     | 
    
         
             
                    this.entries = u.reject(this.entries, this._matchEntryFn(name));
         
     | 
| 
       5965 
6226 
     | 
    
         
             
                }
         
     | 
| 
       5966 
6227 
     | 
    
         
             
                _matchEntryFn(name) {
         
     | 
| 
       5967 
     | 
    
         
            -
                    return entry => entry.name === name;
         
     | 
| 
      
 6228 
     | 
    
         
            +
                    return (entry) => entry.name === name;
         
     | 
| 
       5968 
6229 
     | 
    
         
             
                }
         
     | 
| 
       5969 
6230 
     | 
    
         
             
                get(name) {
         
     | 
| 
       5970 
6231 
     | 
    
         
             
                    if (this._isArrayKey(name)) {
         
     | 
| 
         @@ -6061,7 +6322,7 @@ up.Params = class Params { 
     | 
|
| 
       6061 
6322 
     | 
    
         | 
| 
       6062 
6323 
     | 
    
         | 
| 
       6063 
6324 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       6064 
     | 
    
         
            -
            /*  
     | 
| 
      
 6325 
     | 
    
         
            +
            /* 68 */
         
     | 
| 
       6065 
6326 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6066 
6327 
     | 
    
         | 
| 
       6067 
6328 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -6132,7 +6393,7 @@ up.Preview = class Preview { 
     | 
|
| 
       6132 
6393 
     | 
    
         
             
                }
         
     | 
| 
       6133 
6394 
     | 
    
         
             
                disable(...args) {
         
     | 
| 
       6134 
6395 
     | 
    
         
             
                    let [element] = this._parseMutatorArgs(args, 'val');
         
     | 
| 
       6135 
     | 
    
         
            -
                    this.undo(up.form. 
     | 
| 
      
 6396 
     | 
    
         
            +
                    this.undo(up.form.disableTemp(element));
         
     | 
| 
       6136 
6397 
     | 
    
         
             
                }
         
     | 
| 
       6137 
6398 
     | 
    
         
             
                insert(...args) {
         
     | 
| 
       6138 
6399 
     | 
    
         
             
                    let [reference, position = 'beforeend', tempValue] = this._parseMutatorArgs(args, 'val', u.isAdjacentPosition, 'val');
         
     | 
| 
         @@ -6195,7 +6456,7 @@ up.Preview = class Preview { 
     | 
|
| 
       6195 
6456 
     | 
    
         | 
| 
       6196 
6457 
     | 
    
         | 
| 
       6197 
6458 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       6198 
     | 
    
         
            -
            /*  
     | 
| 
      
 6459 
     | 
    
         
            +
            /* 69 */
         
     | 
| 
       6199 
6460 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6200 
6461 
     | 
    
         | 
| 
       6201 
6462 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
         @@ -6245,7 +6506,7 @@ up.ProgressBar = class ProgressBar { 
     | 
|
| 
       6245 
6506 
     | 
    
         | 
| 
       6246 
6507 
     | 
    
         | 
| 
       6247 
6508 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       6248 
     | 
    
         
            -
            /*  
     | 
| 
      
 6509 
     | 
    
         
            +
            /* 70 */
         
     | 
| 
       6249 
6510 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6250 
6511 
     | 
    
         | 
| 
       6251 
6512 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -6341,7 +6602,7 @@ up.RenderOptions = (function () { 
     | 
|
| 
       6341 
6602 
     | 
    
         
             
                    return u.merge(preprocessedOptions.defaults, lateDefaults, preprocessedOptions);
         
     | 
| 
       6342 
6603 
     | 
    
         
             
                }
         
     | 
| 
       6343 
6604 
     | 
    
         
             
                function assertContentGiven(options) {
         
     | 
| 
       6344 
     | 
    
         
            -
                    if (!u.some(CONTENT_KEYS, contentKey => u.isGiven(options[contentKey]))) {
         
     | 
| 
      
 6605 
     | 
    
         
            +
                    if (!u.some(CONTENT_KEYS, (contentKey) => u.isGiven(options[contentKey]))) {
         
     | 
| 
       6345 
6606 
     | 
    
         
             
                        if (options.defaultToEmptyContent) {
         
     | 
| 
       6346 
6607 
     | 
    
         
             
                            options.content = '';
         
     | 
| 
       6347 
6608 
     | 
    
         
             
                        }
         
     | 
| 
         @@ -6391,7 +6652,7 @@ up.RenderOptions = (function () { 
     | 
|
| 
       6391 
6652 
     | 
    
         | 
| 
       6392 
6653 
     | 
    
         | 
| 
       6393 
6654 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       6394 
     | 
    
         
            -
            /*  
     | 
| 
      
 6655 
     | 
    
         
            +
            /* 71 */
         
     | 
| 
       6395 
6656 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6396 
6657 
     | 
    
         | 
| 
       6397 
6658 
     | 
    
         
             
            up.RenderResult = class RenderResult extends up.Record {
         
     | 
| 
         @@ -6439,7 +6700,7 @@ up.RenderResult = class RenderResult extends up.Record { 
     | 
|
| 
       6439 
6700 
     | 
    
         | 
| 
       6440 
6701 
     | 
    
         | 
| 
       6441 
6702 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       6442 
     | 
    
         
            -
            /*  
     | 
| 
      
 6703 
     | 
    
         
            +
            /* 72 */
         
     | 
| 
       6443 
6704 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6444 
6705 
     | 
    
         | 
| 
       6445 
6706 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -6466,6 +6727,8 @@ up.Request = (_a = class Request extends up.Record { 
     | 
|
| 
       6466 
6727 
     | 
    
         
             
                            'failMode',
         
     | 
| 
       6467 
6728 
     | 
    
         
             
                            'failContext',
         
     | 
| 
       6468 
6729 
     | 
    
         
             
                            'origin',
         
     | 
| 
      
 6730 
     | 
    
         
            +
                            'originLayer',
         
     | 
| 
      
 6731 
     | 
    
         
            +
                            'originMode',
         
     | 
| 
       6469 
6732 
     | 
    
         
             
                            'builtAt',
         
     | 
| 
       6470 
6733 
     | 
    
         
             
                            'wrapMethod',
         
     | 
| 
       6471 
6734 
     | 
    
         
             
                            'contentType',
         
     | 
| 
         @@ -6478,30 +6741,31 @@ up.Request = (_a = class Request extends up.Record { 
     | 
|
| 
       6478 
6741 
     | 
    
         
             
                        ];
         
     | 
| 
       6479 
6742 
     | 
    
         
             
                    }
         
     | 
| 
       6480 
6743 
     | 
    
         
             
                    defaults() {
         
     | 
| 
      
 6744 
     | 
    
         
            +
                        let config = up.network.config;
         
     | 
| 
       6481 
6745 
     | 
    
         
             
                        return {
         
     | 
| 
       6482 
6746 
     | 
    
         
             
                            state: 'new',
         
     | 
| 
       6483 
6747 
     | 
    
         
             
                            abortable: true,
         
     | 
| 
       6484 
6748 
     | 
    
         
             
                            headers: {},
         
     | 
| 
       6485 
     | 
    
         
            -
                            timeout:  
     | 
| 
      
 6749 
     | 
    
         
            +
                            timeout: config.timeout,
         
     | 
| 
       6486 
6750 
     | 
    
         
             
                            builtAt: new Date(),
         
     | 
| 
       6487 
6751 
     | 
    
         
             
                            previews: [],
         
     | 
| 
      
 6752 
     | 
    
         
            +
                            wrapMethod: config.wrapMethod,
         
     | 
| 
       6488 
6753 
     | 
    
         
             
                        };
         
     | 
| 
       6489 
6754 
     | 
    
         
             
                    }
         
     | 
| 
       6490 
6755 
     | 
    
         
             
                    constructor(options) {
         
     | 
| 
       6491 
6756 
     | 
    
         
             
                        super(options);
         
     | 
| 
       6492 
6757 
     | 
    
         
             
                        this.params = new up.Params(this.params);
         
     | 
| 
       6493 
     | 
    
         
            -
                        if (this.wrapMethod == null) {
         
     | 
| 
       6494 
     | 
    
         
            -
                            this.wrapMethod = up.network.config.wrapMethod;
         
     | 
| 
       6495 
     | 
    
         
            -
                        }
         
     | 
| 
       6496 
6758 
     | 
    
         
             
                        this._normalize();
         
     | 
| 
       6497 
6759 
     | 
    
         
             
                        if ((this.target || this.layer || this.origin) && !options.basic) {
         
     | 
| 
       6498 
6760 
     | 
    
         
             
                            const layerLookupOptions = { origin: this.origin };
         
     | 
| 
       6499 
6761 
     | 
    
         
             
                            this.layer = up.layer.get(this.layer, layerLookupOptions);
         
     | 
| 
       6500 
     | 
    
         
            -
                            this.failLayer = up.layer.get(this.failLayer, layerLookupOptions);
         
     | 
| 
       6501 
6762 
     | 
    
         
             
                            this.context ||= this.layer.context || {};
         
     | 
| 
       6502 
     | 
    
         
            -
                            this.failContext ||= this.failLayer?.context || {};
         
     | 
| 
       6503 
6763 
     | 
    
         
             
                            this.mode ||= this.layer.mode;
         
     | 
| 
      
 6764 
     | 
    
         
            +
                            this.failLayer = up.layer.get(this.failLayer, layerLookupOptions);
         
     | 
| 
      
 6765 
     | 
    
         
            +
                            this.failContext ||= this.failLayer?.context || {};
         
     | 
| 
       6504 
6766 
     | 
    
         
             
                            this.failMode ||= this.failLayer?.mode;
         
     | 
| 
      
 6767 
     | 
    
         
            +
                            this.originLayer ||= up.layer.get(this.origin) || up.layer.current;
         
     | 
| 
      
 6768 
     | 
    
         
            +
                            this.originMode ||= this.originLayer?.mode;
         
     | 
| 
       6505 
6769 
     | 
    
         
             
                        }
         
     | 
| 
       6506 
6770 
     | 
    
         
             
                        this.bindLayer = options.bindLayer || this.layer;
         
     | 
| 
       6507 
6771 
     | 
    
         
             
                        this._fragments = options.fragments;
         
     | 
| 
         @@ -6548,8 +6812,9 @@ up.Request = (_a = class Request extends up.Record { 
     | 
|
| 
       6548 
6812 
     | 
    
         
             
                        u.task(() => {
         
     | 
| 
       6549 
6813 
     | 
    
         
             
                            this.layer = undefined;
         
     | 
| 
       6550 
6814 
     | 
    
         
             
                            this.failLayer = undefined;
         
     | 
| 
       6551 
     | 
    
         
            -
                            this. 
     | 
| 
      
 6815 
     | 
    
         
            +
                            this.bindLayer = undefined;
         
     | 
| 
       6552 
6816 
     | 
    
         
             
                            this.origin = undefined;
         
     | 
| 
      
 6817 
     | 
    
         
            +
                            this.originLayer = undefined;
         
     | 
| 
       6553 
6818 
     | 
    
         
             
                            this._fragments = undefined;
         
     | 
| 
       6554 
6819 
     | 
    
         
             
                            this._bindFragments = undefined;
         
     | 
| 
       6555 
6820 
     | 
    
         
             
                        });
         
     | 
| 
         @@ -6703,6 +6968,7 @@ up.Request = (_a = class Request extends up.Record { 
     | 
|
| 
       6703 
6968 
     | 
    
         
             
                            status: this.xhr.status,
         
     | 
| 
       6704 
6969 
     | 
    
         
             
                            title: up.protocol.titleFromXHR(this.xhr),
         
     | 
| 
       6705 
6970 
     | 
    
         
             
                            target: up.protocol.targetFromXHR(this.xhr),
         
     | 
| 
      
 6971 
     | 
    
         
            +
                            openLayer: up.protocol.openLayerFromXHR(this.xhr),
         
     | 
| 
       6706 
6972 
     | 
    
         
             
                            acceptLayer: up.protocol.acceptLayerFromXHR(this.xhr),
         
     | 
| 
       6707 
6973 
     | 
    
         
             
                            dismissLayer: up.protocol.dismissLayerFromXHR(this.xhr),
         
     | 
| 
       6708 
6974 
     | 
    
         
             
                            eventPlans: up.protocol.eventPlansFromXHR(this.xhr),
         
     | 
| 
         @@ -6756,7 +7022,7 @@ up.Request = (_a = class Request extends up.Record { 
     | 
|
| 
       6756 
7022 
     | 
    
         
             
                        return this.headers[name];
         
     | 
| 
       6757 
7023 
     | 
    
         
             
                    }
         
     | 
| 
       6758 
7024 
     | 
    
         
             
                    _setAutoHeaders() {
         
     | 
| 
       6759 
     | 
    
         
            -
                        for (let key of ['target', 'failTarget', 'mode', 'failMode', 'context', 'failContext']) {
         
     | 
| 
      
 7025 
     | 
    
         
            +
                        for (let key of ['target', 'failTarget', 'mode', 'failMode', 'context', 'failContext', 'originMode']) {
         
     | 
| 
       6760 
7026 
     | 
    
         
             
                            this._setPropertyHeader(key);
         
     | 
| 
       6761 
7027 
     | 
    
         
             
                        }
         
     | 
| 
       6762 
7028 
     | 
    
         
             
                        let csrfHeader, csrfToken;
         
     | 
| 
         @@ -6817,7 +7083,7 @@ up.Request = (_a = class Request extends up.Record { 
     | 
|
| 
       6817 
7083 
     | 
    
         | 
| 
       6818 
7084 
     | 
    
         | 
| 
       6819 
7085 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       6820 
     | 
    
         
            -
            /*  
     | 
| 
      
 7086 
     | 
    
         
            +
            /* 73 */
         
     | 
| 
       6821 
7087 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6822 
7088 
     | 
    
         | 
| 
       6823 
7089 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -6982,7 +7248,7 @@ up.Request.Cache = class Cache { 
     | 
|
| 
       6982 
7248 
     | 
    
         | 
| 
       6983 
7249 
     | 
    
         | 
| 
       6984 
7250 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       6985 
     | 
    
         
            -
            /*  
     | 
| 
      
 7251 
     | 
    
         
            +
            /* 74 */
         
     | 
| 
       6986 
7252 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       6987 
7253 
     | 
    
         | 
| 
       6988 
7254 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -7000,7 +7266,7 @@ up.Request.Queue = class Queue { 
     | 
|
| 
       7000 
7266 
     | 
    
         
             
                }
         
     | 
| 
       7001 
7267 
     | 
    
         
             
                asap(request) {
         
     | 
| 
       7002 
7268 
     | 
    
         
             
                    request.runQueuedCallbacks();
         
     | 
| 
       7003 
     | 
    
         
            -
                    u.always(request, responseOrError => this._onRequestSettled(request, responseOrError));
         
     | 
| 
      
 7269 
     | 
    
         
            +
                    u.always(request, (responseOrError) => this._onRequestSettled(request, responseOrError));
         
     | 
| 
       7004 
7270 
     | 
    
         
             
                    this._scheduleSlowTimer(request);
         
     | 
| 
       7005 
7271 
     | 
    
         
             
                    this._queueRequest(request);
         
     | 
| 
       7006 
7272 
     | 
    
         
             
                    queueMicrotask(() => this._poke());
         
     | 
| 
         @@ -7031,7 +7297,7 @@ up.Request.Queue = class Queue { 
     | 
|
| 
       7031 
7297 
     | 
    
         
             
                    this._queuedRequests.push(request);
         
     | 
| 
       7032 
7298 
     | 
    
         
             
                }
         
     | 
| 
       7033 
7299 
     | 
    
         
             
                _pluckNextRequest() {
         
     | 
| 
       7034 
     | 
    
         
            -
                    let request = u.find(this._queuedRequests, request => !request.background);
         
     | 
| 
      
 7300 
     | 
    
         
            +
                    let request = u.find(this._queuedRequests, (request) => !request.background);
         
     | 
| 
       7035 
7301 
     | 
    
         
             
                    request ||= this._queuedRequests[0];
         
     | 
| 
       7036 
7302 
     | 
    
         
             
                    return u.remove(this._queuedRequests, request);
         
     | 
| 
       7037 
7303 
     | 
    
         
             
                }
         
     | 
| 
         @@ -7093,7 +7359,7 @@ up.Request.Queue = class Queue { 
     | 
|
| 
       7093 
7359 
     | 
    
         | 
| 
       7094 
7360 
     | 
    
         | 
| 
       7095 
7361 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7096 
     | 
    
         
            -
            /*  
     | 
| 
      
 7362 
     | 
    
         
            +
            /* 75 */
         
     | 
| 
       7097 
7363 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7098 
7364 
     | 
    
         | 
| 
       7099 
7365 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -7132,7 +7398,7 @@ up.Request.FormRenderer = class FormRenderer { 
     | 
|
| 
       7132 
7398 
     | 
    
         | 
| 
       7133 
7399 
     | 
    
         | 
| 
       7134 
7400 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7135 
     | 
    
         
            -
            /*  
     | 
| 
      
 7401 
     | 
    
         
            +
            /* 76 */
         
     | 
| 
       7136 
7402 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7137 
7403 
     | 
    
         | 
| 
       7138 
7404 
     | 
    
         
             
            var _a;
         
     | 
| 
         @@ -7203,7 +7469,7 @@ up.Request.XHRRenderer = (_a = class XHRRenderer { 
     | 
|
| 
       7203 
7469 
     | 
    
         | 
| 
       7204 
7470 
     | 
    
         | 
| 
       7205 
7471 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7206 
     | 
    
         
            -
            /*  
     | 
| 
      
 7472 
     | 
    
         
            +
            /* 77 */
         
     | 
| 
       7207 
7473 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7208 
7474 
     | 
    
         | 
| 
       7209 
7475 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -7218,6 +7484,7 @@ up.Response = class Response extends up.Record { 
     | 
|
| 
       7218 
7484 
     | 
    
         
             
                        'xhr',
         
     | 
| 
       7219 
7485 
     | 
    
         
             
                        'target',
         
     | 
| 
       7220 
7486 
     | 
    
         
             
                        'title',
         
     | 
| 
      
 7487 
     | 
    
         
            +
                        'openLayer',
         
     | 
| 
       7221 
7488 
     | 
    
         
             
                        'acceptLayer',
         
     | 
| 
       7222 
7489 
     | 
    
         
             
                        'dismissLayer',
         
     | 
| 
       7223 
7490 
     | 
    
         
             
                        'eventPlans',
         
     | 
| 
         @@ -7232,7 +7499,7 @@ up.Response = class Response extends up.Record { 
     | 
|
| 
       7232 
7499 
     | 
    
         
             
                defaults() {
         
     | 
| 
       7233 
7500 
     | 
    
         
             
                    return {
         
     | 
| 
       7234 
7501 
     | 
    
         
             
                        headers: {},
         
     | 
| 
       7235 
     | 
    
         
            -
                        loadedAt: new Date()
         
     | 
| 
      
 7502 
     | 
    
         
            +
                        loadedAt: new Date(),
         
     | 
| 
       7236 
7503 
     | 
    
         
             
                    };
         
     | 
| 
       7237 
7504 
     | 
    
         
             
                }
         
     | 
| 
       7238 
7505 
     | 
    
         
             
                get ok() {
         
     | 
| 
         @@ -7251,8 +7518,9 @@ up.Response = class Response extends up.Record { 
     | 
|
| 
       7251 
7518 
     | 
    
         
             
                get contentType() {
         
     | 
| 
       7252 
7519 
     | 
    
         
             
                    return this.header('Content-Type');
         
     | 
| 
       7253 
7520 
     | 
    
         
             
                }
         
     | 
| 
       7254 
     | 
    
         
            -
                get  
     | 
| 
       7255 
     | 
    
         
            -
                     
     | 
| 
      
 7521 
     | 
    
         
            +
                get cspInfo() {
         
     | 
| 
      
 7522 
     | 
    
         
            +
                    let policy = this.header('Content-Security-Policy') || this.header('Content-Security-Policy-Report-Only');
         
     | 
| 
      
 7523 
     | 
    
         
            +
                    return up.protocol.cspInfoFromHeader(policy);
         
     | 
| 
       7256 
7524 
     | 
    
         
             
                }
         
     | 
| 
       7257 
7525 
     | 
    
         
             
                get lastModified() {
         
     | 
| 
       7258 
7526 
     | 
    
         
             
                    let header = this.header('Last-Modified');
         
     | 
| 
         @@ -7281,15 +7549,15 @@ up.Response = class Response extends up.Record { 
     | 
|
| 
       7281 
7549 
     | 
    
         | 
| 
       7282 
7550 
     | 
    
         | 
| 
       7283 
7551 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7284 
     | 
    
         
            -
            /*  
     | 
| 
      
 7552 
     | 
    
         
            +
            /* 78 */
         
     | 
| 
       7285 
7553 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7286 
7554 
     | 
    
         | 
| 
       7287 
7555 
     | 
    
         
             
            var _a;
         
     | 
| 
       7288 
7556 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
       7289 
7557 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
       7290 
     | 
    
         
            -
            const FULL_DOCUMENT_PATTERN = /^\s*<(html|!DOCTYPE)\b/i;
         
     | 
| 
      
 7558 
     | 
    
         
            +
            const FULL_DOCUMENT_PATTERN = /^\s*(<!--[^-]*.*?-->\s*)*<(html|!DOCTYPE)\b/i;
         
     | 
| 
       7291 
7559 
     | 
    
         
             
            up.ResponseDoc = (_a = class ResponseDoc {
         
     | 
| 
       7292 
     | 
    
         
            -
                    constructor({ document, fragment, content, target, origin, data,  
     | 
| 
      
 7560 
     | 
    
         
            +
                    constructor({ document, fragment, content, target, origin, data, cspInfo, match }) {
         
     | 
| 
       7293 
7561 
     | 
    
         
             
                        if (document) {
         
     | 
| 
       7294 
7562 
     | 
    
         
             
                            this._parseDocument(document, origin, data);
         
     | 
| 
       7295 
7563 
     | 
    
         
             
                        }
         
     | 
| 
         @@ -7299,7 +7567,7 @@ up.ResponseDoc = (_a = class ResponseDoc { 
     | 
|
| 
       7299 
7567 
     | 
    
         
             
                        else {
         
     | 
| 
       7300 
7568 
     | 
    
         
             
                            this._parseContent(content || '', origin, target, data);
         
     | 
| 
       7301 
7569 
     | 
    
         
             
                        }
         
     | 
| 
       7302 
     | 
    
         
            -
                        this. 
     | 
| 
      
 7570 
     | 
    
         
            +
                        this._cspInfo = cspInfo || {};
         
     | 
| 
       7303 
7571 
     | 
    
         
             
                        if (origin) {
         
     | 
| 
       7304 
7572 
     | 
    
         
             
                            let originSelector = up.fragment.tryToTarget(origin);
         
     | 
| 
       7305 
7573 
     | 
    
         
             
                            if (originSelector) {
         
     | 
| 
         @@ -7328,9 +7596,6 @@ up.ResponseDoc = (_a = class ResponseDoc { 
     | 
|
| 
       7328 
7596 
     | 
    
         
             
                            this._document = this._buildFauxDocument(value);
         
     | 
| 
       7329 
7597 
     | 
    
         
             
                        }
         
     | 
| 
       7330 
7598 
     | 
    
         
             
                    }
         
     | 
| 
       7331 
     | 
    
         
            -
                    _parseDocumentFromHTML(html) {
         
     | 
| 
       7332 
     | 
    
         
            -
                        return e.createBrokenDocumentFromHTML(html);
         
     | 
| 
       7333 
     | 
    
         
            -
                    }
         
     | 
| 
       7334 
7599 
     | 
    
         
             
                    _parseFragment(value, origin, data) {
         
     | 
| 
       7335 
7600 
     | 
    
         
             
                        let element = e.extractSingular(up.fragment.provideNodes(value, { origin, data }));
         
     | 
| 
       7336 
7601 
     | 
    
         
             
                        this._document = this._buildFauxDocument(element);
         
     | 
| 
         @@ -7368,7 +7633,14 @@ up.ResponseDoc = (_a = class ResponseDoc { 
     | 
|
| 
       7368 
7633 
     | 
    
         
             
                        return this._fromHead(up.history.findMetaTags);
         
     | 
| 
       7369 
7634 
     | 
    
         
             
                    }
         
     | 
| 
       7370 
7635 
     | 
    
         
             
                    get assets() {
         
     | 
| 
       7371 
     | 
    
         
            -
                        return this._fromHead( 
     | 
| 
      
 7636 
     | 
    
         
            +
                        return this._fromHead((head) => {
         
     | 
| 
      
 7637 
     | 
    
         
            +
                            let assets = up.script.findAssets(head);
         
     | 
| 
      
 7638 
     | 
    
         
            +
                            return u.map(assets, (asset) => {
         
     | 
| 
      
 7639 
     | 
    
         
            +
                                this._adoptNoncesInSubtree(asset);
         
     | 
| 
      
 7640 
     | 
    
         
            +
                                let clone = this._reviveElementAsClone(asset);
         
     | 
| 
      
 7641 
     | 
    
         
            +
                                return clone;
         
     | 
| 
      
 7642 
     | 
    
         
            +
                            });
         
     | 
| 
      
 7643 
     | 
    
         
            +
                        });
         
     | 
| 
       7372 
7644 
     | 
    
         
             
                    }
         
     | 
| 
       7373 
7645 
     | 
    
         
             
                    get lang() {
         
     | 
| 
       7374 
7646 
     | 
    
         
             
                        if (this._isFullDocument) {
         
     | 
| 
         @@ -7420,21 +7692,43 @@ up.ResponseDoc = (_a = class ResponseDoc { 
     | 
|
| 
       7420 
7692 
     | 
    
         
             
                            throw new up.CannotMatch();
         
     | 
| 
       7421 
7693 
     | 
    
         
             
                        }
         
     | 
| 
       7422 
7694 
     | 
    
         
             
                    }
         
     | 
| 
      
 7695 
     | 
    
         
            +
                    _disableScriptsInSubtree(element) {
         
     | 
| 
      
 7696 
     | 
    
         
            +
                        let pageNonce = up.protocol.cspNonce();
         
     | 
| 
      
 7697 
     | 
    
         
            +
                        up.script.disableSubtree(element, (script) => !this._isScriptAllowed(script, pageNonce));
         
     | 
| 
      
 7698 
     | 
    
         
            +
                    }
         
     | 
| 
      
 7699 
     | 
    
         
            +
                    _isScriptAllowed(scriptElement, pageNonce) {
         
     | 
| 
      
 7700 
     | 
    
         
            +
                        let strategy = up.fragment.config.runScripts;
         
     | 
| 
      
 7701 
     | 
    
         
            +
                        if (strategy === true && this._cspInfo.declaration?.includes("'strict-dynamic'")) {
         
     | 
| 
      
 7702 
     | 
    
         
            +
                            return pageNonce && (pageNonce === scriptElement.nonce);
         
     | 
| 
      
 7703 
     | 
    
         
            +
                        }
         
     | 
| 
      
 7704 
     | 
    
         
            +
                        else {
         
     | 
| 
      
 7705 
     | 
    
         
            +
                            return u.evalOption(strategy, scriptElement);
         
     | 
| 
      
 7706 
     | 
    
         
            +
                        }
         
     | 
| 
      
 7707 
     | 
    
         
            +
                    }
         
     | 
| 
      
 7708 
     | 
    
         
            +
                    _reviveElementAsClone(element) {
         
     | 
| 
      
 7709 
     | 
    
         
            +
                        return e.revivedClone(element);
         
     | 
| 
      
 7710 
     | 
    
         
            +
                    }
         
     | 
| 
      
 7711 
     | 
    
         
            +
                    _reviveSubtreeInPlace(element) {
         
     | 
| 
      
 7712 
     | 
    
         
            +
                        if (this._document instanceof Document) {
         
     | 
| 
      
 7713 
     | 
    
         
            +
                            for (let brokenElement of e.subtree(element, ':is(noscript, script, audio, video):not(.up-keeping, .up-keeping *)')) {
         
     | 
| 
      
 7714 
     | 
    
         
            +
                                let clone = this._reviveElementAsClone(brokenElement);
         
     | 
| 
      
 7715 
     | 
    
         
            +
                                brokenElement.replaceWith(clone);
         
     | 
| 
      
 7716 
     | 
    
         
            +
                            }
         
     | 
| 
      
 7717 
     | 
    
         
            +
                        }
         
     | 
| 
      
 7718 
     | 
    
         
            +
                    }
         
     | 
| 
      
 7719 
     | 
    
         
            +
                    _adoptNoncesInSubtree(element) {
         
     | 
| 
      
 7720 
     | 
    
         
            +
                        up.script.adoptNoncesInSubtree(element, this._cspInfo.nonces);
         
     | 
| 
      
 7721 
     | 
    
         
            +
                    }
         
     | 
| 
       7423 
7722 
     | 
    
         
             
                    commitElement(element) {
         
     | 
| 
       7424 
7723 
     | 
    
         
             
                        if (this._document.contains(element)) {
         
     | 
| 
       7425 
     | 
    
         
            -
                             
     | 
| 
       7426 
     | 
    
         
            -
             
     | 
| 
       7427 
     | 
    
         
            -
                            }
         
     | 
| 
      
 7724 
     | 
    
         
            +
                            this._adoptNoncesInSubtree(element);
         
     | 
| 
      
 7725 
     | 
    
         
            +
                            this._disableScriptsInSubtree(element);
         
     | 
| 
       7428 
7726 
     | 
    
         
             
                            element.remove();
         
     | 
| 
       7429 
7727 
     | 
    
         
             
                            return true;
         
     | 
| 
       7430 
7728 
     | 
    
         
             
                        }
         
     | 
| 
       7431 
7729 
     | 
    
         
             
                    }
         
     | 
| 
       7432 
7730 
     | 
    
         
             
                    finalizeElement(element) {
         
     | 
| 
       7433 
     | 
    
         
            -
                         
     | 
| 
       7434 
     | 
    
         
            -
                        if (this._document instanceof Document) {
         
     | 
| 
       7435 
     | 
    
         
            -
                            let brokenElements = e.subtree(element, ':is(noscript,script,audio,video):not(.up-keeping, .up-keeping *)');
         
     | 
| 
       7436 
     | 
    
         
            -
                            u.each(brokenElements, e.fixParserDamage);
         
     | 
| 
       7437 
     | 
    
         
            -
                        }
         
     | 
| 
      
 7731 
     | 
    
         
            +
                        this._reviveSubtreeInPlace(element);
         
     | 
| 
       7438 
7732 
     | 
    
         
             
                    }
         
     | 
| 
       7439 
7733 
     | 
    
         
             
                },
         
     | 
| 
       7440 
7734 
     | 
    
         
             
                (() => {
         
     | 
| 
         @@ -7446,7 +7740,7 @@ up.ResponseDoc = (_a = class ResponseDoc { 
     | 
|
| 
       7446 
7740 
     | 
    
         | 
| 
       7447 
7741 
     | 
    
         | 
| 
       7448 
7742 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7449 
     | 
    
         
            -
            /*  
     | 
| 
      
 7743 
     | 
    
         
            +
            /* 79 */
         
     | 
| 
       7450 
7744 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7451 
7745 
     | 
    
         | 
| 
       7452 
7746 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
         @@ -7536,7 +7830,7 @@ up.RevealMotion = class RevealMotion { 
     | 
|
| 
       7536 
7830 
     | 
    
         | 
| 
       7537 
7831 
     | 
    
         | 
| 
       7538 
7832 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7539 
     | 
    
         
            -
            /*  
     | 
| 
      
 7833 
     | 
    
         
            +
            /* 80 */
         
     | 
| 
       7540 
7834 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7541 
7835 
     | 
    
         | 
| 
       7542 
7836 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -7558,7 +7852,7 @@ up.Selector = class Selector { 
     | 
|
| 
       7558 
7852 
     | 
    
         
             
                        this._layers = up.layer.getAll(options);
         
     | 
| 
       7559 
7853 
     | 
    
         
             
                        if (!this._layers.length)
         
     | 
| 
       7560 
7854 
     | 
    
         
             
                            throw new up.CannotMatch(["Unknown layer: %o", options.layer]);
         
     | 
| 
       7561 
     | 
    
         
            -
                        this._filters.push(match => u.some(this._layers, layer => layer.contains(match)));
         
     | 
| 
      
 7855 
     | 
    
         
            +
                        this._filters.push((match) => u.some(this._layers, (layer) => layer.contains(match)));
         
     | 
| 
       7562 
7856 
     | 
    
         
             
                        expandTargetLayer = this._layers[0];
         
     | 
| 
       7563 
7857 
     | 
    
         
             
                    }
         
     | 
| 
       7564 
7858 
     | 
    
         
             
                    this._selectors = up.fragment.expandTargets(selector, { ...options, layer: expandTargetLayer });
         
     | 
| 
         @@ -7593,7 +7887,7 @@ up.Selector = class Selector { 
     | 
|
| 
       7593 
7887 
     | 
    
         
             
                    });
         
     | 
| 
       7594 
7888 
     | 
    
         
             
                }
         
     | 
| 
       7595 
7889 
     | 
    
         
             
                _passesFilter(element) {
         
     | 
| 
       7596 
     | 
    
         
            -
                    return element && u.every(this._filters, filter => filter(element));
         
     | 
| 
      
 7890 
     | 
    
         
            +
                    return element && u.every(this._filters, (filter) => filter(element));
         
     | 
| 
       7597 
7891 
     | 
    
         
             
                }
         
     | 
| 
       7598 
7892 
     | 
    
         
             
                _filterOne(element) {
         
     | 
| 
       7599 
7893 
     | 
    
         
             
                    return u.presence(element, this._passesFilter.bind(this));
         
     | 
| 
         @@ -7605,7 +7899,7 @@ up.Selector = class Selector { 
     | 
|
| 
       7605 
7899 
     | 
    
         | 
| 
       7606 
7900 
     | 
    
         | 
| 
       7607 
7901 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7608 
     | 
    
         
            -
            /*  
     | 
| 
      
 7902 
     | 
    
         
            +
            /* 81 */
         
     | 
| 
       7609 
7903 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7610 
7904 
     | 
    
         | 
| 
       7611 
7905 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -7725,7 +8019,7 @@ up.Tether = class Tether { 
     | 
|
| 
       7725 
8019 
     | 
    
         | 
| 
       7726 
8020 
     | 
    
         | 
| 
       7727 
8021 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7728 
     | 
    
         
            -
            /*  
     | 
| 
      
 8022 
     | 
    
         
            +
            /* 82 */
         
     | 
| 
       7729 
8023 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7730 
8024 
     | 
    
         | 
| 
       7731 
8025 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
         @@ -7798,7 +8092,7 @@ up.URLPattern = class URLPattern { 
     | 
|
| 
       7798 
8092 
     | 
    
         | 
| 
       7799 
8093 
     | 
    
         | 
| 
       7800 
8094 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7801 
     | 
    
         
            -
            /*  
     | 
| 
      
 8095 
     | 
    
         
            +
            /* 83 */
         
     | 
| 
       7802 
8096 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7803 
8097 
     | 
    
         | 
| 
       7804 
8098 
     | 
    
         
             
            up.framework = (function () {
         
     | 
| 
         @@ -7887,7 +8181,7 @@ up.boot = up.framework.boot; 
     | 
|
| 
       7887 
8181 
     | 
    
         | 
| 
       7888 
8182 
     | 
    
         | 
| 
       7889 
8183 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       7890 
     | 
    
         
            -
            /*  
     | 
| 
      
 8184 
     | 
    
         
            +
            /* 84 */
         
     | 
| 
       7891 
8185 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       7892 
8186 
     | 
    
         | 
| 
       7893 
8187 
     | 
    
         
             
            up.event = (function () {
         
     | 
| 
         @@ -7939,9 +8233,8 @@ up.event = (function () { 
     | 
|
| 
       7939 
8233 
     | 
    
         
             
                    event.preventDefault();
         
     | 
| 
       7940 
8234 
     | 
    
         
             
                }
         
     | 
| 
       7941 
8235 
     | 
    
         
             
                const keyModifiers = ['metaKey', 'shiftKey', 'ctrlKey', 'altKey'];
         
     | 
| 
       7942 
     | 
    
         
            -
                function  
     | 
| 
       7943 
     | 
    
         
            -
                    return ( 
     | 
| 
       7944 
     | 
    
         
            -
                        !u.some(keyModifiers, modifier => event[modifier]);
         
     | 
| 
      
 8236 
     | 
    
         
            +
                function isModified(event) {
         
     | 
| 
      
 8237 
     | 
    
         
            +
                    return (event.button > 0) || u.some(keyModifiers, (modifier) => event[modifier]);
         
     | 
| 
       7945 
8238 
     | 
    
         
             
                }
         
     | 
| 
       7946 
8239 
     | 
    
         
             
                function isSyntheticClick(event) {
         
     | 
| 
       7947 
8240 
     | 
    
         
             
                    return u.isMissing(event.clientX);
         
     | 
| 
         @@ -7962,7 +8255,7 @@ up.event = (function () { 
     | 
|
| 
       7962 
8255 
     | 
    
         
             
                    return newEvent;
         
     | 
| 
       7963 
8256 
     | 
    
         
             
                }
         
     | 
| 
       7964 
8257 
     | 
    
         
             
                function executeEmitAttr(event, element) {
         
     | 
| 
       7965 
     | 
    
         
            -
                    if ( 
     | 
| 
      
 8258 
     | 
    
         
            +
                    if (isModified(event)) {
         
     | 
| 
       7966 
8259 
     | 
    
         
             
                        return;
         
     | 
| 
       7967 
8260 
     | 
    
         
             
                    }
         
     | 
| 
       7968 
8261 
     | 
    
         
             
                    const eventType = e.attr(element, 'up-emit');
         
     | 
| 
         @@ -7991,7 +8284,7 @@ up.event = (function () { 
     | 
|
| 
       7991 
8284 
     | 
    
         
             
                    assertEmitted,
         
     | 
| 
       7992 
8285 
     | 
    
         
             
                    onEscape,
         
     | 
| 
       7993 
8286 
     | 
    
         
             
                    halt,
         
     | 
| 
       7994 
     | 
    
         
            -
                     
     | 
| 
      
 8287 
     | 
    
         
            +
                    isModified,
         
     | 
| 
       7995 
8288 
     | 
    
         
             
                    isSyntheticClick,
         
     | 
| 
       7996 
8289 
     | 
    
         
             
                    fork,
         
     | 
| 
       7997 
8290 
     | 
    
         
             
                    keyModifiers,
         
     | 
| 
         @@ -8004,14 +8297,14 @@ up.emit = up.event.emit; 
     | 
|
| 
       8004 
8297 
     | 
    
         | 
| 
       8005 
8298 
     | 
    
         | 
| 
       8006 
8299 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       8007 
     | 
    
         
            -
            /*  
     | 
| 
      
 8300 
     | 
    
         
            +
            /* 85 */
         
     | 
| 
       8008 
8301 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       8009 
8302 
     | 
    
         | 
| 
       8010 
8303 
     | 
    
         
             
            up.protocol = (function () {
         
     | 
| 
       8011 
8304 
     | 
    
         
             
                const u = up.util;
         
     | 
| 
       8012 
8305 
     | 
    
         
             
                const e = up.element;
         
     | 
| 
       8013 
8306 
     | 
    
         
             
                const headerize = function (camel) {
         
     | 
| 
       8014 
     | 
    
         
            -
                    const header = camel.replace(/(^.|[A-Z])/g, char => '-' + char.toUpperCase());
         
     | 
| 
      
 8307 
     | 
    
         
            +
                    const header = camel.replace(/(^.|[A-Z])/g, (char) => '-' + char.toUpperCase());
         
     | 
| 
       8015 
8308 
     | 
    
         
             
                    return 'X-Up' + header;
         
     | 
| 
       8016 
8309 
     | 
    
         
             
                };
         
     | 
| 
       8017 
8310 
     | 
    
         
             
                const extractHeader = function (xhr, shortHeader, parseFn = u.identity) {
         
     | 
| 
         @@ -8049,6 +8342,9 @@ up.protocol = (function () { 
     | 
|
| 
       8049 
8342 
     | 
    
         
             
                function eventPlansFromXHR(xhr) {
         
     | 
| 
       8050 
8343 
     | 
    
         
             
                    return extractHeader(xhr, 'events', u.parseRelaxedJSON);
         
     | 
| 
       8051 
8344 
     | 
    
         
             
                }
         
     | 
| 
      
 8345 
     | 
    
         
            +
                function openLayerFromXHR(xhr) {
         
     | 
| 
      
 8346 
     | 
    
         
            +
                    return extractHeader(xhr, 'openLayer', u.parseRelaxedJSON);
         
     | 
| 
      
 8347 
     | 
    
         
            +
                }
         
     | 
| 
       8052 
8348 
     | 
    
         
             
                function acceptLayerFromXHR(xhr) {
         
     | 
| 
       8053 
8349 
     | 
    
         
             
                    return extractHeader(xhr, 'acceptLayer', u.parseRelaxedJSON);
         
     | 
| 
       8054 
8350 
     | 
    
         
             
                }
         
     | 
| 
         @@ -8084,21 +8380,26 @@ up.protocol = (function () { 
     | 
|
| 
       8084 
8380 
     | 
    
         
             
                function cspNonce() {
         
     | 
| 
       8085 
8381 
     | 
    
         
             
                    return u.evalOption(config.cspNonce);
         
     | 
| 
       8086 
8382 
     | 
    
         
             
                }
         
     | 
| 
       8087 
     | 
    
         
            -
                 
     | 
| 
       8088 
     | 
    
         
            -
             
     | 
| 
      
 8383 
     | 
    
         
            +
                const NONCE_PATTERN = /'nonce-([^']+)'/g;
         
     | 
| 
      
 8384 
     | 
    
         
            +
                function findNonces(cspPart) {
         
     | 
| 
      
 8385 
     | 
    
         
            +
                    let matches = cspPart.matchAll(NONCE_PATTERN);
         
     | 
| 
      
 8386 
     | 
    
         
            +
                    return u.map(matches, '1');
         
     | 
| 
      
 8387 
     | 
    
         
            +
                }
         
     | 
| 
      
 8388 
     | 
    
         
            +
                function cspInfoFromHeader(cspHeader) {
         
     | 
| 
      
 8389 
     | 
    
         
            +
                    let results = {};
         
     | 
| 
       8089 
8390 
     | 
    
         
             
                    if (cspHeader) {
         
     | 
| 
       8090 
     | 
    
         
            -
                        let  
     | 
| 
       8091 
     | 
    
         
            -
                        for (let  
     | 
| 
       8092 
     | 
    
         
            -
                             
     | 
| 
       8093 
     | 
    
         
            -
             
     | 
| 
       8094 
     | 
    
         
            -
                                 
     | 
| 
       8095 
     | 
    
         
            -
             
     | 
| 
       8096 
     | 
    
         
            -
                                    nonces 
     | 
| 
       8097 
     | 
    
         
            -
                                }
         
     | 
| 
      
 8391 
     | 
    
         
            +
                        let declarations = cspHeader.split(/\s*;\s*/);
         
     | 
| 
      
 8392 
     | 
    
         
            +
                        for (let declaration of declarations) {
         
     | 
| 
      
 8393 
     | 
    
         
            +
                            let directive = declaration.match(/^(script|default)-src:/)?.[1];
         
     | 
| 
      
 8394 
     | 
    
         
            +
                            if (directive) {
         
     | 
| 
      
 8395 
     | 
    
         
            +
                                results[directive] = {
         
     | 
| 
      
 8396 
     | 
    
         
            +
                                    declaration: declaration,
         
     | 
| 
      
 8397 
     | 
    
         
            +
                                    nonces: findNonces(declaration)
         
     | 
| 
      
 8398 
     | 
    
         
            +
                                };
         
     | 
| 
       8098 
8399 
     | 
    
         
             
                            }
         
     | 
| 
       8099 
8400 
     | 
    
         
             
                        }
         
     | 
| 
       8100 
8401 
     | 
    
         
             
                    }
         
     | 
| 
       8101 
     | 
    
         
            -
                    return  
     | 
| 
      
 8402 
     | 
    
         
            +
                    return results.script || results.default || {};
         
     | 
| 
       8102 
8403 
     | 
    
         
             
                }
         
     | 
| 
       8103 
8404 
     | 
    
         
             
                function wrapMethod(method, params) {
         
     | 
| 
       8104 
8405 
     | 
    
         
             
                    params.add(config.methodParam, method);
         
     | 
| 
         @@ -8110,6 +8411,7 @@ up.protocol = (function () { 
     | 
|
| 
       8110 
8411 
     | 
    
         
             
                    titleFromXHR,
         
     | 
| 
       8111 
8412 
     | 
    
         
             
                    targetFromXHR,
         
     | 
| 
       8112 
8413 
     | 
    
         
             
                    methodFromXHR,
         
     | 
| 
      
 8414 
     | 
    
         
            +
                    openLayerFromXHR,
         
     | 
| 
       8113 
8415 
     | 
    
         
             
                    acceptLayerFromXHR,
         
     | 
| 
       8114 
8416 
     | 
    
         
             
                    contextFromXHR,
         
     | 
| 
       8115 
8417 
     | 
    
         
             
                    dismissLayerFromXHR,
         
     | 
| 
         @@ -8123,13 +8425,13 @@ up.protocol = (function () { 
     | 
|
| 
       8123 
8425 
     | 
    
         
             
                    initialRequestMethod,
         
     | 
| 
       8124 
8426 
     | 
    
         
             
                    headerize,
         
     | 
| 
       8125 
8427 
     | 
    
         
             
                    wrapMethod,
         
     | 
| 
       8126 
     | 
    
         
            -
                     
     | 
| 
      
 8428 
     | 
    
         
            +
                    cspInfoFromHeader,
         
     | 
| 
       8127 
8429 
     | 
    
         
             
                };
         
     | 
| 
       8128 
8430 
     | 
    
         
             
            })();
         
     | 
| 
       8129 
8431 
     | 
    
         | 
| 
       8130 
8432 
     | 
    
         | 
| 
       8131 
8433 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       8132 
     | 
    
         
            -
            /*  
     | 
| 
      
 8434 
     | 
    
         
            +
            /* 86 */
         
     | 
| 
       8133 
8435 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       8134 
8436 
     | 
    
         | 
| 
       8135 
8437 
     | 
    
         
             
            up.log = (function () {
         
     | 
| 
         @@ -8142,24 +8444,26 @@ up.log = (function () { 
     | 
|
| 
       8142 
8444 
     | 
    
         
             
                }
         
     | 
| 
       8143 
8445 
     | 
    
         
             
                const printToWarn = (...args) => printToStream('warn', ...args);
         
     | 
| 
       8144 
8446 
     | 
    
         
             
                const printToError = (...args) => printToStream('error', ...args);
         
     | 
| 
       8145 
     | 
    
         
            -
                function printToStream(stream,  
     | 
| 
       8146 
     | 
    
         
            -
                    printToStreamStyled(stream,  
     | 
| 
      
 8447 
     | 
    
         
            +
                function printToStream(stream, prefix, message, ...args) {
         
     | 
| 
      
 8448 
     | 
    
         
            +
                    printToStreamStyled(stream, prefix, '', message, ...args);
         
     | 
| 
       8147 
8449 
     | 
    
         
             
                }
         
     | 
| 
       8148 
     | 
    
         
            -
                function printToStreamStyled(stream,  
     | 
| 
      
 8450 
     | 
    
         
            +
                function printToStreamStyled(stream, prefix, customStyles, message, ...args) {
         
     | 
| 
       8149 
8451 
     | 
    
         
             
                    if (message) {
         
     | 
| 
       8150 
8452 
     | 
    
         
             
                        if (config.format) {
         
     | 
| 
       8151 
     | 
    
         
            -
                            console[stream](`%c${ 
     | 
| 
      
 8453 
     | 
    
         
            +
                            console[stream](`%c${prefix}%c ${message}`, 'color: #666666; padding: 1px 3px; border: 1px solid #bbbbbb; border-radius: 2px; font-size: 90%; display: inline-block;' + customStyles, '', ...args);
         
     | 
| 
       8152 
8454 
     | 
    
         
             
                        }
         
     | 
| 
       8153 
8455 
     | 
    
         
             
                        else {
         
     | 
| 
       8154 
     | 
    
         
            -
                            console[stream](`[${ 
     | 
| 
      
 8456 
     | 
    
         
            +
                            console[stream](`[${prefix}] ${u.sprintf(message, ...args)}`);
         
     | 
| 
       8155 
8457 
     | 
    
         
             
                        }
         
     | 
| 
       8156 
8458 
     | 
    
         
             
                    }
         
     | 
| 
       8157 
8459 
     | 
    
         
             
                }
         
     | 
| 
      
 8460 
     | 
    
         
            +
                let lastPrintedUserEvent;
         
     | 
| 
       8158 
8461 
     | 
    
         
             
                function printUserEvent(event) {
         
     | 
| 
       8159 
     | 
    
         
            -
                    if (config.enabled) {
         
     | 
| 
       8160 
     | 
    
         
            -
                         
     | 
| 
      
 8462 
     | 
    
         
            +
                    if (config.enabled && lastPrintedUserEvent !== event) {
         
     | 
| 
      
 8463 
     | 
    
         
            +
                        lastPrintedUserEvent = event;
         
     | 
| 
      
 8464 
     | 
    
         
            +
                        let originalEvent = event.originalEvent || event;
         
     | 
| 
       8161 
8465 
     | 
    
         
             
                        let color = '#5566cc';
         
     | 
| 
       8162 
     | 
    
         
            -
                        printToStreamStyled('log',  
     | 
| 
      
 8466 
     | 
    
         
            +
                        printToStreamStyled('log', originalEvent.type, `color: white; border-color: ${color}; background-color: ${color}`, 'Interaction on %o', originalEvent.target);
         
     | 
| 
       8163 
8467 
     | 
    
         
             
                    }
         
     | 
| 
       8164 
8468 
     | 
    
         
             
                }
         
     | 
| 
       8165 
8469 
     | 
    
         
             
                function printBanner() {
         
     | 
| 
         @@ -8210,7 +8514,7 @@ up.warn = up.log.warn; 
     | 
|
| 
       8210 
8514 
     | 
    
         | 
| 
       8211 
8515 
     | 
    
         | 
| 
       8212 
8516 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       8213 
     | 
    
         
            -
            /*  
     | 
| 
      
 8517 
     | 
    
         
            +
            /* 87 */
         
     | 
| 
       8214 
8518 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       8215 
8519 
     | 
    
         | 
| 
       8216 
8520 
     | 
    
         
             
            up.script = (function () {
         
     | 
| 
         @@ -8392,16 +8696,41 @@ up.script = (function () { 
     | 
|
| 
       8392 
8696 
     | 
    
         
             
                        up.event.assertEmitted('up:assets:changed', { oldAssets, newAssets, renderOptions });
         
     | 
| 
       8393 
8697 
     | 
    
         
             
                    }
         
     | 
| 
       8394 
8698 
     | 
    
         
             
                }
         
     | 
| 
       8395 
     | 
    
         
            -
                function  
     | 
| 
       8396 
     | 
    
         
            -
                     
     | 
| 
      
 8699 
     | 
    
         
            +
                function disableScriptsInSubtree(root, guard = () => true) {
         
     | 
| 
      
 8700 
     | 
    
         
            +
                    for (let script of findScripts(root)) {
         
     | 
| 
      
 8701 
     | 
    
         
            +
                        if (guard(script)) {
         
     | 
| 
      
 8702 
     | 
    
         
            +
                            script.type = 'up-disabled-script';
         
     | 
| 
      
 8703 
     | 
    
         
            +
                        }
         
     | 
| 
      
 8704 
     | 
    
         
            +
                    }
         
     | 
| 
       8397 
8705 
     | 
    
         
             
                }
         
     | 
| 
       8398 
     | 
    
         
            -
                function  
     | 
| 
       8399 
     | 
    
         
            -
                    let selector = config.selector('scriptSelectors');
         
     | 
| 
       8400 
     | 
    
         
            -
                     
     | 
| 
      
 8706 
     | 
    
         
            +
                function findScripts(root, selectorSuffix = '') {
         
     | 
| 
      
 8707 
     | 
    
         
            +
                    let selector = config.selector('scriptSelectors') + selectorSuffix;
         
     | 
| 
      
 8708 
     | 
    
         
            +
                    return e.subtree(root, selector);
         
     | 
| 
       8401 
8709 
     | 
    
         
             
                }
         
     | 
| 
       8402 
8710 
     | 
    
         
             
                function isScript(value) {
         
     | 
| 
       8403 
8711 
     | 
    
         
             
                    return config.matches(value, 'scriptSelectors');
         
     | 
| 
       8404 
8712 
     | 
    
         
             
                }
         
     | 
| 
      
 8713 
     | 
    
         
            +
                function adoptNoncesInSubtree(root, responseNonces) {
         
     | 
| 
      
 8714 
     | 
    
         
            +
                    let pageNonce = up.protocol.cspNonce();
         
     | 
| 
      
 8715 
     | 
    
         
            +
                    if (!responseNonces?.length || !pageNonce)
         
     | 
| 
      
 8716 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 8717 
     | 
    
         
            +
                    for (let script of findScripts(root, '[nonce]')) {
         
     | 
| 
      
 8718 
     | 
    
         
            +
                        if (responseNonces.includes(script.nonce)) {
         
     | 
| 
      
 8719 
     | 
    
         
            +
                            script.nonce = pageNonce;
         
     | 
| 
      
 8720 
     | 
    
         
            +
                        }
         
     | 
| 
      
 8721 
     | 
    
         
            +
                    }
         
     | 
| 
      
 8722 
     | 
    
         
            +
                    for (let attribute of config.nonceableAttributes) {
         
     | 
| 
      
 8723 
     | 
    
         
            +
                        let matches = e.subtree(root, `[${attribute}^="nonce-"]`);
         
     | 
| 
      
 8724 
     | 
    
         
            +
                        for (let match of matches) {
         
     | 
| 
      
 8725 
     | 
    
         
            +
                            let attributeValue = match.getAttribute(attribute);
         
     | 
| 
      
 8726 
     | 
    
         
            +
                            let callback = up.NonceableCallback.fromString(attributeValue);
         
     | 
| 
      
 8727 
     | 
    
         
            +
                            if (responseNonces.includes(callback.nonce)) {
         
     | 
| 
      
 8728 
     | 
    
         
            +
                                callback.nonce = pageNonce;
         
     | 
| 
      
 8729 
     | 
    
         
            +
                                match.setAttribute(attribute, callback.toString());
         
     | 
| 
      
 8730 
     | 
    
         
            +
                            }
         
     | 
| 
      
 8731 
     | 
    
         
            +
                        }
         
     | 
| 
      
 8732 
     | 
    
         
            +
                    }
         
     | 
| 
      
 8733 
     | 
    
         
            +
                }
         
     | 
| 
       8405 
8734 
     | 
    
         
             
                function reset() {
         
     | 
| 
       8406 
8735 
     | 
    
         
             
                    registeredCompilers = u.filter(registeredCompilers, 'isDefault');
         
     | 
| 
       8407 
8736 
     | 
    
         
             
                    registeredMacros = u.filter(registeredMacros, 'isDefault');
         
     | 
| 
         @@ -8419,6 +8748,7 @@ up.script = (function () { 
     | 
|
| 
       8419 
8748 
     | 
    
         
             
                    findAssets,
         
     | 
| 
       8420 
8749 
     | 
    
         
             
                    assertAssetsOK,
         
     | 
| 
       8421 
8750 
     | 
    
         
             
                    disableSubtree: disableScriptsInSubtree,
         
     | 
| 
      
 8751 
     | 
    
         
            +
                    adoptNoncesInSubtree,
         
     | 
| 
       8422 
8752 
     | 
    
         
             
                    isScript,
         
     | 
| 
       8423 
8753 
     | 
    
         
             
                };
         
     | 
| 
       8424 
8754 
     | 
    
         
             
            })();
         
     | 
| 
         @@ -8431,7 +8761,7 @@ up.attribute = up.script.attrCompiler; 
     | 
|
| 
       8431 
8761 
     | 
    
         | 
| 
       8432 
8762 
     | 
    
         | 
| 
       8433 
8763 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       8434 
     | 
    
         
            -
            /*  
     | 
| 
      
 8764 
     | 
    
         
            +
            /* 88 */
         
     | 
| 
       8435 
8765 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       8436 
8766 
     | 
    
         | 
| 
       8437 
8767 
     | 
    
         
             
            up.history = (function () {
         
     | 
| 
         @@ -8457,59 +8787,75 @@ up.history = (function () { 
     | 
|
| 
       8457 
8787 
     | 
    
         
             
                }));
         
     | 
| 
       8458 
8788 
     | 
    
         
             
                let previousLocation;
         
     | 
| 
       8459 
8789 
     | 
    
         
             
                let nextPreviousLocation;
         
     | 
| 
      
 8790 
     | 
    
         
            +
                let nextTrackOptions;
         
     | 
| 
      
 8791 
     | 
    
         
            +
                let adoptedBases = new up.FIFOCache({ capacity: 100, normalizeKey: getBase });
         
     | 
| 
      
 8792 
     | 
    
         
            +
                function isAdopted(location) {
         
     | 
| 
      
 8793 
     | 
    
         
            +
                    return !!adoptedBases.get(location);
         
     | 
| 
      
 8794 
     | 
    
         
            +
                }
         
     | 
| 
       8460 
8795 
     | 
    
         
             
                function reset() {
         
     | 
| 
       8461 
8796 
     | 
    
         
             
                    previousLocation = undefined;
         
     | 
| 
       8462 
8797 
     | 
    
         
             
                    nextPreviousLocation = undefined;
         
     | 
| 
       8463 
     | 
    
         
            -
                     
     | 
| 
      
 8798 
     | 
    
         
            +
                    nextTrackOptions = undefined;
         
     | 
| 
      
 8799 
     | 
    
         
            +
                    adoptedBases.clear();
         
     | 
| 
      
 8800 
     | 
    
         
            +
                    trackCurrentLocation({ reason: null, alreadyHandled: true });
         
     | 
| 
      
 8801 
     | 
    
         
            +
                    adopt();
         
     | 
| 
       8464 
8802 
     | 
    
         
             
                }
         
     | 
| 
       8465 
8803 
     | 
    
         
             
                function currentLocation() {
         
     | 
| 
       8466 
8804 
     | 
    
         
             
                    return u.normalizeURL(location.href);
         
     | 
| 
       8467 
8805 
     | 
    
         
             
                }
         
     | 
| 
       8468 
     | 
    
         
            -
                function trackCurrentLocation() {
         
     | 
| 
       8469 
     | 
    
         
            -
                     
     | 
| 
       8470 
     | 
    
         
            -
                     
     | 
| 
      
 8806 
     | 
    
         
            +
                function trackCurrentLocation(trackOptions) {
         
     | 
| 
      
 8807 
     | 
    
         
            +
                    let { reason, alreadyHandled } = nextTrackOptions || trackOptions;
         
     | 
| 
      
 8808 
     | 
    
         
            +
                    let location = currentLocation();
         
     | 
| 
      
 8809 
     | 
    
         
            +
                    if (nextPreviousLocation !== location) {
         
     | 
| 
       8471 
8810 
     | 
    
         
             
                        previousLocation = nextPreviousLocation;
         
     | 
| 
       8472 
     | 
    
         
            -
                        nextPreviousLocation =  
     | 
| 
      
 8811 
     | 
    
         
            +
                        nextPreviousLocation = location;
         
     | 
| 
      
 8812 
     | 
    
         
            +
                        if (reason === 'detect') {
         
     | 
| 
      
 8813 
     | 
    
         
            +
                            reason = (getBase(location) === getBase(previousLocation)) ? 'hash' : 'pop';
         
     | 
| 
      
 8814 
     | 
    
         
            +
                        }
         
     | 
| 
      
 8815 
     | 
    
         
            +
                        let willHandle = !alreadyHandled && isAdopted(location);
         
     | 
| 
      
 8816 
     | 
    
         
            +
                        let locationChangedEvent = up.event.build('up:location:changed', {
         
     | 
| 
      
 8817 
     | 
    
         
            +
                            reason,
         
     | 
| 
      
 8818 
     | 
    
         
            +
                            location,
         
     | 
| 
      
 8819 
     | 
    
         
            +
                            previousLocation,
         
     | 
| 
      
 8820 
     | 
    
         
            +
                            alreadyHandled,
         
     | 
| 
      
 8821 
     | 
    
         
            +
                            willHandle,
         
     | 
| 
      
 8822 
     | 
    
         
            +
                            log: `New location is ${location}`
         
     | 
| 
      
 8823 
     | 
    
         
            +
                        });
         
     | 
| 
      
 8824 
     | 
    
         
            +
                        up.migrate.prepareLocationChangedEvent?.(locationChangedEvent);
         
     | 
| 
      
 8825 
     | 
    
         
            +
                        if (reason) {
         
     | 
| 
      
 8826 
     | 
    
         
            +
                            up.emit(locationChangedEvent);
         
     | 
| 
      
 8827 
     | 
    
         
            +
                            reactToChange(locationChangedEvent);
         
     | 
| 
      
 8828 
     | 
    
         
            +
                        }
         
     | 
| 
       8473 
8829 
     | 
    
         
             
                    }
         
     | 
| 
       8474 
8830 
     | 
    
         
             
                }
         
     | 
| 
       8475 
     | 
    
         
            -
                 
     | 
| 
      
 8831 
     | 
    
         
            +
                function splitLocation(location) {
         
     | 
| 
      
 8832 
     | 
    
         
            +
                    return location?.split(/(?=#)/) || [];
         
     | 
| 
      
 8833 
     | 
    
         
            +
                }
         
     | 
| 
      
 8834 
     | 
    
         
            +
                function getBase(location) {
         
     | 
| 
      
 8835 
     | 
    
         
            +
                    return splitLocation(location)[0];
         
     | 
| 
      
 8836 
     | 
    
         
            +
                }
         
     | 
| 
       8476 
8837 
     | 
    
         
             
                function isLocation(url, options) {
         
     | 
| 
       8477 
8838 
     | 
    
         
             
                    return u.matchURLs(url, location.href, { hash: true, ...options });
         
     | 
| 
       8478 
8839 
     | 
    
         
             
                }
         
     | 
| 
       8479 
     | 
    
         
            -
                function replace(location,  
     | 
| 
       8480 
     | 
    
         
            -
                    location  
     | 
| 
       8481 
     | 
    
         
            -
                    if (manipulate('replaceState', location) && (options.event !== false)) {
         
     | 
| 
       8482 
     | 
    
         
            -
                        emitLocationChanged({ location, reason: 'replace', log: `Replaced state for ${location}` });
         
     | 
| 
       8483 
     | 
    
         
            -
                    }
         
     | 
| 
      
 8840 
     | 
    
         
            +
                function replace(location, trackOptions) {
         
     | 
| 
      
 8841 
     | 
    
         
            +
                    placeAdoptedHistoryEntry('replaceState', location, trackOptions);
         
     | 
| 
       8484 
8842 
     | 
    
         
             
                }
         
     | 
| 
       8485 
     | 
    
         
            -
                function push(location) {
         
     | 
| 
       8486 
     | 
    
         
            -
                    location  
     | 
| 
       8487 
     | 
    
         
            -
                    if (!isLocation(location) && manipulate('pushState', location)) {
         
     | 
| 
       8488 
     | 
    
         
            -
                        emitLocationChanged({ location, reason: 'push', log: `Advanced to location ${location}` });
         
     | 
| 
       8489 
     | 
    
         
            -
                    }
         
     | 
| 
       8490 
     | 
    
         
            -
                }
         
     | 
| 
       8491 
     | 
    
         
            -
                function emitLocationChanged(props) {
         
     | 
| 
       8492 
     | 
    
         
            -
                    let event = up.event.build('up:location:changed', props);
         
     | 
| 
       8493 
     | 
    
         
            -
                    up.migrate?.renamedProperty?.(event, 'url', 'location');
         
     | 
| 
       8494 
     | 
    
         
            -
                    up.emit(event);
         
     | 
| 
      
 8843 
     | 
    
         
            +
                function push(location, trackOptions) {
         
     | 
| 
      
 8844 
     | 
    
         
            +
                    placeAdoptedHistoryEntry('pushState', location, trackOptions);
         
     | 
| 
       8495 
8845 
     | 
    
         
             
                }
         
     | 
| 
       8496 
     | 
    
         
            -
                function  
     | 
| 
      
 8846 
     | 
    
         
            +
                function placeAdoptedHistoryEntry(method, location, trackOptions) {
         
     | 
| 
      
 8847 
     | 
    
         
            +
                    adopt(location);
         
     | 
| 
       8497 
8848 
     | 
    
         
             
                    if (config.enabled) {
         
     | 
| 
       8498 
     | 
    
         
            -
                         
     | 
| 
       8499 
     | 
    
         
            -
                         
     | 
| 
       8500 
     | 
    
         
            -
                         
     | 
| 
       8501 
     | 
    
         
            -
                        return true;
         
     | 
| 
      
 8849 
     | 
    
         
            +
                        nextTrackOptions = trackOptions;
         
     | 
| 
      
 8850 
     | 
    
         
            +
                        history[method](null, '', location);
         
     | 
| 
      
 8851 
     | 
    
         
            +
                        nextTrackOptions = undefined;
         
     | 
| 
       8502 
8852 
     | 
    
         
             
                    }
         
     | 
| 
       8503 
8853 
     | 
    
         
             
                }
         
     | 
| 
       8504 
     | 
    
         
            -
                function  
     | 
| 
       8505 
     | 
    
         
            -
                     
     | 
| 
      
 8854 
     | 
    
         
            +
                function adopt(location = currentLocation()) {
         
     | 
| 
      
 8855 
     | 
    
         
            +
                    location = u.normalizeURL(location);
         
     | 
| 
      
 8856 
     | 
    
         
            +
                    adoptedBases.set(location, true);
         
     | 
| 
       8506 
8857 
     | 
    
         
             
                }
         
     | 
| 
       8507 
     | 
    
         
            -
                function  
     | 
| 
       8508 
     | 
    
         
            -
                    if (!state?.up) {
         
     | 
| 
       8509 
     | 
    
         
            -
                        up.puts('popstate', 'Ignoring a history state not owned by Unpoly');
         
     | 
| 
       8510 
     | 
    
         
            -
                        return;
         
     | 
| 
       8511 
     | 
    
         
            -
                    }
         
     | 
| 
       8512 
     | 
    
         
            -
                    let location = currentLocation();
         
     | 
| 
      
 8858 
     | 
    
         
            +
                function restoreLocation(location) {
         
     | 
| 
       8513 
8859 
     | 
    
         
             
                    up.error.muteUncriticalRejection(up.render({
         
     | 
| 
       8514 
8860 
     | 
    
         
             
                        guardEvent: up.event.build('up:location:restore', { location, log: `Restoring location ${location}` }),
         
     | 
| 
       8515 
8861 
     | 
    
         
             
                        url: location,
         
     | 
| 
         @@ -8527,28 +8873,23 @@ up.history = (function () { 
     | 
|
| 
       8527 
8873 
     | 
    
         
             
                        focus: ['restore', 'auto'],
         
     | 
| 
       8528 
8874 
     | 
    
         
             
                    }));
         
     | 
| 
       8529 
8875 
     | 
    
         
             
                }
         
     | 
| 
       8530 
     | 
    
         
            -
                function  
     | 
| 
       8531 
     | 
    
         
            -
                     
     | 
| 
       8532 
     | 
    
         
            -
             
     | 
| 
       8533 
     | 
    
         
            -
                    emitLocationChanged({ location, reason: 'pop', log: `Navigated to history entry ${location}` });
         
     | 
| 
       8534 
     | 
    
         
            -
                    up.viewport.saveFocus({ location: previousLocation });
         
     | 
| 
       8535 
     | 
    
         
            -
                    up.viewport.saveScroll({ location: previousLocation });
         
     | 
| 
       8536 
     | 
    
         
            -
                    restoreStateOnPop(event.state);
         
     | 
| 
       8537 
     | 
    
         
            -
                }
         
     | 
| 
       8538 
     | 
    
         
            -
                function register() {
         
     | 
| 
       8539 
     | 
    
         
            -
                    window.addEventListener('popstate', onPop);
         
     | 
| 
       8540 
     | 
    
         
            -
                    if (up.protocol.initialRequestMethod() === 'GET') {
         
     | 
| 
       8541 
     | 
    
         
            -
                        replace(currentLocation(), { event: false });
         
     | 
| 
      
 8876 
     | 
    
         
            +
                function reactToChange(event) {
         
     | 
| 
      
 8877 
     | 
    
         
            +
                    if (event.alreadyHandled) {
         
     | 
| 
      
 8878 
     | 
    
         
            +
                        return;
         
     | 
| 
       8542 
8879 
     | 
    
         
             
                    }
         
     | 
| 
       8543 
     | 
    
         
            -
             
     | 
| 
       8544 
     | 
    
         
            -
             
     | 
| 
       8545 
     | 
    
         
            -
             
     | 
| 
       8546 
     | 
    
         
            -
                        register();
         
     | 
| 
      
 8880 
     | 
    
         
            +
                    if (!event.willHandle) {
         
     | 
| 
      
 8881 
     | 
    
         
            +
                        up.puts('up.history', 'Ignoring history entry owned by foreign script');
         
     | 
| 
      
 8882 
     | 
    
         
            +
                        return;
         
     | 
| 
       8547 
8883 
     | 
    
         
             
                    }
         
     | 
| 
       8548 
     | 
    
         
            -
                     
     | 
| 
       8549 
     | 
    
         
            -
                         
     | 
| 
      
 8884 
     | 
    
         
            +
                    if (event.reason === 'pop') {
         
     | 
| 
      
 8885 
     | 
    
         
            +
                        up.viewport.saveFocus({ location: event.previousLocation });
         
     | 
| 
      
 8886 
     | 
    
         
            +
                        up.viewport.saveScroll({ location: event.previousLocation });
         
     | 
| 
      
 8887 
     | 
    
         
            +
                        restoreLocation(event.location);
         
     | 
| 
       8550 
8888 
     | 
    
         
             
                    }
         
     | 
| 
       8551 
     | 
    
         
            -
             
     | 
| 
      
 8889 
     | 
    
         
            +
                    else if (event.reason === 'hash') {
         
     | 
| 
      
 8890 
     | 
    
         
            +
                        up.viewport.revealHash(event.hash, { strong: true });
         
     | 
| 
      
 8891 
     | 
    
         
            +
                    }
         
     | 
| 
      
 8892 
     | 
    
         
            +
                }
         
     | 
| 
       8552 
8893 
     | 
    
         
             
                function findMetaTags(head = document.head) {
         
     | 
| 
       8553 
8894 
     | 
    
         
             
                    return head.querySelectorAll(config.selector('metaTagSelectors'));
         
     | 
| 
       8554 
8895 
     | 
    
         
             
                }
         
     | 
| 
         @@ -8570,6 +8911,62 @@ up.history = (function () { 
     | 
|
| 
       8570 
8911 
     | 
    
         
             
                function updateLang(newLang) {
         
     | 
| 
       8571 
8912 
     | 
    
         
             
                    e.setAttrPresence(e.root, 'lang', newLang, !!newLang);
         
     | 
| 
       8572 
8913 
     | 
    
         
             
                }
         
     | 
| 
      
 8914 
     | 
    
         
            +
                function patchHistoryAPI() {
         
     | 
| 
      
 8915 
     | 
    
         
            +
                    const originalPushState = history.pushState;
         
     | 
| 
      
 8916 
     | 
    
         
            +
                    history.pushState = function (...args) {
         
     | 
| 
      
 8917 
     | 
    
         
            +
                        originalPushState.apply(this, args);
         
     | 
| 
      
 8918 
     | 
    
         
            +
                        trackCurrentLocation({ reason: 'push', alreadyHandled: true });
         
     | 
| 
      
 8919 
     | 
    
         
            +
                    };
         
     | 
| 
      
 8920 
     | 
    
         
            +
                    const originalReplaceState = history.replaceState;
         
     | 
| 
      
 8921 
     | 
    
         
            +
                    history.replaceState = function (...args) {
         
     | 
| 
      
 8922 
     | 
    
         
            +
                        originalReplaceState.apply(this, args);
         
     | 
| 
      
 8923 
     | 
    
         
            +
                        trackCurrentLocation({ reason: 'replace', alreadyHandled: true });
         
     | 
| 
      
 8924 
     | 
    
         
            +
                    };
         
     | 
| 
      
 8925 
     | 
    
         
            +
                }
         
     | 
| 
      
 8926 
     | 
    
         
            +
                function adoptInitialHistoryEntry() {
         
     | 
| 
      
 8927 
     | 
    
         
            +
                    if (up.protocol.initialRequestMethod() === 'GET') {
         
     | 
| 
      
 8928 
     | 
    
         
            +
                        adopt();
         
     | 
| 
      
 8929 
     | 
    
         
            +
                    }
         
     | 
| 
      
 8930 
     | 
    
         
            +
                }
         
     | 
| 
      
 8931 
     | 
    
         
            +
                up.on('up:framework:boot', function () {
         
     | 
| 
      
 8932 
     | 
    
         
            +
                    trackCurrentLocation({ reason: null, alreadyHandled: true });
         
     | 
| 
      
 8933 
     | 
    
         
            +
                    patchHistoryAPI();
         
     | 
| 
      
 8934 
     | 
    
         
            +
                    adoptInitialHistoryEntry();
         
     | 
| 
      
 8935 
     | 
    
         
            +
                });
         
     | 
| 
      
 8936 
     | 
    
         
            +
                up.on('DOMContentLoaded', function () {
         
     | 
| 
      
 8937 
     | 
    
         
            +
                    up.viewport.revealHash({ strong: true });
         
     | 
| 
      
 8938 
     | 
    
         
            +
                    u.task(up.viewport.revealHash);
         
     | 
| 
      
 8939 
     | 
    
         
            +
                });
         
     | 
| 
      
 8940 
     | 
    
         
            +
                up.on(window, 'hashchange, popstate', () => {
         
     | 
| 
      
 8941 
     | 
    
         
            +
                    trackCurrentLocation({ reason: 'detect', alreadyHandled: false });
         
     | 
| 
      
 8942 
     | 
    
         
            +
                });
         
     | 
| 
      
 8943 
     | 
    
         
            +
                function onJumpLinkClicked(event, link) {
         
     | 
| 
      
 8944 
     | 
    
         
            +
                    if (event.defaultPrevented)
         
     | 
| 
      
 8945 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 8946 
     | 
    
         
            +
                    if (up.event.isModified(event))
         
     | 
| 
      
 8947 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 8948 
     | 
    
         
            +
                    let [currentBase, currentHash] = splitLocation(up.layer.current.location);
         
     | 
| 
      
 8949 
     | 
    
         
            +
                    let [linkBase, linkHash] = splitLocation(u.normalizeURL(link));
         
     | 
| 
      
 8950 
     | 
    
         
            +
                    let verbatimHREF = link.getAttribute('href');
         
     | 
| 
      
 8951 
     | 
    
         
            +
                    let isJumpLink = (currentBase === linkBase) || verbatimHREF.startsWith('#');
         
     | 
| 
      
 8952 
     | 
    
         
            +
                    if (!isJumpLink)
         
     | 
| 
      
 8953 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 8954 
     | 
    
         
            +
                    let behavior = link.getAttribute('up-scroll-behavior') ?? 'auto';
         
     | 
| 
      
 8955 
     | 
    
         
            +
                    let layer = up.layer.get(link);
         
     | 
| 
      
 8956 
     | 
    
         
            +
                    let revealFn = up.viewport.revealHashFn(linkHash, { layer, behavior });
         
     | 
| 
      
 8957 
     | 
    
         
            +
                    if (revealFn) {
         
     | 
| 
      
 8958 
     | 
    
         
            +
                        up.event.halt(event);
         
     | 
| 
      
 8959 
     | 
    
         
            +
                        up.log.putsEvent(event);
         
     | 
| 
      
 8960 
     | 
    
         
            +
                        if (linkHash !== currentHash && layer.showsLiveHistory()) {
         
     | 
| 
      
 8961 
     | 
    
         
            +
                            let newHREF = currentBase + linkHash;
         
     | 
| 
      
 8962 
     | 
    
         
            +
                            push(newHREF, { reason: 'hash', alreadyHandled: true });
         
     | 
| 
      
 8963 
     | 
    
         
            +
                        }
         
     | 
| 
      
 8964 
     | 
    
         
            +
                        revealFn();
         
     | 
| 
      
 8965 
     | 
    
         
            +
                    }
         
     | 
| 
      
 8966 
     | 
    
         
            +
                    else {
         
     | 
| 
      
 8967 
     | 
    
         
            +
                    }
         
     | 
| 
      
 8968 
     | 
    
         
            +
                }
         
     | 
| 
      
 8969 
     | 
    
         
            +
                up.on('up:click', 'a[href*="#"]', onJumpLinkClicked);
         
     | 
| 
       8573 
8970 
     | 
    
         
             
                up.macro('[up-back]', function (link) {
         
     | 
| 
       8574 
8971 
     | 
    
         
             
                    if (previousLocation) {
         
     | 
| 
       8575 
8972 
     | 
    
         
             
                        e.setMissingAttrs(link, {
         
     | 
| 
         @@ -8597,10 +8994,10 @@ up.history = (function () { 
     | 
|
| 
       8597 
8994 
     | 
    
         | 
| 
       8598 
8995 
     | 
    
         | 
| 
       8599 
8996 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       8600 
     | 
    
         
            -
            /*  
     | 
| 
      
 8997 
     | 
    
         
            +
            /* 89 */
         
     | 
| 
       8601 
8998 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
         
     | 
| 
       8602 
8999 
     | 
    
         | 
| 
       8603 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
      
 9000 
     | 
    
         
            +
            __webpack_require__(90);
         
     | 
| 
       8604 
9001 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
       8605 
9002 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
       8606 
9003 
     | 
    
         
             
            up.fragment = (function () {
         
     | 
| 
         @@ -8645,6 +9042,7 @@ up.fragment = (function () { 
     | 
|
| 
       8645 
9042 
     | 
    
         
             
                        saveScroll: true,
         
     | 
| 
       8646 
9043 
     | 
    
         
             
                        saveFocus: true,
         
     | 
| 
       8647 
9044 
     | 
    
         
             
                        focus: 'keep',
         
     | 
| 
      
 9045 
     | 
    
         
            +
                        focusVisible: 'auto',
         
     | 
| 
       8648 
9046 
     | 
    
         
             
                        abort: 'target',
         
     | 
| 
       8649 
9047 
     | 
    
         
             
                        failOptions: true,
         
     | 
| 
       8650 
9048 
     | 
    
         
             
                        feedback: true,
         
     | 
| 
         @@ -8659,7 +9057,7 @@ up.fragment = (function () { 
     | 
|
| 
       8659 
9057 
     | 
    
         
             
                        peel: true,
         
     | 
| 
       8660 
9058 
     | 
    
         
             
                    },
         
     | 
| 
       8661 
9059 
     | 
    
         
             
                    match: 'region',
         
     | 
| 
       8662 
     | 
    
         
            -
                    runScripts:  
     | 
| 
      
 9060 
     | 
    
         
            +
                    runScripts: false,
         
     | 
| 
       8663 
9061 
     | 
    
         
             
                    autoHistoryTargets: [':main'],
         
     | 
| 
       8664 
9062 
     | 
    
         
             
                    autoFocus: ['hash', 'autofocus', 'main-if-main', 'keep', 'target-if-lost'],
         
     | 
| 
       8665 
9063 
     | 
    
         
             
                    autoScroll: ['hash', 'layer-if-main'],
         
     | 
| 
         @@ -8701,6 +9099,9 @@ up.fragment = (function () { 
     | 
|
| 
       8701 
9099 
     | 
    
         
             
                    return render({ ...options, navigate: true });
         
     | 
| 
       8702 
9100 
     | 
    
         
             
                });
         
     | 
| 
       8703 
9101 
     | 
    
         
             
                function emitFragmentInserted(element) {
         
     | 
| 
      
 9102 
     | 
    
         
            +
                    if (element.upInserted)
         
     | 
| 
      
 9103 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 9104 
     | 
    
         
            +
                    element.upInserted = true;
         
     | 
| 
       8704 
9105 
     | 
    
         
             
                    return up.emit(element, 'up:fragment:inserted', {
         
     | 
| 
       8705 
9106 
     | 
    
         
             
                        log: ['Inserted fragment %o', element],
         
     | 
| 
       8706 
9107 
     | 
    
         
             
                    });
         
     | 
| 
         @@ -8708,8 +9109,9 @@ up.fragment = (function () { 
     | 
|
| 
       8708 
9109 
     | 
    
         
             
                function emitFragmentKeep(keepPlan) {
         
     | 
| 
       8709 
9110 
     | 
    
         
             
                    let { oldElement, newElement: newFragment, newData, renderOptions } = keepPlan;
         
     | 
| 
       8710 
9111 
     | 
    
         
             
                    const log = ['Keeping fragment %o', oldElement];
         
     | 
| 
       8711 
     | 
    
         
            -
                    const callback = e.callbackAttr(oldElement, 'up-on-keep', { exposedKeys: ['newFragment', 'newData'] });
         
     | 
| 
       8712 
     | 
    
         
            -
                     
     | 
| 
      
 9112 
     | 
    
         
            +
                    const callback = e.callbackAttr(keepPlan.oldElement, 'up-on-keep', { exposedKeys: ['newFragment', 'newData'] });
         
     | 
| 
      
 9113 
     | 
    
         
            +
                    const event = up.event.build('up:fragment:keep', { newFragment, newData, renderOptions });
         
     | 
| 
      
 9114 
     | 
    
         
            +
                    return up.emit(oldElement, event, { log, callback });
         
     | 
| 
       8713 
9115 
     | 
    
         
             
                }
         
     | 
| 
       8714 
9116 
     | 
    
         
             
                function emitFragmentDestroyed(fragment, options) {
         
     | 
| 
       8715 
9117 
     | 
    
         
             
                    const log = options.log ?? ['Destroyed fragment %o', fragment];
         
     | 
| 
         @@ -8786,7 +9188,7 @@ up.fragment = (function () { 
     | 
|
| 
       8786 
9188 
     | 
    
         
             
                }
         
     | 
| 
       8787 
9189 
     | 
    
         
             
                function markFragmentAsDestroying(element) {
         
     | 
| 
       8788 
9190 
     | 
    
         
             
                    element.classList.add('up-destroying');
         
     | 
| 
       8789 
     | 
    
         
            -
                    element.setAttribute(' 
     | 
| 
      
 9191 
     | 
    
         
            +
                    element.setAttribute('inert', '');
         
     | 
| 
       8790 
9192 
     | 
    
         
             
                }
         
     | 
| 
       8791 
9193 
     | 
    
         
             
                function reload(...args) {
         
     | 
| 
       8792 
9194 
     | 
    
         
             
                    const options = parseTargetAndOptions(args);
         
     | 
| 
         @@ -8843,8 +9245,8 @@ up.fragment = (function () { 
     | 
|
| 
       8843 
9245 
     | 
    
         
             
                function toTarget(element, options) {
         
     | 
| 
       8844 
9246 
     | 
    
         
             
                    return u.presence(element, u.isString) || tryToTarget(element, options) || cannotTarget(element);
         
     | 
| 
       8845 
9247 
     | 
    
         
             
                }
         
     | 
| 
       8846 
     | 
    
         
            -
                function isTargetable(element) {
         
     | 
| 
       8847 
     | 
    
         
            -
                    return !!tryToTarget(element);
         
     | 
| 
      
 9248 
     | 
    
         
            +
                function isTargetable(element, options) {
         
     | 
| 
      
 9249 
     | 
    
         
            +
                    return !!tryToTarget(element, options);
         
     | 
| 
       8848 
9250 
     | 
    
         
             
                }
         
     | 
| 
       8849 
9251 
     | 
    
         
             
                function untargetableMessage(element) {
         
     | 
| 
       8850 
9252 
     | 
    
         
             
                    return `Cannot derive good target selector from a <${e.tagName(element)}> element without identifying attributes. Try setting an [id] or configure up.fragment.config.targetDerivers.`;
         
     | 
| 
         @@ -9064,7 +9466,7 @@ up.fragment = (function () { 
     | 
|
| 
       9064 
9466 
     | 
    
         
             
                    if (steps.length < 2)
         
     | 
| 
       9065 
9467 
     | 
    
         
             
                        return steps;
         
     | 
| 
       9066 
9468 
     | 
    
         
             
                    let compressed = u.uniqBy(steps, 'oldElement');
         
     | 
| 
       9067 
     | 
    
         
            -
                    compressed = u.reject(compressed, step => isContainedByRivalStep(compressed, step));
         
     | 
| 
      
 9469 
     | 
    
         
            +
                    compressed = u.reject(compressed, (step) => isContainedByRivalStep(compressed, step));
         
     | 
| 
       9068 
9470 
     | 
    
         
             
                    return compressed;
         
     | 
| 
       9069 
9471 
     | 
    
         
             
                }
         
     | 
| 
       9070 
9472 
     | 
    
         
             
                function abort(...args) {
         
     | 
| 
         @@ -9161,6 +9563,11 @@ up.fragment = (function () { 
     | 
|
| 
       9161 
9563 
     | 
    
         
             
                        return () => up.destroy(tempElement);
         
     | 
| 
       9162 
9564 
     | 
    
         
             
                    }
         
     | 
| 
       9163 
9565 
     | 
    
         
             
                }
         
     | 
| 
      
 9566 
     | 
    
         
            +
                function trackSelector(...args) {
         
     | 
| 
      
 9567 
     | 
    
         
            +
                    let parsedArgs = u.args(args, 'val', 'options', 'callback');
         
     | 
| 
      
 9568 
     | 
    
         
            +
                    let tracker = new up.SelectorTracker(...parsedArgs);
         
     | 
| 
      
 9569 
     | 
    
         
            +
                    return tracker.start();
         
     | 
| 
      
 9570 
     | 
    
         
            +
                }
         
     | 
| 
       9164 
9571 
     | 
    
         
             
                up.on('up:framework:boot', function () {
         
     | 
| 
       9165 
9572 
     | 
    
         
             
                    const { documentElement } = document;
         
     | 
| 
       9166 
9573 
     | 
    
         
             
                    documentElement.setAttribute('up-source', normalizeSource(location.href));
         
     | 
| 
         @@ -9213,6 +9620,7 @@ up.fragment = (function () { 
     | 
|
| 
       9213 
9620 
     | 
    
         
             
                    insertTemp,
         
     | 
| 
       9214 
9621 
     | 
    
         
             
                    provideNodes,
         
     | 
| 
       9215 
9622 
     | 
    
         
             
                    cloneTemplate,
         
     | 
| 
      
 9623 
     | 
    
         
            +
                    trackSelector,
         
     | 
| 
       9216 
9624 
     | 
    
         
             
                };
         
     | 
| 
       9217 
9625 
     | 
    
         
             
            })();
         
     | 
| 
       9218 
9626 
     | 
    
         
             
            up.reload = up.fragment.reload;
         
     | 
| 
         @@ -9225,7 +9633,7 @@ u.delegate(up, ['context'], () => up.layer.current); 
     | 
|
| 
       9225 
9633 
     | 
    
         | 
| 
       9226 
9634 
     | 
    
         | 
| 
       9227 
9635 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       9228 
     | 
    
         
            -
            /*  
     | 
| 
      
 9636 
     | 
    
         
            +
            /* 90 */
         
     | 
| 
       9229 
9637 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         
     | 
| 
       9230 
9638 
     | 
    
         | 
| 
       9231 
9639 
     | 
    
         
             
            "use strict";
         
     | 
| 
         @@ -9234,10 +9642,10 @@ __webpack_require__.r(__webpack_exports__); 
     | 
|
| 
       9234 
9642 
     | 
    
         | 
| 
       9235 
9643 
     | 
    
         | 
| 
       9236 
9644 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       9237 
     | 
    
         
            -
            /*  
     | 
| 
      
 9645 
     | 
    
         
            +
            /* 91 */
         
     | 
| 
       9238 
9646 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
         
     | 
| 
       9239 
9647 
     | 
    
         | 
| 
       9240 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
      
 9648 
     | 
    
         
            +
            __webpack_require__(92);
         
     | 
| 
       9241 
9649 
     | 
    
         
             
            up.viewport = (function () {
         
     | 
| 
       9242 
9650 
     | 
    
         
             
                const u = up.util;
         
     | 
| 
       9243 
9651 
     | 
    
         
             
                const e = up.element;
         
     | 
| 
         @@ -9299,10 +9707,25 @@ up.viewport = (function () { 
     | 
|
| 
       9299 
9707 
     | 
    
         
             
                    doFocus(element, options);
         
     | 
| 
       9300 
9708 
     | 
    
         
             
                    return element === document.activeElement;
         
     | 
| 
       9301 
9709 
     | 
    
         
             
                }
         
     | 
| 
       9302 
     | 
    
         
            -
                function revealHash( 
     | 
| 
       9303 
     | 
    
         
            -
                     
     | 
| 
      
 9710 
     | 
    
         
            +
                function revealHash(...args) {
         
     | 
| 
      
 9711 
     | 
    
         
            +
                    return revealHashFn(...args)?.();
         
     | 
| 
      
 9712 
     | 
    
         
            +
                }
         
     | 
| 
      
 9713 
     | 
    
         
            +
                function revealHashFn(hash = location.hash, { strong, layer, origin, behavior = 'instant' } = {}) {
         
     | 
| 
      
 9714 
     | 
    
         
            +
                    if (!hash)
         
     | 
| 
      
 9715 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 9716 
     | 
    
         
            +
                    let match = firstHashTarget(hash, { layer, origin });
         
     | 
| 
       9304 
9717 
     | 
    
         
             
                    if (match) {
         
     | 
| 
       9305 
     | 
    
         
            -
                        return  
     | 
| 
      
 9718 
     | 
    
         
            +
                        return () => {
         
     | 
| 
      
 9719 
     | 
    
         
            +
                            let doReveal = () => reveal(match, { top: true, behavior });
         
     | 
| 
      
 9720 
     | 
    
         
            +
                            if (strong)
         
     | 
| 
      
 9721 
     | 
    
         
            +
                                u.task(doReveal);
         
     | 
| 
      
 9722 
     | 
    
         
            +
                            return doReveal();
         
     | 
| 
      
 9723 
     | 
    
         
            +
                        };
         
     | 
| 
      
 9724 
     | 
    
         
            +
                    }
         
     | 
| 
      
 9725 
     | 
    
         
            +
                    else if (hash === '#top') {
         
     | 
| 
      
 9726 
     | 
    
         
            +
                        return () => {
         
     | 
| 
      
 9727 
     | 
    
         
            +
                            return scrollTo(0, { behavior });
         
     | 
| 
      
 9728 
     | 
    
         
            +
                        };
         
     | 
| 
       9306 
9729 
     | 
    
         
             
                    }
         
     | 
| 
       9307 
9730 
     | 
    
         
             
                }
         
     | 
| 
       9308 
9731 
     | 
    
         
             
                function allSelector() {
         
     | 
| 
         @@ -9374,7 +9797,7 @@ up.viewport = (function () { 
     | 
|
| 
       9374 
9797 
     | 
    
         
             
                    const { location } = options.layer;
         
     | 
| 
       9375 
9798 
     | 
    
         
             
                    const locationScrollTops = options.layer.lastScrollTops.get(location);
         
     | 
| 
       9376 
9799 
     | 
    
         
             
                    if (locationScrollTops) {
         
     | 
| 
       9377 
     | 
    
         
            -
                         
     | 
| 
      
 9800 
     | 
    
         
            +
                        setScrollPositions(viewports, locationScrollTops, 0);
         
     | 
| 
       9378 
9801 
     | 
    
         
             
                        up.puts('up.viewport.restoreScroll()', 'Restored scroll positions to %o', locationScrollTops);
         
     | 
| 
       9379 
9802 
     | 
    
         
             
                        return true;
         
     | 
| 
       9380 
9803 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -9420,14 +9843,16 @@ up.viewport = (function () { 
     | 
|
| 
       9420 
9843 
     | 
    
         
             
                    }
         
     | 
| 
       9421 
9844 
     | 
    
         
             
                    return [viewports, options];
         
     | 
| 
       9422 
9845 
     | 
    
         
             
                }
         
     | 
| 
       9423 
     | 
    
         
            -
                function  
     | 
| 
       9424 
     | 
    
         
            -
                    const [viewports,  
     | 
| 
       9425 
     | 
    
         
            -
                     
     | 
| 
      
 9846 
     | 
    
         
            +
                function scrollTo(position, ...args) {
         
     | 
| 
      
 9847 
     | 
    
         
            +
                    const [viewports, options] = parseOptions(args);
         
     | 
| 
      
 9848 
     | 
    
         
            +
                    setScrollPositions(viewports, {}, position, options.behavior);
         
     | 
| 
      
 9849 
     | 
    
         
            +
                    return true;
         
     | 
| 
       9426 
9850 
     | 
    
         
             
                }
         
     | 
| 
       9427 
     | 
    
         
            -
                function  
     | 
| 
      
 9851 
     | 
    
         
            +
                function setScrollPositions(viewports, tops, defaultTop, behavior = 'instant') {
         
     | 
| 
       9428 
9852 
     | 
    
         
             
                    for (let viewport of viewports) {
         
     | 
| 
       9429 
9853 
     | 
    
         
             
                        const key = scrollTopKey(viewport);
         
     | 
| 
       9430 
     | 
    
         
            -
                         
     | 
| 
      
 9854 
     | 
    
         
            +
                        const top = tops[key] || defaultTop;
         
     | 
| 
      
 9855 
     | 
    
         
            +
                        viewport.scrollTo({ top, behavior });
         
     | 
| 
       9431 
9856 
     | 
    
         
             
                    }
         
     | 
| 
       9432 
9857 
     | 
    
         
             
                }
         
     | 
| 
       9433 
9858 
     | 
    
         
             
                function absolutize(element, options = {}) {
         
     | 
| 
         @@ -9468,7 +9893,8 @@ up.viewport = (function () { 
     | 
|
| 
       9468 
9893 
     | 
    
         
             
                    };
         
     | 
| 
       9469 
9894 
     | 
    
         
             
                }
         
     | 
| 
       9470 
9895 
     | 
    
         
             
                function firstHashTarget(hash, options = {}) {
         
     | 
| 
       9471 
     | 
    
         
            -
                     
     | 
| 
      
 9896 
     | 
    
         
            +
                    hash = pureHash(hash);
         
     | 
| 
      
 9897 
     | 
    
         
            +
                    if (hash) {
         
     | 
| 
       9472 
9898 
     | 
    
         
             
                        const selector = [
         
     | 
| 
       9473 
9899 
     | 
    
         
             
                            e.idSelector(hash),
         
     | 
| 
       9474 
9900 
     | 
    
         
             
                            'a' + e.attrSelector('name', hash)
         
     | 
| 
         @@ -9496,22 +9922,10 @@ up.viewport = (function () { 
     | 
|
| 
       9496 
9922 
     | 
    
         
             
                    }
         
     | 
| 
       9497 
9923 
     | 
    
         
             
                    return to;
         
     | 
| 
       9498 
9924 
     | 
    
         
             
                }
         
     | 
| 
       9499 
     | 
    
         
            -
                document.addEventListener('DOMContentLoaded', function () {
         
     | 
| 
       9500 
     | 
    
         
            -
                    revealHash();
         
     | 
| 
       9501 
     | 
    
         
            -
                    u.task(revealHash);
         
     | 
| 
       9502 
     | 
    
         
            -
                });
         
     | 
| 
       9503 
     | 
    
         
            -
                up.on(window, 'hashchange', () => revealHash());
         
     | 
| 
       9504 
     | 
    
         
            -
                up.on('up:click', 'a[href^="#"]', function (event, link) {
         
     | 
| 
       9505 
     | 
    
         
            -
                    if (link.hash !== location.hash)
         
     | 
| 
       9506 
     | 
    
         
            -
                        return;
         
     | 
| 
       9507 
     | 
    
         
            -
                    if (up.link.isFollowable(link))
         
     | 
| 
       9508 
     | 
    
         
            -
                        return;
         
     | 
| 
       9509 
     | 
    
         
            -
                    if (revealHash(link.hash))
         
     | 
| 
       9510 
     | 
    
         
            -
                        up.event.halt(event);
         
     | 
| 
       9511 
     | 
    
         
            -
                });
         
     | 
| 
       9512 
9925 
     | 
    
         
             
                return {
         
     | 
| 
       9513 
9926 
     | 
    
         
             
                    reveal,
         
     | 
| 
       9514 
9927 
     | 
    
         
             
                    revealHash,
         
     | 
| 
      
 9928 
     | 
    
         
            +
                    revealHashFn,
         
     | 
| 
       9515 
9929 
     | 
    
         
             
                    firstHashTarget,
         
     | 
| 
       9516 
9930 
     | 
    
         
             
                    config,
         
     | 
| 
       9517 
9931 
     | 
    
         
             
                    get: closest,
         
     | 
| 
         @@ -9524,7 +9938,7 @@ up.viewport = (function () { 
     | 
|
| 
       9524 
9938 
     | 
    
         
             
                    rootScrollbarWidth,
         
     | 
| 
       9525 
9939 
     | 
    
         
             
                    saveScroll,
         
     | 
| 
       9526 
9940 
     | 
    
         
             
                    restoreScroll,
         
     | 
| 
       9527 
     | 
    
         
            -
                     
     | 
| 
      
 9941 
     | 
    
         
            +
                    scrollTo,
         
     | 
| 
       9528 
9942 
     | 
    
         
             
                    saveFocus,
         
     | 
| 
       9529 
9943 
     | 
    
         
             
                    restoreFocus,
         
     | 
| 
       9530 
9944 
     | 
    
         
             
                    absolutize,
         
     | 
| 
         @@ -9541,7 +9955,7 @@ up.reveal = up.viewport.reveal; 
     | 
|
| 
       9541 
9955 
     | 
    
         | 
| 
       9542 
9956 
     | 
    
         | 
| 
       9543 
9957 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       9544 
     | 
    
         
            -
            /*  
     | 
| 
      
 9958 
     | 
    
         
            +
            /* 92 */
         
     | 
| 
       9545 
9959 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         
     | 
| 
       9546 
9960 
     | 
    
         | 
| 
       9547 
9961 
     | 
    
         
             
            "use strict";
         
     | 
| 
         @@ -9550,27 +9964,22 @@ __webpack_require__.r(__webpack_exports__); 
     | 
|
| 
       9550 
9964 
     | 
    
         | 
| 
       9551 
9965 
     | 
    
         | 
| 
       9552 
9966 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       9553 
     | 
    
         
            -
            /*  
     | 
| 
      
 9967 
     | 
    
         
            +
            /* 93 */
         
     | 
| 
       9554 
9968 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       9555 
9969 
     | 
    
         | 
| 
       9556 
9970 
     | 
    
         
             
            up.motion = (function () {
         
     | 
| 
       9557 
9971 
     | 
    
         
             
                const u = up.util;
         
     | 
| 
       9558 
9972 
     | 
    
         
             
                const e = up.element;
         
     | 
| 
       9559 
     | 
    
         
            -
                let namedAnimations = {};
         
     | 
| 
       9560 
     | 
    
         
            -
                let namedTransitions = {};
         
     | 
| 
       9561 
9973 
     | 
    
         
             
                const motionController = new up.MotionController('motion');
         
     | 
| 
       9562 
9974 
     | 
    
         
             
                const config = new up.Config(() => ({
         
     | 
| 
       9563 
9975 
     | 
    
         
             
                    duration: 175,
         
     | 
| 
       9564 
9976 
     | 
    
         
             
                    easing: 'ease',
         
     | 
| 
       9565 
9977 
     | 
    
         
             
                    enabled: !matchMedia('(prefers-reduced-motion: reduce)').matches
         
     | 
| 
       9566 
9978 
     | 
    
         
             
                }));
         
     | 
| 
       9567 
     | 
    
         
            -
                 
     | 
| 
       9568 
     | 
    
         
            -
             
     | 
| 
       9569 
     | 
    
         
            -
                }
         
     | 
| 
      
 9979 
     | 
    
         
            +
                let namedAnimations = new up.Registry('animation', findAnimationFn);
         
     | 
| 
      
 9980 
     | 
    
         
            +
                let namedTransitions = new up.Registry('transition', findTransitionFn);
         
     | 
| 
       9570 
9981 
     | 
    
         
             
                function reset() {
         
     | 
| 
       9571 
9982 
     | 
    
         
             
                    motionController.reset();
         
     | 
| 
       9572 
     | 
    
         
            -
                    namedAnimations = pickDefault(namedAnimations);
         
     | 
| 
       9573 
     | 
    
         
            -
                    namedTransitions = pickDefault(namedTransitions);
         
     | 
| 
       9574 
9983 
     | 
    
         
             
                }
         
     | 
| 
       9575 
9984 
     | 
    
         
             
                function isEnabled() {
         
     | 
| 
       9576 
9985 
     | 
    
         
             
                    return config.enabled;
         
     | 
| 
         @@ -9610,9 +10019,6 @@ up.motion = (function () { 
     | 
|
| 
       9610 
10019 
     | 
    
         
             
                    options.easing ??= config.easing;
         
     | 
| 
       9611 
10020 
     | 
    
         
             
                    options.duration ??= config.duration;
         
     | 
| 
       9612 
10021 
     | 
    
         
             
                }
         
     | 
| 
       9613 
     | 
    
         
            -
                function findNamedAnimation(name) {
         
     | 
| 
       9614 
     | 
    
         
            -
                    return namedAnimations[name] || up.fail("Unknown animation %o", name);
         
     | 
| 
       9615 
     | 
    
         
            -
                }
         
     | 
| 
       9616 
10022 
     | 
    
         
             
                function finish(element) {
         
     | 
| 
       9617 
10023 
     | 
    
         
             
                    return motionController.finish(element);
         
     | 
| 
       9618 
10024 
     | 
    
         
             
                }
         
     | 
| 
         @@ -9663,27 +10069,21 @@ up.motion = (function () { 
     | 
|
| 
       9663 
10069 
     | 
    
         
             
                        return Promise.resolve();
         
     | 
| 
       9664 
10070 
     | 
    
         
             
                    }
         
     | 
| 
       9665 
10071 
     | 
    
         
             
                }
         
     | 
| 
       9666 
     | 
    
         
            -
                function findTransitionFn( 
     | 
| 
       9667 
     | 
    
         
            -
                    if (isNone( 
     | 
| 
      
 10072 
     | 
    
         
            +
                function findTransitionFn(value) {
         
     | 
| 
      
 10073 
     | 
    
         
            +
                    if (isNone(value)) {
         
     | 
| 
       9668 
10074 
     | 
    
         
             
                        return undefined;
         
     | 
| 
       9669 
10075 
     | 
    
         
             
                    }
         
     | 
| 
       9670 
     | 
    
         
            -
                    else if (u.isFunction( 
     | 
| 
       9671 
     | 
    
         
            -
                        return  
     | 
| 
      
 10076 
     | 
    
         
            +
                    else if (u.isFunction(value)) {
         
     | 
| 
      
 10077 
     | 
    
         
            +
                        return value;
         
     | 
| 
       9672 
10078 
     | 
    
         
             
                    }
         
     | 
| 
       9673 
     | 
    
         
            -
                    else if (u.isArray( 
     | 
| 
       9674 
     | 
    
         
            -
                        return composeTransitionFn(... 
     | 
| 
      
 10079 
     | 
    
         
            +
                    else if (u.isArray(value)) {
         
     | 
| 
      
 10080 
     | 
    
         
            +
                        return composeTransitionFn(...value);
         
     | 
| 
       9675 
10081 
     | 
    
         
             
                    }
         
     | 
| 
       9676 
     | 
    
         
            -
                    else if (u.isString( 
     | 
| 
       9677 
     | 
    
         
            -
                         
     | 
| 
       9678 
     | 
    
         
            -
                        if (object.indexOf('/') >= 0) {
         
     | 
| 
       9679 
     | 
    
         
            -
                            return composeTransitionFn(...object.split('/'));
         
     | 
| 
       9680 
     | 
    
         
            -
                        }
         
     | 
| 
       9681 
     | 
    
         
            -
                        else if (namedTransition = namedTransitions[object]) {
         
     | 
| 
       9682 
     | 
    
         
            -
                            return findTransitionFn(namedTransition);
         
     | 
| 
       9683 
     | 
    
         
            -
                        }
         
     | 
| 
      
 10082 
     | 
    
         
            +
                    else if (u.isString(value) && value.includes('/')) {
         
     | 
| 
      
 10083 
     | 
    
         
            +
                        return composeTransitionFn(...value.split('/'));
         
     | 
| 
       9684 
10084 
     | 
    
         
             
                    }
         
     | 
| 
       9685 
10085 
     | 
    
         
             
                    else {
         
     | 
| 
       9686 
     | 
    
         
            -
                         
     | 
| 
      
 10086 
     | 
    
         
            +
                        return namedTransitions.get(value);
         
     | 
| 
       9687 
10087 
     | 
    
         
             
                    }
         
     | 
| 
       9688 
10088 
     | 
    
         
             
                }
         
     | 
| 
       9689 
10089 
     | 
    
         
             
                function composeTransitionFn(oldAnimation, newAnimation) {
         
     | 
| 
         @@ -9696,21 +10096,18 @@ up.motion = (function () { 
     | 
|
| 
       9696 
10096 
     | 
    
         
             
                        ]);
         
     | 
| 
       9697 
10097 
     | 
    
         
             
                    }
         
     | 
| 
       9698 
10098 
     | 
    
         
             
                }
         
     | 
| 
       9699 
     | 
    
         
            -
                function findAnimationFn( 
     | 
| 
       9700 
     | 
    
         
            -
                    if (isNone( 
     | 
| 
      
 10099 
     | 
    
         
            +
                function findAnimationFn(value) {
         
     | 
| 
      
 10100 
     | 
    
         
            +
                    if (isNone(value)) {
         
     | 
| 
       9701 
10101 
     | 
    
         
             
                        return undefined;
         
     | 
| 
       9702 
10102 
     | 
    
         
             
                    }
         
     | 
| 
       9703 
     | 
    
         
            -
                    else if (u.isFunction( 
     | 
| 
       9704 
     | 
    
         
            -
                        return  
     | 
| 
       9705 
     | 
    
         
            -
                    }
         
     | 
| 
       9706 
     | 
    
         
            -
                    else if (u.isString(object)) {
         
     | 
| 
       9707 
     | 
    
         
            -
                        return findNamedAnimation(object);
         
     | 
| 
      
 10103 
     | 
    
         
            +
                    else if (u.isFunction(value)) {
         
     | 
| 
      
 10104 
     | 
    
         
            +
                        return value;
         
     | 
| 
       9708 
10105 
     | 
    
         
             
                    }
         
     | 
| 
       9709 
     | 
    
         
            -
                    else if (u.isOptions( 
     | 
| 
       9710 
     | 
    
         
            -
                        return (element, options) => animateNow(element,  
     | 
| 
      
 10106 
     | 
    
         
            +
                    else if (u.isOptions(value)) {
         
     | 
| 
      
 10107 
     | 
    
         
            +
                        return (element, options) => animateNow(element, value, options);
         
     | 
| 
       9711 
10108 
     | 
    
         
             
                    }
         
     | 
| 
       9712 
10109 
     | 
    
         
             
                    else {
         
     | 
| 
       9713 
     | 
    
         
            -
                         
     | 
| 
      
 10110 
     | 
    
         
            +
                        return namedAnimations.get(value);
         
     | 
| 
       9714 
10111 
     | 
    
         
             
                    }
         
     | 
| 
       9715 
10112 
     | 
    
         
             
                }
         
     | 
| 
       9716 
10113 
     | 
    
         
             
                const swapElementsDirectly = up.mockable(function (oldElement, newElement) {
         
     | 
| 
         @@ -9725,16 +10122,6 @@ up.motion = (function () { 
     | 
|
| 
       9725 
10122 
     | 
    
         
             
                    parser.number('duration');
         
     | 
| 
       9726 
10123 
     | 
    
         
             
                    return options;
         
     | 
| 
       9727 
10124 
     | 
    
         
             
                }
         
     | 
| 
       9728 
     | 
    
         
            -
                function registerTransition(name, transition) {
         
     | 
| 
       9729 
     | 
    
         
            -
                    const fn = findTransitionFn(transition);
         
     | 
| 
       9730 
     | 
    
         
            -
                    fn.isDefault = up.framework.evaling;
         
     | 
| 
       9731 
     | 
    
         
            -
                    namedTransitions[name] = fn;
         
     | 
| 
       9732 
     | 
    
         
            -
                }
         
     | 
| 
       9733 
     | 
    
         
            -
                function registerAnimation(name, animation) {
         
     | 
| 
       9734 
     | 
    
         
            -
                    const fn = findAnimationFn(animation);
         
     | 
| 
       9735 
     | 
    
         
            -
                    fn.isDefault = up.framework.evaling;
         
     | 
| 
       9736 
     | 
    
         
            -
                    namedAnimations[name] = fn;
         
     | 
| 
       9737 
     | 
    
         
            -
                }
         
     | 
| 
       9738 
10125 
     | 
    
         
             
                up.on('up:framework:boot', function () {
         
     | 
| 
       9739 
10126 
     | 
    
         
             
                    if (!isEnabled()) {
         
     | 
| 
       9740 
10127 
     | 
    
         
             
                        up.puts('up.motion', 'Animations are disabled');
         
     | 
| 
         @@ -9744,7 +10131,7 @@ up.motion = (function () { 
     | 
|
| 
       9744 
10131 
     | 
    
         
             
                    return !animationOrTransition || animationOrTransition === 'none';
         
     | 
| 
       9745 
10132 
     | 
    
         
             
                }
         
     | 
| 
       9746 
10133 
     | 
    
         
             
                function registerOpacityAnimation(name, from, to) {
         
     | 
| 
       9747 
     | 
    
         
            -
                     
     | 
| 
      
 10134 
     | 
    
         
            +
                    namedAnimations.put(name, function (element, options) {
         
     | 
| 
       9748 
10135 
     | 
    
         
             
                        element.style.opacity = 0;
         
     | 
| 
       9749 
10136 
     | 
    
         
             
                        e.setStyle(element, { opacity: from });
         
     | 
| 
       9750 
10137 
     | 
    
         
             
                        return animateNow(element, { opacity: to }, options);
         
     | 
| 
         @@ -9765,12 +10152,12 @@ up.motion = (function () { 
     | 
|
| 
       9765 
10152 
     | 
    
         
             
                function registerMoveAnimations(direction, boxToTransform) {
         
     | 
| 
       9766 
10153 
     | 
    
         
             
                    const animationToName = `move-to-${direction}`;
         
     | 
| 
       9767 
10154 
     | 
    
         
             
                    const animationFromName = `move-from-${direction}`;
         
     | 
| 
       9768 
     | 
    
         
            -
                     
     | 
| 
      
 10155 
     | 
    
         
            +
                    namedAnimations.put(animationToName, function (element, options) {
         
     | 
| 
       9769 
10156 
     | 
    
         
             
                        const box = untranslatedBox(element);
         
     | 
| 
       9770 
10157 
     | 
    
         
             
                        const transform = boxToTransform(box);
         
     | 
| 
       9771 
10158 
     | 
    
         
             
                        return animateNow(element, transform, options);
         
     | 
| 
       9772 
10159 
     | 
    
         
             
                    });
         
     | 
| 
       9773 
     | 
    
         
            -
                     
     | 
| 
      
 10160 
     | 
    
         
            +
                    namedAnimations.put(animationFromName, function (element, options) {
         
     | 
| 
       9774 
10161 
     | 
    
         
             
                        const box = untranslatedBox(element);
         
     | 
| 
       9775 
10162 
     | 
    
         
             
                        const transform = boxToTransform(box);
         
     | 
| 
       9776 
10163 
     | 
    
         
             
                        e.setStyle(element, transform);
         
     | 
| 
         @@ -9793,19 +10180,19 @@ up.motion = (function () { 
     | 
|
| 
       9793 
10180 
     | 
    
         
             
                    const travelDistance = up.viewport.rootWidth() - box.left;
         
     | 
| 
       9794 
10181 
     | 
    
         
             
                    return translateCSS(travelDistance, 0);
         
     | 
| 
       9795 
10182 
     | 
    
         
             
                });
         
     | 
| 
       9796 
     | 
    
         
            -
                 
     | 
| 
       9797 
     | 
    
         
            -
                 
     | 
| 
       9798 
     | 
    
         
            -
                 
     | 
| 
       9799 
     | 
    
         
            -
                 
     | 
| 
       9800 
     | 
    
         
            -
                 
     | 
| 
      
 10183 
     | 
    
         
            +
                namedTransitions.put('cross-fade', ['fade-out', 'fade-in']);
         
     | 
| 
      
 10184 
     | 
    
         
            +
                namedTransitions.put('move-left', ['move-to-left', 'move-from-right']);
         
     | 
| 
      
 10185 
     | 
    
         
            +
                namedTransitions.put('move-right', ['move-to-right', 'move-from-left']);
         
     | 
| 
      
 10186 
     | 
    
         
            +
                namedTransitions.put('move-up', ['move-to-top', 'move-from-bottom']);
         
     | 
| 
      
 10187 
     | 
    
         
            +
                namedTransitions.put('move-down', ['move-to-bottom', 'move-from-top']);
         
     | 
| 
       9801 
10188 
     | 
    
         
             
                up.on('up:framework:reset', reset);
         
     | 
| 
       9802 
10189 
     | 
    
         
             
                return {
         
     | 
| 
       9803 
10190 
     | 
    
         
             
                    morph,
         
     | 
| 
       9804 
10191 
     | 
    
         
             
                    animate,
         
     | 
| 
       9805 
10192 
     | 
    
         
             
                    finish,
         
     | 
| 
       9806 
10193 
     | 
    
         
             
                    finishCount() { return motionController.finishCount; },
         
     | 
| 
       9807 
     | 
    
         
            -
                    transition:  
     | 
| 
       9808 
     | 
    
         
            -
                    animation:  
     | 
| 
      
 10194 
     | 
    
         
            +
                    transition: namedTransitions.put,
         
     | 
| 
      
 10195 
     | 
    
         
            +
                    animation: namedAnimations.put,
         
     | 
| 
       9809 
10196 
     | 
    
         
             
                    config,
         
     | 
| 
       9810 
10197 
     | 
    
         
             
                    isEnabled,
         
     | 
| 
       9811 
10198 
     | 
    
         
             
                    isNone,
         
     | 
| 
         @@ -9821,10 +10208,10 @@ up.animate = up.motion.animate; 
     | 
|
| 
       9821 
10208 
     | 
    
         | 
| 
       9822 
10209 
     | 
    
         | 
| 
       9823 
10210 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       9824 
     | 
    
         
            -
            /*  
     | 
| 
      
 10211 
     | 
    
         
            +
            /* 94 */
         
     | 
| 
       9825 
10212 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
         
     | 
| 
       9826 
10213 
     | 
    
         | 
| 
       9827 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
      
 10214 
     | 
    
         
            +
            __webpack_require__(95);
         
     | 
| 
       9828 
10215 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
       9829 
10216 
     | 
    
         
             
            up.network = (function () {
         
     | 
| 
       9830 
10217 
     | 
    
         
             
                const config = new up.Config(() => ({
         
     | 
| 
         @@ -9836,7 +10223,7 @@ up.network = (function () { 
     | 
|
| 
       9836 
10223 
     | 
    
         
             
                    lateDelay: 400,
         
     | 
| 
       9837 
10224 
     | 
    
         
             
                    fail(response) { return (response.status < 200 || response.status > 299) && response.status !== 304; },
         
     | 
| 
       9838 
10225 
     | 
    
         
             
                    autoCache(request) { return request.isSafe(); },
         
     | 
| 
       9839 
     | 
    
         
            -
                    expireCache(request 
     | 
| 
      
 10226 
     | 
    
         
            +
                    expireCache(request) { return !request.isSafe(); },
         
     | 
| 
       9840 
10227 
     | 
    
         
             
                    evictCache: false,
         
     | 
| 
       9841 
10228 
     | 
    
         
             
                    progressBar: true,
         
     | 
| 
       9842 
10229 
     | 
    
         
             
                    timeout: 90000,
         
     | 
| 
         @@ -9863,6 +10250,8 @@ up.network = (function () { 
     | 
|
| 
       9863 
10250 
     | 
    
         
             
                    return options;
         
     | 
| 
       9864 
10251 
     | 
    
         
             
                }
         
     | 
| 
       9865 
10252 
     | 
    
         
             
                function processRequest(request) {
         
     | 
| 
      
 10253 
     | 
    
         
            +
                    cache.expire(request.expireCache ?? u.evalOption(config.expireCache, request) ?? false);
         
     | 
| 
      
 10254 
     | 
    
         
            +
                    cache.evict(request.evictCache ?? u.evalOption(config.evictCache, request) ?? false);
         
     | 
| 
       9866 
10255 
     | 
    
         
             
                    useCachedRequest(request) || queueRequest(request);
         
     | 
| 
       9867 
10256 
     | 
    
         
             
                }
         
     | 
| 
       9868 
10257 
     | 
    
         
             
                function useCachedRequest(newRequest) {
         
     | 
| 
         @@ -9888,14 +10277,8 @@ up.network = (function () { 
     | 
|
| 
       9888 
10277 
     | 
    
         
             
                        request.onLoading = () => cache.reindex(request);
         
     | 
| 
       9889 
10278 
     | 
    
         
             
                    }
         
     | 
| 
       9890 
10279 
     | 
    
         
             
                    u.always(request, function (responseOrError) {
         
     | 
| 
       9891 
     | 
    
         
            -
                         
     | 
| 
       9892 
     | 
    
         
            -
                         
     | 
| 
       9893 
     | 
    
         
            -
                            cache.expire(expireCache, { except: request });
         
     | 
| 
       9894 
     | 
    
         
            -
                        }
         
     | 
| 
       9895 
     | 
    
         
            -
                        let evictCache = responseOrError.evictCache ?? request.evictCache ?? u.evalOption(config.evictCache, request, responseOrError);
         
     | 
| 
       9896 
     | 
    
         
            -
                        if (evictCache) {
         
     | 
| 
       9897 
     | 
    
         
            -
                            cache.evict(evictCache, { except: request });
         
     | 
| 
       9898 
     | 
    
         
            -
                        }
         
     | 
| 
      
 10280 
     | 
    
         
            +
                        cache.expire(responseOrError.expireCache ?? false, { except: request });
         
     | 
| 
      
 10281 
     | 
    
         
            +
                        cache.evict(responseOrError.evictCache ?? false, { except: request });
         
     | 
| 
       9899 
10282 
     | 
    
         
             
                        let hasCacheEntry = cache.get(request);
         
     | 
| 
       9900 
10283 
     | 
    
         
             
                        let isResponse = responseOrError instanceof up.Response;
         
     | 
| 
       9901 
10284 
     | 
    
         
             
                        let isNetworkError = !isResponse;
         
     | 
| 
         @@ -9964,7 +10347,7 @@ up.cache = up.network.cache; 
     | 
|
| 
       9964 
10347 
     | 
    
         | 
| 
       9965 
10348 
     | 
    
         | 
| 
       9966 
10349 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       9967 
     | 
    
         
            -
            /*  
     | 
| 
      
 10350 
     | 
    
         
            +
            /* 95 */
         
     | 
| 
       9968 
10351 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         
     | 
| 
       9969 
10352 
     | 
    
         | 
| 
       9970 
10353 
     | 
    
         
             
            "use strict";
         
     | 
| 
         @@ -9973,10 +10356,10 @@ __webpack_require__.r(__webpack_exports__); 
     | 
|
| 
       9973 
10356 
     | 
    
         | 
| 
       9974 
10357 
     | 
    
         | 
| 
       9975 
10358 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       9976 
     | 
    
         
            -
            /*  
     | 
| 
      
 10359 
     | 
    
         
            +
            /* 96 */
         
     | 
| 
       9977 
10360 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
         
     | 
| 
       9978 
10361 
     | 
    
         | 
| 
       9979 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
      
 10362 
     | 
    
         
            +
            __webpack_require__(97);
         
     | 
| 
       9980 
10363 
     | 
    
         
             
            const u = up.util;
         
     | 
| 
       9981 
10364 
     | 
    
         
             
            const e = up.element;
         
     | 
| 
       9982 
10365 
     | 
    
         
             
            up.layer = (function () {
         
     | 
| 
         @@ -10151,7 +10534,7 @@ up.layer = (function () { 
     | 
|
| 
       10151 
10534 
     | 
    
         
             
                    });
         
     | 
| 
       10152 
10535 
     | 
    
         
             
                }
         
     | 
| 
       10153 
10536 
     | 
    
         
             
                function anySelector() {
         
     | 
| 
       10154 
     | 
    
         
            -
                    return u.map(LAYER_CLASSES, Class => Class.selector()).join();
         
     | 
| 
      
 10537 
     | 
    
         
            +
                    return u.map(LAYER_CLASSES, (Class) => Class.selector()).join();
         
     | 
| 
       10155 
10538 
     | 
    
         
             
                }
         
     | 
| 
       10156 
10539 
     | 
    
         
             
                function optionToString(option) {
         
     | 
| 
       10157 
10540 
     | 
    
         
             
                    if (u.isString(option)) {
         
     | 
| 
         @@ -10221,7 +10604,7 @@ up.layer = (function () { 
     | 
|
| 
       10221 
10604 
     | 
    
         | 
| 
       10222 
10605 
     | 
    
         | 
| 
       10223 
10606 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       10224 
     | 
    
         
            -
            /*  
     | 
| 
      
 10607 
     | 
    
         
            +
            /* 97 */
         
     | 
| 
       10225 
10608 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         
     | 
| 
       10226 
10609 
     | 
    
         | 
| 
       10227 
10610 
     | 
    
         
             
            "use strict";
         
     | 
| 
         @@ -10230,14 +10613,16 @@ __webpack_require__.r(__webpack_exports__); 
     | 
|
| 
       10230 
10613 
     | 
    
         | 
| 
       10231 
10614 
     | 
    
         | 
| 
       10232 
10615 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       10233 
     | 
    
         
            -
            /*  
     | 
| 
      
 10616 
     | 
    
         
            +
            /* 98 */
         
     | 
| 
       10234 
10617 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
         
     | 
| 
       10235 
10618 
     | 
    
         | 
| 
       10236 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
      
 10619 
     | 
    
         
            +
            __webpack_require__(99);
         
     | 
| 
       10237 
10620 
     | 
    
         
             
            up.link = (function () {
         
     | 
| 
       10238 
10621 
     | 
    
         
             
                const u = up.util;
         
     | 
| 
       10239 
10622 
     | 
    
         
             
                const e = up.element;
         
     | 
| 
      
 10623 
     | 
    
         
            +
                let lastTouchstartTarget = null;
         
     | 
| 
       10240 
10624 
     | 
    
         
             
                let lastMousedownTarget = null;
         
     | 
| 
      
 10625 
     | 
    
         
            +
                let lastInstantTarget = null;
         
     | 
| 
       10241 
10626 
     | 
    
         
             
                const ATTRS_WITH_LOCAL_HTML = '[up-content], [up-fragment], [up-document]';
         
     | 
| 
       10242 
10627 
     | 
    
         
             
                const ATTRS_SUGGESTING_FOLLOW = `${ATTRS_WITH_LOCAL_HTML}, [up-target], [up-layer], [up-transition], [up-preload]`;
         
     | 
| 
       10243 
10628 
     | 
    
         
             
                const DEFAULT_INTERACTIVE_ELEMENT = 'a[href], button';
         
     | 
| 
         @@ -10267,7 +10652,9 @@ up.link = (function () { 
     | 
|
| 
       10267 
10652 
     | 
    
         
             
                    }
         
     | 
| 
       10268 
10653 
     | 
    
         
             
                }
         
     | 
| 
       10269 
10654 
     | 
    
         
             
                function reset() {
         
     | 
| 
      
 10655 
     | 
    
         
            +
                    lastTouchstartTarget = null;
         
     | 
| 
       10270 
10656 
     | 
    
         
             
                    lastMousedownTarget = null;
         
     | 
| 
      
 10657 
     | 
    
         
            +
                    lastInstantTarget = null;
         
     | 
| 
       10271 
10658 
     | 
    
         
             
                }
         
     | 
| 
       10272 
10659 
     | 
    
         
             
                const follow = up.mockable(function (link, options, parserOptions) {
         
     | 
| 
       10273 
10660 
     | 
    
         
             
                    return up.render(followOptions(link, options, parserOptions));
         
     | 
| 
         @@ -10289,6 +10676,7 @@ up.link = (function () { 
     | 
|
| 
       10289 
10676 
     | 
    
         
             
                    parser.string('contentType');
         
     | 
| 
       10290 
10677 
     | 
    
         
             
                    parser.booleanOrNumber('lateDelay');
         
     | 
| 
       10291 
10678 
     | 
    
         
             
                    parser.number('timeout');
         
     | 
| 
      
 10679 
     | 
    
         
            +
                    parser.booleanOrString('fail');
         
     | 
| 
       10292 
10680 
     | 
    
         
             
                    return options;
         
     | 
| 
       10293 
10681 
     | 
    
         
             
                }
         
     | 
| 
       10294 
10682 
     | 
    
         
             
                function followOptions(link, options, parserOptions) {
         
     | 
| 
         @@ -10297,7 +10685,6 @@ up.link = (function () { 
     | 
|
| 
       10297 
10685 
     | 
    
         
             
                    const parser = new up.OptionsParser(link, options, { fail: true, ...parserOptions });
         
     | 
| 
       10298 
10686 
     | 
    
         
             
                    parser.include(parseRequestOptions);
         
     | 
| 
       10299 
10687 
     | 
    
         
             
                    options.origin ||= link;
         
     | 
| 
       10300 
     | 
    
         
            -
                    parser.boolean('fail');
         
     | 
| 
       10301 
10688 
     | 
    
         
             
                    parser.boolean('navigate', { default: true });
         
     | 
| 
       10302 
10689 
     | 
    
         
             
                    parser.string('confirm', { attr: ['up-confirm', 'data-confirm'] });
         
     | 
| 
       10303 
10690 
     | 
    
         
             
                    parser.string('target');
         
     | 
| 
         @@ -10331,9 +10718,12 @@ up.link = (function () { 
     | 
|
| 
       10331 
10718 
     | 
    
         
             
                    parser.string('dismissEvent');
         
     | 
| 
       10332 
10719 
     | 
    
         
             
                    parser.string('acceptLocation');
         
     | 
| 
       10333 
10720 
     | 
    
         
             
                    parser.string('dismissLocation');
         
     | 
| 
       10334 
     | 
    
         
            -
                    parser.booleanOrString(' 
     | 
| 
      
 10721 
     | 
    
         
            +
                    parser.booleanOrString('closeAnimation');
         
     | 
| 
      
 10722 
     | 
    
         
            +
                    parser.string('closeEasing');
         
     | 
| 
      
 10723 
     | 
    
         
            +
                    parser.number('closeDuration');
         
     | 
| 
       10335 
10724 
     | 
    
         
             
                    parser.include(up.status.statusOptions);
         
     | 
| 
       10336 
10725 
     | 
    
         
             
                    parser.booleanOrString('focus');
         
     | 
| 
      
 10726 
     | 
    
         
            +
                    parser.booleanOrString('focusVisible');
         
     | 
| 
       10337 
10727 
     | 
    
         
             
                    parser.boolean('saveScroll');
         
     | 
| 
       10338 
10728 
     | 
    
         
             
                    parser.boolean('saveFocus');
         
     | 
| 
       10339 
10729 
     | 
    
         
             
                    parser.booleanOrString('scroll');
         
     | 
| 
         @@ -10363,9 +10753,9 @@ up.link = (function () { 
     | 
|
| 
       10363 
10753 
     | 
    
         
             
                        abortable: false,
         
     | 
| 
       10364 
10754 
     | 
    
         
             
                        background: true,
         
     | 
| 
       10365 
10755 
     | 
    
         
             
                        cache: true,
         
     | 
| 
      
 10756 
     | 
    
         
            +
                        ...options,
         
     | 
| 
       10366 
10757 
     | 
    
         
             
                        ...up.RenderOptions.NO_INPUT_INTERFERENCE,
         
     | 
| 
       10367 
10758 
     | 
    
         
             
                        ...up.RenderOptions.NO_PREVIEWS,
         
     | 
| 
       10368 
     | 
    
         
            -
                        ...options,
         
     | 
| 
       10369 
10759 
     | 
    
         
             
                        guardEvent,
         
     | 
| 
       10370 
10760 
     | 
    
         
             
                        preload: true,
         
     | 
| 
       10371 
10761 
     | 
    
         
             
                    });
         
     | 
| 
         @@ -10424,27 +10814,37 @@ up.link = (function () { 
     | 
|
| 
       10424 
10814 
     | 
    
         
             
                }
         
     | 
| 
       10425 
10815 
     | 
    
         
             
                function convertClicks(layer) {
         
     | 
| 
       10426 
10816 
     | 
    
         
             
                    layer.on('click', function (event, element) {
         
     | 
| 
       10427 
     | 
    
         
            -
                        if ( 
     | 
| 
      
 10817 
     | 
    
         
            +
                        if (up.event.isModified(event)) {
         
     | 
| 
       10428 
10818 
     | 
    
         
             
                            return;
         
     | 
| 
       10429 
10819 
     | 
    
         
             
                        }
         
     | 
| 
       10430 
     | 
    
         
            -
                        if (isInstant(element) &&  
     | 
| 
      
 10820 
     | 
    
         
            +
                        if (isInstant(element) && lastInstantTarget === element) {
         
     | 
| 
       10431 
10821 
     | 
    
         
             
                            up.event.halt(event);
         
     | 
| 
       10432 
10822 
     | 
    
         
             
                        }
         
     | 
| 
       10433 
10823 
     | 
    
         
             
                        else if (up.event.inputDevice === 'key' || up.event.isSyntheticClick(event) || (layer.wasHitByMouseEvent(event) && !didUserDragAway(event))) {
         
     | 
| 
       10434 
10824 
     | 
    
         
             
                            forkEventAsUpClick(event);
         
     | 
| 
       10435 
10825 
     | 
    
         
             
                        }
         
     | 
| 
       10436 
     | 
    
         
            -
                         
     | 
| 
      
 10826 
     | 
    
         
            +
                        lastMousedownTarget = null;
         
     | 
| 
      
 10827 
     | 
    
         
            +
                        lastInstantTarget = null;
         
     | 
| 
      
 10828 
     | 
    
         
            +
                    });
         
     | 
| 
      
 10829 
     | 
    
         
            +
                    layer.on('touchstart', { passive: true }, function (event, element) {
         
     | 
| 
      
 10830 
     | 
    
         
            +
                        lastTouchstartTarget = element;
         
     | 
| 
       10437 
10831 
     | 
    
         
             
                    });
         
     | 
| 
       10438 
10832 
     | 
    
         
             
                    layer.on('mousedown', function (event, element) {
         
     | 
| 
       10439 
     | 
    
         
            -
                        if ( 
     | 
| 
      
 10833 
     | 
    
         
            +
                        if (up.event.isModified(event)) {
         
     | 
| 
       10440 
10834 
     | 
    
         
             
                            return;
         
     | 
| 
       10441 
10835 
     | 
    
         
             
                        }
         
     | 
| 
       10442 
     | 
    
         
            -
                        lastMousedownTarget =  
     | 
| 
       10443 
     | 
    
         
            -
                        if (isInstant(element)) {
         
     | 
| 
      
 10836 
     | 
    
         
            +
                        lastMousedownTarget = element;
         
     | 
| 
      
 10837 
     | 
    
         
            +
                        if (isInstant(element) && !isLongPressPossible(event)) {
         
     | 
| 
      
 10838 
     | 
    
         
            +
                            lastInstantTarget = element;
         
     | 
| 
       10444 
10839 
     | 
    
         
             
                            forkEventAsUpClick(event);
         
     | 
| 
       10445 
10840 
     | 
    
         
             
                        }
         
     | 
| 
      
 10841 
     | 
    
         
            +
                        lastTouchstartTarget = null;
         
     | 
| 
       10446 
10842 
     | 
    
         
             
                    });
         
     | 
| 
       10447 
10843 
     | 
    
         
             
                }
         
     | 
| 
      
 10844 
     | 
    
         
            +
                function isLongPressPossible(mousedownEvent) {
         
     | 
| 
      
 10845 
     | 
    
         
            +
                    let mousedownTarget = mousedownEvent.target;
         
     | 
| 
      
 10846 
     | 
    
         
            +
                    return (lastTouchstartTarget === mousedownTarget) && mousedownTarget.closest('[href]');
         
     | 
| 
      
 10847 
     | 
    
         
            +
                }
         
     | 
| 
       10448 
10848 
     | 
    
         
             
                function didUserDragAway(clickEvent) {
         
     | 
| 
       10449 
10849 
     | 
    
         
             
                    return lastMousedownTarget && (lastMousedownTarget !== clickEvent.target);
         
     | 
| 
       10450 
10850 
     | 
    
         
             
                }
         
     | 
| 
         @@ -10540,7 +10940,7 @@ up.deferred = { load: up.link.loadDeferred }; 
     | 
|
| 
       10540 
10940 
     | 
    
         | 
| 
       10541 
10941 
     | 
    
         | 
| 
       10542 
10942 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       10543 
     | 
    
         
            -
            /*  
     | 
| 
      
 10943 
     | 
    
         
            +
            /* 99 */
         
     | 
| 
       10544 
10944 
     | 
    
         
             
            /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
         
     | 
| 
       10545 
10945 
     | 
    
         | 
| 
       10546 
10946 
     | 
    
         
             
            "use strict";
         
     | 
| 
         @@ -10549,7 +10949,7 @@ __webpack_require__.r(__webpack_exports__); 
     | 
|
| 
       10549 
10949 
     | 
    
         | 
| 
       10550 
10950 
     | 
    
         | 
| 
       10551 
10951 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       10552 
     | 
    
         
            -
            /*  
     | 
| 
      
 10952 
     | 
    
         
            +
            /* 100 */
         
     | 
| 
       10553 
10953 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       10554 
10954 
     | 
    
         | 
| 
       10555 
10955 
     | 
    
         
             
            up.form = (function () {
         
     | 
| 
         @@ -10562,12 +10962,14 @@ up.form = (function () { 
     | 
|
| 
       10562 
10962 
     | 
    
         
             
                    noSubmitSelectors: ['[up-submit=false]', '[target]', e.crossOriginSelector('action')],
         
     | 
| 
       10563 
10963 
     | 
    
         
             
                    submitButtonSelectors: ['input[type=submit]', 'input[type=image]', 'button[type=submit]', 'button:not([type])'],
         
     | 
| 
       10564 
10964 
     | 
    
         
             
                    genericButtonSelectors: ['input[type=button]', 'button[type=button]'],
         
     | 
| 
      
 10965 
     | 
    
         
            +
                    validateBatch: true,
         
     | 
| 
       10565 
10966 
     | 
    
         
             
                    watchInputEvents: ['input', 'change'],
         
     | 
| 
       10566 
10967 
     | 
    
         
             
                    watchInputDelay: 0,
         
     | 
| 
       10567 
10968 
     | 
    
         
             
                    watchChangeEvents: ['change'],
         
     | 
| 
      
 10969 
     | 
    
         
            +
                    watchableEvents: ['input', 'change'],
         
     | 
| 
       10568 
10970 
     | 
    
         
             
                }));
         
     | 
| 
       10569 
10971 
     | 
    
         
             
                function fieldSelector(suffix = '') {
         
     | 
| 
       10570 
     | 
    
         
            -
                    return config.fieldSelectors.map(field => field + suffix).join();
         
     | 
| 
      
 10972 
     | 
    
         
            +
                    return config.fieldSelectors.map((field) => field + suffix).join();
         
     | 
| 
       10571 
10973 
     | 
    
         
             
                }
         
     | 
| 
       10572 
10974 
     | 
    
         
             
                function isField(element) {
         
     | 
| 
       10573 
10975 
     | 
    
         
             
                    return element.matches(fieldSelector());
         
     | 
| 
         @@ -10578,11 +10980,17 @@ up.form = (function () { 
     | 
|
| 
       10578 
10980 
     | 
    
         
             
                    if (root.matches('form[id]')) {
         
     | 
| 
       10579 
10981 
     | 
    
         
             
                        const outsideFieldSelector = fieldSelector(e.attrSelector('form', root.getAttribute('id')));
         
     | 
| 
       10580 
10982 
     | 
    
         
             
                        const outsideFields = up.fragment.all(outsideFieldSelector, { layer: root });
         
     | 
| 
       10581 
     | 
    
         
            -
                        fields. 
     | 
| 
       10582 
     | 
    
         
            -
                        fields = u.uniq(fields);
         
     | 
| 
      
 10983 
     | 
    
         
            +
                        fields = u.uniq([...fields, ...outsideFields]);
         
     | 
| 
       10583 
10984 
     | 
    
         
             
                    }
         
     | 
| 
       10584 
10985 
     | 
    
         
             
                    return fields;
         
     | 
| 
       10585 
10986 
     | 
    
         
             
                }
         
     | 
| 
      
 10987 
     | 
    
         
            +
                function findFieldsAndButtons(container) {
         
     | 
| 
      
 10988 
     | 
    
         
            +
                    return [
         
     | 
| 
      
 10989 
     | 
    
         
            +
                        ...findFields(container),
         
     | 
| 
      
 10990 
     | 
    
         
            +
                        ...findSubmitButtons(container),
         
     | 
| 
      
 10991 
     | 
    
         
            +
                        ...findGenericButtons(container),
         
     | 
| 
      
 10992 
     | 
    
         
            +
                    ];
         
     | 
| 
      
 10993 
     | 
    
         
            +
                }
         
     | 
| 
       10586 
10994 
     | 
    
         
             
                function findSubmitButtons(root) {
         
     | 
| 
       10587 
10995 
     | 
    
         
             
                    return e.subtree(root, submitButtonSelector());
         
     | 
| 
       10588 
10996 
     | 
    
         
             
                }
         
     | 
| 
         @@ -10617,8 +11025,10 @@ up.form = (function () { 
     | 
|
| 
       10617 
11025 
     | 
    
         
             
                }
         
     | 
| 
       10618 
11026 
     | 
    
         
             
                function watchOptions(field, options, parserOptions = {}) {
         
     | 
| 
       10619 
11027 
     | 
    
         
             
                    options = u.options(options);
         
     | 
| 
       10620 
     | 
    
         
            -
                     
     | 
| 
       10621 
     | 
    
         
            -
                     
     | 
| 
      
 11028 
     | 
    
         
            +
                    parserOptions.closest ??= true;
         
     | 
| 
      
 11029 
     | 
    
         
            +
                    parserOptions.attrPrefix ??= 'up-watch-';
         
     | 
| 
      
 11030 
     | 
    
         
            +
                    let parser = new up.OptionsParser(field, options, parserOptions);
         
     | 
| 
      
 11031 
     | 
    
         
            +
                    parser.include(up.status.statusOptions, parserOptions);
         
     | 
| 
       10622 
11032 
     | 
    
         
             
                    parser.string('event');
         
     | 
| 
       10623 
11033 
     | 
    
         
             
                    parser.number('delay');
         
     | 
| 
       10624 
11034 
     | 
    
         
             
                    let config = up.form.config;
         
     | 
| 
         @@ -10632,15 +11042,20 @@ up.form = (function () { 
     | 
|
| 
       10632 
11042 
     | 
    
         
             
                    options.origin ||= field;
         
     | 
| 
       10633 
11043 
     | 
    
         
             
                    return options;
         
     | 
| 
       10634 
11044 
     | 
    
         
             
                }
         
     | 
| 
       10635 
     | 
    
         
            -
                function  
     | 
| 
       10636 
     | 
    
         
            -
                     
     | 
| 
       10637 
     | 
    
         
            -
             
     | 
| 
       10638 
     | 
    
         
            -
             
     | 
| 
       10639 
     | 
    
         
            -
             
     | 
| 
       10640 
     | 
    
         
            -
                     
     | 
| 
       10641 
     | 
    
         
            -
                     
     | 
| 
      
 11045 
     | 
    
         
            +
                function validateOptions(field, options, parserOptions = {}) {
         
     | 
| 
      
 11046 
     | 
    
         
            +
                    options = u.options(options);
         
     | 
| 
      
 11047 
     | 
    
         
            +
                    let parser = new up.OptionsParser(field, options, { ...parserOptions, closest: true, attrPrefix: 'up-validate-' });
         
     | 
| 
      
 11048 
     | 
    
         
            +
                    parser.string('url');
         
     | 
| 
      
 11049 
     | 
    
         
            +
                    parser.string('method', { normalize: u.normalizeMethod });
         
     | 
| 
      
 11050 
     | 
    
         
            +
                    parser.boolean('batch', { default: config.validateBatch });
         
     | 
| 
      
 11051 
     | 
    
         
            +
                    parser.include(watchOptions, { defaults: { event: 'change' } });
         
     | 
| 
      
 11052 
     | 
    
         
            +
                    return options;
         
     | 
| 
      
 11053 
     | 
    
         
            +
                }
         
     | 
| 
      
 11054 
     | 
    
         
            +
                function disableContainerTemp(container) {
         
     | 
| 
      
 11055 
     | 
    
         
            +
                    let controls = findFieldsAndButtons(container);
         
     | 
| 
      
 11056 
     | 
    
         
            +
                    return u.sequence(u.map(controls, disableControlTemp));
         
     | 
| 
       10642 
11057 
     | 
    
         
             
                }
         
     | 
| 
       10643 
     | 
    
         
            -
                function  
     | 
| 
      
 11058 
     | 
    
         
            +
                function disableControlTemp(control) {
         
     | 
| 
       10644 
11059 
     | 
    
         
             
                    if (control.disabled)
         
     | 
| 
       10645 
11060 
     | 
    
         
             
                        return;
         
     | 
| 
       10646 
11061 
     | 
    
         
             
                    let focusFallback;
         
     | 
| 
         @@ -10655,7 +11070,7 @@ up.form = (function () { 
     | 
|
| 
       10655 
11070 
     | 
    
         
             
                    return () => { control.disabled = false; };
         
     | 
| 
       10656 
11071 
     | 
    
         
             
                }
         
     | 
| 
       10657 
11072 
     | 
    
         
             
                function getDisableContainers(disable, origin) {
         
     | 
| 
       10658 
     | 
    
         
            -
                    let originScope = () =>  
     | 
| 
      
 11073 
     | 
    
         
            +
                    let originScope = () => getRegion(origin);
         
     | 
| 
       10659 
11074 
     | 
    
         
             
                    if (disable === true) {
         
     | 
| 
       10660 
11075 
     | 
    
         
             
                        return [originScope()];
         
     | 
| 
       10661 
11076 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -10680,6 +11095,11 @@ up.form = (function () { 
     | 
|
| 
       10680 
11095 
     | 
    
         
             
                        }
         
     | 
| 
       10681 
11096 
     | 
    
         
             
                    };
         
     | 
| 
       10682 
11097 
     | 
    
         
             
                }
         
     | 
| 
      
 11098 
     | 
    
         
            +
                function setContainerDisabled(container, disabled) {
         
     | 
| 
      
 11099 
     | 
    
         
            +
                    for (let control of findFieldsAndButtons(container)) {
         
     | 
| 
      
 11100 
     | 
    
         
            +
                        control.disabled = disabled;
         
     | 
| 
      
 11101 
     | 
    
         
            +
                    }
         
     | 
| 
      
 11102 
     | 
    
         
            +
                }
         
     | 
| 
       10683 
11103 
     | 
    
         
             
                function destinationOptions(form, options, parserOptions) {
         
     | 
| 
       10684 
11104 
     | 
    
         
             
                    options = u.options(options);
         
     | 
| 
       10685 
11105 
     | 
    
         
             
                    form = getForm(form);
         
     | 
| 
         @@ -10711,8 +11131,7 @@ up.form = (function () { 
     | 
|
| 
       10711 
11131 
     | 
    
         
             
                    root = up.element.get(root);
         
     | 
| 
       10712 
11132 
     | 
    
         
             
                    callback ||= watchCallbackFromElement(root) || up.fail('No callback given for up.watch()');
         
     | 
| 
       10713 
11133 
     | 
    
         
             
                    const watcher = new up.FieldWatcher(root, options, callback);
         
     | 
| 
       10714 
     | 
    
         
            -
                    watcher.start();
         
     | 
| 
       10715 
     | 
    
         
            -
                    return () => watcher.stop();
         
     | 
| 
      
 11134 
     | 
    
         
            +
                    return watcher.start();
         
     | 
| 
       10716 
11135 
     | 
    
         
             
                }
         
     | 
| 
       10717 
11136 
     | 
    
         
             
                function watchCallbackFromElement(element) {
         
     | 
| 
       10718 
11137 
     | 
    
         
             
                    let rawCallback = element.getAttribute('up-watch');
         
     | 
| 
         @@ -10722,7 +11141,7 @@ up.form = (function () { 
     | 
|
| 
       10722 
11141 
     | 
    
         
             
                }
         
     | 
| 
       10723 
11142 
     | 
    
         
             
                function autosubmit(target, options = {}) {
         
     | 
| 
       10724 
11143 
     | 
    
         
             
                    const onChange = (_diff, renderOptions) => submit(target, renderOptions);
         
     | 
| 
       10725 
     | 
    
         
            -
                    return watch(target, { ...options, batch: true }, onChange);
         
     | 
| 
      
 11144 
     | 
    
         
            +
                    return watch(target, { logPrefix: 'up.autosubmit()', ...options, batch: true }, onChange);
         
     | 
| 
       10726 
11145 
     | 
    
         
             
                }
         
     | 
| 
       10727 
11146 
     | 
    
         
             
                function getGroupSelectors() {
         
     | 
| 
       10728 
11147 
     | 
    
         
             
                    return up.migrate.migratedFormGroupSelectors?.() || config.groupSelectors;
         
     | 
| 
         @@ -10750,7 +11169,8 @@ up.form = (function () { 
     | 
|
| 
       10750 
11169 
     | 
    
         
             
                }
         
     | 
| 
       10751 
11170 
     | 
    
         
             
                function validate(...args) {
         
     | 
| 
       10752 
11171 
     | 
    
         
             
                    let options = parseValidateArgs(...args);
         
     | 
| 
       10753 
     | 
    
         
            -
                    let  
     | 
| 
      
 11172 
     | 
    
         
            +
                    let form = getForm(options.origin);
         
     | 
| 
      
 11173 
     | 
    
         
            +
                    let validator = getFormValidator(form);
         
     | 
| 
       10754 
11174 
     | 
    
         
             
                    return validator.validate(options);
         
     | 
| 
       10755 
11175 
     | 
    
         
             
                }
         
     | 
| 
       10756 
11176 
     | 
    
         
             
                function parseValidateArgs(originOrTarget, ...args) {
         
     | 
| 
         @@ -10763,88 +11183,20 @@ up.form = (function () { 
     | 
|
| 
       10763 
11183 
     | 
    
         
             
                    }
         
     | 
| 
       10764 
11184 
     | 
    
         
             
                    return options;
         
     | 
| 
       10765 
11185 
     | 
    
         
             
                }
         
     | 
| 
       10766 
     | 
    
         
            -
                function switcherValues(field) {
         
     | 
| 
       10767 
     | 
    
         
            -
                    let value;
         
     | 
| 
       10768 
     | 
    
         
            -
                    let meta;
         
     | 
| 
       10769 
     | 
    
         
            -
                    if (field.matches('input[type=checkbox]')) {
         
     | 
| 
       10770 
     | 
    
         
            -
                        if (field.checked) {
         
     | 
| 
       10771 
     | 
    
         
            -
                            value = field.value;
         
     | 
| 
       10772 
     | 
    
         
            -
                            meta = ':checked';
         
     | 
| 
       10773 
     | 
    
         
            -
                        }
         
     | 
| 
       10774 
     | 
    
         
            -
                        else {
         
     | 
| 
       10775 
     | 
    
         
            -
                            meta = ':unchecked';
         
     | 
| 
       10776 
     | 
    
         
            -
                        }
         
     | 
| 
       10777 
     | 
    
         
            -
                    }
         
     | 
| 
       10778 
     | 
    
         
            -
                    else if (field.matches('input[type=radio]')) {
         
     | 
| 
       10779 
     | 
    
         
            -
                        const form = getScope(field);
         
     | 
| 
       10780 
     | 
    
         
            -
                        const groupName = field.getAttribute('name');
         
     | 
| 
       10781 
     | 
    
         
            -
                        const checkedButton = form.querySelector(`input[type=radio]${e.attrSelector('name', groupName)}:checked`);
         
     | 
| 
       10782 
     | 
    
         
            -
                        if (checkedButton) {
         
     | 
| 
       10783 
     | 
    
         
            -
                            meta = ':checked';
         
     | 
| 
       10784 
     | 
    
         
            -
                            value = checkedButton.value;
         
     | 
| 
       10785 
     | 
    
         
            -
                        }
         
     | 
| 
       10786 
     | 
    
         
            -
                        else {
         
     | 
| 
       10787 
     | 
    
         
            -
                            meta = ':unchecked';
         
     | 
| 
       10788 
     | 
    
         
            -
                        }
         
     | 
| 
       10789 
     | 
    
         
            -
                    }
         
     | 
| 
       10790 
     | 
    
         
            -
                    else {
         
     | 
| 
       10791 
     | 
    
         
            -
                        value = field.value;
         
     | 
| 
       10792 
     | 
    
         
            -
                    }
         
     | 
| 
       10793 
     | 
    
         
            -
                    const values = [];
         
     | 
| 
       10794 
     | 
    
         
            -
                    if (u.isPresent(value)) {
         
     | 
| 
       10795 
     | 
    
         
            -
                        values.push(value);
         
     | 
| 
       10796 
     | 
    
         
            -
                        values.push(':present');
         
     | 
| 
       10797 
     | 
    
         
            -
                    }
         
     | 
| 
       10798 
     | 
    
         
            -
                    else {
         
     | 
| 
       10799 
     | 
    
         
            -
                        values.push(':blank');
         
     | 
| 
       10800 
     | 
    
         
            -
                    }
         
     | 
| 
       10801 
     | 
    
         
            -
                    if (u.isPresent(meta)) {
         
     | 
| 
       10802 
     | 
    
         
            -
                        values.push(meta);
         
     | 
| 
       10803 
     | 
    
         
            -
                    }
         
     | 
| 
       10804 
     | 
    
         
            -
                    return values;
         
     | 
| 
       10805 
     | 
    
         
            -
                }
         
     | 
| 
       10806 
     | 
    
         
            -
                function switchTargets(switcher, options = {}) {
         
     | 
| 
       10807 
     | 
    
         
            -
                    const targetSelector = options.target || options.target || switcher.getAttribute('up-switch');
         
     | 
| 
       10808 
     | 
    
         
            -
                    const form = getScope(switcher);
         
     | 
| 
       10809 
     | 
    
         
            -
                    targetSelector || up.fail("No switch target given for %o", switcher);
         
     | 
| 
       10810 
     | 
    
         
            -
                    const fieldValues = switcherValues(switcher);
         
     | 
| 
       10811 
     | 
    
         
            -
                    for (let target of up.fragment.all(form, targetSelector)) {
         
     | 
| 
       10812 
     | 
    
         
            -
                        switchTarget(target, fieldValues);
         
     | 
| 
       10813 
     | 
    
         
            -
                    }
         
     | 
| 
       10814 
     | 
    
         
            -
                }
         
     | 
| 
       10815 
     | 
    
         
            -
                const switchTarget = up.mockable(function (target, fieldValues) {
         
     | 
| 
       10816 
     | 
    
         
            -
                    let show;
         
     | 
| 
       10817 
     | 
    
         
            -
                    fieldValues ||= switcherValues(findSwitcherForTarget(target));
         
     | 
| 
       10818 
     | 
    
         
            -
                    let hideValues = target.getAttribute('up-hide-for');
         
     | 
| 
       10819 
     | 
    
         
            -
                    if (hideValues) {
         
     | 
| 
       10820 
     | 
    
         
            -
                        hideValues = parseSwitchTokens(hideValues);
         
     | 
| 
       10821 
     | 
    
         
            -
                        show = u.intersect(fieldValues, hideValues).length === 0;
         
     | 
| 
       10822 
     | 
    
         
            -
                    }
         
     | 
| 
       10823 
     | 
    
         
            -
                    else {
         
     | 
| 
       10824 
     | 
    
         
            -
                        let showValues = target.getAttribute('up-show-for');
         
     | 
| 
       10825 
     | 
    
         
            -
                        showValues = showValues ? parseSwitchTokens(showValues) : [':present', ':checked'];
         
     | 
| 
       10826 
     | 
    
         
            -
                        show = u.intersect(fieldValues, showValues).length > 0;
         
     | 
| 
       10827 
     | 
    
         
            -
                    }
         
     | 
| 
       10828 
     | 
    
         
            -
                    e.toggle(target, show);
         
     | 
| 
       10829 
     | 
    
         
            -
                    target.classList.add('up-switched');
         
     | 
| 
       10830 
     | 
    
         
            -
                });
         
     | 
| 
       10831 
     | 
    
         
            -
                function parseSwitchTokens(str) {
         
     | 
| 
       10832 
     | 
    
         
            -
                    return u.getSimpleTokens(str, { json: true });
         
     | 
| 
       10833 
     | 
    
         
            -
                }
         
     | 
| 
       10834 
     | 
    
         
            -
                function findSwitcherForTarget(target) {
         
     | 
| 
       10835 
     | 
    
         
            -
                    const form = getScope(target);
         
     | 
| 
       10836 
     | 
    
         
            -
                    const switchers = form.querySelectorAll('[up-switch]');
         
     | 
| 
       10837 
     | 
    
         
            -
                    const switcher = u.find(switchers, function (switcher) {
         
     | 
| 
       10838 
     | 
    
         
            -
                        const targetSelector = switcher.getAttribute('up-switch');
         
     | 
| 
       10839 
     | 
    
         
            -
                        return target.matches(targetSelector);
         
     | 
| 
       10840 
     | 
    
         
            -
                    });
         
     | 
| 
       10841 
     | 
    
         
            -
                    return switcher || up.fail('Could not find [up-switch] field for %o', target);
         
     | 
| 
       10842 
     | 
    
         
            -
                }
         
     | 
| 
       10843 
11186 
     | 
    
         
             
                function getForm(elementOrSelector, options = {}) {
         
     | 
| 
       10844 
11187 
     | 
    
         
             
                    const element = up.fragment.get(elementOrSelector, options);
         
     | 
| 
       10845 
11188 
     | 
    
         
             
                    return element.form || element.closest('form');
         
     | 
| 
       10846 
11189 
     | 
    
         
             
                }
         
     | 
| 
       10847 
     | 
    
         
            -
                function  
     | 
| 
      
 11190 
     | 
    
         
            +
                function getFormValidator(form) {
         
     | 
| 
      
 11191 
     | 
    
         
            +
                    return form.upFormValidator ||= setupFormValidator(form);
         
     | 
| 
      
 11192 
     | 
    
         
            +
                }
         
     | 
| 
      
 11193 
     | 
    
         
            +
                function setupFormValidator(form) {
         
     | 
| 
      
 11194 
     | 
    
         
            +
                    const validator = new up.FormValidator(form);
         
     | 
| 
      
 11195 
     | 
    
         
            +
                    const stop = validator.start();
         
     | 
| 
      
 11196 
     | 
    
         
            +
                    up.destructor(form, stop);
         
     | 
| 
      
 11197 
     | 
    
         
            +
                    return validator;
         
     | 
| 
      
 11198 
     | 
    
         
            +
                }
         
     | 
| 
      
 11199 
     | 
    
         
            +
                function getRegion(origin, options) {
         
     | 
| 
       10848 
11200 
     | 
    
         
             
                    if (origin) {
         
     | 
| 
       10849 
11201 
     | 
    
         
             
                        return getForm(origin, options) || up.layer.get(origin).element;
         
     | 
| 
       10850 
11202 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -10852,6 +11204,19 @@ up.form = (function () { 
     | 
|
| 
       10852 
11204 
     | 
    
         
             
                        return up.layer.current.element;
         
     | 
| 
       10853 
11205 
     | 
    
         
             
                    }
         
     | 
| 
       10854 
11206 
     | 
    
         
             
                }
         
     | 
| 
      
 11207 
     | 
    
         
            +
                function trackFields(...args) {
         
     | 
| 
      
 11208 
     | 
    
         
            +
                    let [root, { guard }, callback] = u.args(args, 'val', 'options', 'callback');
         
     | 
| 
      
 11209 
     | 
    
         
            +
                    let filter = function (fields) {
         
     | 
| 
      
 11210 
     | 
    
         
            +
                        let scope = getRegion(root);
         
     | 
| 
      
 11211 
     | 
    
         
            +
                        return u.filter(fields, function (field) {
         
     | 
| 
      
 11212 
     | 
    
         
            +
                            return (root === scope || root.contains(field))
         
     | 
| 
      
 11213 
     | 
    
         
            +
                                && (getForm(field) === scope)
         
     | 
| 
      
 11214 
     | 
    
         
            +
                                && (!guard || guard(field));
         
     | 
| 
      
 11215 
     | 
    
         
            +
                        });
         
     | 
| 
      
 11216 
     | 
    
         
            +
                    };
         
     | 
| 
      
 11217 
     | 
    
         
            +
                    const live = true;
         
     | 
| 
      
 11218 
     | 
    
         
            +
                    return up.fragment.trackSelector(fieldSelector(), { filter, live }, callback);
         
     | 
| 
      
 11219 
     | 
    
         
            +
                }
         
     | 
| 
       10855 
11220 
     | 
    
         
             
                function focusedField() {
         
     | 
| 
       10856 
11221 
     | 
    
         
             
                    return u.presence(document.activeElement, isField);
         
     | 
| 
       10857 
11222 
     | 
    
         
             
                }
         
     | 
| 
         @@ -10866,49 +11231,39 @@ up.form = (function () { 
     | 
|
| 
       10866 
11231 
     | 
    
         
             
                    up.event.halt(event, { log: true });
         
     | 
| 
       10867 
11232 
     | 
    
         
             
                    up.error.muteUncriticalRejection(submit(form, { submitButton }));
         
     | 
| 
       10868 
11233 
     | 
    
         
             
                });
         
     | 
| 
       10869 
     | 
    
         
            -
                up.compiler( 
     | 
| 
       10870 
     | 
    
         
            -
                     
     | 
| 
       10871 
     | 
    
         
            -
                    validator.watchContainer(fieldOrForm);
         
     | 
| 
      
 11234 
     | 
    
         
            +
                up.compiler('form', function (form) {
         
     | 
| 
      
 11235 
     | 
    
         
            +
                    getFormValidator(form);
         
     | 
| 
       10872 
11236 
     | 
    
         
             
                });
         
     | 
| 
       10873 
     | 
    
         
            -
                function validatingFieldSelector() {
         
     | 
| 
       10874 
     | 
    
         
            -
                    let includes = config.fieldSelectors.map((selector) => `${selector}[up-validate], [up-validate] ${selector}`);
         
     | 
| 
       10875 
     | 
    
         
            -
                    let excludes = ['[up-validate=false]'];
         
     | 
| 
       10876 
     | 
    
         
            -
                    return e.unionSelector(includes, excludes);
         
     | 
| 
       10877 
     | 
    
         
            -
                }
         
     | 
| 
       10878 
11237 
     | 
    
         
             
                up.compiler('[up-switch]', (switcher) => {
         
     | 
| 
       10879 
     | 
    
         
            -
                     
     | 
| 
       10880 
     | 
    
         
            -
                });
         
     | 
| 
       10881 
     | 
    
         
            -
                up.on('change', '[up-switch]', (_event, switcher) => {
         
     | 
| 
       10882 
     | 
    
         
            -
                    switchTargets(switcher);
         
     | 
| 
       10883 
     | 
    
         
            -
                });
         
     | 
| 
       10884 
     | 
    
         
            -
                up.compiler('[up-show-for]:not(.up-switched), [up-hide-for]:not(.up-switched)', (element) => {
         
     | 
| 
       10885 
     | 
    
         
            -
                    switchTarget(element);
         
     | 
| 
      
 11238 
     | 
    
         
            +
                    return new up.Switcher(switcher).start();
         
     | 
| 
       10886 
11239 
     | 
    
         
             
                });
         
     | 
| 
       10887 
11240 
     | 
    
         
             
                up.attribute('up-watch', (formOrField) => watch(formOrField));
         
     | 
| 
       10888 
     | 
    
         
            -
                up.attribute('up-autosubmit', (formOrField) => autosubmit(formOrField));
         
     | 
| 
      
 11241 
     | 
    
         
            +
                up.attribute('up-autosubmit', (formOrField) => autosubmit(formOrField, { logPrefix: '[up-autosubmit]' }));
         
     | 
| 
       10889 
11242 
     | 
    
         
             
                return {
         
     | 
| 
       10890 
11243 
     | 
    
         
             
                    config,
         
     | 
| 
       10891 
11244 
     | 
    
         
             
                    submit,
         
     | 
| 
       10892 
11245 
     | 
    
         
             
                    submitOptions,
         
     | 
| 
       10893 
11246 
     | 
    
         
             
                    destinationOptions,
         
     | 
| 
       10894 
11247 
     | 
    
         
             
                    watchOptions,
         
     | 
| 
      
 11248 
     | 
    
         
            +
                    validateOptions,
         
     | 
| 
       10895 
11249 
     | 
    
         
             
                    isSubmittable,
         
     | 
| 
       10896 
11250 
     | 
    
         
             
                    watch,
         
     | 
| 
       10897 
11251 
     | 
    
         
             
                    validate,
         
     | 
| 
       10898 
11252 
     | 
    
         
             
                    autosubmit,
         
     | 
| 
       10899 
11253 
     | 
    
         
             
                    fieldSelector,
         
     | 
| 
       10900 
11254 
     | 
    
         
             
                    fields: findFields,
         
     | 
| 
      
 11255 
     | 
    
         
            +
                    trackFields,
         
     | 
| 
       10901 
11256 
     | 
    
         
             
                    isField,
         
     | 
| 
       10902 
11257 
     | 
    
         
             
                    submitButtons: findSubmitButtons,
         
     | 
| 
       10903 
11258 
     | 
    
         
             
                    focusedField,
         
     | 
| 
       10904 
     | 
    
         
            -
                     
     | 
| 
       10905 
     | 
    
         
            -
                     
     | 
| 
      
 11259 
     | 
    
         
            +
                    disableTemp: disableContainerTemp,
         
     | 
| 
      
 11260 
     | 
    
         
            +
                    setDisabled: setContainerDisabled,
         
     | 
| 
       10906 
11261 
     | 
    
         
             
                    getDisablePreviewFn,
         
     | 
| 
       10907 
11262 
     | 
    
         
             
                    group: findGroup,
         
     | 
| 
       10908 
11263 
     | 
    
         
             
                    groupSolution: findGroupSolution,
         
     | 
| 
       10909 
11264 
     | 
    
         
             
                    groupSelectors: getGroupSelectors,
         
     | 
| 
       10910 
11265 
     | 
    
         
             
                    get: getForm,
         
     | 
| 
       10911 
     | 
    
         
            -
                     
     | 
| 
      
 11266 
     | 
    
         
            +
                    getRegion,
         
     | 
| 
       10912 
11267 
     | 
    
         
             
                };
         
     | 
| 
       10913 
11268 
     | 
    
         
             
            })();
         
     | 
| 
       10914 
11269 
     | 
    
         
             
            up.submit = up.form.submit;
         
     | 
| 
         @@ -10918,13 +11273,12 @@ up.validate = up.form.validate; 
     | 
|
| 
       10918 
11273 
     | 
    
         | 
| 
       10919 
11274 
     | 
    
         | 
| 
       10920 
11275 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       10921 
     | 
    
         
            -
            /*  
     | 
| 
      
 11276 
     | 
    
         
            +
            /* 101 */
         
     | 
| 
       10922 
11277 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       10923 
11278 
     | 
    
         | 
| 
       10924 
11279 
     | 
    
         
             
            up.status = (function () {
         
     | 
| 
       10925 
11280 
     | 
    
         
             
                const u = up.util;
         
     | 
| 
       10926 
11281 
     | 
    
         
             
                const e = up.element;
         
     | 
| 
       10927 
     | 
    
         
            -
                let namedPreviewFns = {};
         
     | 
| 
       10928 
11282 
     | 
    
         
             
                const config = new up.Config(() => ({
         
     | 
| 
       10929 
11283 
     | 
    
         
             
                    currentClasses: ['up-current'],
         
     | 
| 
       10930 
11284 
     | 
    
         
             
                    activeClasses: ['up-active'],
         
     | 
| 
         @@ -10932,9 +11286,9 @@ up.status = (function () { 
     | 
|
| 
       10932 
11286 
     | 
    
         
             
                    navSelectors: ['[up-nav]', 'nav'],
         
     | 
| 
       10933 
11287 
     | 
    
         
             
                    noNavSelectors: ['[up-nav=false]'],
         
     | 
| 
       10934 
11288 
     | 
    
         
             
                }));
         
     | 
| 
      
 11289 
     | 
    
         
            +
                let namedPreviewFns = new up.Registry('preview');
         
     | 
| 
       10935 
11290 
     | 
    
         
             
                function reset() {
         
     | 
| 
       10936 
11291 
     | 
    
         
             
                    up.layer.root.feedbackLocation = null;
         
     | 
| 
       10937 
     | 
    
         
            -
                    namedPreviewFns = u.pickBy(namedPreviewFns, 'isDefault');
         
     | 
| 
       10938 
11292 
     | 
    
         
             
                }
         
     | 
| 
       10939 
11293 
     | 
    
         
             
                const SELECTOR_LINK = 'a, [up-href]';
         
     | 
| 
       10940 
11294 
     | 
    
         
             
                function linkCurrentURLs(link) {
         
     | 
| 
         @@ -11010,7 +11364,7 @@ up.status = (function () { 
     | 
|
| 
       11010 
11364 
     | 
    
         
             
                }
         
     | 
| 
       11011 
11365 
     | 
    
         
             
                function resolvePreviewString(str) {
         
     | 
| 
       11012 
11366 
     | 
    
         
             
                    return u.map(u.parseScalarJSONPairs(str), ([name, parsedOptions]) => {
         
     | 
| 
       11013 
     | 
    
         
            -
                        let previewFn = namedPreviewFns 
     | 
| 
      
 11367 
     | 
    
         
            +
                        let previewFn = namedPreviewFns.get(name);
         
     | 
| 
       11014 
11368 
     | 
    
         
             
                        return function (preview, runOptions) {
         
     | 
| 
       11015 
11369 
     | 
    
         
             
                            up.puts('[up-preview]', 'Showing preview %o', name);
         
     | 
| 
       11016 
11370 
     | 
    
         
             
                            return previewFn(preview, parsedOptions || runOptions);
         
     | 
| 
         @@ -11021,10 +11375,6 @@ up.status = (function () { 
     | 
|
| 
       11021 
11375 
     | 
    
         
             
                    activeElements ||= u.wrapList(origin);
         
     | 
| 
       11022 
11376 
     | 
    
         
             
                    return activeElements.map(findActivatableArea);
         
     | 
| 
       11023 
11377 
     | 
    
         
             
                }
         
     | 
| 
       11024 
     | 
    
         
            -
                function registerPreview(name, previewFn) {
         
     | 
| 
       11025 
     | 
    
         
            -
                    previewFn.isDefault = up.framework.evaling;
         
     | 
| 
       11026 
     | 
    
         
            -
                    namedPreviewFns[name] = previewFn;
         
     | 
| 
       11027 
     | 
    
         
            -
                }
         
     | 
| 
       11028 
11378 
     | 
    
         
             
                function getFeedbackClassesPreviewFn(feedbackOption, fragments) {
         
     | 
| 
       11029 
11379 
     | 
    
         
             
                    if (!feedbackOption)
         
     | 
| 
       11030 
11380 
     | 
    
         
             
                        return;
         
     | 
| 
         @@ -11069,7 +11419,7 @@ up.status = (function () { 
     | 
|
| 
       11069 
11419 
     | 
    
         
             
                up.on('up:framework:reset', reset);
         
     | 
| 
       11070 
11420 
     | 
    
         
             
                return {
         
     | 
| 
       11071 
11421 
     | 
    
         
             
                    config,
         
     | 
| 
       11072 
     | 
    
         
            -
                    preview:  
     | 
| 
      
 11422 
     | 
    
         
            +
                    preview: namedPreviewFns.put,
         
     | 
| 
       11073 
11423 
     | 
    
         
             
                    resolvePreviewFns,
         
     | 
| 
       11074 
11424 
     | 
    
         
             
                    runPreviews,
         
     | 
| 
       11075 
11425 
     | 
    
         
             
                    statusOptions,
         
     | 
| 
         @@ -11079,7 +11429,7 @@ up.preview = up.status.preview; 
     | 
|
| 
       11079 
11429 
     | 
    
         | 
| 
       11080 
11430 
     | 
    
         | 
| 
       11081 
11431 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       11082 
     | 
    
         
            -
            /*  
     | 
| 
      
 11432 
     | 
    
         
            +
            /* 102 */
         
     | 
| 
       11083 
11433 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       11084 
11434 
     | 
    
         | 
| 
       11085 
11435 
     | 
    
         
             
            up.radio = (function () {
         
     | 
| 
         @@ -11173,7 +11523,7 @@ up.radio = (function () { 
     | 
|
| 
       11173 
11523 
     | 
    
         | 
| 
       11174 
11524 
     | 
    
         | 
| 
       11175 
11525 
     | 
    
         
             
            /***/ }),
         
     | 
| 
       11176 
     | 
    
         
            -
            /*  
     | 
| 
      
 11526 
     | 
    
         
            +
            /* 103 */
         
     | 
| 
       11177 
11527 
     | 
    
         
             
            /***/ (() => {
         
     | 
| 
       11178 
11528 
     | 
    
         | 
| 
       11179 
11529 
     | 
    
         
             
            (function () {
         
     | 
| 
         @@ -11323,15 +11673,18 @@ __webpack_require__(83); 
     | 
|
| 
       11323 
11673 
     | 
    
         
             
            __webpack_require__(84);
         
     | 
| 
       11324 
11674 
     | 
    
         
             
            __webpack_require__(85);
         
     | 
| 
       11325 
11675 
     | 
    
         
             
            __webpack_require__(86);
         
     | 
| 
      
 11676 
     | 
    
         
            +
            __webpack_require__(87);
         
     | 
| 
       11326 
11677 
     | 
    
         
             
            __webpack_require__(88);
         
     | 
| 
       11327 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
      
 11678 
     | 
    
         
            +
            __webpack_require__(89);
         
     | 
| 
       11328 
11679 
     | 
    
         
             
            __webpack_require__(91);
         
     | 
| 
       11329 
11680 
     | 
    
         
             
            __webpack_require__(93);
         
     | 
| 
       11330 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
       11331 
     | 
    
         
            -
            __webpack_require__( 
     | 
| 
      
 11681 
     | 
    
         
            +
            __webpack_require__(94);
         
     | 
| 
      
 11682 
     | 
    
         
            +
            __webpack_require__(96);
         
     | 
| 
       11332 
11683 
     | 
    
         
             
            __webpack_require__(98);
         
     | 
| 
       11333 
     | 
    
         
            -
            __webpack_require__(99);
         
     | 
| 
       11334 
11684 
     | 
    
         
             
            __webpack_require__(100);
         
     | 
| 
      
 11685 
     | 
    
         
            +
            __webpack_require__(101);
         
     | 
| 
      
 11686 
     | 
    
         
            +
            __webpack_require__(102);
         
     | 
| 
      
 11687 
     | 
    
         
            +
            __webpack_require__(103);
         
     | 
| 
       11335 
11688 
     | 
    
         
             
            up.framework.onEvaled();
         
     | 
| 
       11336 
11689 
     | 
    
         | 
| 
       11337 
11690 
     | 
    
         
             
            })();
         
     |