unpoly-rails 2.0.0.pre.rc9 → 2.0.0.pre.rc10

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of unpoly-rails might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29c0f7d238ba1da43445304e1d105040164212030467ceb43063566b9c6785b5
4
- data.tar.gz: b55dc0d3ced473078a18cdf9ee00fd0ede39bc50b435497d354c6726dbe16a56
3
+ metadata.gz: 7bd5baa3c26dc137e7944861528cbacbd458d842c20ed3864e07840161a62662
4
+ data.tar.gz: cbcf34505f475b8cbd062ab16081f49b98d904c027d0dfbd7c2a50c1871e0a09
5
5
  SHA512:
6
- metadata.gz: 5c020d0edd5b365ce563c29d96b5956cce4be079bef381dac9cd7371173422cd85aef96d841582a20f6eaeb2bf22d9cec2c1fab021b3bfc5a2f19b6547ad8e03
7
- data.tar.gz: bdd8c76a4feeea89eaa26b8cfb68a75ec28dc8cbea520c2a0003401879fd8b52276b633c2305b6a5bc6501f1ef25c1971db80185c727ba468af94466366dd192
6
+ metadata.gz: f679fc7972c6149277d204609026039daa94a4f802dfc5fbb2ec5f4926c926b2f9befa524a3e6b5fc7c1c8b63388733a230b0e7059eea172dc9b5afeea2add21
7
+ data.tar.gz: 122e0706cee0950c164dc5bf6aefc693edffa0e40218ae95037a13dacb7a1f911a9a5c04871c2e05b739a1cc47c958598ae384ed57a75bffad3c05124f872252
data/README.md CHANGED
@@ -35,6 +35,7 @@ Install dependencies for tests:
35
35
 
36
36
  - Install Ruby 2.3.8
37
37
  - Install Bundler by running `gem install bundler`
38
+ - Install Node.js (required for building the library)
38
39
  - `cd` into `spec_app`
39
40
  - Install dependencies by running `bundle install`
40
41
 
@@ -52,11 +53,9 @@ To run RSpec tests for the `unpoly-rails` gem:
52
53
 
53
54
  ### Making a new release
54
55
 
55
- We are currently feeding four release channels:
56
+ We are currently feeding two release channels:
56
57
 
57
- - Manual download from GitHub
58
58
  - npm
59
- - Bower (which is based on Git and version tags)
60
59
  - Rubygems (as the `unpoly-rails` gem)
61
60
 
62
61
  We always release to all channel simultaneously.
data/dist/unpoly.js CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  (function() {
7
7
  window.up = {
8
- version: "2.0.0-rc9"
8
+ version: "2.0.0-rc10"
9
9
  };
10
10
 
11
11
  }).call(this);
@@ -2239,7 +2239,7 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
2239
2239
  var slice = [].slice;
2240
2240
 
