diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5ee712a..bab8efb0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,44 @@
# Change Log
All notable changes to this project will be documented in this file.
+## [1.2.6] - 2021-03-18
+
+### BREAKING CHANGES
+- All Z-Stack and 3D Push properties was merged into `zStack` object. [Readme](https://github.com/roman-rr/cupertino-pane/blob/master/README.md#z-stack)
+
+```js
+let settings = {
+ ...
+ zStack: {
+ pushElements: string[];
+ minPushHeight?: number;
+ cardYOffset?: number;
+ cardZScale?: number;
+ cardContrast?: number;
+ stackZAngle?: number;
+ }
+}
+```
+
+### Extra
+- [Advanced Z-stack available](https://output.jsbin.com/benidub)
+
+### Features
+- 3D Push transitions and gestures now available as cumulative options with `pushElements` property. Define array of elements which will be pushed when main element execute transitions. All styles from all elements will be accumulated together.
+```js
+let settings = {
+ ...
+ zStack: {
+ pushElements: ['.card-1', '.card-2', '.card-3']
+ }
+}
+```
+
+### Bug Fixes
+- Click to elements fixed with `.disableDrag()` method [#140](https://github.com/roman-rr/cupertino-pane/issues/140)
+- Fixed css variable `--cupertino-pane-icon-close-color` [#139](https://github.com/roman-rr/cupertino-pane/issues/139)
+- Fixed pane jump on drag with positive scroll from lower breakpoints [#135](https://github.com/roman-rr/cupertino-pane/issues/135)
+
## [1.2.5] - 2021-02-20
### BREAKING CHANGES
@@ -23,9 +61,9 @@ body.dark {
- 3 Panes live environment [demo available](https://jsbin.com/xavifaf)
### Features
-- CSS variables available [Readme](https://github.com/roman-rr/cupertino-pane/blob/master/CHANGELOG.md#css-variables)
+- CSS variables available [Readme](https://github.com/roman-rr/cupertino-pane/blob/master/README.md#css-variables)
-### Bug Fixed
+### Bug Fixes
- Fixed styles for few panes in single DOM [#133](https://github.com/roman-rr/cupertino-pane/issues/133)
- Fixed with internal styles injector in DOM. Minified styles now injected once inside `
` tag.
- Fixed backdrop with `{ animate:false }`
diff --git a/README.md b/README.md
index 8ce3e77a..ca2ecc07 100644
--- a/README.md
+++ b/README.md
@@ -31,6 +31,9 @@ Cupertino Panes is multi-functional panes & boards with touch technologies.
* [Supporting platforms](#supporting-platforms)
* [Getting Started](#getting-started)
* [Settings](#settings)
+* [Breakpoints](#breakpoints)
+* [Z-Stack](#z-stack)
+* [Callbacks](#callback)
* [Public Methods](#public-methods)
* [Attributes](#attributes)
* [CSS Variables](#css-variables)
@@ -65,14 +68,15 @@ Support this project with your organization. Your logo will show up here with a
## Demonstration
- [Base live](https://output.jsbin.com/fuhisey)
+- [Overflow top live](https://output.jsbin.com/baguroy)
+- [Z-stack full live](https://output.jsbin.com/benidub)
+- [Z-Stack simple live](https://output.jsbin.com/daqihir)
+- [3D Push live](https://output.jsbin.com/vidaqa)
- [3 Panes live](https://jsbin.com/xavifaf)
-- [Z-Stack live](https://output.jsbin.com/wedegox)
+- [Overflow top-middle live](https://output.jsbin.com/piwecad)
- [Draggable over live](https://jsbin.com/hamedec)
- [Prevent dismiss live](https://output.jsbin.com/keravam)
- [Top-to-bottom live](https://output.jsbin.com/muhabuf)
-- [3D Push live](https://output.jsbin.com/tutegad)
-- [Overflow top live](https://output.jsbin.com/baguroy)
-- [Overflow top-middle live](https://output.jsbin.com/piwecad)
- [Follower live](https://output.jsbin.com/xogavec)
- [Apple Clips live](https://output.jsbin.com/luqaxud)
- [Bulletin live](https://output.jsbin.com/maqigod)
@@ -192,9 +196,6 @@ new CupertinoPane(element); // HTMLElement
| **fitHeight** | `boolean` | 'false' | Automatically calc and define content height as top breakpoint. Middle and bottom breakpoint will be disabled |
| **maxFitHeight** | `number` | 'null' | Define a maximum possible automatically calculated height with `fitHeight` property |
| **fitScreenHeight** | `boolean` | 'true' | On `true` will automatically adjust pane maximum height to screen height |
-| **pushElement** | `string` | Push element selector | DOM Element will be pushed and scaled |
-| **pushMinHeight** | `number` | Most bottom available point | Height from which 3d push effect will be started |
-| **pushYOffset** | `number` | Negative margin value to place pushed element upper |
| **initialBreak** | `'top' \| 'middle' \| 'bottom'` | 'middle' | Initial pane position |
| **backdrop** | `boolean` | false | Dimmed overlay will rendered with pane if `true` |
| **backdropOpacity** | `number` | 0.4 | Dimmed overlay opacity value |
@@ -220,6 +221,7 @@ new CupertinoPane(element); // HTMLElement
| **touchMoveStopPropagation** | `boolean` | false | If enabled, then propagation of "touchmove" will be stopped |
| **simulateTouch** | `boolean` | true | Simulate touch events for Desktop |
| **passiveListeners** | `boolean` | true | (Indicates that the function specified by listener will never call preventDefault()) |
+
### Breakpoints
Package now supports 3 base breakpoints
```javascript
@@ -241,6 +243,26 @@ Default top height: `window.screen.height - (135 * 0.35)`
Add property `bounce` to break and enjoy transitions in apple stocks style with `cubic-bezier(0.175, 0.885, 0.370, 1.120)`
+### Z-Stack
+Configuration for 3D push effects and z-stack
+```js
+let settings = {
+ ...
+ zStack: {
+ pushElements: ['.card-1', '.main-content'],
+ pushYOffset: 10
+ }
+}
+```
+| Property | Type | Default | Description |
+| - | - | - | - |
+| **pushElements** | `string[]` | null | DOM Element will be pushed and scaled |
+| **minPushHeight** | `number` | null | Height from which 3d push effect will be started |
+| **cardYOffset** | `number` | null | Margin value to place pushed elements upper |
+| **cardZScale** | `number` | 0.93 | Scale value for each pushed element |
+| **cardContrast** | `number` | 0.85 | Contrast value for each pushed element |
+| **stackZAngle** | `number` | 160 | Value from 0 to 3000 that define angle of z-stack in common. 0 - 150 positive expontial angle. 150 - 170 = 45 degree angle. 200 - 3000 negative exponential angle |
+
### Callbacks
The function that executes when the event fires.
| Name | Type | Description |
@@ -399,20 +421,8 @@ By default, we are now handle keyboard in hybrid mobile applications and push pa
If you would like handle this part by yourself, set option `handleKeyboard: false`.
## Future Goals
-- [Enhancement] Z-stack with N cards and proper transitions
-- [Feature] Chevron-up draggable
-- [Accurance] Draw experiment application (Normal/TimeStamp/Native) - Native Touch Plugin
-- [Showcase] Touchmove - Z-angle deviation
-- [Platforms] C++ QT version (low lewel programming)
-- [Platforms] C# Blazor (low lewel programming)
-- [Feature] R-Pane (Rectangular pane - safari video frame example)
-- [Feature] iPad slideover
-- [Platforms] RN - bridge to existed swift panes
-- [Platforms] Expo wrapper + Example + Twitter
-- [Docs] (Traffic + Carbon ads) -> Docs engine
-- [Showcase] No background - glow for view + (collaboration with arwes)
-- [Showcase] Materials (glass/metal/blur)
-- [Showcase] Apple Music F7
+Project under regularly maintanance and bug fixes.
+All **new features** and **new investigations** moved to open collective (Goals)[https://opencollective.com/cupertino-pane/conversations/all-goals-and-featured-packages-o60ddaqg]
## Contributors
We are welcome contributions of all kinds from anyone.
diff --git a/dist/cupertino-pane.esm.bundle.js b/dist/cupertino-pane.esm.bundle.js
index 3f1d3b99..0ee53745 100644
--- a/dist/cupertino-pane.esm.bundle.js
+++ b/dist/cupertino-pane.esm.bundle.js
@@ -7,7 +7,7 @@
*
* Released under the MIT License
*
- * Released on: March 16, 2021
+ * Released on: March 18, 2021
*/
/*! *****************************************************************************
@@ -344,10 +344,10 @@ class Events {
// Liam the best :)
// Event emitter
this.settings.onDragStart(t);
+ // Allow clicks by default -> disallow on move (allow click with disabled drag)
+ this.allowClick = true;
if (this.instance.disableDragEvents)
return;
- // Allow clicks by default, disallow on move
- this.allowClick = true;
// Allow touch angle by default, disallow no move with condition
this.disableDragAngle = false;
// Allow pereventDismiss by default
@@ -1262,7 +1262,7 @@ class CupertinoPane {
minPushHeight: null,
cardYOffset: 0,
cardZScale: 0.93,
- cardLessContrast: true,
+ cardContrast: 0.85,
stackZAngle: 160,
};
this.settings.zStack = Object.assign(Object.assign({}, zStackDefaults), this.settings.zStack);
@@ -1640,16 +1640,14 @@ class CupertinoPane {
let pushY = 6 + this.settings.zStack.cardYOffset; // 6 is iOS style offset for z-stacks
let yNew = -1 * (pushY * multiplicator);
let yNormal = (yNew + pushY);
- let contrastNew = Math.pow(0.85, multiplicator);
- let contrastNormal = Math.pow(0.85, multiplicator - 1);
+ let contrastNew = Math.pow(this.settings.zStack.cardContrast, multiplicator);
+ let contrastNormal = Math.pow(this.settings.zStack.cardContrast, multiplicator - 1);
// Accumulated styles from each pusher to pushed
const setStyles = (scale, y, contrast, border) => {
let exponentAngle = Math.pow(scale, this.settings.zStack.stackZAngle / 100);
pushElement.style.transform = `translateY(${y * (exponentAngle / scale)}px) scale(${scale})`;
pushElement.style.borderRadius = `${border}px`;
- if (this.settings.zStack.cardLessContrast) {
- pushElement.style.filter = `contrast(${contrast})`;
- }
+ pushElement.style.filter = `contrast(${contrast})`;
// When destroy transition and last item moved we reduce multiplicators
let lastPushed = document.querySelector(zStack[zStack.length - 1]);
if (!newPaneY && pushElement.className === lastPushed.className) {
diff --git a/dist/cupertino-pane.esm.bundle.js.map b/dist/cupertino-pane.esm.bundle.js.map
index a161b401..4831faff 100644
--- a/dist/cupertino-pane.esm.bundle.js.map
+++ b/dist/cupertino-pane.esm.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"cupertino-pane.esm.bundle.js.map","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"cupertino-pane.esm.bundle.js.map","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/dist/cupertino-pane.js b/dist/cupertino-pane.js
index 6d27cd17..ede94f4b 100644
--- a/dist/cupertino-pane.js
+++ b/dist/cupertino-pane.js
@@ -7,7 +7,7 @@
*
* Released under the MIT License
*
- * Released on: March 16, 2021
+ * Released on: March 18, 2021
*/
@@ -350,10 +350,10 @@ class Events {
// Liam the best :)
// Event emitter
this.settings.onDragStart(t);
+ // Allow clicks by default -> disallow on move (allow click with disabled drag)
+ this.allowClick = true;
if (this.instance.disableDragEvents)
return;
- // Allow clicks by default, disallow on move
- this.allowClick = true;
// Allow touch angle by default, disallow no move with condition
this.disableDragAngle = false;
// Allow pereventDismiss by default
@@ -1268,7 +1268,7 @@ class CupertinoPane {
minPushHeight: null,
cardYOffset: 0,
cardZScale: 0.93,
- cardLessContrast: true,
+ cardContrast: 0.85,
stackZAngle: 160,
};
this.settings.zStack = Object.assign(Object.assign({}, zStackDefaults), this.settings.zStack);
@@ -1646,16 +1646,14 @@ class CupertinoPane {
let pushY = 6 + this.settings.zStack.cardYOffset; // 6 is iOS style offset for z-stacks
let yNew = -1 * (pushY * multiplicator);
let yNormal = (yNew + pushY);
- let contrastNew = Math.pow(0.85, multiplicator);
- let contrastNormal = Math.pow(0.85, multiplicator - 1);
+ let contrastNew = Math.pow(this.settings.zStack.cardContrast, multiplicator);
+ let contrastNormal = Math.pow(this.settings.zStack.cardContrast, multiplicator - 1);
// Accumulated styles from each pusher to pushed
const setStyles = (scale, y, contrast, border) => {
let exponentAngle = Math.pow(scale, this.settings.zStack.stackZAngle / 100);
pushElement.style.transform = `translateY(${y * (exponentAngle / scale)}px) scale(${scale})`;
pushElement.style.borderRadius = `${border}px`;
- if (this.settings.zStack.cardLessContrast) {
- pushElement.style.filter = `contrast(${contrast})`;
- }
+ pushElement.style.filter = `contrast(${contrast})`;
// When destroy transition and last item moved we reduce multiplicators
let lastPushed = document.querySelector(zStack[zStack.length - 1]);
if (!newPaneY && pushElement.className === lastPushed.className) {
diff --git a/dist/cupertino-pane.js.map b/dist/cupertino-pane.js.map
index ccb569f8..554ae53e 100644
--- a/dist/cupertino-pane.js.map
+++ b/dist/cupertino-pane.js.map
@@ -1 +1 @@
-{"version":3,"file":"cupertino-pane.js.map","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"cupertino-pane.js.map","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/dist/cupertino-pane.min.js b/dist/cupertino-pane.min.js
index 1e0a4843..ced5f1de 100644
--- a/dist/cupertino-pane.min.js
+++ b/dist/cupertino-pane.min.js
@@ -7,7 +7,7 @@
*
* Released under the MIT License
*
- * Released on: March 16, 2021
+ * Released on: March 18, 2021
*/
if(!exports)var exports={__esModule:!0};
@@ -25,5 +25,5 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
-function __awaiter(t,e,s,i){return new(s||(s=Promise))((function(n,r){function o(t){try{h(i.next(t))}catch(t){r(t)}}function a(t){try{h(i.throw(t))}catch(t){r(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s((function(t){t(e)}))).then(o,a)}h((i=i.apply(t,e||[])).next())}))}Object.defineProperty(exports,"__esModule",{value:!0});class Support{static get touch(){return window.Modernizr&&!0===window.Modernizr.touch||!!(window.navigator.maxTouchPoints>0||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch)}static get observer(){return"MutationObserver"in window||"WebkitMutationObserver"in window}static get backdropFilter(){return CSS.supports("backdrop-filter","blur(0px)")||CSS.supports("-webkit-backdrop-filter","blur(0px)")}static get passiveListener(){let t=!1;try{const e=Object.defineProperty({},"passive",{get(){t=!0}});window.addEventListener("testPassiveListener",null,e)}catch(t){}return t}static get gestures(){return"ongesturestart"in window}static get pointerEvents(){return!!window.PointerEvent&&"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0}}class Device{constructor(){this.ios=!1,this.android=!1,this.androidChrome=!1,this.desktop=!1,this.iphone=!1,this.ipod=!1,this.ipad=!1,this.edge=!1,this.ie=!1,this.firefox=!1,this.macos=!1,this.windows=!1,this.cordova=!(!window.cordova&&!window.phonegap),this.phonegap=!(!window.cordova&&!window.phonegap),this.electron=!1,this.ionic=!!document.querySelector("ion-app");const t=window.navigator.platform,e=window.navigator.userAgent,s=window.screen.width,i=window.screen.height;let n=e.match(/(Android);?[\s\/]+([\d.]+)?/),r=e.match(/(iPad).*OS\s([\d_]+)/),o=e.match(/(iPod)(.*OS\s([\d_]+))?/),a=!this.ipad&&e.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h=e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0,l=e.indexOf("Edge/")>=0,p=e.indexOf("Gecko/")>=0&&e.indexOf("Firefox/")>=0,c="Win32"===t,d=e.toLowerCase().indexOf("electron")>=0,u="MacIntel"===t;!r&&u&&Support.touch&&(1024===s&&1366===i||834===s&&1194===i||834===s&&1112===i||768===s&&1024===i)&&(r=e.match(/(Version)\/([\d.]+)/),u=!1),this.ie=h,this.edge=l,this.firefox=p,n&&!c&&(this.os="android",this.osVersion=n[2],this.android=!0,this.androidChrome=e.toLowerCase().indexOf("chrome")>=0),(r||a||o)&&(this.os="ios",this.ios=!0),a&&!o&&(this.osVersion=a[2].replace(/_/g,"."),this.iphone=!0),r&&(this.osVersion=r[2].replace(/_/g,"."),this.ipad=!0),o&&(this.osVersion=o[3]?o[3].replace(/_/g,"."):null,this.ipod=!0),this.ios&&this.osVersion&&e.indexOf("Version/")>=0&&"10"===this.osVersion.split(".")[0]&&(this.osVersion=e.toLowerCase().split("version/")[1].split(" ")[0]),this.webView=!(!(a||r||o)||!e.match(/.*AppleWebKit(?!.*Safari)/i)&&!window.navigator.standalone)||window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches,this.webview=this.webView,this.standalone=this.webView,this.desktop=!(this.ios||this.android)||d,this.desktop&&(this.electron=d,this.macos=u,this.windows=c,this.macos&&(this.os="macos"),this.windows&&(this.os="windows")),this.pixelRatio=window.devicePixelRatio||1}}class Events{constructor(t,e,s,i){this.instance=t,this.settings=e,this.device=s,this.breakpoints=i,this.allowClick=!0,this.disableDragAngle=!1,this.pointerDown=!1,this.contentScrollTop=0,this.steps=[],this.inputBluredbyMove=!1,this.movedByKeyboard=!1,this.touchEvents=(()=>{const t=["touchstart","touchmove","touchend","touchcancel"];let e=["mousedown","mousemove","mouseup"];Support.pointerEvents&&(e=["pointerdown","pointermove","pointerup"]);const s={start:t[0],move:t[1],end:t[2],cancel:t[3]},i={start:e[0],move:e[1],end:e[2]};return Support.touch||!this.settings.simulateTouch?s:i})(),this.touchStartCb=t=>this.touchStart(t),this.touchMoveBackdropCb=t=>this.touchMoveBackdrop(t),this.touchMoveCb=t=>this.touchMove(t),this.touchEndCb=t=>this.touchEnd(t),this.onClickCb=t=>this.onClick(t),this.onKeyboardShowCb=t=>this.onKeyboardShow(t),this.onKeyboardHideCb=t=>this.onKeyboardHide(t),this.onWindowResizeCb=t=>this.onWindowResize(t)}attachAllEvents(){this.settings.dragBy?this.settings.dragBy.forEach(t=>{const e=document.querySelector(t);e&&this.eventListeners("addEventListener",e)}):this.eventListeners("addEventListener",this.instance.paneEl),this.settings.handleKeyboard&&this.device.cordova&&(window.addEventListener("keyboardWillShow",this.onKeyboardShowCb),window.addEventListener("keyboardWillHide",this.onKeyboardHideCb)),!this.settings.handleKeyboard&&this.device.cordova&&this.device.android&&window.addEventListener("keyboardWillHide",()=>{this.instance.parentEl.scrollTop=0,this.instance.parentEl.parentElement&&(this.instance.parentEl.parentElement.scrollTop=0,this.instance.parentEl.parentElement.parentElement&&(this.instance.parentEl.parentElement.parentElement.scrollTop=0))}),window.addEventListener("resize",this.onWindowResizeCb)}detachAllEvents(){this.settings.dragBy?this.settings.dragBy.forEach(t=>{const e=document.querySelector(t);e&&this.eventListeners("removeEventListener",e)}):this.eventListeners("removeEventListener",this.instance.paneEl),this.settings.handleKeyboard&&this.device.cordova&&(window.removeEventListener("keyboardWillShow",this.onKeyboardShowCb),window.removeEventListener("keyboardWillHide",this.onKeyboardHideCb)),window.removeEventListener("resize",this.onWindowResizeCb)}resetEvents(){this.detachAllEvents(),this.attachAllEvents()}eventListeners(t,e){var s,i,n;if(!Support.touch&&Support.pointerEvents)e[t](this.touchEvents.start,this.touchStartCb,!1),e[t](this.touchEvents.move,this.touchMoveCb,!1),e[t](this.touchEvents.end,this.touchEndCb,!1),null===(s=this.instance.backdropEl)||void 0===s||s[t](this.touchEvents.move,this.touchMoveBackdropCb,!1);else{if(Support.touch){const s=!("touchstart"!==this.touchEvents.start||!Support.passiveListener||!this.settings.passiveListeners)&&{passive:!0,capture:!1};e[t](this.touchEvents.start,this.touchStartCb,s),e[t](this.touchEvents.move,this.touchMoveCb,!!Support.passiveListener&&{passive:!1,capture:!1}),e[t](this.touchEvents.end,this.touchEndCb,s),null===(i=this.instance.backdropEl)||void 0===i||i[t](this.touchEvents.move,this.touchMoveBackdropCb,!!Support.passiveListener&&{passive:!1,capture:!1}),this.touchEvents.cancel&&e[t](this.touchEvents.cancel,this.touchEndCb,s)}(this.settings.simulateTouch&&!this.device.ios&&!this.device.android||this.settings.simulateTouch&&!Support.touch&&this.device.ios)&&(e[t]("mousedown",this.touchStartCb,!1),e[t]("mousemove",this.touchMoveCb,!1),e[t]("mouseup",this.touchEndCb,!1),null===(n=this.instance.backdropEl)||void 0===n||n[t]("mousemove",this.touchMoveBackdropCb,!1))}this.settings.preventClicks&&e[t]("click",this.onClickCb,!0)}touchStart(t){if(this.settings.onDragStart(t),this.instance.disableDragEvents)return;this.allowClick=!0,this.disableDragAngle=!1,this.instance.preventedDismiss=!1;const{clientY:e,clientX:s}=this.getEvetClientYX(t,"touchstart");this.startY=e,this.startX=s,"mousedown"===t.type&&(this.pointerDown=!0),this.contentScrollTop&&this.willScrolled(t)&&this.isDragScrollabe(t.path||t.composedPath())&&(this.startY+=this.contentScrollTop),this.steps.push(this.startY)}touchMoveBackdrop(t){this.settings.touchMoveStopPropagation&&t.stopPropagation()}touchMove(t){const{clientY:e,clientX:s}=this.getEvetClientYX(t,"touchmove");if(t.delta=this.steps[0]-e,this.settings.onDrag(t),this.instance.disableDragEvents)return void(this.steps=[]);if(this.disableDragAngle)return;if(this.instance.preventedDismiss)return;if(this.settings.touchMoveStopPropagation&&t.stopPropagation(),"mousemove"===t.type&&!this.pointerDown)return;const i=e-this.steps[this.steps.length-1];let n=this.instance.getPanelTransformY()+i;if(!this.isFormElement(t.target)||!this.isElementScrollable(t.target)){if(this.steps.length>2&&this.isFormElement(document.activeElement)&&!this.isFormElement(t.target)&&(document.activeElement.blur(),this.inputBluredbyMove=!0),this.settings.touchAngle){let t;const i=s-this.startX,n=e-this.startY;if(t=180*Math.atan2(Math.abs(n),Math.abs(i))/Math.PI,i*i+n*n>=25&&90-t>this.settings.touchAngle&&1===this.steps.length)return void(this.disableDragAngle=!0)}if(this.isDragScrollabe(t.path||t.composedPath())&&"auto"===this.instance.overflowEl.style.overflowY){if(this.instance.overflowEl.addEventListener("scroll",t=>{this.contentScrollTop=t.target.scrollTop}),this.settings.inverse&&this.willScrolled(t))return void(this.contentScrollTop=0);if(n>this.breakpoints.topper&&this.contentScrollTop>0||n<=this.breakpoints.topper)return}if(!this.settings.inverse&&!this.settings.upperThanTop&&n<=this.breakpoints.topper)this.instance.paneEl.style.transform=`translateY(${this.breakpoints.topper}px) translateZ(0px)`;else{if(n<=this.breakpoints.topper&&this.settings.upperThanTop){const t=(-this.breakpoints.topper+this.breakpoints.topper-this.instance.getPanelTransformY())/this.breakpoints.topper/-8;n=this.instance.getPanelTransformY()+i*t}if((!this.settings.lowerThanBottom||this.settings.inverse)&&n>=this.breakpoints.bottomer)return this.instance.paneEl.style.transform=`translateY(${this.breakpoints.bottomer}px) translateZ(0px)`,void this.instance.checkOpacityAttr(n);if(!this.instance.preventedDismiss&&this.instance.preventDismissEvent&&this.settings.bottomClose){let t=(-this.breakpoints.topper+this.breakpoints.topper-this.instance.getPanelTransformY())/this.breakpoints.topper/-8;if(n=this.instance.getPanelTransformY()+i*(.5-t),-1*(e-220-this.instance.screen_height)<=this.instance.screen_height-this.breakpoints.bottomer)return this.instance.preventedDismiss=!0,this.settings.onWillDismiss({prevented:!0}),void this.instance.moveToBreak(this.breakpoints.prevBreakpoint)}this.allowClick=!1,this.instance.checkOpacityAttr(n),this.instance.checkOverflowAttr(n),this.instance.doTransition({type:"move",translateY:n}),this.steps.push(e)}}}touchEnd(t){if(this.instance.disableDragEvents)return;"mouseup"===t.type&&(this.pointerDown=!1);let e=this.breakpoints.getClosestBreakY();const s=this.steps[this.steps.length-1]-this.steps[this.steps.length-2],i=window.hasOwnProperty("cordova")?this.settings.fastSwipeSensivity+1:this.settings.fastSwipeSensivity;if(Math.abs(s)>=i&&(e=this.instance.swipeNextPoint(s,i,e),this.settings.fastSwipeClose&&this.breakpoints.currentBreakpointthis.fixAndroidResize(),20),this.movedByKeyboard=!0,this.breakpoints.prevBreakpoint=Object.entries(this.breakpoints.breaks).find(t=>t[1]===this.instance.getPanelTransformY())[0];let e=this.settings.breaks[this.instance.currentBreak()].height+t.keyboardHeight;window.matchMedia("(orientation: landscape)").matches&&(e=this.instance.screen_height),e>this.instance.screen_height-80&&(e=this.instance.screen_height-80),e-50>=this.settings.breaks[this.instance.currentBreak()].height&&this.instance.moveToHeight(e),setTimeout(()=>{this.instance.setOverflowHeight(t.keyboardHeight-this.settings.topperOverflowOffset),this.instance.overflowEl.scrollTop=document.activeElement.offsetTop},300)}onKeyboardHide(t){this.movedByKeyboard&&this.isOnViewport()&&(this.device.android&&this.fixAndroidResize(),this.movedByKeyboard=!1,this.instance.setOverflowHeight(),this.inputBluredbyMove?this.inputBluredbyMove=!1:this.instance.isHidden()||this.instance.moveToBreak(this.breakpoints.prevBreakpoint))}onWindowResize(t){return __awaiter(this,void 0,void 0,(function*(){yield new Promise(t=>setTimeout(()=>t(!0),150)),this.instance.updateScreenHeights(),this.breakpoints.buildBreakpoints(JSON.parse(this.breakpoints.lockedBreakpoints),!1)}))}getEvetClientYX(t,e){const s=t.type===e&&t.targetTouches&&(t.targetTouches[0]||t.changedTouches[0]);return{clientY:t.type===e?s.clientY:t.clientY,clientX:t.type===e?s.clientX:t.clientX}}fixAndroidResize(){if(!this.instance.paneEl)return;document.querySelector("ion-app");window.requestAnimationFrame(()=>{this.instance.wrapperEl.style.width="100%",this.instance.paneEl.style.position="absolute",window.requestAnimationFrame(()=>{this.instance.wrapperEl.style.width="unset",this.instance.paneEl.style.position="fixed"})})}isDragScrollabe(t){return!!t.find(t=>t===this.instance.overflowEl)}willScrolled(t){return!(!this.isElementScrollable(this.instance.overflowEl)||"hidden"===this.instance.overflowEl.style.overflow||!this.isDragScrollabe(t.path||t.composedPath()))}isPaneDescendant(t){let e=t.parentNode;for(;null!=e;){if(e==this.instance.paneEl)return!0;e=e.parentNode}return!1}isFormElement(t){return!!(t&&t.tagName&&["input","select","option","textarea","button","label"].includes(t.tagName.toLowerCase()))}isElementScrollable(t){return t.scrollHeight>t.clientHeight}isOnViewport(){return!this.instance.paneEl||0!==this.instance.paneEl.offsetWidth||0!==this.instance.paneEl.offsetHeight}}class Settings{constructor(){this.instance={initialBreak:"middle",inverse:!1,parentElement:null,followerElement:null,cssClass:null,fitHeight:!1,maxFitHeight:null,fitScreenHeight:!0,backdrop:!1,backdropOpacity:.4,animationType:"ease",animationDuration:300,dragBy:null,bottomOffset:0,bottomClose:!1,fastSwipeClose:!1,fastSwipeSensivity:3,freeMode:!1,buttonDestroy:!0,buttonClose:!0,topperOverflow:!0,topperOverflowOffset:0,lowerThanBottom:!0,upperThanTop:!1,showDraggable:!0,draggableOver:!1,clickBottomOpen:!0,preventClicks:!0,handleKeyboard:!0,simulateTouch:!0,passiveListeners:!0,touchMoveStopPropagation:!1,touchAngle:null,breaks:{},zStack:null,onDidDismiss:()=>{},onWillDismiss:()=>{},onDidPresent:()=>{},onWillPresent:()=>{},onDragStart:()=>{},onDrag:()=>{},onDragEnd:()=>{},onBackdropTap:()=>{},onTransitionStart:()=>{},onTransitionEnd:()=>{}}}}class Breakpoints{constructor(t,e){this.instance=t,this.settings=e,this.breaks={},this.calcHeightInProcess=!1,this.brs=[],this.defaultBreaksConf={top:{enabled:!0,height:window.innerHeight-47.25},middle:{enabled:!0,height:300},bottom:{enabled:!0,height:100}}}buildBreakpoints(t,e=!0){var s,i;return __awaiter(this,void 0,void 0,(function*(){if(this.breaks={top:this.instance.screenHeightOffset,middle:this.instance.screenHeightOffset,bottom:this.instance.screenHeightOffset},this.settings.fitHeight){this.settings.fitScreenHeight=!1,this.settings.initialBreak="top",this.settings.topperOverflow=!1;let e=yield this.getPaneFitHeight();this.settings.maxFitHeight&&e>this.settings.maxFitHeight&&(e=this.settings.maxFitHeight,this.settings.topperOverflow=!0),t={top:{enabled:!0,height:e},middle:{enabled:!1},bottom:{enabled:!1}}}if(["top","middle","bottom"].forEach(e=>{var s;this.breaks[e]-=this.settings.bottomOffset,this.settings.breaks[e]||(this.settings.breaks[e]=this.defaultBreaksConf[e]),t&&t[e]&&(this.settings.breaks[e]=t[e]),this.settings.fitScreenHeight&&((null===(s=this.settings.breaks[e])||void 0===s?void 0:s.height)>this.instance.screen_height&&(this.settings.breaks[e].height=this.instance.screen_height-this.settings.bottomOffset),this.settings.breaks.top&&this.settings.breaks.middle&&this.settings.breaks.top.height-50<=this.settings.breaks.middle.height&&(this.settings.breaks.middle.enabled=!1,this.settings.initialBreak="top")),this.settings.fitHeight&&"top"===e&&(this.settings.breaks[e].height>this.instance.screen_height?(this.settings.breaks[e].height=this.instance.screen_height-2*this.settings.bottomOffset,this.settings.topperOverflow=!0):this.instance.overflowEl&&!this.settings.maxFitHeight&&(this.settings.topperOverflow=!1,this.instance.overflowEl.style.overflowY="hidden")),this.settings.breaks[e]&&this.settings.breaks[e].enabled&&this.settings.breaks[e].height&&(this.settings.inverse?this.breaks[e]=this.settings.breaks[e].height:this.breaks[e]-=this.settings.breaks[e].height)}),this.lockedBreakpoints||(this.lockedBreakpoints=JSON.stringify(this.settings.breaks)),this.instance.isPanePresented()||this.settings.breaks[this.settings.initialBreak].enabled||console.warn("Cupertino Pane: Please set initialBreak for enabled breakpoint"),this.settings.breaks.middle.height>=this.settings.breaks.top.height&&console.warn("Cupertino Pane: Please set middle height lower than top height"),this.settings.breaks.middle.height<=this.settings.breaks.bottom.height&&console.warn("Cupertino Pane: Please set bottom height lower than middle height"),this.brs=[],["top","middle","bottom"].forEach(t=>{this.settings.breaks[t].enabled&&this.brs.push(this.breaks[t])}),this.topper=this.brs.reduce((t,e)=>eMath.abs(e)>Math.abs(t)?e:t),this.instance.isPanePresented()||(this.currentBreakpoint=this.breaks[this.settings.initialBreak],!this.settings.inverse||this.settings.breaks.bottom.enabled||this.settings.breaks.middle.enabled||(this.settings.topperOverflow=!1)),this.instance.isPanePresented()){if((null===(s=this.settings.breaks[this.prevBreakpoint])||void 0===s?void 0:s.enabled)&&this.instance.moveToBreak(this.prevBreakpoint),!(null===(i=this.settings.breaks[this.prevBreakpoint])||void 0===i?void 0:i.enabled)){let t=this.instance.swipeNextPoint(1,1,this.getClosestBreakY());const e=Object.entries(this.breaks).find(e=>e[1]===t);this.instance.moveToBreak(e[0])}this.instance.paneEl.style.top=this.settings.inverse?`-${this.bottomer}px`:"unset",this.instance.paneEl.style.height=this.instance.getPaneHeight()+"px",this.instance.scrollElementInit(),this.instance.checkOpacityAttr(this.currentBreakpoint),this.instance.checkOverflowAttr(this.currentBreakpoint)}}))}getCurrentBreakName(){return this.breaks.top===this.currentBreakpoint?"top":this.breaks.middle===this.currentBreakpoint?"middle":this.breaks.bottom===this.currentBreakpoint?"bottom":null}getPaneFitHeight(){return __awaiter(this,void 0,void 0,(function*(){this.calcHeightInProcess=!0;let t,e=this.instance.el.querySelectorAll("img");this.instance.el.style.height="unset",this.instance.rendered||(this.instance.el.style.visibility="hidden",this.instance.el.style.pointerEvents="none",this.instance.el.style.display="block",this.instance.wrapperEl.style.visibility="hidden",this.instance.wrapperEl.style.pointerEvents="none",this.instance.wrapperEl.style.display="block");let s=[];return e.length&&(s=Array.from(e).map(t=>new Promise(e=>{t.complete&&t.naturalHeight?e(!0):t.onload=()=>e(!0)}))),s.push(new Promise(t=>setTimeout(()=>t(!0),this.instance.rendered?0:150))),yield Promise.all(s),t=parseInt(document.defaultView.getComputedStyle(this.instance.el,"").getPropertyValue("height"))+(parseInt(document.defaultView.getComputedStyle(this.instance.el,"").getPropertyValue("margin-top"))+parseInt(document.defaultView.getComputedStyle(this.instance.el,"").getPropertyValue("margin-bottom"))),t+=this.instance.el.offsetTop,this.instance.rendered||(this.instance.el.style.visibility="unset",this.instance.el.style.pointerEvents="unset",this.instance.el.style.display="none",this.instance.wrapperEl.style.visibility="unset",this.instance.wrapperEl.style.pointerEvents="unset",this.instance.wrapperEl.style.display="none"),this.calcHeightInProcess=!1,t}))}getClosestBreakY(){return this.brs.reduce((t,e)=>Math.abs(e-this.instance.getPanelTransformY()){let i={},n={};if(this.settings.inverse?(i.top=this.breakpoints.breaks.bottom,i.middle=this.breakpoints.breaks.middle,i.bottom=this.breakpoints.breaks.top,n.top=Object.assign({},this.settings.breaks.bottom),n.middle=Object.assign({},this.settings.breaks.middle),n.bottom=Object.assign({},this.settings.breaks.top)):(i=Object.assign({},this.breakpoints.breaks),n=Object.assign({},this.settings.breaks)),this.breakpoints.currentBreakpoint===i.top){if(t>e){if(n.middle.enabled)return i.middle;if(n.bottom.enabled)return i.middlee&&n.bottom.enabled?i.bottom:i.middle;if(this.breakpoints.currentBreakpoint===i.bottom){if(t<-e){if(n.middle.enabled)return i.middle>s?s:i.middle;if(n.top.enabled)return i.top}return i.bottom}return s},t instanceof HTMLElement?this.selector=t:this.selector=document.querySelector(t),this.selector?this.isPanePresented()?console.error("Cupertino Pane: specified selector or DOM element already in use",this.selector):(this.el=this.selector,this.el.style.display="none",this.settings=Object.assign(Object.assign({},this.settings),e),this.settings.parentElement?this.settings.parentElement=document.querySelector(this.settings.parentElement):this.settings.parentElement=this.el.parentElement,this.breakpoints=new Breakpoints(this,this.settings),this.events=new Events(this,this.settings,this.device,this.breakpoints)):console.warn("Cupertino Pane: wrong selector or DOM element specified",this.selector)}drawBaseElements(){this.parentEl=this.settings.parentElement,this.wrapperEl=document.createElement("div"),this.wrapperEl.classList.add("cupertino-pane-wrapper"),this.settings.inverse&&this.wrapperEl.classList.add("inverse"),this.settings.cssClass&&(this.wrapperEl.className+=" "+this.settings.cssClass);let t="";t+="\n .cupertino-pane-wrapper {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n }\n ",this.paneEl=document.createElement("div"),this.paneEl.style.transform=`translateY(${this.screenHeightOffset}px) translateZ(0px)`,this.paneEl.classList.add("pane"),t+="\n .cupertino-pane-wrapper .pane {\n position: fixed;\n z-index: 11;\n width: 100%;\n max-width: 500px;\n left: 0px;\n right: 0px;\n margin-left: auto;\n margin-right: auto;\n background: var(--cupertino-pane-background, #ffffff);\n color: var(--cupertino-pane-color, #333333);\n box-shadow: var(--cupertino-pane-shadow, 0 4px 16px rgba(0,0,0,.12));\n will-change: transform;\n padding-top: 15px; \n border-radius: var(--cupertino-pane-border-radius, 20px) \n var(--cupertino-pane-border-radius, 20px) \n 0 0;\n }\n .cupertino-pane-wrapper.inverse .pane {\n padding-bottom: 15px; \n border-radius: 0 0 20px 20px;\n border-radius: 0 0\n var(--cupertino-pane-border-radius, 20px) \n var(--cupertino-pane-border-radius, 20px);\n }\n ",this.draggableEl=document.createElement("div"),this.draggableEl.classList.add("draggable"),this.settings.draggableOver&&this.draggableEl.classList.add("over"),t+="\n .cupertino-pane-wrapper .draggable {\n padding: 5px;\n position: absolute;\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n height: 30px;\n z-index: 12;\n top: 0;\n bottom: initial;\n }\n .cupertino-pane-wrapper .draggable.over {\n top: -30px;\n padding: 15px;\n }\n .cupertino-pane-wrapper.inverse .draggable {\n bottom: 0;\n top: initial;\n }\n .cupertino-pane-wrapper.inverse .draggable.over {\n bottom: -30px;\n top: initial;\n }\n ",this.moveEl=document.createElement("div"),this.moveEl.classList.add("move"),t+=`\n .cupertino-pane-wrapper .move {\n margin: 0 auto;\n height: 5px;\n background: var(--cupertino-pane-move-background, #c0c0c0);\n width: 36px;\n border-radius: 4px;\n }\n .cupertino-pane-wrapper .draggable.over .move {\n width: 70px; \n background: var(--cupertino-pane-move-background, rgba(225, 225, 225, 0.6));\n ${Support.backdropFilter?"\n backdrop-filter: saturate(180%) blur(20px);\n -webkit-backdrop-filter: saturate(180%) blur(20px);\n ":""}\n }\n .cupertino-pane-wrapper.inverse .move {\n margin-top: 15px;\n }\n .cupertino-pane-wrapper.inverse .draggable.over .move {\n margin-top: -5px;\n }\n `,this.destroyButtonEl=document.createElement("div"),this.destroyButtonEl.classList.add("destroy-button"),t+="\n .cupertino-pane-wrapper .destroy-button {\n width: 26px;\n height: 26px;\n position: absolute;\n background: var(--cupertino-pane-destroy-button-background, #ebebeb);\n fill: var(--cupertino-pane-icon-close-color, #7a7a7e);\n right: 20px;\n z-index: 14;\n border-radius: 100%;\n top: 16px;\n }\n ",this.contentEl=this.el,this.contentEl.style.transition=`opacity ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,this.contentEl.style.overflowX="hidden",t+="\n .cupertino-pane-wrapper .backdrop {\n overflow: hidden;\n position: fixed;\n width: 100%;\n bottom: 0;\n right: 0;\n left: 0;\n top: 0;\n display: none;\n z-index: 10;\n }\n ",this.addStyle(t),this.parentEl.appendChild(this.wrapperEl),this.wrapperEl.appendChild(this.paneEl),this.paneEl.appendChild(this.contentEl),this.settings.showDraggable&&(this.paneEl.appendChild(this.draggableEl),this.draggableEl.appendChild(this.moveEl))}present(t={animate:!1}){var e;return __awaiter(this,void 0,void 0,(function*(){if(this.el)if(this.isPanePresented()&&this.rendered)this.moveToBreak(this.settings.initialBreak);else if(!this.isPanePresented()||this.rendered){if(this.settings.onWillPresent(),this.updateScreenHeights(),this.drawBaseElements(),yield this.setBreakpoints(),this.paneEl.style.height=this.getPaneHeight()+"px",this.settings.inverse&&(this.paneEl.style.top=`-${this.breakpoints.bottomer}px`),this.wrapperEl.style.display="block",this.contentEl.style.display="block",this.wrapperEl.classList.add("rendered"),this.rendered=!0,this.settings.followerElement){if(!document.querySelector(this.settings.followerElement))return void console.warn("Cupertino Pane: wrong follower element selector specified",this.settings.followerElement);this.followerEl=document.querySelector(this.settings.followerElement),this.followerEl.style.willChange="transform, border-radius",this.followerEl.style.transform="translateY(0px) translateZ(0px)",this.followerEl.style.transition=`all ${this.settings.animationDuration}ms ${this.getTimingFunction(null===(e=this.settings.breaks[this.currentBreak()])||void 0===e?void 0:e.bounce)} 0s`}if(this.settings.zStack){let t={pushElements:null,minPushHeight:null,cardYOffset:0,cardZScale:.93,cardLessContrast:!0,stackZAngle:160};this.settings.zStack=Object.assign(Object.assign({},t),this.settings.zStack),this.setPushMultiplicators()}this.settings.buttonClose&&this.settings.buttonDestroy&&!this.settings.inverse&&(this.paneEl.appendChild(this.destroyButtonEl),this.destroyButtonEl.addEventListener("click",t=>this.destroy({animate:!0,destroyButton:!0})),this.destroyButtonEl.innerHTML=''),this.settings.bottomClose&&(this.settings.breaks.bottom.enabled=!0),this.settings.freeMode&&(this.settings.lowerThanBottom=!1),this.settings.backdrop&&this.renderBackdrop(),this.device.android&&(document.body.style.overscrollBehaviorY="none"),this.events.attachAllEvents(),t.animate?this.doTransition({type:"present",translateY:this.breakpoints.breaks[this.settings.initialBreak]}):(this.breakpoints.prevBreakpoint=this.settings.initialBreak,this.paneEl.style.transform=`translateY(${this.breakpoints.breaks[this.settings.initialBreak]}px) translateZ(0px)`,this.settings.backdrop&&(this.backdropEl.style.display="block"),this.settings.zStack&&this.settings.zStack.pushElements.forEach(t=>this.pushTransition(document.querySelector(t),this.breakpoints.breaks[this.settings.initialBreak],"unset")),this.settings.onDidPresent()),this.checkOpacityAttr(this.breakpoints.currentBreakpoint),yield new Promise(t=>setTimeout(()=>t(!0),150)),this.scrollElementInit(),this.checkOverflowAttr(this.breakpoints.currentBreakpoint)}else console.warn("Cupertino Pane: specified selector or DOM element already in use",this.selector)}))}getPaneHeight(){return this.settings.inverse?this.breakpoints.bottomer+this.settings.bottomOffset:this.screen_height-this.breakpoints.topper-this.settings.bottomOffset}updateScreenHeights(){this.settings.inverse?(this.screen_height=window.innerHeight,this.screenHeightOffset=0):(this.screen_height=window.innerHeight,this.screenHeightOffset=window.innerHeight)}scrollElementInit(){let t=this.el.querySelectorAll("[overflow-y]");!t.length||t.length>1?this.overflowEl=this.contentEl:(this.overflowEl=t[0],this.overflowEl.style.overflowX="hidden"),this.settings.topperOverflow&&(this.settings.upperThanTop&&console.warn('Cupertino Pane: "upperThanTop" allowed for disabled "topperOverflow"'),this.setOverflowHeight())}setOverflowHeight(t=0){this.settings.inverse?this.overflowEl.style.height=this.getPaneHeight()-30-this.settings.topperOverflowOffset-this.overflowEl.offsetTop+"px":this.overflowEl.style.height=this.getPaneHeight()-this.settings.topperOverflowOffset-this.overflowEl.offsetTop-t+"px"}checkOpacityAttr(t){let e=this.el.querySelectorAll("[hide-on-bottom]");e.length&&(this.settings.inverse||e.forEach(e=>{e.style.transition=`opacity ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,e.style.opacity=t>=this.breakpoints.breaks.bottom?"0":"1"}))}checkOverflowAttr(t){this.settings.topperOverflow&&this.overflowEl&&(this.settings.inverse?this.overflowEl.style.overflowY=t>=this.breakpoints.bottomer?"auto":"hidden":this.overflowEl.style.overflowY=t<=this.breakpoints.topper?"auto":"hidden")}isPanePresented(){let t=Array.from(document.querySelectorAll(".cupertino-pane-wrapper.rendered"));return!!t.length&&!!t.find(t=>t.contains(this.selector))}getTimingFunction(t){return t?"cubic-bezier(0.175, 0.885, 0.370, 1.120)":this.settings.animationType}isBackdropPresented(){return!!document.querySelector(".cupertino-pane-wrapper .backdrop")}renderBackdrop(){this.backdropEl=document.createElement("div"),this.backdropEl.classList.add("backdrop"),this.backdropEl.style.transition=`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,this.backdropEl.style.backgroundColor=`rgba(0,0,0, ${this.settings.backdropOpacity})`,this.wrapperEl.appendChild(this.backdropEl),this.backdropEl.addEventListener("click",t=>this.settings.onBackdropTap())}addStyle(t){if(document.querySelector("#cupertino-panes-internal"))return;const e=document.createElement("style");e.id="cupertino-panes-internal",t=t.replace(/\s\s+/g," "),e.textContent=t,document.head.prepend(e)}setPushMultiplicators(){this.settings.zStack.pushElements.forEach(t=>{let e=document.querySelector(t),s=this.getPushMulitplicator(e);s=s?s+1:1,e.style.setProperty("--push-multiplicator",""+s)})}clearPushMultiplicators(){for(let t=0;t{this.backdropEl.style.transition="initial",this.backdropEl.style.display="none",this.backdropEl.removeEventListener("transitionend",e)};if(this.backdropEl.style.transition=`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,this.backdropEl.style.backgroundColor="rgba(0,0,0,.0)",t.show)this.backdropEl.style.display="block",setTimeout(()=>{this.backdropEl.style.backgroundColor=`rgba(0,0,0, ${this.settings.backdropOpacity})`},50);else{if("none"===this.backdropEl.style.display)return;this.backdropEl.addEventListener("transitionend",e)}}getPanelTransformY(){return parseFloat(/\.*translateY\((.*)px\)/i.exec(this.paneEl.style.transform)[1])}preventDismiss(t=!1){this.preventDismissEvent=t}disableDrag(){this.disableDragEvents=!0}enableDrag(){this.disableDragEvents=!1}setBreakpoints(t){return __awaiter(this,void 0,void 0,(function*(){!this.isPanePresented()||t?yield this.breakpoints.buildBreakpoints(t):console.warn("Cupertino Pane: Provide any breaks configuration")}))}calcFitHeight(){return __awaiter(this,void 0,void 0,(function*(){return this.wrapperEl&&this.el?this.breakpoints.calcHeightInProcess?(console.warn("Cupertino Pane: calcFitHeight() already in process"),null):void(yield this.breakpoints.buildBreakpoints(this.breakpoints.lockedBreakpoints)):null}))}moveToBreak(t){if(!this.isPanePresented())return console.warn("Cupertino Pane: Present pane before call moveToBreak()"),null;this.settings.breaks[t].enabled?(this.checkOpacityAttr(this.breakpoints.breaks[t]),this.checkOverflowAttr(this.breakpoints.breaks[t]),this.doTransition({type:"breakpoint",translateY:this.breakpoints.breaks[t]}),this.breakpoints.currentBreakpoint=this.breakpoints.breaks[t]):console.warn("Cupertino Pane: %s breakpoint disabled",t)}moveToHeight(t){if(!this.isPanePresented())return console.warn("Cupertino Pane: Present pane before call moveToHeight()"),null;let e=this.screenHeightOffset?this.screen_height-t:t;this.checkOpacityAttr(e),this.doTransition({type:"breakpoint",translateY:e})}hide(){return this.isPanePresented()?this.isHidden()?(console.warn("Cupertino Pane: Pane already hidden"),null):void this.doTransition({type:"hide",translateY:this.screenHeightOffset}):(console.warn("Cupertino Pane: Present pane before call hide()"),null)}isHidden(){return this.isPanePresented()?this.paneEl.style.transform===`translateY(${this.screenHeightOffset}px) translateZ(0px)`:(console.warn("Cupertino Pane: Present pane before call isHidden()"),null)}currentBreak(){return this.isPanePresented()?this.breakpoints.getCurrentBreakName():(console.warn("Cupertino Pane: Present pane before call currentBreak()"),null)}destroyResets(){this.parentEl.appendChild(this.contentEl),this.wrapperEl.remove(),this.events.detachAllEvents(),this.settings.zStack,delete this.rendered,delete this.breakpoints.prevBreakpoint,this.contentEl.style.display="none"}destroy(t={animate:!1,destroyButton:!1}){if(!this.isPanePresented())return console.warn("Cupertino Pane: Present pane before call destroy()"),null;this.preventDismissEvent?this.preventedDismiss||(this.settings.onWillDismiss({prevented:!0}),this.moveToBreak(this.breakpoints.prevBreakpoint)):(this.settings.onWillDismiss(),t.animate?this.doTransition({type:"destroy",translateY:this.screenHeightOffset,destroyButton:t.destroyButton}):(this.destroyResets(),this.settings.onDidDismiss({destroyButton:t.destroyButton})))}pushTransition(t,e,s){let i=this.settings.zStack.pushElements;t.style.transition=s,e=this.screenHeightOffset-e;const n=this.settings.zStack.minPushHeight?this.settings.zStack.minPushHeight:this.screenHeightOffset-this.breakpoints.bottomer,r=this.screenHeightOffset-this.breakpoints.topper;let o=this.getPushMulitplicator(t),a=Math.pow(this.settings.zStack.cardZScale,o),h=Math.pow(this.settings.zStack.cardZScale,o-1),l=6+this.settings.zStack.cardYOffset,p=l*o*-1,c=p+l,d=Math.pow(.85,o),u=Math.pow(.85,o-1);const g=(s,n,r,o)=>{let a=Math.pow(s,this.settings.zStack.stackZAngle/100);t.style.transform=`translateY(${n*(a/s)}px) scale(${s})`,t.style.borderRadius=o+"px",this.settings.zStack.cardLessContrast&&(t.style.filter=`contrast(${r})`);let h=document.querySelector(i[i.length-1]);e||t.className!==h.className||this.clearPushMultiplicators()};if(e<=n)return void g(h,c,u,0);const b=(t,s)=>{let i=-1*(r*s-n*t);return i-=(t-s)*e,i/=n-r,i>s&&(i=s),ithis.pushTransition(document.querySelector(t),this.getPanelTransformY(),"all 0ms linear 0ms")));const s=()=>{"destroy"===t.type&&this.destroyResets(),this.paneEl.style.transition="initial",this.followerEl&&(this.followerEl.style.transition="initial"),this.settings.backdrop&&("destroy"!==t.type&&"hide"!==t.type||(this.backdropEl.style.transition="initial",this.backdropEl.style.display="none")),"present"===t.type&&this.settings.onDidPresent(),"destroy"===t.type&&this.settings.onDidDismiss({destroyButton:t.destroyButton}),this.settings.onTransitionEnd({target:document.body.contains(this.paneEl)?this.paneEl:null}),this.paneEl.removeEventListener("transitionend",s)};if("breakpoint"===t.type||"end"===t.type||"present"===t.type||"hide"===t.type||"destroy"===t.type){if(this.settings.backdrop&&(this.isHidden()||"hide"===t.type||"destroy"===t.type||"present"===t.type)&&(this.backdropEl.style.backgroundColor="rgba(0,0,0,.0)",this.backdropEl.style.transition=`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,"hide"!==t.type&&"destroy"!==t.type&&(this.backdropEl.style.display="block",setTimeout(()=>{this.backdropEl.style.backgroundColor=`rgba(0,0,0, ${this.settings.backdropOpacity})`},50))),"end"===t.type&&this.settings.freeMode)return;const i=Object.entries(this.settings.breaks).find(e=>e[1].height===this.screenHeightOffset-t.translateY),n=this.getTimingFunction(!(!i||!(null===(e=i[1])||void 0===e?void 0:e.bounce)));this.paneEl.style.transition=`transform ${this.settings.animationDuration}ms ${n} 0s`,this.followerEl&&(this.followerEl.style.transition=`transform ${this.settings.animationDuration}ms ${n} 0s`),this.settings.zStack&&setTimeout(()=>{this.settings.zStack.pushElements.forEach(e=>this.pushTransition(document.querySelector(e),t.translateY,`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`))},this.settings.zStack.cardYOffset&&"present"===t.type?50:0),setTimeout(()=>{this.settings.onTransitionStart({translateY:{new:t.translateY}}),this.paneEl.style.transform=`translateY(${t.translateY}px) translateZ(0px)`,this.followerEl&&(this.followerEl.style.transform=`translateY(${t.translateY-this.breakpoints.breaks[this.settings.initialBreak]}px) translateZ(0px)`)},"present"===t.type?50:0);let r=Object.entries(this.breakpoints.breaks).find(e=>e[1]===t.translateY);return r&&(this.breakpoints.prevBreakpoint=r[0]),void this.paneEl.addEventListener("transitionend",s)}}}exports.CupertinoPane=CupertinoPane;
+function __awaiter(t,e,s,i){return new(s||(s=Promise))((function(n,r){function o(t){try{h(i.next(t))}catch(t){r(t)}}function a(t){try{h(i.throw(t))}catch(t){r(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof s?e:new s((function(t){t(e)}))).then(o,a)}h((i=i.apply(t,e||[])).next())}))}Object.defineProperty(exports,"__esModule",{value:!0});class Support{static get touch(){return window.Modernizr&&!0===window.Modernizr.touch||!!(window.navigator.maxTouchPoints>0||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch)}static get observer(){return"MutationObserver"in window||"WebkitMutationObserver"in window}static get backdropFilter(){return CSS.supports("backdrop-filter","blur(0px)")||CSS.supports("-webkit-backdrop-filter","blur(0px)")}static get passiveListener(){let t=!1;try{const e=Object.defineProperty({},"passive",{get(){t=!0}});window.addEventListener("testPassiveListener",null,e)}catch(t){}return t}static get gestures(){return"ongesturestart"in window}static get pointerEvents(){return!!window.PointerEvent&&"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0}}class Device{constructor(){this.ios=!1,this.android=!1,this.androidChrome=!1,this.desktop=!1,this.iphone=!1,this.ipod=!1,this.ipad=!1,this.edge=!1,this.ie=!1,this.firefox=!1,this.macos=!1,this.windows=!1,this.cordova=!(!window.cordova&&!window.phonegap),this.phonegap=!(!window.cordova&&!window.phonegap),this.electron=!1,this.ionic=!!document.querySelector("ion-app");const t=window.navigator.platform,e=window.navigator.userAgent,s=window.screen.width,i=window.screen.height;let n=e.match(/(Android);?[\s\/]+([\d.]+)?/),r=e.match(/(iPad).*OS\s([\d_]+)/),o=e.match(/(iPod)(.*OS\s([\d_]+))?/),a=!this.ipad&&e.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h=e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0,l=e.indexOf("Edge/")>=0,p=e.indexOf("Gecko/")>=0&&e.indexOf("Firefox/")>=0,c="Win32"===t,d=e.toLowerCase().indexOf("electron")>=0,u="MacIntel"===t;!r&&u&&Support.touch&&(1024===s&&1366===i||834===s&&1194===i||834===s&&1112===i||768===s&&1024===i)&&(r=e.match(/(Version)\/([\d.]+)/),u=!1),this.ie=h,this.edge=l,this.firefox=p,n&&!c&&(this.os="android",this.osVersion=n[2],this.android=!0,this.androidChrome=e.toLowerCase().indexOf("chrome")>=0),(r||a||o)&&(this.os="ios",this.ios=!0),a&&!o&&(this.osVersion=a[2].replace(/_/g,"."),this.iphone=!0),r&&(this.osVersion=r[2].replace(/_/g,"."),this.ipad=!0),o&&(this.osVersion=o[3]?o[3].replace(/_/g,"."):null,this.ipod=!0),this.ios&&this.osVersion&&e.indexOf("Version/")>=0&&"10"===this.osVersion.split(".")[0]&&(this.osVersion=e.toLowerCase().split("version/")[1].split(" ")[0]),this.webView=!(!(a||r||o)||!e.match(/.*AppleWebKit(?!.*Safari)/i)&&!window.navigator.standalone)||window.matchMedia&&window.matchMedia("(display-mode: standalone)").matches,this.webview=this.webView,this.standalone=this.webView,this.desktop=!(this.ios||this.android)||d,this.desktop&&(this.electron=d,this.macos=u,this.windows=c,this.macos&&(this.os="macos"),this.windows&&(this.os="windows")),this.pixelRatio=window.devicePixelRatio||1}}class Events{constructor(t,e,s,i){this.instance=t,this.settings=e,this.device=s,this.breakpoints=i,this.allowClick=!0,this.disableDragAngle=!1,this.pointerDown=!1,this.contentScrollTop=0,this.steps=[],this.inputBluredbyMove=!1,this.movedByKeyboard=!1,this.touchEvents=(()=>{const t=["touchstart","touchmove","touchend","touchcancel"];let e=["mousedown","mousemove","mouseup"];Support.pointerEvents&&(e=["pointerdown","pointermove","pointerup"]);const s={start:t[0],move:t[1],end:t[2],cancel:t[3]},i={start:e[0],move:e[1],end:e[2]};return Support.touch||!this.settings.simulateTouch?s:i})(),this.touchStartCb=t=>this.touchStart(t),this.touchMoveBackdropCb=t=>this.touchMoveBackdrop(t),this.touchMoveCb=t=>this.touchMove(t),this.touchEndCb=t=>this.touchEnd(t),this.onClickCb=t=>this.onClick(t),this.onKeyboardShowCb=t=>this.onKeyboardShow(t),this.onKeyboardHideCb=t=>this.onKeyboardHide(t),this.onWindowResizeCb=t=>this.onWindowResize(t)}attachAllEvents(){this.settings.dragBy?this.settings.dragBy.forEach(t=>{const e=document.querySelector(t);e&&this.eventListeners("addEventListener",e)}):this.eventListeners("addEventListener",this.instance.paneEl),this.settings.handleKeyboard&&this.device.cordova&&(window.addEventListener("keyboardWillShow",this.onKeyboardShowCb),window.addEventListener("keyboardWillHide",this.onKeyboardHideCb)),!this.settings.handleKeyboard&&this.device.cordova&&this.device.android&&window.addEventListener("keyboardWillHide",()=>{this.instance.parentEl.scrollTop=0,this.instance.parentEl.parentElement&&(this.instance.parentEl.parentElement.scrollTop=0,this.instance.parentEl.parentElement.parentElement&&(this.instance.parentEl.parentElement.parentElement.scrollTop=0))}),window.addEventListener("resize",this.onWindowResizeCb)}detachAllEvents(){this.settings.dragBy?this.settings.dragBy.forEach(t=>{const e=document.querySelector(t);e&&this.eventListeners("removeEventListener",e)}):this.eventListeners("removeEventListener",this.instance.paneEl),this.settings.handleKeyboard&&this.device.cordova&&(window.removeEventListener("keyboardWillShow",this.onKeyboardShowCb),window.removeEventListener("keyboardWillHide",this.onKeyboardHideCb)),window.removeEventListener("resize",this.onWindowResizeCb)}resetEvents(){this.detachAllEvents(),this.attachAllEvents()}eventListeners(t,e){var s,i,n;if(!Support.touch&&Support.pointerEvents)e[t](this.touchEvents.start,this.touchStartCb,!1),e[t](this.touchEvents.move,this.touchMoveCb,!1),e[t](this.touchEvents.end,this.touchEndCb,!1),null===(s=this.instance.backdropEl)||void 0===s||s[t](this.touchEvents.move,this.touchMoveBackdropCb,!1);else{if(Support.touch){const s=!("touchstart"!==this.touchEvents.start||!Support.passiveListener||!this.settings.passiveListeners)&&{passive:!0,capture:!1};e[t](this.touchEvents.start,this.touchStartCb,s),e[t](this.touchEvents.move,this.touchMoveCb,!!Support.passiveListener&&{passive:!1,capture:!1}),e[t](this.touchEvents.end,this.touchEndCb,s),null===(i=this.instance.backdropEl)||void 0===i||i[t](this.touchEvents.move,this.touchMoveBackdropCb,!!Support.passiveListener&&{passive:!1,capture:!1}),this.touchEvents.cancel&&e[t](this.touchEvents.cancel,this.touchEndCb,s)}(this.settings.simulateTouch&&!this.device.ios&&!this.device.android||this.settings.simulateTouch&&!Support.touch&&this.device.ios)&&(e[t]("mousedown",this.touchStartCb,!1),e[t]("mousemove",this.touchMoveCb,!1),e[t]("mouseup",this.touchEndCb,!1),null===(n=this.instance.backdropEl)||void 0===n||n[t]("mousemove",this.touchMoveBackdropCb,!1))}this.settings.preventClicks&&e[t]("click",this.onClickCb,!0)}touchStart(t){if(this.settings.onDragStart(t),this.allowClick=!0,this.instance.disableDragEvents)return;this.disableDragAngle=!1,this.instance.preventedDismiss=!1;const{clientY:e,clientX:s}=this.getEvetClientYX(t,"touchstart");this.startY=e,this.startX=s,"mousedown"===t.type&&(this.pointerDown=!0),this.contentScrollTop&&this.willScrolled(t)&&this.isDragScrollabe(t.path||t.composedPath())&&(this.startY+=this.contentScrollTop),this.steps.push(this.startY)}touchMoveBackdrop(t){this.settings.touchMoveStopPropagation&&t.stopPropagation()}touchMove(t){const{clientY:e,clientX:s}=this.getEvetClientYX(t,"touchmove");if(t.delta=this.steps[0]-e,this.settings.onDrag(t),this.instance.disableDragEvents)return void(this.steps=[]);if(this.disableDragAngle)return;if(this.instance.preventedDismiss)return;if(this.settings.touchMoveStopPropagation&&t.stopPropagation(),"mousemove"===t.type&&!this.pointerDown)return;const i=e-this.steps[this.steps.length-1];let n=this.instance.getPanelTransformY()+i;if(!this.isFormElement(t.target)||!this.isElementScrollable(t.target)){if(this.steps.length>2&&this.isFormElement(document.activeElement)&&!this.isFormElement(t.target)&&(document.activeElement.blur(),this.inputBluredbyMove=!0),this.settings.touchAngle){let t;const i=s-this.startX,n=e-this.startY;if(t=180*Math.atan2(Math.abs(n),Math.abs(i))/Math.PI,i*i+n*n>=25&&90-t>this.settings.touchAngle&&1===this.steps.length)return void(this.disableDragAngle=!0)}if(this.isDragScrollabe(t.path||t.composedPath())&&"auto"===this.instance.overflowEl.style.overflowY){if(this.instance.overflowEl.addEventListener("scroll",t=>{this.contentScrollTop=t.target.scrollTop}),this.settings.inverse&&this.willScrolled(t))return void(this.contentScrollTop=0);if(n>this.breakpoints.topper&&this.contentScrollTop>0||n<=this.breakpoints.topper)return}if(!this.settings.inverse&&!this.settings.upperThanTop&&n<=this.breakpoints.topper)this.instance.paneEl.style.transform=`translateY(${this.breakpoints.topper}px) translateZ(0px)`;else{if(n<=this.breakpoints.topper&&this.settings.upperThanTop){const t=(-this.breakpoints.topper+this.breakpoints.topper-this.instance.getPanelTransformY())/this.breakpoints.topper/-8;n=this.instance.getPanelTransformY()+i*t}if((!this.settings.lowerThanBottom||this.settings.inverse)&&n>=this.breakpoints.bottomer)return this.instance.paneEl.style.transform=`translateY(${this.breakpoints.bottomer}px) translateZ(0px)`,void this.instance.checkOpacityAttr(n);if(!this.instance.preventedDismiss&&this.instance.preventDismissEvent&&this.settings.bottomClose){let t=(-this.breakpoints.topper+this.breakpoints.topper-this.instance.getPanelTransformY())/this.breakpoints.topper/-8;if(n=this.instance.getPanelTransformY()+i*(.5-t),-1*(e-220-this.instance.screen_height)<=this.instance.screen_height-this.breakpoints.bottomer)return this.instance.preventedDismiss=!0,this.settings.onWillDismiss({prevented:!0}),void this.instance.moveToBreak(this.breakpoints.prevBreakpoint)}this.allowClick=!1,this.instance.checkOpacityAttr(n),this.instance.checkOverflowAttr(n),this.instance.doTransition({type:"move",translateY:n}),this.steps.push(e)}}}touchEnd(t){if(this.instance.disableDragEvents)return;"mouseup"===t.type&&(this.pointerDown=!1);let e=this.breakpoints.getClosestBreakY();const s=this.steps[this.steps.length-1]-this.steps[this.steps.length-2],i=window.hasOwnProperty("cordova")?this.settings.fastSwipeSensivity+1:this.settings.fastSwipeSensivity;if(Math.abs(s)>=i&&(e=this.instance.swipeNextPoint(s,i,e),this.settings.fastSwipeClose&&this.breakpoints.currentBreakpointthis.fixAndroidResize(),20),this.movedByKeyboard=!0,this.breakpoints.prevBreakpoint=Object.entries(this.breakpoints.breaks).find(t=>t[1]===this.instance.getPanelTransformY())[0];let e=this.settings.breaks[this.instance.currentBreak()].height+t.keyboardHeight;window.matchMedia("(orientation: landscape)").matches&&(e=this.instance.screen_height),e>this.instance.screen_height-80&&(e=this.instance.screen_height-80),e-50>=this.settings.breaks[this.instance.currentBreak()].height&&this.instance.moveToHeight(e),setTimeout(()=>{this.instance.setOverflowHeight(t.keyboardHeight-this.settings.topperOverflowOffset),this.instance.overflowEl.scrollTop=document.activeElement.offsetTop},300)}onKeyboardHide(t){this.movedByKeyboard&&this.isOnViewport()&&(this.device.android&&this.fixAndroidResize(),this.movedByKeyboard=!1,this.instance.setOverflowHeight(),this.inputBluredbyMove?this.inputBluredbyMove=!1:this.instance.isHidden()||this.instance.moveToBreak(this.breakpoints.prevBreakpoint))}onWindowResize(t){return __awaiter(this,void 0,void 0,(function*(){yield new Promise(t=>setTimeout(()=>t(!0),150)),this.instance.updateScreenHeights(),this.breakpoints.buildBreakpoints(JSON.parse(this.breakpoints.lockedBreakpoints),!1)}))}getEvetClientYX(t,e){const s=t.type===e&&t.targetTouches&&(t.targetTouches[0]||t.changedTouches[0]);return{clientY:t.type===e?s.clientY:t.clientY,clientX:t.type===e?s.clientX:t.clientX}}fixAndroidResize(){if(!this.instance.paneEl)return;document.querySelector("ion-app");window.requestAnimationFrame(()=>{this.instance.wrapperEl.style.width="100%",this.instance.paneEl.style.position="absolute",window.requestAnimationFrame(()=>{this.instance.wrapperEl.style.width="unset",this.instance.paneEl.style.position="fixed"})})}isDragScrollabe(t){return!!t.find(t=>t===this.instance.overflowEl)}willScrolled(t){return!(!this.isElementScrollable(this.instance.overflowEl)||"hidden"===this.instance.overflowEl.style.overflow||!this.isDragScrollabe(t.path||t.composedPath()))}isPaneDescendant(t){let e=t.parentNode;for(;null!=e;){if(e==this.instance.paneEl)return!0;e=e.parentNode}return!1}isFormElement(t){return!!(t&&t.tagName&&["input","select","option","textarea","button","label"].includes(t.tagName.toLowerCase()))}isElementScrollable(t){return t.scrollHeight>t.clientHeight}isOnViewport(){return!this.instance.paneEl||0!==this.instance.paneEl.offsetWidth||0!==this.instance.paneEl.offsetHeight}}class Settings{constructor(){this.instance={initialBreak:"middle",inverse:!1,parentElement:null,followerElement:null,cssClass:null,fitHeight:!1,maxFitHeight:null,fitScreenHeight:!0,backdrop:!1,backdropOpacity:.4,animationType:"ease",animationDuration:300,dragBy:null,bottomOffset:0,bottomClose:!1,fastSwipeClose:!1,fastSwipeSensivity:3,freeMode:!1,buttonDestroy:!0,buttonClose:!0,topperOverflow:!0,topperOverflowOffset:0,lowerThanBottom:!0,upperThanTop:!1,showDraggable:!0,draggableOver:!1,clickBottomOpen:!0,preventClicks:!0,handleKeyboard:!0,simulateTouch:!0,passiveListeners:!0,touchMoveStopPropagation:!1,touchAngle:null,breaks:{},zStack:null,onDidDismiss:()=>{},onWillDismiss:()=>{},onDidPresent:()=>{},onWillPresent:()=>{},onDragStart:()=>{},onDrag:()=>{},onDragEnd:()=>{},onBackdropTap:()=>{},onTransitionStart:()=>{},onTransitionEnd:()=>{}}}}class Breakpoints{constructor(t,e){this.instance=t,this.settings=e,this.breaks={},this.calcHeightInProcess=!1,this.brs=[],this.defaultBreaksConf={top:{enabled:!0,height:window.innerHeight-47.25},middle:{enabled:!0,height:300},bottom:{enabled:!0,height:100}}}buildBreakpoints(t,e=!0){var s,i;return __awaiter(this,void 0,void 0,(function*(){if(this.breaks={top:this.instance.screenHeightOffset,middle:this.instance.screenHeightOffset,bottom:this.instance.screenHeightOffset},this.settings.fitHeight){this.settings.fitScreenHeight=!1,this.settings.initialBreak="top",this.settings.topperOverflow=!1;let e=yield this.getPaneFitHeight();this.settings.maxFitHeight&&e>this.settings.maxFitHeight&&(e=this.settings.maxFitHeight,this.settings.topperOverflow=!0),t={top:{enabled:!0,height:e},middle:{enabled:!1},bottom:{enabled:!1}}}if(["top","middle","bottom"].forEach(e=>{var s;this.breaks[e]-=this.settings.bottomOffset,this.settings.breaks[e]||(this.settings.breaks[e]=this.defaultBreaksConf[e]),t&&t[e]&&(this.settings.breaks[e]=t[e]),this.settings.fitScreenHeight&&((null===(s=this.settings.breaks[e])||void 0===s?void 0:s.height)>this.instance.screen_height&&(this.settings.breaks[e].height=this.instance.screen_height-this.settings.bottomOffset),this.settings.breaks.top&&this.settings.breaks.middle&&this.settings.breaks.top.height-50<=this.settings.breaks.middle.height&&(this.settings.breaks.middle.enabled=!1,this.settings.initialBreak="top")),this.settings.fitHeight&&"top"===e&&(this.settings.breaks[e].height>this.instance.screen_height?(this.settings.breaks[e].height=this.instance.screen_height-2*this.settings.bottomOffset,this.settings.topperOverflow=!0):this.instance.overflowEl&&!this.settings.maxFitHeight&&(this.settings.topperOverflow=!1,this.instance.overflowEl.style.overflowY="hidden")),this.settings.breaks[e]&&this.settings.breaks[e].enabled&&this.settings.breaks[e].height&&(this.settings.inverse?this.breaks[e]=this.settings.breaks[e].height:this.breaks[e]-=this.settings.breaks[e].height)}),this.lockedBreakpoints||(this.lockedBreakpoints=JSON.stringify(this.settings.breaks)),this.instance.isPanePresented()||this.settings.breaks[this.settings.initialBreak].enabled||console.warn("Cupertino Pane: Please set initialBreak for enabled breakpoint"),this.settings.breaks.middle.height>=this.settings.breaks.top.height&&console.warn("Cupertino Pane: Please set middle height lower than top height"),this.settings.breaks.middle.height<=this.settings.breaks.bottom.height&&console.warn("Cupertino Pane: Please set bottom height lower than middle height"),this.brs=[],["top","middle","bottom"].forEach(t=>{this.settings.breaks[t].enabled&&this.brs.push(this.breaks[t])}),this.topper=this.brs.reduce((t,e)=>eMath.abs(e)>Math.abs(t)?e:t),this.instance.isPanePresented()||(this.currentBreakpoint=this.breaks[this.settings.initialBreak],!this.settings.inverse||this.settings.breaks.bottom.enabled||this.settings.breaks.middle.enabled||(this.settings.topperOverflow=!1)),this.instance.isPanePresented()){if((null===(s=this.settings.breaks[this.prevBreakpoint])||void 0===s?void 0:s.enabled)&&this.instance.moveToBreak(this.prevBreakpoint),!(null===(i=this.settings.breaks[this.prevBreakpoint])||void 0===i?void 0:i.enabled)){let t=this.instance.swipeNextPoint(1,1,this.getClosestBreakY());const e=Object.entries(this.breaks).find(e=>e[1]===t);this.instance.moveToBreak(e[0])}this.instance.paneEl.style.top=this.settings.inverse?`-${this.bottomer}px`:"unset",this.instance.paneEl.style.height=this.instance.getPaneHeight()+"px",this.instance.scrollElementInit(),this.instance.checkOpacityAttr(this.currentBreakpoint),this.instance.checkOverflowAttr(this.currentBreakpoint)}}))}getCurrentBreakName(){return this.breaks.top===this.currentBreakpoint?"top":this.breaks.middle===this.currentBreakpoint?"middle":this.breaks.bottom===this.currentBreakpoint?"bottom":null}getPaneFitHeight(){return __awaiter(this,void 0,void 0,(function*(){this.calcHeightInProcess=!0;let t,e=this.instance.el.querySelectorAll("img");this.instance.el.style.height="unset",this.instance.rendered||(this.instance.el.style.visibility="hidden",this.instance.el.style.pointerEvents="none",this.instance.el.style.display="block",this.instance.wrapperEl.style.visibility="hidden",this.instance.wrapperEl.style.pointerEvents="none",this.instance.wrapperEl.style.display="block");let s=[];return e.length&&(s=Array.from(e).map(t=>new Promise(e=>{t.complete&&t.naturalHeight?e(!0):t.onload=()=>e(!0)}))),s.push(new Promise(t=>setTimeout(()=>t(!0),this.instance.rendered?0:150))),yield Promise.all(s),t=parseInt(document.defaultView.getComputedStyle(this.instance.el,"").getPropertyValue("height"))+(parseInt(document.defaultView.getComputedStyle(this.instance.el,"").getPropertyValue("margin-top"))+parseInt(document.defaultView.getComputedStyle(this.instance.el,"").getPropertyValue("margin-bottom"))),t+=this.instance.el.offsetTop,this.instance.rendered||(this.instance.el.style.visibility="unset",this.instance.el.style.pointerEvents="unset",this.instance.el.style.display="none",this.instance.wrapperEl.style.visibility="unset",this.instance.wrapperEl.style.pointerEvents="unset",this.instance.wrapperEl.style.display="none"),this.calcHeightInProcess=!1,t}))}getClosestBreakY(){return this.brs.reduce((t,e)=>Math.abs(e-this.instance.getPanelTransformY()){let i={},n={};if(this.settings.inverse?(i.top=this.breakpoints.breaks.bottom,i.middle=this.breakpoints.breaks.middle,i.bottom=this.breakpoints.breaks.top,n.top=Object.assign({},this.settings.breaks.bottom),n.middle=Object.assign({},this.settings.breaks.middle),n.bottom=Object.assign({},this.settings.breaks.top)):(i=Object.assign({},this.breakpoints.breaks),n=Object.assign({},this.settings.breaks)),this.breakpoints.currentBreakpoint===i.top){if(t>e){if(n.middle.enabled)return i.middle;if(n.bottom.enabled)return i.middlee&&n.bottom.enabled?i.bottom:i.middle;if(this.breakpoints.currentBreakpoint===i.bottom){if(t<-e){if(n.middle.enabled)return i.middle>s?s:i.middle;if(n.top.enabled)return i.top}return i.bottom}return s},t instanceof HTMLElement?this.selector=t:this.selector=document.querySelector(t),this.selector?this.isPanePresented()?console.error("Cupertino Pane: specified selector or DOM element already in use",this.selector):(this.el=this.selector,this.el.style.display="none",this.settings=Object.assign(Object.assign({},this.settings),e),this.settings.parentElement?this.settings.parentElement=document.querySelector(this.settings.parentElement):this.settings.parentElement=this.el.parentElement,this.breakpoints=new Breakpoints(this,this.settings),this.events=new Events(this,this.settings,this.device,this.breakpoints)):console.warn("Cupertino Pane: wrong selector or DOM element specified",this.selector)}drawBaseElements(){this.parentEl=this.settings.parentElement,this.wrapperEl=document.createElement("div"),this.wrapperEl.classList.add("cupertino-pane-wrapper"),this.settings.inverse&&this.wrapperEl.classList.add("inverse"),this.settings.cssClass&&(this.wrapperEl.className+=" "+this.settings.cssClass);let t="";t+="\n .cupertino-pane-wrapper {\n display: none;\n position: absolute;\n top: 0;\n left: 0;\n }\n ",this.paneEl=document.createElement("div"),this.paneEl.style.transform=`translateY(${this.screenHeightOffset}px) translateZ(0px)`,this.paneEl.classList.add("pane"),t+="\n .cupertino-pane-wrapper .pane {\n position: fixed;\n z-index: 11;\n width: 100%;\n max-width: 500px;\n left: 0px;\n right: 0px;\n margin-left: auto;\n margin-right: auto;\n background: var(--cupertino-pane-background, #ffffff);\n color: var(--cupertino-pane-color, #333333);\n box-shadow: var(--cupertino-pane-shadow, 0 4px 16px rgba(0,0,0,.12));\n will-change: transform;\n padding-top: 15px; \n border-radius: var(--cupertino-pane-border-radius, 20px) \n var(--cupertino-pane-border-radius, 20px) \n 0 0;\n }\n .cupertino-pane-wrapper.inverse .pane {\n padding-bottom: 15px; \n border-radius: 0 0 20px 20px;\n border-radius: 0 0\n var(--cupertino-pane-border-radius, 20px) \n var(--cupertino-pane-border-radius, 20px);\n }\n ",this.draggableEl=document.createElement("div"),this.draggableEl.classList.add("draggable"),this.settings.draggableOver&&this.draggableEl.classList.add("over"),t+="\n .cupertino-pane-wrapper .draggable {\n padding: 5px;\n position: absolute;\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n height: 30px;\n z-index: 12;\n top: 0;\n bottom: initial;\n }\n .cupertino-pane-wrapper .draggable.over {\n top: -30px;\n padding: 15px;\n }\n .cupertino-pane-wrapper.inverse .draggable {\n bottom: 0;\n top: initial;\n }\n .cupertino-pane-wrapper.inverse .draggable.over {\n bottom: -30px;\n top: initial;\n }\n ",this.moveEl=document.createElement("div"),this.moveEl.classList.add("move"),t+=`\n .cupertino-pane-wrapper .move {\n margin: 0 auto;\n height: 5px;\n background: var(--cupertino-pane-move-background, #c0c0c0);\n width: 36px;\n border-radius: 4px;\n }\n .cupertino-pane-wrapper .draggable.over .move {\n width: 70px; \n background: var(--cupertino-pane-move-background, rgba(225, 225, 225, 0.6));\n ${Support.backdropFilter?"\n backdrop-filter: saturate(180%) blur(20px);\n -webkit-backdrop-filter: saturate(180%) blur(20px);\n ":""}\n }\n .cupertino-pane-wrapper.inverse .move {\n margin-top: 15px;\n }\n .cupertino-pane-wrapper.inverse .draggable.over .move {\n margin-top: -5px;\n }\n `,this.destroyButtonEl=document.createElement("div"),this.destroyButtonEl.classList.add("destroy-button"),t+="\n .cupertino-pane-wrapper .destroy-button {\n width: 26px;\n height: 26px;\n position: absolute;\n background: var(--cupertino-pane-destroy-button-background, #ebebeb);\n fill: var(--cupertino-pane-icon-close-color, #7a7a7e);\n right: 20px;\n z-index: 14;\n border-radius: 100%;\n top: 16px;\n }\n ",this.contentEl=this.el,this.contentEl.style.transition=`opacity ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,this.contentEl.style.overflowX="hidden",t+="\n .cupertino-pane-wrapper .backdrop {\n overflow: hidden;\n position: fixed;\n width: 100%;\n bottom: 0;\n right: 0;\n left: 0;\n top: 0;\n display: none;\n z-index: 10;\n }\n ",this.addStyle(t),this.parentEl.appendChild(this.wrapperEl),this.wrapperEl.appendChild(this.paneEl),this.paneEl.appendChild(this.contentEl),this.settings.showDraggable&&(this.paneEl.appendChild(this.draggableEl),this.draggableEl.appendChild(this.moveEl))}present(t={animate:!1}){var e;return __awaiter(this,void 0,void 0,(function*(){if(this.el)if(this.isPanePresented()&&this.rendered)this.moveToBreak(this.settings.initialBreak);else if(!this.isPanePresented()||this.rendered){if(this.settings.onWillPresent(),this.updateScreenHeights(),this.drawBaseElements(),yield this.setBreakpoints(),this.paneEl.style.height=this.getPaneHeight()+"px",this.settings.inverse&&(this.paneEl.style.top=`-${this.breakpoints.bottomer}px`),this.wrapperEl.style.display="block",this.contentEl.style.display="block",this.wrapperEl.classList.add("rendered"),this.rendered=!0,this.settings.followerElement){if(!document.querySelector(this.settings.followerElement))return void console.warn("Cupertino Pane: wrong follower element selector specified",this.settings.followerElement);this.followerEl=document.querySelector(this.settings.followerElement),this.followerEl.style.willChange="transform, border-radius",this.followerEl.style.transform="translateY(0px) translateZ(0px)",this.followerEl.style.transition=`all ${this.settings.animationDuration}ms ${this.getTimingFunction(null===(e=this.settings.breaks[this.currentBreak()])||void 0===e?void 0:e.bounce)} 0s`}if(this.settings.zStack){let t={pushElements:null,minPushHeight:null,cardYOffset:0,cardZScale:.93,cardContrast:.85,stackZAngle:160};this.settings.zStack=Object.assign(Object.assign({},t),this.settings.zStack),this.setPushMultiplicators()}this.settings.buttonClose&&this.settings.buttonDestroy&&!this.settings.inverse&&(this.paneEl.appendChild(this.destroyButtonEl),this.destroyButtonEl.addEventListener("click",t=>this.destroy({animate:!0,destroyButton:!0})),this.destroyButtonEl.innerHTML=''),this.settings.bottomClose&&(this.settings.breaks.bottom.enabled=!0),this.settings.freeMode&&(this.settings.lowerThanBottom=!1),this.settings.backdrop&&this.renderBackdrop(),this.device.android&&(document.body.style.overscrollBehaviorY="none"),this.events.attachAllEvents(),t.animate?this.doTransition({type:"present",translateY:this.breakpoints.breaks[this.settings.initialBreak]}):(this.breakpoints.prevBreakpoint=this.settings.initialBreak,this.paneEl.style.transform=`translateY(${this.breakpoints.breaks[this.settings.initialBreak]}px) translateZ(0px)`,this.settings.backdrop&&(this.backdropEl.style.display="block"),this.settings.zStack&&this.settings.zStack.pushElements.forEach(t=>this.pushTransition(document.querySelector(t),this.breakpoints.breaks[this.settings.initialBreak],"unset")),this.settings.onDidPresent()),this.checkOpacityAttr(this.breakpoints.currentBreakpoint),yield new Promise(t=>setTimeout(()=>t(!0),150)),this.scrollElementInit(),this.checkOverflowAttr(this.breakpoints.currentBreakpoint)}else console.warn("Cupertino Pane: specified selector or DOM element already in use",this.selector)}))}getPaneHeight(){return this.settings.inverse?this.breakpoints.bottomer+this.settings.bottomOffset:this.screen_height-this.breakpoints.topper-this.settings.bottomOffset}updateScreenHeights(){this.settings.inverse?(this.screen_height=window.innerHeight,this.screenHeightOffset=0):(this.screen_height=window.innerHeight,this.screenHeightOffset=window.innerHeight)}scrollElementInit(){let t=this.el.querySelectorAll("[overflow-y]");!t.length||t.length>1?this.overflowEl=this.contentEl:(this.overflowEl=t[0],this.overflowEl.style.overflowX="hidden"),this.settings.topperOverflow&&(this.settings.upperThanTop&&console.warn('Cupertino Pane: "upperThanTop" allowed for disabled "topperOverflow"'),this.setOverflowHeight())}setOverflowHeight(t=0){this.settings.inverse?this.overflowEl.style.height=this.getPaneHeight()-30-this.settings.topperOverflowOffset-this.overflowEl.offsetTop+"px":this.overflowEl.style.height=this.getPaneHeight()-this.settings.topperOverflowOffset-this.overflowEl.offsetTop-t+"px"}checkOpacityAttr(t){let e=this.el.querySelectorAll("[hide-on-bottom]");e.length&&(this.settings.inverse||e.forEach(e=>{e.style.transition=`opacity ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,e.style.opacity=t>=this.breakpoints.breaks.bottom?"0":"1"}))}checkOverflowAttr(t){this.settings.topperOverflow&&this.overflowEl&&(this.settings.inverse?this.overflowEl.style.overflowY=t>=this.breakpoints.bottomer?"auto":"hidden":this.overflowEl.style.overflowY=t<=this.breakpoints.topper?"auto":"hidden")}isPanePresented(){let t=Array.from(document.querySelectorAll(".cupertino-pane-wrapper.rendered"));return!!t.length&&!!t.find(t=>t.contains(this.selector))}getTimingFunction(t){return t?"cubic-bezier(0.175, 0.885, 0.370, 1.120)":this.settings.animationType}isBackdropPresented(){return!!document.querySelector(".cupertino-pane-wrapper .backdrop")}renderBackdrop(){this.backdropEl=document.createElement("div"),this.backdropEl.classList.add("backdrop"),this.backdropEl.style.transition=`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,this.backdropEl.style.backgroundColor=`rgba(0,0,0, ${this.settings.backdropOpacity})`,this.wrapperEl.appendChild(this.backdropEl),this.backdropEl.addEventListener("click",t=>this.settings.onBackdropTap())}addStyle(t){if(document.querySelector("#cupertino-panes-internal"))return;const e=document.createElement("style");e.id="cupertino-panes-internal",t=t.replace(/\s\s+/g," "),e.textContent=t,document.head.prepend(e)}setPushMultiplicators(){this.settings.zStack.pushElements.forEach(t=>{let e=document.querySelector(t),s=this.getPushMulitplicator(e);s=s?s+1:1,e.style.setProperty("--push-multiplicator",""+s)})}clearPushMultiplicators(){for(let t=0;t{this.backdropEl.style.transition="initial",this.backdropEl.style.display="none",this.backdropEl.removeEventListener("transitionend",e)};if(this.backdropEl.style.transition=`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,this.backdropEl.style.backgroundColor="rgba(0,0,0,.0)",t.show)this.backdropEl.style.display="block",setTimeout(()=>{this.backdropEl.style.backgroundColor=`rgba(0,0,0, ${this.settings.backdropOpacity})`},50);else{if("none"===this.backdropEl.style.display)return;this.backdropEl.addEventListener("transitionend",e)}}getPanelTransformY(){return parseFloat(/\.*translateY\((.*)px\)/i.exec(this.paneEl.style.transform)[1])}preventDismiss(t=!1){this.preventDismissEvent=t}disableDrag(){this.disableDragEvents=!0}enableDrag(){this.disableDragEvents=!1}setBreakpoints(t){return __awaiter(this,void 0,void 0,(function*(){!this.isPanePresented()||t?yield this.breakpoints.buildBreakpoints(t):console.warn("Cupertino Pane: Provide any breaks configuration")}))}calcFitHeight(){return __awaiter(this,void 0,void 0,(function*(){return this.wrapperEl&&this.el?this.breakpoints.calcHeightInProcess?(console.warn("Cupertino Pane: calcFitHeight() already in process"),null):void(yield this.breakpoints.buildBreakpoints(this.breakpoints.lockedBreakpoints)):null}))}moveToBreak(t){if(!this.isPanePresented())return console.warn("Cupertino Pane: Present pane before call moveToBreak()"),null;this.settings.breaks[t].enabled?(this.checkOpacityAttr(this.breakpoints.breaks[t]),this.checkOverflowAttr(this.breakpoints.breaks[t]),this.doTransition({type:"breakpoint",translateY:this.breakpoints.breaks[t]}),this.breakpoints.currentBreakpoint=this.breakpoints.breaks[t]):console.warn("Cupertino Pane: %s breakpoint disabled",t)}moveToHeight(t){if(!this.isPanePresented())return console.warn("Cupertino Pane: Present pane before call moveToHeight()"),null;let e=this.screenHeightOffset?this.screen_height-t:t;this.checkOpacityAttr(e),this.doTransition({type:"breakpoint",translateY:e})}hide(){return this.isPanePresented()?this.isHidden()?(console.warn("Cupertino Pane: Pane already hidden"),null):void this.doTransition({type:"hide",translateY:this.screenHeightOffset}):(console.warn("Cupertino Pane: Present pane before call hide()"),null)}isHidden(){return this.isPanePresented()?this.paneEl.style.transform===`translateY(${this.screenHeightOffset}px) translateZ(0px)`:(console.warn("Cupertino Pane: Present pane before call isHidden()"),null)}currentBreak(){return this.isPanePresented()?this.breakpoints.getCurrentBreakName():(console.warn("Cupertino Pane: Present pane before call currentBreak()"),null)}destroyResets(){this.parentEl.appendChild(this.contentEl),this.wrapperEl.remove(),this.events.detachAllEvents(),this.settings.zStack,delete this.rendered,delete this.breakpoints.prevBreakpoint,this.contentEl.style.display="none"}destroy(t={animate:!1,destroyButton:!1}){if(!this.isPanePresented())return console.warn("Cupertino Pane: Present pane before call destroy()"),null;this.preventDismissEvent?this.preventedDismiss||(this.settings.onWillDismiss({prevented:!0}),this.moveToBreak(this.breakpoints.prevBreakpoint)):(this.settings.onWillDismiss(),t.animate?this.doTransition({type:"destroy",translateY:this.screenHeightOffset,destroyButton:t.destroyButton}):(this.destroyResets(),this.settings.onDidDismiss({destroyButton:t.destroyButton})))}pushTransition(t,e,s){let i=this.settings.zStack.pushElements;t.style.transition=s,e=this.screenHeightOffset-e;const n=this.settings.zStack.minPushHeight?this.settings.zStack.minPushHeight:this.screenHeightOffset-this.breakpoints.bottomer,r=this.screenHeightOffset-this.breakpoints.topper;let o=this.getPushMulitplicator(t),a=Math.pow(this.settings.zStack.cardZScale,o),h=Math.pow(this.settings.zStack.cardZScale,o-1),l=6+this.settings.zStack.cardYOffset,p=l*o*-1,c=p+l,d=Math.pow(this.settings.zStack.cardContrast,o),u=Math.pow(this.settings.zStack.cardContrast,o-1);const g=(s,n,r,o)=>{let a=Math.pow(s,this.settings.zStack.stackZAngle/100);t.style.transform=`translateY(${n*(a/s)}px) scale(${s})`,t.style.borderRadius=o+"px",t.style.filter=`contrast(${r})`;let h=document.querySelector(i[i.length-1]);e||t.className!==h.className||this.clearPushMultiplicators()};if(e<=n)return void g(h,c,u,0);const b=(t,s)=>{let i=-1*(r*s-n*t);return i-=(t-s)*e,i/=n-r,i>s&&(i=s),ithis.pushTransition(document.querySelector(t),this.getPanelTransformY(),"all 0ms linear 0ms")));const s=()=>{"destroy"===t.type&&this.destroyResets(),this.paneEl.style.transition="initial",this.followerEl&&(this.followerEl.style.transition="initial"),this.settings.backdrop&&("destroy"!==t.type&&"hide"!==t.type||(this.backdropEl.style.transition="initial",this.backdropEl.style.display="none")),"present"===t.type&&this.settings.onDidPresent(),"destroy"===t.type&&this.settings.onDidDismiss({destroyButton:t.destroyButton}),this.settings.onTransitionEnd({target:document.body.contains(this.paneEl)?this.paneEl:null}),this.paneEl.removeEventListener("transitionend",s)};if("breakpoint"===t.type||"end"===t.type||"present"===t.type||"hide"===t.type||"destroy"===t.type){if(this.settings.backdrop&&(this.isHidden()||"hide"===t.type||"destroy"===t.type||"present"===t.type)&&(this.backdropEl.style.backgroundColor="rgba(0,0,0,.0)",this.backdropEl.style.transition=`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`,"hide"!==t.type&&"destroy"!==t.type&&(this.backdropEl.style.display="block",setTimeout(()=>{this.backdropEl.style.backgroundColor=`rgba(0,0,0, ${this.settings.backdropOpacity})`},50))),"end"===t.type&&this.settings.freeMode)return;const i=Object.entries(this.settings.breaks).find(e=>e[1].height===this.screenHeightOffset-t.translateY),n=this.getTimingFunction(!(!i||!(null===(e=i[1])||void 0===e?void 0:e.bounce)));this.paneEl.style.transition=`transform ${this.settings.animationDuration}ms ${n} 0s`,this.followerEl&&(this.followerEl.style.transition=`transform ${this.settings.animationDuration}ms ${n} 0s`),this.settings.zStack&&setTimeout(()=>{this.settings.zStack.pushElements.forEach(e=>this.pushTransition(document.querySelector(e),t.translateY,`all ${this.settings.animationDuration}ms ${this.settings.animationType} 0s`))},this.settings.zStack.cardYOffset&&"present"===t.type?50:0),setTimeout(()=>{this.settings.onTransitionStart({translateY:{new:t.translateY}}),this.paneEl.style.transform=`translateY(${t.translateY}px) translateZ(0px)`,this.followerEl&&(this.followerEl.style.transform=`translateY(${t.translateY-this.breakpoints.breaks[this.settings.initialBreak]}px) translateZ(0px)`)},"present"===t.type?50:0);let r=Object.entries(this.breakpoints.breaks).find(e=>e[1]===t.translateY);return r&&(this.breakpoints.prevBreakpoint=r[0]),void this.paneEl.addEventListener("transitionend",s)}}}exports.CupertinoPane=CupertinoPane;
//# sourceMappingURL=cupertino-pane.min.js.map
\ No newline at end of file
diff --git a/dist/cupertino-pane.min.js.map b/dist/cupertino-pane.min.js.map
index d24059b6..5cf622f8 100644
--- a/dist/cupertino-pane.min.js.map
+++ b/dist/cupertino-pane.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["0"],"names":["exports","__esModule","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","Object","defineProperty","Support","touch","window","navigator","maxTouchPoints","document","observer","backdropFilter","CSS","supports","passiveListener","supportsPassive","opts","[object Object]","addEventListener","gestures","pointerEvents","Device","this","ios","android","androidChrome","desktop","iphone","ipod","ipad","edge","ie","firefox","macos","windows","cordova","phonegap","electron","ionic","querySelector","platform","ua","userAgent","screenWidth","screen","width","screenHeight","height","match","indexOf","toLowerCase","os","osVersion","replace","split","webView","matchMedia","matches","webview","standalone","pixelRatio","devicePixelRatio","Events","instance","settings","device","breakpoints","allowClick","disableDragAngle","pointerDown","contentScrollTop","steps","inputBluredbyMove","movedByKeyboard","touchEvents","touchEventsTouch","start","move","end","cancel","touchEventsDesktop","simulateTouch","touchStartCb","t","touchStart","touchMoveBackdropCb","touchMoveBackdrop","touchMoveCb","touchMove","touchEndCb","touchEnd","onClickCb","onClick","onKeyboardShowCb","onKeyboardShow","onKeyboardHideCb","onKeyboardHide","onWindowResizeCb","onWindowResize","dragBy","forEach","selector","el","eventListeners","paneEl","handleKeyboard","parentEl","scrollTop","parentElement","removeEventListener","detachAllEvents","attachAllEvents","type","_a","_b","_c","backdropEl","passiveListeners","passive","capture","preventClicks","onDragStart","disableDragEvents","preventedDismiss","clientY","clientX","getEvetClientYX","startY","startX","willScrolled","isDragScrollabe","path","composedPath","push","touchMoveStopPropagation","stopPropagation","delta","onDrag","diffY","length","newVal","getPanelTransformY","isFormElement","target","isElementScrollable","activeElement","blur","touchAngle","diffX","Math","atan2","abs","PI","overflowEl","style","overflowY","s","inverse","topper","upperThanTop","transform","differKoef","lowerThanBottom","bottomer","checkOpacityAttr","preventDismissEvent","bottomClose","screen_height","onWillDismiss","prevented","moveToBreak","prevBreakpoint","checkOverflowAttr","doTransition","translateY","closest","getClosestBreakY","diff","swipeNextSensivity","hasOwnProperty","fastSwipeSensivity","swipeNextPoint","fastSwipeClose","currentBreakpoint","destroy","animate","blurTapEvent","onDragEnd","isNaN","breaks","onTransitionEnd","clickBottomOpen","enabled","preventDefault","stopImmediatePropagation","isPaneDescendant","isOnViewport","setTimeout","fixAndroidResize","entries","find","val","newHeight","currentBreak","keyboardHeight","moveToHeight","setOverflowHeight","topperOverflowOffset","offsetTop","isHidden","updateScreenHeights","buildBreakpoints","JSON","parse","lockedBreakpoints","ev","name","targetTouch","targetTouches","changedTouches","requestAnimationFrame","wrapperEl","position","item","overflow","node","parentNode","tagName","includes","scrollHeight","clientHeight","offsetWidth","offsetHeight","Settings","initialBreak","followerElement","cssClass","fitHeight","maxFitHeight","fitScreenHeight","backdrop","backdropOpacity","animationType","animationDuration","bottomOffset","freeMode","buttonDestroy","buttonClose","topperOverflow","showDraggable","draggableOver","zStack","onDidDismiss","onDidPresent","onWillPresent","onBackdropTap","onTransitionStart","Breakpoints","calcHeightInProcess","brs","defaultBreaksConf","top","innerHeight","middle","bottom","conf","lock","screenHeightOffset","getPaneFitHeight","stringify","isPanePresented","console","warn","reduce","prev","curr","nextY","nextBreak","getPaneHeight","scrollElementInit","images","querySelectorAll","rendered","visibility","display","promises","Array","from","map","image","complete","naturalHeight","onload","all","parseInt","defaultView","getComputedStyle","getPropertyValue","CupertinoPane","maxDiff","settingsBreaks","assign","HTMLElement","error","events","createElement","classList","add","className","internalStyles","draggableEl","moveEl","destroyButtonEl","contentEl","transition","overflowX","addStyle","appendChild","drawBaseElements","setBreakpoints","followerEl","willChange","getTimingFunction","bounce","zStackDefaults","pushElements","minPushHeight","cardYOffset","cardZScale","cardLessContrast","stackZAngle","setPushMultiplicators","destroyButton","innerHTML","renderBackdrop","body","pushTransition","attrElements","offset","opacity","wrappers","contains","backgroundColor","styleString","id","textContent","head","prepend","pushElement","multiplicator","getPushMulitplicator","setProperty","i","removeProperty","show","isBackdropPresented","resetEvents","transitionEnd","parseFloat","exec","getCurrentBreakName","remove","destroyResets","newPaneY","topHeight","minHeight","scaleNew","pow","scaleNormal","pushY","yNew","yNormal","contrastNew","contrastNormal","setStyles","scale","y","contrast","border","exponentAngle","borderRadius","filter","lastPushed","clearPushMultiplicators","getXbyY","min","max","params","timingForNext","new","getNextBreakpoint"],"mappings":"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","file":"cupertino-pane.min.js"}
\ No newline at end of file
+{"version":3,"sources":["0"],"names":["exports","__esModule","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","Object","defineProperty","Support","touch","window","navigator","maxTouchPoints","document","observer","backdropFilter","CSS","supports","passiveListener","supportsPassive","opts","[object Object]","addEventListener","gestures","pointerEvents","Device","this","ios","android","androidChrome","desktop","iphone","ipod","ipad","edge","ie","firefox","macos","windows","cordova","phonegap","electron","ionic","querySelector","platform","ua","userAgent","screenWidth","screen","width","screenHeight","height","match","indexOf","toLowerCase","os","osVersion","replace","split","webView","matchMedia","matches","webview","standalone","pixelRatio","devicePixelRatio","Events","instance","settings","device","breakpoints","allowClick","disableDragAngle","pointerDown","contentScrollTop","steps","inputBluredbyMove","movedByKeyboard","touchEvents","touchEventsTouch","start","move","end","cancel","touchEventsDesktop","simulateTouch","touchStartCb","t","touchStart","touchMoveBackdropCb","touchMoveBackdrop","touchMoveCb","touchMove","touchEndCb","touchEnd","onClickCb","onClick","onKeyboardShowCb","onKeyboardShow","onKeyboardHideCb","onKeyboardHide","onWindowResizeCb","onWindowResize","dragBy","forEach","selector","el","eventListeners","paneEl","handleKeyboard","parentEl","scrollTop","parentElement","removeEventListener","detachAllEvents","attachAllEvents","type","_a","_b","_c","backdropEl","passiveListeners","passive","capture","preventClicks","onDragStart","disableDragEvents","preventedDismiss","clientY","clientX","getEvetClientYX","startY","startX","willScrolled","isDragScrollabe","path","composedPath","push","touchMoveStopPropagation","stopPropagation","delta","onDrag","diffY","length","newVal","getPanelTransformY","isFormElement","target","isElementScrollable","activeElement","blur","touchAngle","diffX","Math","atan2","abs","PI","overflowEl","style","overflowY","s","inverse","topper","upperThanTop","transform","differKoef","lowerThanBottom","bottomer","checkOpacityAttr","preventDismissEvent","bottomClose","screen_height","onWillDismiss","prevented","moveToBreak","prevBreakpoint","checkOverflowAttr","doTransition","translateY","closest","getClosestBreakY","diff","swipeNextSensivity","hasOwnProperty","fastSwipeSensivity","swipeNextPoint","fastSwipeClose","currentBreakpoint","destroy","animate","blurTapEvent","onDragEnd","isNaN","breaks","onTransitionEnd","clickBottomOpen","enabled","preventDefault","stopImmediatePropagation","isPaneDescendant","isOnViewport","setTimeout","fixAndroidResize","entries","find","val","newHeight","currentBreak","keyboardHeight","moveToHeight","setOverflowHeight","topperOverflowOffset","offsetTop","isHidden","updateScreenHeights","buildBreakpoints","JSON","parse","lockedBreakpoints","ev","name","targetTouch","targetTouches","changedTouches","requestAnimationFrame","wrapperEl","position","item","overflow","node","parentNode","tagName","includes","scrollHeight","clientHeight","offsetWidth","offsetHeight","Settings","initialBreak","followerElement","cssClass","fitHeight","maxFitHeight","fitScreenHeight","backdrop","backdropOpacity","animationType","animationDuration","bottomOffset","freeMode","buttonDestroy","buttonClose","topperOverflow","showDraggable","draggableOver","zStack","onDidDismiss","onDidPresent","onWillPresent","onBackdropTap","onTransitionStart","Breakpoints","calcHeightInProcess","brs","defaultBreaksConf","top","innerHeight","middle","bottom","conf","lock","screenHeightOffset","getPaneFitHeight","stringify","isPanePresented","console","warn","reduce","prev","curr","nextY","nextBreak","getPaneHeight","scrollElementInit","images","querySelectorAll","rendered","visibility","display","promises","Array","from","map","image","complete","naturalHeight","onload","all","parseInt","defaultView","getComputedStyle","getPropertyValue","CupertinoPane","maxDiff","settingsBreaks","assign","HTMLElement","error","events","createElement","classList","add","className","internalStyles","draggableEl","moveEl","destroyButtonEl","contentEl","transition","overflowX","addStyle","appendChild","drawBaseElements","setBreakpoints","followerEl","willChange","getTimingFunction","bounce","zStackDefaults","pushElements","minPushHeight","cardYOffset","cardZScale","cardContrast","stackZAngle","setPushMultiplicators","destroyButton","innerHTML","renderBackdrop","body","pushTransition","attrElements","offset","opacity","wrappers","contains","backgroundColor","styleString","id","textContent","head","prepend","pushElement","multiplicator","getPushMulitplicator","setProperty","i","removeProperty","show","isBackdropPresented","resetEvents","transitionEnd","parseFloat","exec","getCurrentBreakName","remove","destroyResets","newPaneY","topHeight","minHeight","scaleNew","pow","scaleNormal","pushY","yNew","yNormal","contrastNew","contrastNormal","setStyles","scale","y","contrast","border","exponentAngle","borderRadius","filter","lastPushed","clearPushMultiplicators","getXbyY","min","max","params","timingForNext","new","getNextBreakpoint"],"mappings":"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","file":"cupertino-pane.min.js"}
\ No newline at end of file
diff --git a/dist/models.d.ts b/dist/models.d.ts
index 7c857daf..ce3aa1ee 100644
--- a/dist/models.d.ts
+++ b/dist/models.d.ts
@@ -13,7 +13,7 @@ export interface ZStackSettings {
minPushHeight?: number;
cardYOffset?: number;
cardZScale?: number;
- cardLessContrast?: boolean;
+ cardContrast?: number;
stackZAngle?: number;
}
export interface TransitionStartEvent {
diff --git a/package.json b/package.json
index 831d7210..ae3a57f9 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "cupertino-pane",
"description": "Multi-functional panes and boards for next generation progressive applications",
- "version": "1.2.5",
+ "version": "1.2.6",
"author": "Roman Antonov (roman-rr)",
"homepage": "https://github.com/roman-rr/cupertino-pane/",
"repository": "roman-rr/cupertino-pane",
diff --git a/src/cupertino-pane.ts b/src/cupertino-pane.ts
index aadd31bd..05c4be17 100644
--- a/src/cupertino-pane.ts
+++ b/src/cupertino-pane.ts
@@ -289,7 +289,7 @@ export class CupertinoPane {
minPushHeight: null,
cardYOffset: 0,
cardZScale: 0.93,
- cardLessContrast: true,
+ cardContrast: 0.85,
stackZAngle: 160,
};
this.settings.zStack = {...zStackDefaults, ...this.settings.zStack};
@@ -779,17 +779,15 @@ export class CupertinoPane {
let pushY = 6 + this.settings.zStack.cardYOffset; // 6 is iOS style offset for z-stacks
let yNew = -1 * (pushY * multiplicator);
let yNormal = (yNew + pushY);
- let contrastNew = Math.pow(0.85, multiplicator);
- let contrastNormal = Math.pow(0.85, multiplicator - 1);
+ let contrastNew = Math.pow(this.settings.zStack.cardContrast, multiplicator);
+ let contrastNormal = Math.pow(this.settings.zStack.cardContrast, multiplicator - 1);
// Accumulated styles from each pusher to pushed
const setStyles = (scale, y, contrast, border) => {
let exponentAngle = Math.pow(scale, this.settings.zStack.stackZAngle / 100);
pushElement.style.transform = `translateY(${y * (exponentAngle/scale)}px) scale(${scale})`;
pushElement.style.borderRadius = `${border}px`;
- if (this.settings.zStack.cardLessContrast) {
- pushElement.style.filter = `contrast(${contrast})`;
- }
+ pushElement.style.filter = `contrast(${contrast})`;
// When destroy transition and last item moved we reduce multiplicators
let lastPushed = document.querySelector(zStack[zStack.length - 1]);
diff --git a/src/events.ts b/src/events.ts
index 6f743bec..46a7577f 100644
--- a/src/events.ts
+++ b/src/events.ts
@@ -157,11 +157,11 @@ export class Events {
// Event emitter
this.settings.onDragStart(t as CustomEvent);
- if (this.instance.disableDragEvents) return;
-
- // Allow clicks by default, disallow on move
+ // Allow clicks by default -> disallow on move (allow click with disabled drag)
this.allowClick = true;
+ if (this.instance.disableDragEvents) return;
+
// Allow touch angle by default, disallow no move with condition
this.disableDragAngle = false;
diff --git a/src/models.ts b/src/models.ts
index 0fe762ba..89448fd7 100644
--- a/src/models.ts
+++ b/src/models.ts
@@ -15,7 +15,7 @@ export interface ZStackSettings {
minPushHeight?: number;
cardYOffset?: number;
cardZScale?: number;
- cardLessContrast?: boolean;
+ cardContrast?: number;
stackZAngle?: number;
}