unpoly-rails 3.2.2.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  /***/ (() => {
6
6
 
7
7
  window.up = {
8
- version: '3.2.2'
8
+ version: '3.3.0'
9
9
  };
10
10
 
11
11
 
@@ -1836,8 +1836,8 @@ up.Change.Addition = class Addition extends up.Change {
1836
1836
  this.layer.dismiss(this.dismissLayer, this.responseOption());
1837
1837
  }
1838
1838
  }
1839
- abortWhenLayerClosed() {
1840
- if (this.layer.isClosed()) {
1839
+ abortWhenLayerClosed(layer = this.layer) {
1840
+ if (layer.isClosed()) {
1841
1841
  throw new up.Aborted('Layer was closed');
1842
1842
  }
1843
1843
  }
@@ -2110,23 +2110,23 @@ up.Change.OpenLayer = class OpenLayer extends up.Change.Addition {
2110
2110
  up.hello(this.layer.element, Object.assign(Object.assign({}, this.options), { layer: this.layer }));
2111
2111
  this.handleLayerChangeRequests();
2112
2112
  this.handleScroll();
2113
- let renderResult = new up.RenderResult({
2113
+ this.renderResult = new up.RenderResult({
2114
2114
  layer: this.layer,
2115
2115
  fragments: [this.content],
2116
2116
  target: this.target,
2117
2117
  });
2118
- renderResult.finished = this.finish(renderResult);
2118
+ this.renderResult.finished = this.finish();
2119
2119
  this.layer.opening = false;
2120
2120
  this.emitOpenedEvent();
2121
2121
  this.abortWhenLayerClosed();
2122
- return renderResult;
2122
+ return this.renderResult;
2123
2123
  }
2124
- finish(renderResult) {
2124
+ finish() {
2125
2125
  return __awaiter(this, void 0, void 0, function* () {
2126
2126
  yield this.layer.startOpenAnimation();
2127
2127
  this.abortWhenLayerClosed();
2128
2128
  this.handleFocus();
2129
- return renderResult;
2129
+ return this.renderResult;
2130
2130
  });
2131
2131
  }
2132
2132
  buildLayer() {
@@ -2174,25 +2174,22 @@ up.Change.OpenLayer = class OpenLayer extends up.Change.Addition {
2174
2174
  log: `Opened new ${this.layer}`
2175
2175
  });
2176
2176
  }
2177
+ getHungrySteps() {
2178
+ return up.radio.hungrySteps({
2179
+ layer: null,
2180
+ history: (this.layer && this.layer.isHistoryVisible()),
2181
+ origin: this.options.origin,
2182
+ });
2183
+ }
2177
2184
  };
2178
2185
 
2179
2186
 
2180
2187
  /***/ }),
2181
2188
  /* 29 */
2182
- /***/ (function() {
2189
+ /***/ (() => {
2183
2190
 
2184
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2185
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2186
- return new (P || (P = Promise))(function (resolve, reject) {
2187
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2188
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2189
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2190
- step((generator = generator.apply(thisArg, _arguments || [])).next());
2191
- });
2192
- };
2193
2191
  var _a;
2194
2192
  const u = up.util;
2195
- const e = up.element;
2196
2193
  up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
2197
2194
  constructor(options) {
2198
2195
  options = up.RenderOptions.finalize(options);
@@ -2216,7 +2213,7 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
2216
2213
  }
2217
2214
  bestPreflightSelector() {
2218
2215
  this.matchPreflight();
2219
- return u.map(this.steps, 'selector').join(', ') || ':none';
2216
+ return up.fragment.targetForSteps(this.steps);
2220
2217
  }
2221
2218
  getFragments() {
2222
2219
  this.matchPreflight();
@@ -2251,152 +2248,14 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
2251
2248
  this.layer.updateHistory(this.options);
2252
2249
  }
2253
2250
  this.handleLayerChangeRequests();
2254
- this.renderResult = new up.RenderResult({
2255
- layer: this.layer,
2256
- target: this.target,
2257
- });
2258
- this.steps.reverse();
2259
- const motionEndPromises = this.steps.map(step => this.executeStep(step));
2260
- this.renderResult.finished = this.finish(motionEndPromises);
2261
- if (!this.steps.length) {
2262
- this.handleFocus(null, this.options);
2263
- this.handleScroll(null, this.options);
2264
- }
2265
- return this.renderResult;
2266
- }
2267
- finish(motionEndPromises) {
2268
- return __awaiter(this, void 0, void 0, function* () {
2269
- yield Promise.all(motionEndPromises);
2270
- this.abortWhenLayerClosed();
2271
- return this.renderResult;
2272
- });
2273
- }
2274
- addToResult(fragment) {
2275
- let newFragments = fragment.matches('up-wrapper') ? fragment.children : [fragment];
2276
- this.renderResult.fragments.unshift(...newFragments);
2277
- }
2278
- executeStep(step) {
2279
- this.setReloadAttrs(step);
2280
- switch (step.placement) {
2281
- case 'swap': {
2282
- let keepPlan = this.findKeepPlan(step);
2283
- if (keepPlan) {
2284
- this.handleFocus(step.oldElement, step);
2285
- this.handleScroll(step.oldElement, step);
2286
- return Promise.resolve();
2287
- }
2288
- else {
2289
- this.preserveKeepables(step);
2290
- const parent = step.oldElement.parentNode;
2291
- const morphOptions = Object.assign(Object.assign({}, step), { beforeStart() {
2292
- up.fragment.markAsDestroying(step.oldElement);
2293
- }, afterInsert: () => {
2294
- this.responseDoc.finalizeElement(step.newElement);
2295
- this.restoreKeepables(step);
2296
- up.hello(step.newElement, step);
2297
- this.addToResult(step.newElement);
2298
- }, beforeDetach: () => {
2299
- up.syntax.clean(step.oldElement, { layer: this.layer });
2300
- }, afterDetach() {
2301
- up.element.cleanJQuery();
2302
- up.fragment.emitDestroyed(step.oldElement, { parent, log: false });
2303
- }, scrollNew: () => {
2304
- this.handleFocus(step.newElement, step);
2305
- this.handleScroll(step.newElement, step);
2306
- } });
2307
- return up.morph(step.oldElement, step.newElement, step.transition, morphOptions);
2308
- }
2309
- }
2310
- case 'content': {
2311
- let oldWrapper = e.wrapChildren(step.oldElement);
2312
- let newWrapper = e.wrapChildren(step.newElement);
2313
- let wrapperStep = Object.assign(Object.assign({}, step), { placement: 'swap', oldElement: oldWrapper, newElement: newWrapper, focus: false });
2314
- return this.executeStep(wrapperStep).then(() => {
2315
- e.unwrap(newWrapper);
2316
- this.handleFocus(step.oldElement, step);
2317
- });
2318
- }
2319
- case 'before':
2320
- case 'after': {
2321
- let wrapper = e.wrapChildren(step.newElement);
2322
- let position = step.placement === 'before' ? 'afterbegin' : 'beforeend';
2323
- step.oldElement.insertAdjacentElement(position, wrapper);
2324
- this.responseDoc.finalizeElement(wrapper);
2325
- up.hello(wrapper, step);
2326
- this.addToResult(wrapper);
2327
- this.handleFocus(wrapper, step);
2328
- this.handleScroll(wrapper, step);
2329
- return up.animate(wrapper, step.transition, step).then(() => e.unwrap(wrapper));
2330
- }
2331
- default: {
2332
- up.fail('Unknown placement: %o', step.placement);
2333
- }
2334
- }
2335
- }
2336
- findKeepPlan(options) {
2337
- if (!this.useKeep) {
2338
- return;
2339
- }
2340
- const { oldElement, newElement } = options;
2341
- let doKeep = e.booleanAttr(oldElement, 'up-keep');
2342
- if (!doKeep) {
2343
- return;
2344
- }
2345
- let partner;
2346
- let partnerSelector = up.fragment.toTarget(oldElement);
2347
- const lookupOpts = { layer: this.layer };
2348
- if (options.descendantsOnly) {
2349
- partner = up.fragment.get(newElement, partnerSelector, lookupOpts);
2350
- }
2351
- else {
2352
- partner = up.fragment.subtree(newElement, partnerSelector, lookupOpts)[0];
2353
- }
2354
- if (partner && e.booleanAttr(partner, 'up-keep')) {
2355
- const plan = {
2356
- oldElement,
2357
- newElement: partner,
2358
- newData: up.syntax.data(partner)
2359
- };
2360
- if (!up.fragment.emitKeep(plan).defaultPrevented) {
2361
- return plan;
2362
- }
2363
- }
2364
- }
2365
- preserveKeepables(step) {
2366
- const keepPlans = [];
2367
- if (this.useKeep) {
2368
- for (let keepable of step.oldElement.querySelectorAll('[up-keep]')) {
2369
- let keepPlan = this.findKeepPlan(Object.assign(Object.assign({}, step), { oldElement: keepable, descendantsOnly: true }));
2370
- if (keepPlan) {
2371
- const keepableClone = keepable.cloneNode(true);
2372
- keepable.insertAdjacentElement('beforebegin', keepableClone);
2373
- let viewports = up.viewport.subtree(keepPlan.oldElement);
2374
- keepPlan.revivers = viewports.map(function (viewport) {
2375
- let cursorProps = up.viewport.copyCursorProps(viewport);
2376
- return () => up.viewport.copyCursorProps(cursorProps, viewport);
2377
- });
2378
- if (this.willChangeElement(document.body)) {
2379
- keepPlan.newElement.replaceWith(keepable);
2380
- }
2381
- else {
2382
- document.body.append(keepable);
2383
- }
2384
- keepPlans.push(keepPlan);
2385
- }
2386
- }
2387
- }
2388
- step.keepPlans = keepPlans;
2389
- }
2390
- restoreKeepables(step) {
2391
- for (let keepPlan of step.keepPlans) {
2392
- keepPlan.newElement.replaceWith(keepPlan.oldElement);
2393
- for (let reviver of keepPlan.revivers) {
2394
- reviver();
2395
- }
2396
- }
2251
+ let renderResult = new up.Change.UpdateSteps({
2252
+ steps: this.steps,
2253
+ noneOptions: this.options,
2254
+ }).execute(responseDoc);
2255
+ return renderResult;
2397
2256
  }
2398
2257
  matchPreflight() {
2399
- this.filterSteps((step) => {
2258
+ this.steps = this.steps.filter((step) => {
2400
2259
  const finder = new up.FragmentFinder(step);
2401
2260
  step.oldElement || (step.oldElement = finder.find());
2402
2261
  if (step.oldElement) {
@@ -2406,59 +2265,23 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
2406
2265
  throw new up.CannotMatch();
2407
2266
  }
2408
2267
  });
2409
- this.resolveOldNesting();
2268
+ this.steps = up.fragment.compressNestedSteps(this.steps);
2410
2269
  }
2411
2270
  matchPostflight() {
2412
2271
  this.matchPreflight();
2413
- if (this.options.useHungry) {
2414
- this.addHungrySteps();
2415
- }
2416
- this.filterSteps((step) => {
2417
- step.newElement = this.responseDoc.select(step.selector);
2418
- if (step.newElement) {
2419
- return true;
2420
- }
2421
- else if (!step.maybe) {
2422
- throw new up.CannotMatch();
2423
- }
2424
- });
2425
- this.resolveOldNesting();
2426
- }
2427
- filterSteps(condition) {
2428
- this.steps = u.filter(this.steps, condition);
2272
+ this.steps = this.responseDoc.selectSteps(this.steps);
2429
2273
  }
2430
- addHungrySteps() {
2431
- const hungrySolutions = up.radio.hungrySolutions({
2274
+ getHungrySteps() {
2275
+ return up.radio.hungrySteps({
2432
2276
  layer: this.layer,
2433
2277
  history: this.hasHistory(),
2434
2278
  origin: this.options.origin
2435
2279
  });
2436
- for (let { element: oldElement, target: selector } of hungrySolutions) {
2437
- const transition = e.booleanOrStringAttr(oldElement, 'transition');
2438
- const step = {
2439
- selector,
2440
- oldElement,
2441
- transition,
2442
- placement: 'swap',
2443
- maybe: true
2444
- };
2445
- this.steps.push(step);
2446
- }
2447
- }
2448
- containedByRivalStep(steps, candidateStep) {
2449
- return u.some(steps, function (rivalStep) {
2450
- return (rivalStep !== candidateStep) &&
2451
- ((rivalStep.placement === 'swap') || (rivalStep.placement === 'content')) &&
2452
- rivalStep.oldElement.contains(candidateStep.oldElement);
2453
- });
2454
- }
2455
- resolveOldNesting() {
2456
- let compressed = u.uniqBy(this.steps, 'oldElement');
2457
- compressed = u.reject(compressed, step => this.containedByRivalStep(compressed, step));
2458
- this.steps = compressed;
2459
2280
  }
2460
2281
  setScrollAndFocusOptions() {
2282
+ let focusCapsule = up.FocusCapsule.preserve(this.layer);
2461
2283
  this.steps.forEach((step, i) => {
2284
+ step.focusCapsule = focusCapsule;
2462
2285
  if (i > 0) {
2463
2286
  step.scroll = false;
2464
2287
  step.focus = false;
@@ -2467,15 +2290,6 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
2467
2290
  step.scrollBehavior = 'instant';
2468
2291
  }
2469
2292
  });
2470
- this.focusCapsule = up.FocusCapsule.preserve(this.layer);
2471
- }
2472
- handleFocus(fragment, options) {
2473
- const fragmentFocus = new up.FragmentFocus(Object.assign(Object.assign({}, options), { fragment, layer: this.layer, focusCapsule: this.focusCapsule, autoMeans: up.fragment.config.autoFocus }));
2474
- return fragmentFocus.process(options.focus);
2475
- }
2476
- handleScroll(fragment, options) {
2477
- const scrolling = new up.FragmentScrolling(Object.assign(Object.assign({}, options), { fragment, layer: this.layer, autoMeans: up.fragment.config.autoScroll }));
2478
- return scrolling.process(options.scroll);
2479
2293
  }
2480
2294
  hasHistory() {
2481
2295
  return u.evalAutoOption(this.options.history, this.hasAutoHistory.bind(this));
@@ -2484,9 +2298,6 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
2484
2298
  const oldFragments = u.map(this.steps, 'oldElement');
2485
2299
  return u.some(oldFragments, up.fragment.hasAutoHistory);
2486
2300
  }
2487
- willChangeElement(element) {
2488
- return u.some(this.steps, (step) => step.oldElement.contains(element));
2489
- }
2490
2301
  },
2491
2302
  (() => {
2492
2303
  u.memoizeMethod(_a.prototype, [
@@ -2500,6 +2311,195 @@ up.Change.UpdateLayer = (_a = class UpdateLayer extends up.Change.Addition {
2500
2311
 
2501
2312
  /***/ }),
2502
2313
  /* 30 */
2314
+ /***/ (function() {
2315
+
2316
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2317
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2318
+ return new (P || (P = Promise))(function (resolve, reject) {
2319
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2320
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2321
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2322
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2323
+ });
2324
+ };
2325
+ const u = up.util;
2326
+ const e = up.element;
2327
+ up.Change.UpdateSteps = class UpdateSteps extends up.Change.Addition {
2328
+ constructor(options) {
2329
+ super(options);
2330
+ this.noneOptions = options.noneOptions || {};
2331
+ this.steps = u.copy(options.steps);
2332
+ }
2333
+ execute(responseDoc) {
2334
+ var _a;
2335
+ this.responseDoc = responseDoc;
2336
+ this.steps = responseDoc.selectSteps(this.steps);
2337
+ if (!this.steps.length) {
2338
+ return this.executeNone();
2339
+ }
2340
+ this.renderResult = new up.RenderResult({
2341
+ layer: (_a = this.steps[0]) === null || _a === void 0 ? void 0 : _a.layer,
2342
+ target: up.fragment.targetForSteps(this.steps),
2343
+ });
2344
+ this.steps.reverse();
2345
+ const motionEndPromises = this.steps.map(step => this.executeStep(step));
2346
+ this.renderResult.finished = this.finish(motionEndPromises);
2347
+ return this.renderResult;
2348
+ }
2349
+ executeNone() {
2350
+ this.handleFocus(null, this.noneOptions);
2351
+ this.handleScroll(null, this.noneOptions);
2352
+ return up.RenderResult.buildNone();
2353
+ }
2354
+ finish(motionEndPromises) {
2355
+ return __awaiter(this, void 0, void 0, function* () {
2356
+ yield Promise.all(motionEndPromises);
2357
+ for (let step of this.steps) {
2358
+ this.abortWhenLayerClosed(step.layer);
2359
+ }
2360
+ return this.renderResult;
2361
+ });
2362
+ }
2363
+ addToResult(fragment) {
2364
+ let newFragments = fragment.matches('up-wrapper') ? fragment.children : [fragment];
2365
+ this.renderResult.fragments.unshift(...newFragments);
2366
+ }
2367
+ executeStep(step) {
2368
+ this.setReloadAttrs(step);
2369
+ switch (step.placement) {
2370
+ case 'swap': {
2371
+ let keepPlan = this.findKeepPlan(step);
2372
+ if (keepPlan) {
2373
+ this.handleFocus(step.oldElement, step);
2374
+ this.handleScroll(step.oldElement, step);
2375
+ return Promise.resolve();
2376
+ }
2377
+ else {
2378
+ this.preserveKeepables(step);
2379
+ const parent = step.oldElement.parentNode;
2380
+ const morphOptions = Object.assign(Object.assign({}, step), { beforeStart() {
2381
+ up.fragment.markAsDestroying(step.oldElement);
2382
+ }, afterInsert: () => {
2383
+ this.responseDoc.finalizeElement(step.newElement);
2384
+ this.restoreKeepables(step);
2385
+ up.hello(step.newElement, step);
2386
+ this.addToResult(step.newElement);
2387
+ }, beforeDetach: () => {
2388
+ up.syntax.clean(step.oldElement, { layer: step.layer });
2389
+ }, afterDetach() {
2390
+ up.element.cleanJQuery();
2391
+ up.fragment.emitDestroyed(step.oldElement, { parent, log: false });
2392
+ }, scrollNew: () => {
2393
+ this.handleFocus(step.newElement, step);
2394
+ this.handleScroll(step.newElement, step);
2395
+ } });
2396
+ return up.morph(step.oldElement, step.newElement, step.transition, morphOptions);
2397
+ }
2398
+ }
2399
+ case 'content': {
2400
+ let oldWrapper = e.wrapChildren(step.oldElement);
2401
+ let newWrapper = e.wrapChildren(step.newElement);
2402
+ let wrapperStep = Object.assign(Object.assign({}, step), { placement: 'swap', oldElement: oldWrapper, newElement: newWrapper, focus: false });
2403
+ return this.executeStep(wrapperStep).then(() => {
2404
+ e.unwrap(newWrapper);
2405
+ this.handleFocus(step.oldElement, step);
2406
+ });
2407
+ }
2408
+ case 'before':
2409
+ case 'after': {
2410
+ let wrapper = e.wrapChildren(step.newElement);
2411
+ let position = step.placement === 'before' ? 'afterbegin' : 'beforeend';
2412
+ step.oldElement.insertAdjacentElement(position, wrapper);
2413
+ this.responseDoc.finalizeElement(wrapper);
2414
+ up.hello(wrapper, step);
2415
+ this.addToResult(wrapper);
2416
+ this.handleFocus(wrapper, step);
2417
+ this.handleScroll(wrapper, step);
2418
+ return up.animate(wrapper, step.transition, step).then(() => e.unwrap(wrapper));
2419
+ }
2420
+ default: {
2421
+ up.fail('Unknown placement: %o', step.placement);
2422
+ }
2423
+ }
2424
+ }
2425
+ findKeepPlan(options) {
2426
+ if (!options.useKeep) {
2427
+ return;
2428
+ }
2429
+ const { oldElement, newElement } = options;
2430
+ let doKeep = e.booleanAttr(oldElement, 'up-keep');
2431
+ if (!doKeep) {
2432
+ return;
2433
+ }
2434
+ let partner;
2435
+ let partnerSelector = up.fragment.toTarget(oldElement);
2436
+ const lookupOpts = { layer: options.layer };
2437
+ if (options.descendantsOnly) {
2438
+ partner = up.fragment.get(newElement, partnerSelector, lookupOpts);
2439
+ }
2440
+ else {
2441
+ partner = up.fragment.subtree(newElement, partnerSelector, lookupOpts)[0];
2442
+ }
2443
+ if (partner && e.booleanAttr(partner, 'up-keep')) {
2444
+ const plan = {
2445
+ oldElement,
2446
+ newElement: partner,
2447
+ newData: up.syntax.data(partner)
2448
+ };
2449
+ if (!up.fragment.emitKeep(plan).defaultPrevented) {
2450
+ return plan;
2451
+ }
2452
+ }
2453
+ }
2454
+ preserveKeepables(step) {
2455
+ const keepPlans = [];
2456
+ if (step.useKeep) {
2457
+ for (let keepable of step.oldElement.querySelectorAll('[up-keep]')) {
2458
+ let keepPlan = this.findKeepPlan(Object.assign(Object.assign({}, step), { oldElement: keepable, descendantsOnly: true }));
2459
+ if (keepPlan) {
2460
+ const keepableClone = keepable.cloneNode(true);
2461
+ keepable.insertAdjacentElement('beforebegin', keepableClone);
2462
+ let viewports = up.viewport.subtree(keepPlan.oldElement);
2463
+ keepPlan.revivers = viewports.map(function (viewport) {
2464
+ let cursorProps = up.viewport.copyCursorProps(viewport);
2465
+ return () => up.viewport.copyCursorProps(cursorProps, viewport);
2466
+ });
2467
+ if (this.willChangeElement(document.body)) {
2468
+ keepPlan.newElement.replaceWith(keepable);
2469
+ }
2470
+ else {
2471
+ document.body.append(keepable);
2472
+ }
2473
+ keepPlans.push(keepPlan);
2474
+ }
2475
+ }
2476
+ }
2477
+ step.keepPlans = keepPlans;
2478
+ }
2479
+ restoreKeepables(step) {
2480
+ for (let keepPlan of step.keepPlans) {
2481
+ keepPlan.newElement.replaceWith(keepPlan.oldElement);
2482
+ for (let reviver of keepPlan.revivers) {
2483
+ reviver();
2484
+ }
2485
+ }
2486
+ }
2487
+ willChangeElement(element) {
2488
+ return u.some(this.steps, (step) => step.oldElement.contains(element));
2489
+ }
2490
+ handleFocus(fragment, options) {
2491
+ const fragmentFocus = new up.FragmentFocus(Object.assign(Object.assign({}, options), { fragment, autoMeans: up.fragment.config.autoFocus }));
2492
+ return fragmentFocus.process(options.focus);
2493
+ }
2494
+ handleScroll(fragment, options) {
2495
+ const scrolling = new up.FragmentScrolling(Object.assign(Object.assign({}, options), { fragment, autoMeans: up.fragment.config.autoScroll }));
2496
+ return scrolling.process(options.scroll);
2497
+ }
2498
+ };
2499
+
2500
+
2501
+ /***/ }),
2502
+ /* 31 */
2503
2503
  /***/ (() => {
2504
2504
 
2505
2505
  const u = up.util;
@@ -2572,7 +2572,7 @@ up.Change.CloseLayer = class CloseLayer extends up.Change.Removal {
2572
2572
 
2573
2573
 
2574
2574
  /***/ }),
2575
- /* 31 */
2575
+ /* 32 */
2576
2576
  /***/ (() => {
2577
2577
 
2578
2578
  var _a;
@@ -2652,7 +2652,7 @@ up.Change.FromURL = (_a = class FromURL extends up.Change {
2652
2652
 
2653
2653
 
2654
2654
  /***/ }),
2655
- /* 32 */
2655
+ /* 33 */
2656
2656
  /***/ (function() {
2657
2657
 
2658
2658
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -2787,7 +2787,7 @@ up.Change.FromResponse = (_a = class FromResponse extends up.Change {
2787
2787
 
2788
2788
 
2789
2789
  /***/ }),
2790
- /* 33 */
2790
+ /* 34 */
2791
2791
  /***/ (() => {
2792
2792
 
2793
2793
  var _a;
@@ -2835,9 +2835,31 @@ up.Change.FromContent = (_a = class FromContent extends up.Change {
2835
2835
  return this.seekPlan(this.executePlan.bind(this)) || this.cannotMatchPostflightTarget();
2836
2836
  }
2837
2837
  executePlan(matchedPlan) {
2838
- let result = matchedPlan.execute(this.getResponseDoc(), this.onPlanApplicable.bind(this, matchedPlan));
2839
- result.options = this.options;
2840
- return result;
2838
+ let result;
2839
+ try {
2840
+ result = matchedPlan.execute(this.getResponseDoc(), this.onPlanApplicable.bind(this, matchedPlan));
2841
+ result.options = this.options;
2842
+ this.executeHungry(matchedPlan, result);
2843
+ return result;
2844
+ }
2845
+ catch (error) {
2846
+ if (this.isApplicablePlanError(error)) {
2847
+ this.executeHungry(matchedPlan, result);
2848
+ }
2849
+ throw error;
2850
+ }
2851
+ }
2852
+ isApplicablePlanError(error) {
2853
+ return !(error instanceof up.CannotMatch);
2854
+ }
2855
+ executeHungry(plan, originalResult) {
2856
+ if (!this.options.useHungry)
2857
+ return;
2858
+ let hungrySteps = plan.getHungrySteps();
2859
+ let hungryResult = new up.Change.UpdateSteps({ steps: hungrySteps }).execute(this.getResponseDoc());
2860
+ if (originalResult) {
2861
+ originalResult.fragments.push(...hungryResult.fragments);
2862
+ }
2841
2863
  }
2842
2864
  onPlanApplicable(plan) {
2843
2865
  let primaryPlan = this.getPlans()[0];
@@ -2908,7 +2930,7 @@ up.Change.FromContent = (_a = class FromContent extends up.Change {
2908
2930
  return fn(plan);
2909
2931
  }
2910
2932
  catch (error) {
2911
- if (!(error instanceof up.CannotMatch)) {
2933
+ if (this.isApplicablePlanError(error)) {
2912
2934
  throw error;
2913
2935
  }
2914
2936
  }
@@ -2926,7 +2948,7 @@ up.Change.FromContent = (_a = class FromContent extends up.Change {
2926
2948
 
2927
2949
 
2928
2950
  /***/ }),
2929
- /* 34 */
2951
+ /* 35 */
2930
2952
  /***/ (() => {
2931
2953
 
2932
2954
  const u = up.util;
@@ -3037,7 +3059,7 @@ up.CompilerPass = class CompilerPass {
3037
3059
 
3038
3060
 
3039
3061
  /***/ }),
3040
- /* 35 */
3062
+ /* 36 */
3041
3063
  /***/ (() => {
3042
3064
 
3043
3065
  const u = up.util;
@@ -3150,7 +3172,7 @@ up.CSSTransition = class CSSTransition {
3150
3172
 
3151
3173
 
3152
3174
  /***/ }),
3153
- /* 36 */
3175
+ /* 37 */
3154
3176
  /***/ (() => {
3155
3177
 
3156
3178
  const u = up.util;
@@ -3191,7 +3213,7 @@ up.DestructorPass = class DestructorPass {
3191
3213
 
3192
3214
 
3193
3215
  /***/ }),
3194
- /* 37 */
3216
+ /* 38 */
3195
3217
  /***/ (() => {
3196
3218
 
3197
3219
  const u = up.util;
@@ -3292,7 +3314,7 @@ up.EventEmitter = class EventEmitter extends up.Record {
3292
3314
 
3293
3315
 
3294
3316
  /***/ }),
3295
- /* 38 */
3317
+ /* 39 */
3296
3318
  /***/ (() => {
3297
3319
 
3298
3320
  const u = up.util;
@@ -3398,7 +3420,7 @@ up.EventListener = class EventListener extends up.Record {
3398
3420
 
3399
3421
 
3400
3422
  /***/ }),
3401
- /* 39 */
3423
+ /* 40 */
3402
3424
  /***/ (() => {
3403
3425
 
3404
3426
  const u = up.util;
@@ -3470,7 +3492,7 @@ up.EventListenerGroup = class EventListenerGroup extends up.Record {
3470
3492
 
3471
3493
 
3472
3494
  /***/ }),
3473
- /* 40 */
3495
+ /* 41 */
3474
3496
  /***/ (function() {
3475
3497
 
3476
3498
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -3597,7 +3619,7 @@ up.FieldWatcher = class FieldWatcher {
3597
3619
 
3598
3620
 
3599
3621
  /***/ }),
3600
- /* 41 */
3622
+ /* 42 */
3601
3623
  /***/ (function() {
3602
3624
 
3603
3625
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -3795,7 +3817,7 @@ up.FormValidator = class FormValidator {
3795
3817
 
3796
3818
 
3797
3819
  /***/ }),
3798
- /* 42 */
3820
+ /* 43 */
3799
3821
  /***/ (() => {
3800
3822
 
3801
3823
  up.FocusCapsule = class FocusCapsule {
@@ -3825,7 +3847,7 @@ up.FocusCapsule = class FocusCapsule {
3825
3847
 
3826
3848
 
3827
3849
  /***/ }),
3828
- /* 43 */
3850
+ /* 44 */
3829
3851
  /***/ (() => {
3830
3852
 
3831
3853
  const u = up.util;
@@ -3889,7 +3911,7 @@ up.FragmentProcessor = class FragmentProcessor extends up.Record {
3889
3911
 
3890
3912
 
3891
3913
  /***/ }),
3892
- /* 44 */
3914
+ /* 45 */
3893
3915
  /***/ (() => {
3894
3916
 
3895
3917
  const DESCENDANT_SELECTOR = /^([^ >+(]+) (.+)$/;
@@ -3932,7 +3954,7 @@ up.FragmentFinder = class FragmentFinder {
3932
3954
 
3933
3955
 
3934
3956
  /***/ }),
3935
- /* 45 */
3957
+ /* 46 */
3936
3958
  /***/ (() => {
3937
3959
 
3938
3960
  const u = up.util;
@@ -4017,7 +4039,7 @@ up.FragmentFocus = class FragmentFocus extends up.FragmentProcessor {
4017
4039
 
4018
4040
 
4019
4041
  /***/ }),
4020
- /* 46 */
4042
+ /* 47 */
4021
4043
  /***/ (() => {
4022
4044
 
4023
4045
  const e = up.element;
@@ -4123,7 +4145,7 @@ up.FragmentPolling = class FragmentPolling {
4123
4145
 
4124
4146
 
4125
4147
  /***/ }),
4126
- /* 47 */
4148
+ /* 48 */
4127
4149
  /***/ (() => {
4128
4150
 
4129
4151
  const u = up.util;
@@ -4187,7 +4209,7 @@ up.FragmentScrolling = class FragmentScrolling extends up.FragmentProcessor {
4187
4209
 
4188
4210
 
4189
4211
  /***/ }),
4190
- /* 48 */
4212
+ /* 49 */
4191
4213
  /***/ (() => {
4192
4214
 
4193
4215
  const e = up.element;
@@ -4410,7 +4432,7 @@ up.Layer = class Layer extends up.Record {
4410
4432
 
4411
4433
 
4412
4434
  /***/ }),
4413
- /* 49 */
4435
+ /* 50 */
4414
4436
  /***/ (() => {
4415
4437
 
4416
4438
  const e = up.element;
@@ -4690,7 +4712,7 @@ up.Layer.Overlay = class Overlay extends up.Layer {
4690
4712
 
4691
4713
 
4692
4714
  /***/ }),
4693
- /* 50 */
4715
+ /* 51 */
4694
4716
  /***/ (() => {
4695
4717
 
4696
4718
  up.Layer.OverlayWithTether = class OverlayWithTether extends up.Layer.Overlay {
@@ -4727,7 +4749,7 @@ up.Layer.OverlayWithTether = class OverlayWithTether extends up.Layer.Overlay {
4727
4749
 
4728
4750
 
4729
4751
  /***/ }),
4730
- /* 51 */
4752
+ /* 52 */
4731
4753
  /***/ (() => {
4732
4754
 
4733
4755
  var _a;
@@ -4765,7 +4787,7 @@ up.Layer.OverlayWithViewport = (_a = class OverlayWithViewport extends up.Layer.
4765
4787
 
4766
4788
 
4767
4789
  /***/ }),
4768
- /* 52 */
4790
+ /* 53 */
4769
4791
  /***/ (() => {
4770
4792
 
4771
4793
  var _a;
@@ -4811,7 +4833,7 @@ up.Layer.Root = (_a = class Root extends up.Layer {
4811
4833
 
4812
4834
 
4813
4835
  /***/ }),
4814
- /* 53 */
4836
+ /* 54 */
4815
4837
  /***/ (() => {
4816
4838
 
4817
4839
  var _a;
@@ -4822,7 +4844,7 @@ up.Layer.Modal = (_a = class Modal extends up.Layer.OverlayWithViewport {
4822
4844
 
4823
4845
 
4824
4846
  /***/ }),
4825
- /* 54 */
4847
+ /* 55 */
4826
4848
  /***/ (() => {
4827
4849
 
4828
4850
  var _a;
@@ -4833,7 +4855,7 @@ up.Layer.Popup = (_a = class Popup extends up.Layer.OverlayWithTether {
4833
4855
 
4834
4856
 
4835
4857
  /***/ }),
4836
- /* 55 */
4858
+ /* 56 */
4837
4859
  /***/ (() => {
4838
4860
 
4839
4861
  var _a;
@@ -4844,7 +4866,7 @@ up.Layer.Drawer = (_a = class Drawer extends up.Layer.OverlayWithViewport {
4844
4866
 
4845
4867
 
4846
4868
  /***/ }),
4847
- /* 56 */
4869
+ /* 57 */
4848
4870
  /***/ (() => {
4849
4871
 
4850
4872
  var _a;
@@ -4855,7 +4877,7 @@ up.Layer.Cover = (_a = class Cover extends up.Layer.OverlayWithViewport {
4855
4877
 
4856
4878
 
4857
4879
  /***/ }),
4858
- /* 57 */
4880
+ /* 58 */
4859
4881
  /***/ (() => {
4860
4882
 
4861
4883
  const u = up.util;
@@ -4945,7 +4967,7 @@ up.LayerLookup = class LayerLookup {
4945
4967
 
4946
4968
 
4947
4969
  /***/ }),
4948
- /* 58 */
4970
+ /* 59 */
4949
4971
  /***/ (() => {
4950
4972
 
4951
4973
  const u = up.util;
@@ -5058,7 +5080,7 @@ up.LayerStack = class LayerStack extends Array {
5058
5080
 
5059
5081
 
5060
5082
  /***/ }),
5061
- /* 59 */
5083
+ /* 60 */
5062
5084
  /***/ (() => {
5063
5085
 
5064
5086
  up.LinkFeedbackURLs = class LinkFeedbackURLs {
@@ -5089,7 +5111,7 @@ up.LinkFeedbackURLs = class LinkFeedbackURLs {
5089
5111
 
5090
5112
 
5091
5113
  /***/ }),
5092
- /* 60 */
5114
+ /* 61 */
5093
5115
  /***/ (() => {
5094
5116
 
5095
5117
  const u = up.util;
@@ -5159,7 +5181,7 @@ up.LinkPreloader = class LinkPreloader {
5159
5181
 
5160
5182
 
5161
5183
  /***/ }),
5162
- /* 61 */
5184
+ /* 62 */
5163
5185
  /***/ (function() {
5164
5186
 
5165
5187
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -5268,7 +5290,7 @@ up.MotionController = class MotionController {
5268
5290
 
5269
5291
 
5270
5292
  /***/ }),
5271
- /* 62 */
5293
+ /* 63 */
5272
5294
  /***/ (() => {
5273
5295
 
5274
5296
  const u = up.util;
@@ -5360,7 +5382,7 @@ up.NonceableCallback = class NonceableCallback {
5360
5382
 
5361
5383
 
5362
5384
  /***/ }),
5363
- /* 63 */
5385
+ /* 64 */
5364
5386
  /***/ (() => {
5365
5387
 
5366
5388
  const u = up.util;
@@ -5438,7 +5460,7 @@ up.OptionsParser = class OptionsParser {
5438
5460
 
5439
5461
 
5440
5462
  /***/ }),
5441
- /* 64 */
5463
+ /* 65 */
5442
5464
  /***/ (() => {
5443
5465
 
5444
5466
  const e = up.element;
@@ -5506,7 +5528,7 @@ up.OverlayFocus = class OverlayFocus {
5506
5528
 
5507
5529
 
5508
5530
  /***/ }),
5509
- /* 65 */
5531
+ /* 66 */
5510
5532
  /***/ (() => {
5511
5533
 
5512
5534
  const u = up.util;
@@ -5737,7 +5759,7 @@ up.Params = class Params {
5737
5759
 
5738
5760
 
5739
5761
  /***/ }),
5740
- /* 66 */
5762
+ /* 67 */
5741
5763
  /***/ (() => {
5742
5764
 
5743
5765
  const e = up.element;
@@ -5787,7 +5809,7 @@ up.ProgressBar = class ProgressBar {
5787
5809
 
5788
5810
 
5789
5811
  /***/ }),
5790
- /* 67 */
5812
+ /* 68 */
5791
5813
  /***/ (() => {
5792
5814
 
5793
5815
  const u = up.util;
@@ -5904,7 +5926,7 @@ up.RenderOptions = (function () {
5904
5926
 
5905
5927
 
5906
5928
  /***/ }),
5907
- /* 68 */
5929
+ /* 69 */
5908
5930
  /***/ (() => {
5909
5931
 
5910
5932
  up.RenderResult = class RenderResult extends up.Record {
@@ -5928,11 +5950,17 @@ up.RenderResult = class RenderResult extends up.Record {
5928
5950
  get fragment() {
5929
5951
  return this.fragments[0];
5930
5952
  }
5953
+ static buildNone() {
5954
+ return new this({
5955
+ target: ':none',
5956
+ finished: Promise.resolve(),
5957
+ });
5958
+ }
5931
5959
  };
5932
5960
 
5933
5961
 
5934
5962
  /***/ }),
5935
- /* 69 */
5963
+ /* 70 */
5936
5964
  /***/ (() => {
5937
5965
 
5938
5966
  var _a;
@@ -6275,7 +6303,7 @@ up.Request = (_a = class Request extends up.Record {
6275
6303
 
6276
6304
 
6277
6305
  /***/ }),
6278
- /* 70 */
6306
+ /* 71 */
6279
6307
  /***/ (function() {
6280
6308
 
6281
6309
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -6429,7 +6457,7 @@ up.Request.Cache = class Cache {
6429
6457
 
6430
6458
 
6431
6459
  /***/ }),
6432
- /* 71 */
6460
+ /* 72 */
6433
6461
  /***/ (() => {
6434
6462
 
6435
6463
  const u = up.util;
@@ -6538,7 +6566,7 @@ up.Request.Queue = class Queue {
6538
6566
 
6539
6567
 
6540
6568
  /***/ }),
6541
- /* 72 */
6569
+ /* 73 */
6542
6570
  /***/ (() => {
6543
6571
 
6544
6572
  const u = up.util;
@@ -6577,7 +6605,7 @@ up.Request.FormRenderer = class FormRenderer {
6577
6605
 
6578
6606
 
6579
6607
  /***/ }),
6580
- /* 73 */
6608
+ /* 74 */
6581
6609
  /***/ (() => {
6582
6610
 
6583
6611
  var _a;
@@ -6649,7 +6677,7 @@ up.Request.XHRRenderer = (_a = class XHRRenderer {
6649
6677
 
6650
6678
 
6651
6679
  /***/ }),
6652
- /* 74 */
6680
+ /* 75 */
6653
6681
  /***/ (() => {
6654
6682
 
6655
6683
  const u = up.util;
@@ -6732,7 +6760,7 @@ up.Response = class Response extends up.Record {
6732
6760
 
6733
6761
 
6734
6762
  /***/ }),
6735
- /* 75 */
6763
+ /* 76 */
6736
6764
  /***/ (() => {
6737
6765
 
6738
6766
  var _a;
@@ -6799,6 +6827,17 @@ up.ResponseDoc = (_a = class ResponseDoc {
6799
6827
  });
6800
6828
  return finder.find();
6801
6829
  }
6830
+ selectSteps(steps) {
6831
+ return steps.filter((step) => {
6832
+ step.newElement || (step.newElement = this.select(step.selector));
6833
+ if (step.newElement) {
6834
+ return true;
6835
+ }
6836
+ else if (!step.maybe) {
6837
+ throw new up.CannotMatch();
6838
+ }
6839
+ });
6840
+ }
6802
6841
  finalizeElement(element) {
6803
6842
  up.NonceableCallback.adoptNonces(element, this.cspNonces);
6804
6843
  if (this.scriptishNeedFix) {
@@ -6813,7 +6852,7 @@ up.ResponseDoc = (_a = class ResponseDoc {
6813
6852
 
6814
6853
 
6815
6854
  /***/ }),
6816
- /* 76 */
6855
+ /* 77 */
6817
6856
  /***/ (() => {
6818
6857
 
6819
6858
  const e = up.element;
@@ -6908,7 +6947,7 @@ up.RevealMotion = class RevealMotion {
6908
6947
 
6909
6948
 
6910
6949
  /***/ }),
6911
- /* 77 */
6950
+ /* 78 */
6912
6951
  /***/ (() => {
6913
6952
 
6914
6953
  const u = up.util;
@@ -6949,7 +6988,7 @@ up.Selector = class Selector {
6949
6988
 
6950
6989
 
6951
6990
  /***/ }),
6952
- /* 78 */
6991
+ /* 79 */
6953
6992
  /***/ (() => {
6954
6993
 
6955
6994
  const u = up.util;
@@ -7070,7 +7109,7 @@ up.Tether = class Tether {
7070
7109
 
7071
7110
 
7072
7111
  /***/ }),
7073
- /* 79 */
7112
+ /* 80 */
7074
7113
  /***/ (() => {
7075
7114
 
7076
7115
  const u = up.util;
@@ -7151,7 +7190,7 @@ up.URLPattern = class URLPattern {
7151
7190
 
7152
7191
 
7153
7192
  /***/ }),
7154
- /* 80 */
7193
+ /* 81 */
7155
7194
  /***/ (() => {
7156
7195
 
7157
7196
  up.framework = (function () {
@@ -7235,7 +7274,7 @@ up.boot = up.framework.boot;
7235
7274
 
7236
7275
 
7237
7276
  /***/ }),
7238
- /* 81 */
7277
+ /* 82 */
7239
7278
  /***/ (() => {
7240
7279
 
7241
7280
  up.event = (function () {
@@ -7338,7 +7377,7 @@ up.emit = up.event.emit;
7338
7377
 
7339
7378
 
7340
7379
  /***/ }),
7341
- /* 82 */
7380
+ /* 83 */
7342
7381
  /***/ (() => {
7343
7382
 
7344
7383
  up.protocol = (function () {
@@ -7481,7 +7520,7 @@ up.protocol = (function () {
7481
7520
 
7482
7521
 
7483
7522
  /***/ }),
7484
- /* 83 */
7523
+ /* 84 */
7485
7524
  /***/ (() => {
7486
7525
 
7487
7526
  up.log = (function () {
@@ -7566,7 +7605,7 @@ up.warn = up.log.warn;
7566
7605
 
7567
7606
 
7568
7607
  /***/ }),
7569
- /* 84 */
7608
+ /* 85 */
7570
7609
  /***/ (() => {
7571
7610
 
7572
7611
  up.syntax = (function () {
@@ -7712,7 +7751,7 @@ up.hello = up.syntax.hello;
7712
7751
 
7713
7752
 
7714
7753
  /***/ }),
7715
- /* 85 */
7754
+ /* 86 */
7716
7755
  /***/ (() => {
7717
7756
 
7718
7757
  up.history = (function () {
@@ -7850,10 +7889,10 @@ up.history = (function () {
7850
7889
 
7851
7890
 
7852
7891
  /***/ }),
7853
- /* 86 */
7892
+ /* 87 */
7854
7893
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
7855
7894
 
7856
- __webpack_require__(87);
7895
+ __webpack_require__(88);
7857
7896
  const u = up.util;
7858
7897
  const e = up.element;
7859
7898
  up.fragment = (function () {
@@ -8301,6 +8340,21 @@ up.fragment = (function () {
8301
8340
  function shouldRevalidate(request, response, options = {}) {
8302
8341
  return request.fromCache && u.evalAutoOption(options.revalidate, config.autoRevalidate, response);
8303
8342
  }
8343
+ function targetForSteps(steps) {
8344
+ return u.map(steps, 'selector').join(', ') || ':none';
8345
+ }
8346
+ function isContainedByRivalStep(steps, candidateStep) {
8347
+ return u.some(steps, function (rivalStep) {
8348
+ return (rivalStep !== candidateStep) &&
8349
+ ((rivalStep.placement === 'swap') || (rivalStep.placement === 'content')) &&
8350
+ rivalStep.oldElement.contains(candidateStep.oldElement);
8351
+ });
8352
+ }
8353
+ function compressNestedSteps(steps) {
8354
+ let compressed = u.uniqBy(steps, 'oldElement');
8355
+ compressed = u.reject(compressed, step => isContainedByRivalStep(compressed, step));
8356
+ return compressed;
8357
+ }
8304
8358
  function abort(...args) {
8305
8359
  let options = parseTargetAndOptions(args);
8306
8360
  let testFn;
@@ -8375,6 +8429,8 @@ up.fragment = (function () {
8375
8429
  splitTarget,
8376
8430
  parseTargetSteps,
8377
8431
  isAlive,
8432
+ targetForSteps,
8433
+ compressNestedSteps,
8378
8434
  };
8379
8435
  })();
8380
8436
  up.reload = up.fragment.reload;
@@ -8386,16 +8442,16 @@ u.delegate(up, ['context'], () => up.layer.current);
8386
8442
 
8387
8443
 
8388
8444
  /***/ }),
8389
- /* 87 */
8445
+ /* 88 */
8390
8446
  /***/ (() => {
8391
8447
 
8392
8448
 
8393
8449
 
8394
8450
  /***/ }),
8395
- /* 88 */
8451
+ /* 89 */
8396
8452
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
8397
8453
 
8398
- __webpack_require__(89);
8454
+ __webpack_require__(90);
8399
8455
  up.viewport = (function () {
8400
8456
  const u = up.util;
8401
8457
  const e = up.element;
@@ -8709,7 +8765,7 @@ up.viewport = (function () {
8709
8765
  tryFocus,
8710
8766
  newStateCache,
8711
8767
  focusedElementWithin,
8712
- copyCursorProps
8768
+ copyCursorProps,
8713
8769
  };
8714
8770
  })();
8715
8771
  up.focus = up.viewport.focus;
@@ -8717,13 +8773,13 @@ up.reveal = up.viewport.reveal;
8717
8773
 
8718
8774
 
8719
8775
  /***/ }),
8720
- /* 89 */
8776
+ /* 90 */
8721
8777
  /***/ (() => {
8722
8778
 
8723
8779
 
8724
8780
 
8725
8781
  /***/ }),
8726
- /* 90 */
8782
+ /* 91 */
8727
8783
  /***/ (function() {
8728
8784
 
8729
8785
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -8992,10 +9048,10 @@ up.animate = up.motion.animate;
8992
9048
 
8993
9049
 
8994
9050
  /***/ }),
8995
- /* 91 */
9051
+ /* 92 */
8996
9052
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
8997
9053
 
8998
- __webpack_require__(92);
9054
+ __webpack_require__(93);
8999
9055
  const u = up.util;
9000
9056
  up.network = (function () {
9001
9057
  const config = new up.Config(() => ({
@@ -9141,13 +9197,13 @@ up.cache = up.network.cache;
9141
9197
 
9142
9198
 
9143
9199
  /***/ }),
9144
- /* 92 */
9200
+ /* 93 */
9145
9201
  /***/ (() => {
9146
9202
 
9147
9203
 
9148
9204
 
9149
9205
  /***/ }),
9150
- /* 93 */
9206
+ /* 94 */
9151
9207
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
9152
9208
 
9153
9209
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -9159,7 +9215,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9159
9215
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9160
9216
  });
9161
9217
  };
9162
- __webpack_require__(94);
9218
+ __webpack_require__(95);
9163
9219
  const u = up.util;
9164
9220
  const e = up.element;
9165
9221
  up.layer = (function () {
@@ -9400,16 +9456,16 @@ up.layer = (function () {
9400
9456
 
9401
9457
 
9402
9458
  /***/ }),
9403
- /* 94 */
9459
+ /* 95 */
9404
9460
  /***/ (() => {
9405
9461
 
9406
9462
 
9407
9463
 
9408
9464
  /***/ }),
9409
- /* 95 */
9465
+ /* 96 */
9410
9466
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
9411
9467
 
9412
- __webpack_require__(96);
9468
+ __webpack_require__(97);
9413
9469
  up.link = (function () {
9414
9470
  const u = up.util;
9415
9471
  const e = up.element;
@@ -9699,13 +9755,13 @@ up.follow = up.link.follow;
9699
9755
 
9700
9756
 
9701
9757
  /***/ }),
9702
- /* 96 */
9758
+ /* 97 */
9703
9759
  /***/ (() => {
9704
9760
 
9705
9761
 
9706
9762
 
9707
9763
  /***/ }),
9708
- /* 97 */
9764
+ /* 98 */
9709
9765
  /***/ (() => {
9710
9766
 
9711
9767
  up.form = (function () {
@@ -10101,7 +10157,7 @@ up.validate = up.form.validate;
10101
10157
 
10102
10158
 
10103
10159
  /***/ }),
10104
- /* 98 */
10160
+ /* 99 */
10105
10161
  /***/ (() => {
10106
10162
 
10107
10163
  up.feedback = (function () {
@@ -10218,7 +10274,7 @@ up.feedback = (function () {
10218
10274
 
10219
10275
 
10220
10276
  /***/ }),
10221
- /* 99 */
10277
+ /* 100 */
10222
10278
  /***/ (() => {
10223
10279
 
10224
10280
  up.radio = (function () {
@@ -10233,7 +10289,7 @@ up.radio = (function () {
10233
10289
  function reset() {
10234
10290
  config.reset();
10235
10291
  }
10236
- function hungrySolutions({ layer, history, origin }) {
10292
+ function hungrySteps({ layer, history, origin }) {
10237
10293
  let hungrySelector = config.hungrySelectors.join(', ');
10238
10294
  let hungries = up.fragment.all(hungrySelector, { layer: 'any' });
10239
10295
  return u.filterMap(hungries, (element) => {
@@ -10247,10 +10303,21 @@ up.radio = (function () {
10247
10303
  return;
10248
10304
  }
10249
10305
  let ifLayer = e.attr(element, 'up-if-layer');
10250
- if (ifLayer !== 'any' && layer !== up.layer.get(element)) {
10306
+ let elementLayer = up.layer.get(element);
10307
+ if (ifLayer !== 'any' && layer !== elementLayer) {
10251
10308
  return;
10252
10309
  }
10253
- return { target, element };
10310
+ let transition = e.booleanOrStringAttr(element, 'up-transition');
10311
+ return {
10312
+ selector: target,
10313
+ oldElement: element,
10314
+ layer: elementLayer,
10315
+ origin,
10316
+ transition,
10317
+ placement: 'swap',
10318
+ useKeep: true,
10319
+ maybe: true,
10320
+ };
10254
10321
  });
10255
10322
  }
10256
10323
  function startPolling(fragment, options = {}) {
@@ -10287,7 +10354,7 @@ up.radio = (function () {
10287
10354
  up.on('up:framework:reset', reset);
10288
10355
  return {
10289
10356
  config,
10290
- hungrySolutions,
10357
+ hungrySteps,
10291
10358
  startPolling,
10292
10359
  stopPolling,
10293
10360
  pollIssue,
@@ -10296,7 +10363,7 @@ up.radio = (function () {
10296
10363
 
10297
10364
 
10298
10365
  /***/ }),
10299
- /* 100 */
10366
+ /* 101 */
10300
10367
  /***/ (() => {
10301
10368
 
10302
10369
  (function () {
@@ -10435,15 +10502,16 @@ __webpack_require__(83);
10435
10502
  __webpack_require__(84);
10436
10503
  __webpack_require__(85);
10437
10504
  __webpack_require__(86);
10438
- __webpack_require__(88);
10439
- __webpack_require__(90);
10505
+ __webpack_require__(87);
10506
+ __webpack_require__(89);
10440
10507
  __webpack_require__(91);
10441
- __webpack_require__(93);
10442
- __webpack_require__(95);
10443
- __webpack_require__(97);
10508
+ __webpack_require__(92);
10509
+ __webpack_require__(94);
10510
+ __webpack_require__(96);
10444
10511
  __webpack_require__(98);
10445
10512
  __webpack_require__(99);
10446
10513
  __webpack_require__(100);
10514
+ __webpack_require__(101);
10447
10515
  up.framework.onEvaled();
10448
10516
 
10449
10517
  })();