unpoly-rails 3.9.2 → 3.9.3
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 +1 -1
- data/assets/unpoly/unpoly.css +1 -0
- data/assets/unpoly/unpoly.es6.js +23 -15
- data/assets/unpoly/unpoly.es6.min.js +1 -1
- data/assets/unpoly/unpoly.js +23 -15
- data/assets/unpoly/unpoly.min.css +1 -1
- data/assets/unpoly/unpoly.min.js +1 -1
- data/lib/unpoly/rails/util.rb +13 -7
- data/lib/unpoly/rails/version.rb +1 -1
- metadata +2 -2
data/assets/unpoly/unpoly.js
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
/***/ (() => {
|
6
6
|
|
7
7
|
window.up = {
|
8
|
-
version: '3.9.
|
8
|
+
version: '3.9.3'
|
9
9
|
};
|
10
10
|
|
11
11
|
|
@@ -4664,6 +4664,7 @@ up.Layer.Overlay = class Overlay extends up.Layer {
|
|
4664
4664
|
'dismissable',
|
4665
4665
|
'dismissLabel',
|
4666
4666
|
'dismissAriaLabel',
|
4667
|
+
'trapFocus',
|
4667
4668
|
'onOpened',
|
4668
4669
|
'onAccept',
|
4669
4670
|
'onAccepted',
|
@@ -5570,33 +5571,38 @@ up.OverlayFocus = class OverlayFocus {
|
|
5570
5571
|
constructor(layer) {
|
5571
5572
|
this._layer = layer;
|
5572
5573
|
this._focusElement = this._layer.getFocusElement();
|
5574
|
+
this._trapFocus = this._layer.trapFocus;
|
5573
5575
|
}
|
5574
5576
|
moveToFront() {
|
5575
|
-
if (this.
|
5577
|
+
if (this._active) {
|
5576
5578
|
return;
|
5577
5579
|
}
|
5578
|
-
this.
|
5579
|
-
this._untrapFocus = up.on('focusin', event => this._onFocus(event));
|
5580
|
+
this._active = true;
|
5580
5581
|
this._unsetAttrs = e.setTemporaryAttrs(this._focusElement, {
|
5581
5582
|
'tabindex': '0',
|
5582
5583
|
'role': 'dialog',
|
5583
|
-
'aria-modal':
|
5584
|
+
'aria-modal': this._trapFocus.toString()
|
5584
5585
|
});
|
5585
|
-
|
5586
|
-
|
5586
|
+
if (this._trapFocus) {
|
5587
|
+
this._untrapFocus = up.on('focusin', event => this._onFocus(event));
|
5588
|
+
this._focusTrapBefore = e.affix(this._focusElement, 'beforebegin', 'up-focus-trap[tabindex=0]');
|
5589
|
+
this._focusTrapAfter = e.affix(this._focusElement, 'afterend', 'up-focus-trap[tabindex=0]');
|
5590
|
+
}
|
5587
5591
|
}
|
5588
5592
|
moveToBack() {
|
5589
5593
|
this.teardown();
|
5590
5594
|
}
|
5591
5595
|
teardown() {
|
5592
|
-
if (!this.
|
5596
|
+
if (!this._active) {
|
5593
5597
|
return;
|
5594
5598
|
}
|
5595
|
-
this.
|
5596
|
-
this._untrapFocus();
|
5599
|
+
this._active = false;
|
5597
5600
|
this._unsetAttrs();
|
5598
|
-
this.
|
5599
|
-
|
5601
|
+
if (this._trapFocus) {
|
5602
|
+
this._untrapFocus();
|
5603
|
+
this._focusTrapBefore.remove();
|
5604
|
+
this._focusTrapAfter.remove();
|
5605
|
+
}
|
5600
5606
|
}
|
5601
5607
|
_onFocus(event) {
|
5602
5608
|
const { target } = event;
|
@@ -6570,12 +6576,12 @@ up.Request.Cache = class Cache {
|
|
6570
6576
|
}
|
6571
6577
|
reindex(request) {
|
6572
6578
|
this._delete(request);
|
6579
|
+
delete request.cacheRoute;
|
6573
6580
|
this.put(request);
|
6574
6581
|
}
|
6575
6582
|
_delete(request) {
|
6576
6583
|
u.remove(this._requests, request);
|
6577
6584
|
request.cacheRoute?.delete(request);
|
6578
|
-
delete request.cacheRoute;
|
6579
6585
|
}
|
6580
6586
|
_getRoute(request) {
|
6581
6587
|
return request.cacheRoute || (this._routes[request.description] ||= new Route());
|
@@ -9546,7 +9552,8 @@ up.layer = (function () {
|
|
9546
9552
|
dismissLabel: '×',
|
9547
9553
|
dismissAriaLabel: 'Dismiss dialog',
|
9548
9554
|
dismissable: true,
|
9549
|
-
history: 'auto'
|
9555
|
+
history: 'auto',
|
9556
|
+
trapFocus: true,
|
9550
9557
|
},
|
9551
9558
|
cover: {
|
9552
9559
|
mainTargets: ['[up-main~=cover]']
|
@@ -9579,7 +9586,8 @@ up.layer = (function () {
|
|
9579
9586
|
position: 'bottom',
|
9580
9587
|
size: 'medium',
|
9581
9588
|
align: 'left',
|
9582
|
-
dismissable: 'outside key'
|
9589
|
+
dismissable: 'outside key',
|
9590
|
+
trapFocus: false,
|
9583
9591
|
},
|
9584
9592
|
foreignOverlaySelectors: ['dialog']
|
9585
9593
|
};
|
@@ -2,5 +2,5 @@
|
|
2
2
|
up-wrapper{display:inline-block}
|
3
3
|
up-bounds{position:absolute}.up-focus-hidden:focus-visible{outline:none !important}body.up-scrollbar-away{overflow-y:hidden !important;padding-right:calc(var(--up-scrollbar-width) + var(--up-original-padding-right)) !important}body.up-scrollbar-away .up-scrollbar-away{right:calc(var(--up-scrollbar-width) + var(--up-original-right)) !important}
|
4
4
|
.up-request-loader{display:none}up-progress-bar{position:fixed;top:0;left:0;z-index:999999999;height:3px;background-color:#007bff}
|
5
|
-
up-focus-trap{position:fixed;top:0;left:0;width:0;height:0}up-cover-viewport,up-drawer-viewport,up-modal-viewport,up-drawer-backdrop,up-modal-backdrop,up-cover,up-drawer,up-modal{top:0;left:0;bottom:0;right:0}up-drawer-box,up-modal-box{box-shadow:0 0 10px 1px rgba(0,0,0,.3)}up-popup{box-shadow:0 0 4px rgba(0,0,0,.3)}up-popup:focus,up-cover-box:focus,up-drawer-box:focus,up-modal-box:focus,up-cover:focus,up-drawer:focus,up-modal:focus,up-popup:focus-visible,up-cover-box:focus-visible,up-drawer-box:focus-visible,up-modal-box:focus-visible,up-cover:focus-visible,up-drawer:focus-visible,up-modal:focus-visible{outline:none}up-cover,up-drawer,up-modal{z-index:2000;position:fixed}up-drawer-backdrop,up-modal-backdrop{position:absolute;background:rgba(0,0,0,.4)}up-cover-viewport,up-drawer-viewport,up-modal-viewport{position:absolute;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;display:flex;align-items:flex-start;justify-content:center}up-popup,up-cover-box,up-drawer-box,up-modal-box{position:relative;box-sizing:border-box;max-width:100%;background-color:#fff;padding:20px;overflow-x:hidden}up-popup-content,up-cover-content,up-drawer-content,up-modal-content{display:block}up-popup{z-index:1000}up-popup-dismiss,up-cover-dismiss,up-drawer-dismiss,up-modal-dismiss{color:#888;position:absolute;top:10px;right:10px;font-size:1.7rem;line-height:.5}up-modal[nesting="0"] up-modal-viewport{padding:25px 15px}up-modal[nesting="1"] up-modal-viewport{padding:50px 30px}up-modal[nesting="2"] up-modal-viewport{padding:75px 45px}up-modal[nesting="3"] up-modal-viewport{padding:100px 60px}up-modal[nesting="4"] up-modal-viewport{padding:125px 75px}up-modal[size=small] up-modal-box{width:350px}up-modal[size=medium] up-modal-box{width:650px}up-modal[size=large] up-modal-box{width:1000px}up-modal[size=grow] up-modal-box{width:auto}up-modal[size=full] up-modal-box{width:100%}up-drawer-viewport{justify-content:flex-start}up-drawer[position=right] up-drawer-viewport{justify-content:flex-end}up-drawer-box{min-height:100vh}up-drawer[size=small] up-drawer-box{width:150px}up-drawer[size=medium] up-drawer-box{width:340px}up-drawer[size=large] up-drawer-box{width:600px}up-drawer[size=grow] up-drawer-box{width:auto}up-drawer[size=full] up-drawer-box{width:100%}up-cover-box{width:100%;min-height:100vh;padding:0}up-popup{padding:15px;text-align:left}up-popup[size=small]{width:180px}up-popup[size=medium]{width:300px}up-popup[size=large]{width:550px}up-popup[size=grow] up-popup{width:auto}up-popup[size=full] up-popup{width:100%}
|
5
|
+
up-focus-trap{position:fixed;top:0;left:0;width:0;height:0}up-cover-viewport,up-drawer-viewport,up-modal-viewport,up-drawer-backdrop,up-modal-backdrop,up-cover,up-drawer,up-modal{top:0;left:0;bottom:0;right:0}up-drawer-box,up-modal-box{box-shadow:0 0 10px 1px rgba(0,0,0,.3)}up-popup{box-shadow:0 0 4px rgba(0,0,0,.3)}up-popup:focus,up-cover-box:focus,up-drawer-box:focus,up-modal-box:focus,up-cover:focus,up-drawer:focus,up-modal:focus,up-popup:focus-visible,up-cover-box:focus-visible,up-drawer-box:focus-visible,up-modal-box:focus-visible,up-cover:focus-visible,up-drawer:focus-visible,up-modal:focus-visible{outline:none}up-cover,up-drawer,up-modal{z-index:2000;position:fixed}up-drawer-backdrop,up-modal-backdrop{position:absolute;background:rgba(0,0,0,.4)}up-cover-viewport,up-drawer-viewport,up-modal-viewport{position:absolute;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;display:flex;align-items:flex-start;justify-content:center}up-popup,up-cover-box,up-drawer-box,up-modal-box{position:relative;box-sizing:border-box;max-width:100%;background-color:#fff;padding:20px;overflow-x:hidden}up-popup-content,up-cover-content,up-drawer-content,up-modal-content{display:block}up-popup{z-index:1000}up-popup-dismiss,up-cover-dismiss,up-drawer-dismiss,up-modal-dismiss{color:#888;position:absolute;top:10px;right:10px;font-size:1.7rem;line-height:.5;cursor:pointer}up-modal[nesting="0"] up-modal-viewport{padding:25px 15px}up-modal[nesting="1"] up-modal-viewport{padding:50px 30px}up-modal[nesting="2"] up-modal-viewport{padding:75px 45px}up-modal[nesting="3"] up-modal-viewport{padding:100px 60px}up-modal[nesting="4"] up-modal-viewport{padding:125px 75px}up-modal[size=small] up-modal-box{width:350px}up-modal[size=medium] up-modal-box{width:650px}up-modal[size=large] up-modal-box{width:1000px}up-modal[size=grow] up-modal-box{width:auto}up-modal[size=full] up-modal-box{width:100%}up-drawer-viewport{justify-content:flex-start}up-drawer[position=right] up-drawer-viewport{justify-content:flex-end}up-drawer-box{min-height:100vh}up-drawer[size=small] up-drawer-box{width:150px}up-drawer[size=medium] up-drawer-box{width:340px}up-drawer[size=large] up-drawer-box{width:600px}up-drawer[size=grow] up-drawer-box{width:auto}up-drawer[size=full] up-drawer-box{width:100%}up-cover-box{width:100%;min-height:100vh;padding:0}up-popup{padding:15px;text-align:left}up-popup[size=small]{width:180px}up-popup[size=medium]{width:300px}up-popup[size=large]{width:550px}up-popup[size=grow] up-popup{width:auto}up-popup[size=full] up-popup{width:100%}
|
6
6
|
[up-clickable][role=link]{cursor:pointer}[up-expand]:not([role]),[up-expand][role=link]{cursor:pointer}
|