2241
2241
  up.element = (function() {
2242
- var CSS_LENGTH_PROPS, MATCH_FN_NAME, SINGLETON_PATTERN, SINGLETON_TAG_NAMES, affix, all, ancestor, around, attributeSelector, booleanAttr, booleanOrStringAttr, callbackAttr, closest, closestAttr, computedStyle, computedStyleNumber, concludeCSSTransition, createDocumentFromHTML, createFromHTML, createFromSelector, cssLength, elementTagName, extractFromStyleObject, first, fixedToAbsolute, getList, getOne, getRoot, hasCSSTransition, hide, idSelector, inlineStyle, insertBefore, isDetached, isInSubtree, isSingleton, isSingletonSelector, isVisible, jsonAttr, matches, metaContent, normalizeStyleValueForWrite, numberAttr, paint, remove, replace, setAttrs, setInlineStyle, setMissingAttr, setMissingAttrs, setTemporaryAttrs, setTemporaryStyle, show, stringAttr, subtree, toSelector, toggle, toggleAttr, toggleClass, trueAttributeSelector, u, unwrap, upAttrs, valueToList, wrapChildren;
2242
+ var CSS_LENGTH_PROPS, MATCH_FN_NAME, SINGLETON_PATTERN, SINGLETON_TAG_NAMES, affix, all, ancestor, around, attributeSelector, booleanAttr, booleanOrStringAttr, callbackAttr, classSelector, closest, closestAttr, computedStyle, computedStyleNumber, concludeCSSTransition, createDocumentFromHTML, createFromHTML, createFromSelector, cssLength, elementTagName, extractFromStyleObject, first, fixedToAbsolute, getList, getOne, getRoot, hasCSSTransition, hide, idSelector, inlineStyle, insertBefore, isDetached, isInSubtree, isSingleton, isSingletonSelector, isVisible, jsonAttr, matches, metaContent, normalizeStyleValueForWrite, numberAttr, paint, remove, replace, setAttrs, setInlineStyle, setMissingAttr, setMissingAttrs, setTemporaryAttrs, setTemporaryStyle, show, stringAttr, subtree, toSelector, toggle, toggleAttr, toggleClass, trueAttributeSelector, u, unwrap, upAttrs, valueToList, wrapChildren;
2243
2243
  u = up.util;
2244
2244
  MATCH_FN_NAME = up.browser.isIE11() ? 'msMatchesSelector' : 'matches';
2245
2245
 
@@ -2521,12 +2521,8 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
2521
2521
  [this WHATWG mailing list post](http://lists.w3.org/Archives/Public/public-whatwg-archive/2014Apr/0094.html).
2522
2522
 
2523
2523
  @function up.element.show
2524
- <<<<<<< HEAD:lib/assets/javascripts/unpoly/element.coffee
2525
- @stable
2526
- =======
2527
2524
  @param {Element} element
2528
- @experimental
2529
- >>>>>>> 0d20e224... Adjust docs:lib/assets/javascripts/unpoly/element.coffee.erb
2525
+ @stable
2530
2526
  */
2531
2527
  show = function(element) {
2532
2528
  return element.style.display = '';
@@ -2916,6 +2912,15 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
2916
2912
  }
2917
2913
  };
2918
2914
 
2915
+ /***
2916
+ @function up.element.classSelector
2917
+ @internal
2918
+ */
2919
+ classSelector = function(klass) {
2920
+ klass = klass.replace(/:/g, '\\:');
2921
+ return "." + klass;
2922
+ };
2923
+
2919
2924
  /***
2920
2925
  Always creates a full document with a <html> root, even if the given `html`
2921
2926
  is only a fragment.
@@ -3449,6 +3454,7 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
3449
3454
  affix: affix,
3450
3455
  toSelector: toSelector,
3451
3456
  idSelector: idSelector,
3457
+ classSelector: classSelector,
3452
3458
  isSingleton: isSingleton,
3453
3459
  isSingletonSelector: isSingletonSelector,
3454
3460
  attributeSelector: attributeSelector,
@@ -6266,66 +6272,45 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
6266
6272
 
6267
6273
 
6268
6274
  /***
6269
- This layer's mode which governs its appearance and behavior.
6270
-
6271
- Available layer modes are:
6275
+ Whether fragment updates within this layer can affect browser history and window title.
6272
6276
 
6273
- - `'root'`
6274
- - `'modal'`
6275
- - `'popup'`
6276
- - `'drawer'`
6277
- - `'cover'`
6277
+ If a layer does not have visible history, its desendant layers cannot have history either.
6278
6278
 
6279
- @property up.Layer#mode
6280
- @param {string} mode
6281
- @stable
6279
+ @property up.Layer#historyVisible
6280
+ @param {boolean} historyVisible
6282
6281
  */
6283
6282
 
6284
6283
 
6285
6284
  /***
6286
- Whether fragment updates within this layer can affect browser history and window title.
6285
+ This layer's mode which governs its appearance and behavior.
6287
6286
 
6288
- @property up.Layer#historyVisible
6289
- @param {boolean} historyVisible
6287
+ @see layer-terminology
6288
+
6289
+ @property up.Layer#mode
6290
+ @param {string} mode
6291
+ @stable
6290
6292
  */
6291
6293
 
6292
6294
 
6293
6295
  /***
6294
- This layer's context object.
6295
-
6296
- Think of *context* as [session storage](/https://makandracards.com/makandra/32865), but specific to a [layer](/up.layer)
6297
- rather than specific to an entire browser tab.
6298
-
6299
- You may access the context object's properties like a regular JavaScript object.
6296
+ This layer's [context](/context).
6300
6297
 
6301
6298
  \#\#\# Example
6302
6299
 
6300
+ You may access the context properties like a regular JavaScript object.
6301
+
6303
6302
  ```js
6304
6303
  let layer = up.layer.current
6305
6304
  layer.context.message = 'Please select a contact'
6306
6305
  console.log(layer.context) // logs "{ message: 'Please select a contact' }"
6307
6306
  ```
6308
6307
 
6309
- \#\#\# Accessing the context from the server
6310
-
6311
- The context is is sent as an `X-Up-Context` header along with every
6312
- [request](/up.request) to the server. The server may also update the updating
6313
- layer's context by including an `X-Up-Context` header in its response.
6314
-
6315
6308
  @property up.Layer#context
6316
6309
  @param {Object} context
6317
- @stable
6318
- */
6319
-
6320
-
6321
- /***
6322
- Whether fragment updates within this layer will affect [browser history](/up.history).
6323
-
6324
- If a layer does not have visible history, its desendant layers cannot have history either.
6310
+ The context object.
6325
6311
 
6326
- @property up.Layer#historyVisible
6327
- @param {boolean} historyVisible
6328
- @stable
6312
+ If no context has been set an empty object is returned.
6313
+ @experimental
6329
6314
  */
6330
6315
 
6331
6316
  Layer.prototype.keys = function() {
@@ -9348,6 +9333,23 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9348
9333
  */
9349
9334
 
9350
9335
 
9336
+ /***
9337
+ The [hash component](https://en.wikipedia.org/wiki/URI_fragment) of this request's URL.
9338
+
9339
+ The `{ hash }` property is automatically extracted from the given URL:
9340
+
9341
+ ```js
9342
+ let request = up.request({ url: '/path#section' })
9343
+ request.url // => '/path'
9344
+ request.hash // => '#section'
9345
+ ```
9346
+
9347
+ @property up.Request#hash
9348
+ @param {string} hash
9349
+ @stable
9350
+ */
9351
+
9352
+
9351
9353
  /***
9352
9354
  [Parameters](/up.Params) that should be sent as the request's payload.
9353
9355
 
@@ -9358,7 +9360,9 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9358
9360
 
9359
9361
 
9360
9362
  /***
9361
- The CSS selector that will be sent as an `X-Up-Target` header.
9363
+ The CSS selector targeted by this request.
9364
+
9365
+ The selector will be sent as an `X-Up-Target` header.
9362
9366
 
9363
9367
  @property up.Request#target
9364
9368
  @param {string} target
@@ -9367,7 +9371,10 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9367
9371
 
9368
9372
 
9369
9373
  /***
9370
- The CSS selector that will be sent as an `X-Up-Fail-Target` header.
9374
+ The CSS selector targeted by this request in case the server responds
9375
+ with an [error code](/server-errors).
9376
+
9377
+ The selector will be sent as an `X-Up-Fail-Target` header.
9371
9378
 
9372
9379
  @property up.Request#failTarget
9373
9380
  @param {string} failTarget
@@ -9378,7 +9385,7 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9378
9385
  /***
9379
9386
  An object of additional HTTP headers.
9380
9387
 
9381
- Note that Unpoly will by default send a number of custom request headers.
9388
+ Unpoly will by default send a number of custom request headers.
9382
9389
  See `up.protocol` and `up.network.config.metaKeys` for details.
9383
9390
 
9384
9391
  @property up.Request#headers
@@ -9414,25 +9421,67 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9414
9421
 
9415
9422
 
9416
9423
  /***
9417
- TODO: Docs
9424
+ The [context](/contact) of the layer targeted by this request.
9425
+
9426
+ The context object will be sent as an `X-Up-Context` header.
9418
9427
 
9419
9428
  @property up.Request#context
9420
9429
  @param {Object} context
9421
- @stable
9430
+ @experimental
9422
9431
  */
9423
9432
 
9424
9433
 
9425
9434
  /***
9426
- TODO: Docs
9435
+ The [context](/contact) of the layer targeted by this request in case the server responds with an [error code](/server-errors).
9436
+
9437
+ The context object will be sent as an `X-Up-Fail-Context` header.
9427
9438
 
9428
9439
  @property up.Request#failContext
9429
9440
  @param {Object} failContext
9430
- @stable
9441
+ @experimental
9431
9442
  */
9432
9443
 
9433
9444
 
9434
9445
  /***
9435
- TODO: Docs
9446
+ The [layer](/up.layer) targeted by this request.
9447
+
9448
+ To prevent memory leaks, this property is removed shortly after the response is received.
9449
+
9450
+ @property up.Request#layer
9451
+ @param {up.Layer} layer
9452
+ @experimental
9453
+ */
9454
+
9455
+
9456
+ /***
9457
+ The [layer](/up.layer) targeted by this request in case the server responds with an [error code](/server-errors).
9458
+
9459
+ To prevent memory leaks, this property is removed shortly after the response is received.
9460
+
9461
+ @property up.Request#failLayer
9462
+ @param {up.Layer} layer
9463
+ @experimental
9464
+ */
9465
+
9466
+
9467
+ /***
9468
+ The element that triggered the request.
9469
+
9470
+ For example, when this request was triggered by a click on a link, the lonk
9471
+ element is set as the `{ origin }`.
9472
+
9473
+ To prevent memory leaks, this property is removed shortly after the response is received.
9474
+
9475
+ @property up.Request#origin
9476
+ @param {Element} origin
9477
+ @experimental
9478
+ */
9479
+
9480
+
9481
+ /***
9482
+ The [mode](/up.Layer.prototype.mode) of the layer targeted by this request.
9483
+
9484
+ The value will be sent as an `X-Up-Mode` header.
9436
9485
 
9437
9486
  @property up.Request#mode
9438
9487
  @param {string} mode
@@ -9441,7 +9490,9 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9441
9490
 
9442
9491
 
9443
9492
  /***
9444
- TODO: Docs
9493
+ The [mode](/up.Layer.prototype.mode) of the layer targeted by this request in case the server responds with an [error code](/server-errors).
9494
+
9495
+ The value will be sent as an `X-Up-Fail-Mode` header.
9445
9496
 
9446
9497
  @property up.Request#failMode
9447
9498
  @param {string} failMode
@@ -9450,7 +9501,7 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9450
9501
 
9451
9502
 
9452
9503
  /***
9453
- TODO: Docs
9504
+ The format in which the [request params](/up.Layer.prototype.params) will be encoded.
9454
9505
 
9455
9506
  @property up.Request#contentType
9456
9507
  @param {string} contentType
@@ -9459,13 +9510,22 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
9459
9510
 
9460
9511
 
9461
9512
  /***
9462
- TODO: Docs
9513
+ The payload that the request will encode into its body.
9514
+
9515
+ By default Unpoly will build a payload from the given `{ params }` option.
9463
9516
 
9464
9517
  @property up.Request#payload
9465
9518
  @param {string} payload
9466
9519
  @stable
9467
9520
  */
9468
9521
 
9522
+
9523
+ /***
9524
+ @property up.Request#preload
9525
+ @param {boolean} preload
9526
+ @experimental
9527
+ */
9528
+
9469
9529
  Request.prototype.keys = function() {
9470
9530
  return ['method', 'url', 'hash', 'params', 'target', 'failTarget', 'headers', 'timeout', 'preload', 'cache', 'clearCache', 'layer', 'mode', 'context', 'failLayer', 'failMode', 'failContext', 'origin', 'solo', 'queueTime', 'wrapMethod', 'contentType', 'payload', 'onQueued'];
9471
9531
  };
@@ -10299,6 +10359,14 @@ It complements [native `Element` methods](https://www.w3schools.com/jsref/dom_ob
10299
10359
  @experimental
10300
10360
  */
10301
10361
 
10362
+
10363
+ /***
10364
+ Changes to the current [context](/context) as [set by the server](/X-Up-Context).
10365
+
10366
+ @property up.Response#context
10367
+ @experimental
10368
+ */
10369
+
10302
10370
  Response.prototype.keys = function() {
10303
10371
  return ['method', 'url', 'text', 'status', 'request', 'xhr', 'target', 'title', 'acceptLayer', 'dismissLayer', 'eventPlans', 'context', 'clearCache', 'headers'];
10304
10372
  };
@@ -11688,7 +11756,11 @@ document.addEventListener('up:modal:open', (event) => {
11688
11756
  This hyperlink will emit an `user:select` event when clicked:
11689
11757
 
11690
11758
  ```
11691
- <a href='/users/5" up-emit='user:select' up-emit-props='{ "id": 5, "firstName": "Alice" }'>Alice</a>
11759
+ <a href='/users/5'
11760
+ up-emit='user:select'
11761
+ up-emit-props='{ "id": 5, "firstName": "Alice" }'>
11762
+ Alice
11763
+ </a>
11692
11764
 
11693
11765
  <script>
11694
11766
  up.on('a', 'user:select', function(event) {
@@ -11703,6 +11775,7 @@ document.addEventListener('up:modal:open', (event) => {
11703
11775
  The type of the event to be emitted.
11704
11776
  @param [up-emit-props='{}']
11705
11777
  The event properties, serialized as JSON.
11778
+ @stable
11706
11779
  */
11707
11780
  executeEmitAttr = function(event, element) {
11708
11781
  var eventProps, eventType, forkedEvent;
@@ -11771,7 +11844,7 @@ There are existing implementations for various web frameworks:
11771
11844
  - [Roda](https://github.com/adam12/roda-unpoly)
11772
11845
  - [Rack](https://github.com/adam12/rack-unpoly) (Sinatra, Padrino, Hanami, Cuba, ...)
11773
11846
  - [Phoenix](https://elixirforum.com/t/unpoly-a-framework-like-turbolinks/3614/15) (Elixir)
11774
- - [PHP](https://github.com/adam12/rack-unpoly) (Symfony, Laravel, Stack)
11847
+ - [PHP](https://github.com/webstronauts/php-unpoly) (Symfony, Laravel, Stack)
11775
11848
 
11776
11849
  @module up.protocol
11777
11850
  */
@@ -12050,7 +12123,7 @@ There are existing implementations for various web frameworks:
12050
12123
  };
12051
12124
 
12052
12125
  /***
12053
- This request header contains the targeted layer's [context](/up.context), serialized as JSON.
12126
+ This request header contains the targeted layer's [context](/context), serialized as JSON.
12054
12127
 
12055
12128
  The user may choose to not send this header by configuring
12056
12129
  `up.network.config.requestMetaKeys`.
@@ -12091,11 +12164,11 @@ There are existing implementations for various web frameworks:
12091
12164
  the request was in flight will get overridden by the server-provided context.
12092
12165
 
12093
12166
  @header X-Up-Context
12094
- @stable
12167
+ @experimental
12095
12168
  */
12096
12169
 
12097
12170
  /***
12098
- This request header contains the [context](/up.context) of the layer
12171
+ This request header contains the [context](/context) of the layer
12099
12172
  targeted for a failed fragment update, serialized as JSON.
12100
12173
 
12101
12174
  A fragment update is considered *failed* if the server responds with a
@@ -12114,7 +12187,7 @@ There are existing implementations for various web frameworks:
12114
12187
  ```
12115
12188
 
12116
12189
  @header X-Up-Fail-Context
12117
- @stable
12190
+ @experimental
12118
12191
  */
12119
12192
 
12120
12193
  /***
@@ -13549,9 +13622,11 @@ In an Unpoly app, every page has an URL.
13549
13622
  register = function() {
13550
13623
  window.history.scrollRestoration = 'manual';
13551
13624
  window.addEventListener('popstate', pop);
13552
- return replace(currentLocation(), {
13553
- event: false
13554
- });
13625
+ if (up.protocol.initialRequestMethod() === 'GET') {
13626
+ return replace(currentLocation(), {
13627
+ event: false
13628
+ });
13629
+ }
13555
13630
  };
13556
13631
  if (typeof jasmine !== "undefined" && jasmine !== null) {
13557
13632
  return register();
@@ -13614,31 +13689,33 @@ In an Unpoly app, every page has an URL.
13614
13689
  })();
13615
13690
 
13616
13691
  }).call(this);
13692
+ (function() {
13693
+ var e, u,
13694
+ slice = [].slice;
13617
13695
 
13618
- /***
13619
- Fragment update API
13620
- ===================
13621
-
13622
- The `up.fragment` module exposes a high-level Javascript API to [update](/up.replace) or
13623
- [destroy](/up.destroy) page fragments.
13624
-
13625
- Fragments are [compiled](/up.compiler) elements that can be updated from a server URL.
13626
- They also exist on a layer (page, modal, popup).
13696
+ u = up.util;
13627
13697
 
13628
- Most of Unpoly's functionality (like [fragment links](/up.link) or [modals](/up.modal))
13629
- is built from `up.fragment` functions. You may use them to extend Unpoly from your
13630
- [custom Javascript](/up.syntax).
13698
+ e = up.element;
13631
13699
 
13632
- @module up.fragment
13633
- */
13634
13700
 
13635
- (function() {
13636
- var slice = [].slice;
13701
+ /***
13702
+ Fragment update API
13703
+ ===================
13704
+
13705
+ The `up.fragment` module exposes a high-level Javascript API to [update](/up.replace) or
13706
+ [destroy](/up.destroy) page fragments.
13707
+
13708
+ Fragments are [compiled](/up.compiler) elements that can be updated from a server URL.
13709
+ They also exist on a layer (page, modal, popup).
13710
+
13711
+ Most of Unpoly's functionality (like [fragment links](/up.link) or [modals](/up.modal))
13712
+ is built from `up.fragment` functions. You may use them to extend Unpoly from your
13713
+ [custom Javascript](/up.syntax).
13714
+
13715
+ @module up.fragment
13716
+ */
13637
13717
 
13638
13718
  up.fragment = (function() {
13639
- var CSS_HAS_SUFFIX_PATTERN, closest, config, contains, destroy, e, emitFragmentDestroyed, emitFragmentInserted, emitFragmentKeep, emitFragmentKept, emitFromKeepPlan, expandTargets, failKey, getAll, getDumb, getSmart, getSubtree, hasAutoHistory, hello, isDestroying, isGoodClassForTarget, isNotDestroying, markFragmentAsDestroying, matches, navigate, parseSelector, parseTargetAndOptions, reload, render, renderLocalContent, renderRemoteContent, reset, resolveOriginReference, sourceOf, successKey, timeOf, toTarget, u, visit;
13640
- u = up.util;
13641
- e = up.element;
13642
13719
 
13643
13720
  /***
13644
13721
  Configures defaults for fragment updates.
@@ -13712,6 +13789,7 @@ is built from `up.fragment` functions. You may use them to extend Unpoly from yo
13712
13789
 
13713
13790
  @stable
13714
13791
  */
13792
+ var CSS_HAS_SUFFIX_PATTERN, closest, config, contains, destroy, emitFragmentDestroyed, emitFragmentInserted, emitFragmentKeep, emitFragmentKept, emitFromKeepPlan, expandTargets, failKey, getAll, getDumb, getSmart, getSubtree, hasAutoHistory, hello, isDestroying, isGoodClassForTarget, isNotDestroying, markFragmentAsDestroying, matches, navigate, parseSelector, parseTargetAndOptions, reload, render, renderLocalContent, renderRemoteContent, reset, resolveOriginReference, sourceOf, successKey, timeOf, toTarget, visit;
13715
13793
  config = new up.Config(function() {
13716
13794
  return {
13717
13795
  badTargetClasses: [/^up-/],
@@ -13732,13 +13810,8 @@ is built from `up.fragment` functions. You may use them to extend Unpoly from yo
13732
13810
  autoScroll: ['hash', 'layer-if-main']
13733
13811
  };
13734
13812
  });
13735
- Object.defineProperty(config, 'mainTargets', {
13736
- get: function() {
13737
- return up.layer.config.any.mainTargets;
13738
- },
13739
- set: function(value) {
13740
- return up.layer.config.any.mainTargets = value;
13741
- }
13813
+ u.delegate(config, 'mainTargets', function() {
13814
+ return up.layer.config.any;
13742
13815
  });
13743
13816
  reset = function() {
13744
13817
  return config.reset();
@@ -14071,7 +14144,7 @@ is built from `up.fragment` functions. You may use them to extend Unpoly from yo
14071
14144
  This is only relevant when updating a layer that is not the [frontmost layer](/up.layer.front).
14072
14145
 
14073
14146
  @param {Object} [options.context]
14074
- An object that will be merged into the [context](/up.context) of the current layer once the fragment is rendered.
14147
+ An object that will be merged into the [context](/context) of the current layer once the fragment is rendered.
14075
14148
 
14076
14149
  @param {boolean} [options.keep=true]
14077
14150
  Whether [`[up-keep]`](/up-keep) elements will be preserved in the updated fragment.
@@ -14931,7 +15004,7 @@ is built from `up.fragment` functions. You may use them to extend Unpoly from yo
14931
15004
  element.className = 'klass'
14932
15005
  selector = up.fragment.toTarget(element) // returns '.klass'
14933
15006
 
14934
- @function up.element.toTarget
15007
+ @function up.fragment.toTarget
14935
15008
  @param {string|Element|jQuery}
14936
15009
  The element for which to create a selector.
14937
15010
  @stable
@@ -14954,7 +15027,7 @@ is built from `up.fragment` functions. You may use them to extend Unpoly from yo
14954
15027
  selector = '';
14955
15028
  for (i = 0, len = goodClasses.length; i < len; i++) {
14956
15029
  klass = goodClasses[i];
14957
- selector += "." + klass;
15030
+ selector += e.classSelector(klass);
14958
15031
  }
14959
15032
  return selector;
14960
15033
  } else {
@@ -15260,6 +15333,24 @@ is built from `up.fragment` functions. You may use them to extend Unpoly from yo
15260
15333
 
15261
15334
  up.visit = up.fragment.visit;
15262
15335
 
15336
+
15337
+ /***
15338
+ Returns the current [context](/context).
15339
+
15340
+ This is aliased as `up.layer.context`.
15341
+
15342
+ @property up.context
15343
+ @param {Object} context
15344
+ The context object.
15345
+
15346
+ If no context has been set an empty object is returned.
15347
+ @experimental
15348
+ */
15349
+
15350
+ u.delegate(up, 'context', function() {
15351
+ return up.layer.current;
15352
+ });
15353
+
15263
15354
  }).call(this);
15264
15355
 
15265
15356
  /***
@@ -17973,7 +18064,7 @@ You can define custom animations using `up.transition()` and
17973
18064
  How the overlay may be [dismissed](/closing-overlays) by the user.
17974
18065
 
17975
18066
  Supported values are `'key'`, `'outside'` and `'button'`.
17976
- See [user dismiss controls](/closing-overlays#user-facing-dismiss-controls)
18067
+ See [customizing dismiss controls](/closing-overlays#customizing-dismiss-controls)
17977
18068
  for details.
17978
18069
 
17979
18070
  You may enable multiple dismiss controls by passing an array or
@@ -18222,7 +18313,7 @@ You can define custom animations using `up.transition()` and
18222
18313
  @param [up-dismissable]
18223
18314
  How the overlay may be [dismissed](/closing-overlays) by the user.
18224
18315
 
18225
- See [user dismiss controls](/closing-overlays#user-facing-dismiss-controls)
18316
+ See [customizing dismiss controls](/closing-overlays#customizing-dismiss-controls)
18226
18317
  for details.
18227
18318
 
18228
18319
  You may enable multiple dismiss controls by passing a space-separated string.
@@ -18652,23 +18743,35 @@ You can define custom animations using `up.transition()` and
18652
18743
  @param {string} location
18653
18744
  @stable
18654
18745
  */
18746
+
18747
+ /***
18748
+ The [current layer](/up.layer.current)'s mode which governs its appearance and behavior.
18749
+
18750
+ @see layer-terminology
18751
+
18752
+ @property up.layer.mode
18753
+ @param {string} mode
18754
+ @stable
18755
+ */
18756
+
18757
+ /***
18758
+ The [context](/context) of the [current layer](/up.layer.current).
18759
+
18760
+ This is aliased as `up.context`.
18761
+
18762
+ @property up.layer.context
18763
+ @param {string} context
18764
+ The context object.
18765
+
18766
+ If no context has been set an empty object is returned.
18767
+ @experimental
18768
+ */
18655
18769
  u.delegate(api, ['accept', 'dismiss', 'isRoot', 'isOverlay', 'isFront', 'on', 'off', 'emit', 'parent', 'historyVisible', 'location', 'mode', 'context', 'element', 'contains', 'size', 'affix'], function() {
18656
18770
  return stack.current;
18657
18771
  });
18658
18772
  return api;
18659
18773
  })();
18660
18774
 
18661
-
18662
- /***
18663
- TODO: Docs
18664
- @property up.context
18665
- @pram {Object} context
18666
- */
18667
-
18668
- u.getter(up, 'context', function() {
18669
- return up.layer.context;
18670
- });
18671
-
18672
18775
  }).call(this);
18673
18776
 
18674
18777
  /***
@@ -19573,7 +19676,7 @@ new page is loading.
19573
19676
  This is only relevant when updating a layer that is not the [frontmost layer](/up.layer.front).
19574
19677
 
19575
19678
  @param [up-context]
19576
- A JSON object that will be merged into the [context](/up.context)
19679
+ A JSON object that will be merged into the [context](/context)
19577
19680
  of the current layer once the fragment is rendered.
19578
19681
 
19579
19682
  @param [up-keep='true']