@ionic/core 8.6.1-dev.11749562115.1e681558 → 8.6.1-dev.11749575087.1b86eb67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/ion-item-sliding.js +2 -3
- package/components/modal.js +78 -47
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -3
- package/dist/cjs/ion-modal.cjs.entry.js +78 -47
- package/dist/collection/components/item-sliding/item-sliding.js +2 -3
- package/dist/collection/components/modal/gestures/sheet.js +78 -47
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +2 -15
- package/dist/docs.json +1 -1
- package/dist/esm/ion-item-option_3.entry.js +2 -3
- package/dist/esm/ion-modal.entry.js +78 -47
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-a92bfa13.entry.js → p-66510682.entry.js} +1 -1
- package/dist/ionic/p-cc783824.entry.js +4 -0
- package/dist/types/utils/test/playwright/playwright-declarations.d.ts +0 -5
- package/hydrate/index.js +80 -50
- package/hydrate/index.mjs +80 -50
- package/package.json +1 -1
- package/dist/ionic/p-90f87086.entry.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -18348,7 +18348,6 @@ class ItemSliding {
|
|
|
18348
18348
|
}
|
|
18349
18349
|
}
|
|
18350
18350
|
async updateOptions() {
|
|
18351
|
-
var _a;
|
|
18352
18351
|
const options = this.el.querySelectorAll('ion-item-options');
|
|
18353
18352
|
let sides = 0;
|
|
18354
18353
|
// Reset left and right options in case they were removed
|
|
@@ -18362,7 +18361,7 @@ class ItemSliding {
|
|
|
18362
18361
|
*/
|
|
18363
18362
|
// eslint-disable-next-line custom-rules/no-component-on-ready-method
|
|
18364
18363
|
const option = item.componentOnReady !== undefined ? await item.componentOnReady() : item;
|
|
18365
|
-
const side = isEndSide(
|
|
18364
|
+
const side = isEndSide(option.side) ? 'end' : 'start';
|
|
18366
18365
|
if (side === 'start') {
|
|
18367
18366
|
this.leftOptions = option;
|
|
18368
18367
|
sides |= 1 /* ItemSide.Start */;
|
|
@@ -18560,7 +18559,7 @@ class ItemSliding {
|
|
|
18560
18559
|
}
|
|
18561
18560
|
render() {
|
|
18562
18561
|
const mode = getIonMode$1(this);
|
|
18563
|
-
return (hAsync(Host, { key: '
|
|
18562
|
+
return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
|
|
18564
18563
|
[mode]: true,
|
|
18565
18564
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
18566
18565
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -21431,7 +21430,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
21431
21430
|
let offset = 0;
|
|
21432
21431
|
let canDismissBlocksGesture = false;
|
|
21433
21432
|
let cachedScrollEl = null;
|
|
21434
|
-
let
|
|
21433
|
+
let cachedFooterEls = null;
|
|
21435
21434
|
let cachedFooterYPosition = null;
|
|
21436
21435
|
let currentFooterState = null;
|
|
21437
21436
|
const canDismissMaxStep = 0.95;
|
|
@@ -21468,60 +21467,81 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
21468
21467
|
* @param newPosition Whether the footer is in a moving or stationary position.
|
|
21469
21468
|
*/
|
|
21470
21469
|
const swapFooterPosition = (newPosition) => {
|
|
21471
|
-
if (!
|
|
21472
|
-
|
|
21473
|
-
if (!
|
|
21470
|
+
if (!cachedFooterEls) {
|
|
21471
|
+
cachedFooterEls = Array.from(baseEl.querySelectorAll('ion-footer'));
|
|
21472
|
+
if (!cachedFooterEls.length) {
|
|
21474
21473
|
return;
|
|
21475
21474
|
}
|
|
21476
21475
|
}
|
|
21477
21476
|
const page = baseEl.querySelector('.ion-page');
|
|
21478
21477
|
currentFooterState = newPosition;
|
|
21479
21478
|
if (newPosition === 'stationary') {
|
|
21480
|
-
|
|
21481
|
-
|
|
21482
|
-
|
|
21483
|
-
|
|
21484
|
-
|
|
21485
|
-
|
|
21486
|
-
|
|
21487
|
-
|
|
21488
|
-
|
|
21489
|
-
|
|
21479
|
+
cachedFooterEls.forEach((cachedFooterEl) => {
|
|
21480
|
+
// Reset positioning styles to allow normal document flow
|
|
21481
|
+
cachedFooterEl.classList.remove('modal-footer-moving');
|
|
21482
|
+
cachedFooterEl.style.removeProperty('position');
|
|
21483
|
+
cachedFooterEl.style.removeProperty('width');
|
|
21484
|
+
cachedFooterEl.style.removeProperty('height');
|
|
21485
|
+
cachedFooterEl.style.removeProperty('top');
|
|
21486
|
+
cachedFooterEl.style.removeProperty('left');
|
|
21487
|
+
page === null || page === void 0 ? void 0 : page.style.removeProperty('padding-bottom');
|
|
21488
|
+
// Move to page
|
|
21489
|
+
page === null || page === void 0 ? void 0 : page.appendChild(cachedFooterEl);
|
|
21490
|
+
});
|
|
21490
21491
|
}
|
|
21491
21492
|
else {
|
|
21492
|
-
|
|
21493
|
-
|
|
21494
|
-
|
|
21495
|
-
|
|
21496
|
-
|
|
21497
|
-
|
|
21498
|
-
|
|
21499
|
-
|
|
21500
|
-
|
|
21501
|
-
|
|
21502
|
-
|
|
21503
|
-
|
|
21504
|
-
|
|
21505
|
-
|
|
21506
|
-
|
|
21507
|
-
|
|
21508
|
-
|
|
21509
|
-
|
|
21510
|
-
|
|
21511
|
-
|
|
21512
|
-
|
|
21513
|
-
|
|
21514
|
-
|
|
21515
|
-
|
|
21516
|
-
|
|
21517
|
-
|
|
21518
|
-
|
|
21519
|
-
|
|
21520
|
-
|
|
21521
|
-
|
|
21522
|
-
|
|
21523
|
-
}
|
|
21524
|
-
|
|
21493
|
+
let footerHeights = 0;
|
|
21494
|
+
cachedFooterEls.forEach((cachedFooterEl, index) => {
|
|
21495
|
+
// Get both the footer and document body positions
|
|
21496
|
+
const cachedFooterElRect = cachedFooterEl.getBoundingClientRect();
|
|
21497
|
+
const bodyRect = document.body.getBoundingClientRect();
|
|
21498
|
+
// Calculate the total height of all footers
|
|
21499
|
+
// so we can add padding to the page element
|
|
21500
|
+
footerHeights += cachedFooterEl.clientHeight;
|
|
21501
|
+
// Calculate absolute position relative to body
|
|
21502
|
+
// We need to subtract the body's offsetTop to get true position within document.body
|
|
21503
|
+
const absoluteTop = cachedFooterElRect.top - bodyRect.top;
|
|
21504
|
+
const absoluteLeft = cachedFooterElRect.left - bodyRect.left;
|
|
21505
|
+
// Capture the footer's current dimensions and store them in CSS variables for
|
|
21506
|
+
// later use when applying absolute positioning.
|
|
21507
|
+
cachedFooterEl.style.setProperty('--pinned-width', `${cachedFooterEl.clientWidth}px`);
|
|
21508
|
+
cachedFooterEl.style.setProperty('--pinned-height', `${cachedFooterEl.clientHeight}px`);
|
|
21509
|
+
cachedFooterEl.style.setProperty('--pinned-top', `${absoluteTop}px`);
|
|
21510
|
+
cachedFooterEl.style.setProperty('--pinned-left', `${absoluteLeft}px`);
|
|
21511
|
+
// Only cache the first footer's Y position
|
|
21512
|
+
// This is used to determine if the sheet has been moved below the footer
|
|
21513
|
+
// and needs to be swapped back to stationary so it collapses correctly.
|
|
21514
|
+
if (index === 0) {
|
|
21515
|
+
cachedFooterYPosition = absoluteTop;
|
|
21516
|
+
// If there's a header, we need to combine the header height with the footer position
|
|
21517
|
+
// because the header moves with the drag handle, so when it starts overlapping the footer,
|
|
21518
|
+
// we need to account for that.
|
|
21519
|
+
const header = baseEl.querySelector('ion-header');
|
|
21520
|
+
if (header) {
|
|
21521
|
+
cachedFooterYPosition -= header.clientHeight;
|
|
21522
|
+
}
|
|
21523
|
+
}
|
|
21524
|
+
});
|
|
21525
|
+
// Apply the pinning of styles after we've calculated everything
|
|
21526
|
+
// so that we don't cause layouts to shift while calculating the footer positions.
|
|
21527
|
+
// Otherwise, with multiple footers we'll end up capturing the wrong positions.
|
|
21528
|
+
cachedFooterEls.forEach((cachedFooterEl) => {
|
|
21529
|
+
// Add padding to the parent element to prevent content from being hidden
|
|
21530
|
+
// when the footer is positioned absolutely. This has to be done before we
|
|
21531
|
+
// make the footer absolutely positioned or we may accidentally cause the
|
|
21532
|
+
// sheet to scroll.
|
|
21533
|
+
page === null || page === void 0 ? void 0 : page.style.setProperty('padding-bottom', `${footerHeights}px`);
|
|
21534
|
+
// Apply positioning styles to keep footer at bottom
|
|
21535
|
+
cachedFooterEl.classList.add('modal-footer-moving');
|
|
21536
|
+
// Apply our preserved styles to pin the footer
|
|
21537
|
+
cachedFooterEl.style.setProperty('position', 'absolute');
|
|
21538
|
+
cachedFooterEl.style.setProperty('width', 'var(--pinned-width)');
|
|
21539
|
+
cachedFooterEl.style.setProperty('height', 'var(--pinned-height)');
|
|
21540
|
+
cachedFooterEl.style.setProperty('top', 'var(--pinned-top)');
|
|
21541
|
+
cachedFooterEl.style.setProperty('left', 'var(--pinned-left)');
|
|
21542
|
+
// Move the element to the body when everything else is done
|
|
21543
|
+
document.body.appendChild(cachedFooterEl);
|
|
21544
|
+
});
|
|
21525
21545
|
}
|
|
21526
21546
|
};
|
|
21527
21547
|
/**
|
|
@@ -21713,6 +21733,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
21713
21733
|
* is not scrolled to the top.
|
|
21714
21734
|
*/
|
|
21715
21735
|
if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl && cachedScrollEl.scrollTop > 0) {
|
|
21736
|
+
/**
|
|
21737
|
+
* If expand to scroll is disabled, we need to make sure we swap the footer position
|
|
21738
|
+
* back to stationary so that it will collapse correctly if the modal is dismissed without
|
|
21739
|
+
* dragging (e.g. through a dismiss button).
|
|
21740
|
+
* This can cause issues if the user has a modal with content that can be dragged, as we'll
|
|
21741
|
+
* swap to moving on drag and if we don't swap back here then the footer will get stuck.
|
|
21742
|
+
*/
|
|
21743
|
+
if (!expandToScroll) {
|
|
21744
|
+
swapFooterPosition('stationary');
|
|
21745
|
+
}
|
|
21716
21746
|
return;
|
|
21717
21747
|
}
|
|
21718
21748
|
/**
|
package/hydrate/index.mjs
CHANGED
|
@@ -18346,7 +18346,6 @@ class ItemSliding {
|
|
|
18346
18346
|
}
|
|
18347
18347
|
}
|
|
18348
18348
|
async updateOptions() {
|
|
18349
|
-
var _a;
|
|
18350
18349
|
const options = this.el.querySelectorAll('ion-item-options');
|
|
18351
18350
|
let sides = 0;
|
|
18352
18351
|
// Reset left and right options in case they were removed
|
|
@@ -18360,7 +18359,7 @@ class ItemSliding {
|
|
|
18360
18359
|
*/
|
|
18361
18360
|
// eslint-disable-next-line custom-rules/no-component-on-ready-method
|
|
18362
18361
|
const option = item.componentOnReady !== undefined ? await item.componentOnReady() : item;
|
|
18363
|
-
const side = isEndSide(
|
|
18362
|
+
const side = isEndSide(option.side) ? 'end' : 'start';
|
|
18364
18363
|
if (side === 'start') {
|
|
18365
18364
|
this.leftOptions = option;
|
|
18366
18365
|
sides |= 1 /* ItemSide.Start */;
|
|
@@ -18558,7 +18557,7 @@ class ItemSliding {
|
|
|
18558
18557
|
}
|
|
18559
18558
|
render() {
|
|
18560
18559
|
const mode = getIonMode$1(this);
|
|
18561
|
-
return (hAsync(Host, { key: '
|
|
18560
|
+
return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
|
|
18562
18561
|
[mode]: true,
|
|
18563
18562
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
18564
18563
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -21429,7 +21428,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
21429
21428
|
let offset = 0;
|
|
21430
21429
|
let canDismissBlocksGesture = false;
|
|
21431
21430
|
let cachedScrollEl = null;
|
|
21432
|
-
let
|
|
21431
|
+
let cachedFooterEls = null;
|
|
21433
21432
|
let cachedFooterYPosition = null;
|
|
21434
21433
|
let currentFooterState = null;
|
|
21435
21434
|
const canDismissMaxStep = 0.95;
|
|
@@ -21466,60 +21465,81 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
21466
21465
|
* @param newPosition Whether the footer is in a moving or stationary position.
|
|
21467
21466
|
*/
|
|
21468
21467
|
const swapFooterPosition = (newPosition) => {
|
|
21469
|
-
if (!
|
|
21470
|
-
|
|
21471
|
-
if (!
|
|
21468
|
+
if (!cachedFooterEls) {
|
|
21469
|
+
cachedFooterEls = Array.from(baseEl.querySelectorAll('ion-footer'));
|
|
21470
|
+
if (!cachedFooterEls.length) {
|
|
21472
21471
|
return;
|
|
21473
21472
|
}
|
|
21474
21473
|
}
|
|
21475
21474
|
const page = baseEl.querySelector('.ion-page');
|
|
21476
21475
|
currentFooterState = newPosition;
|
|
21477
21476
|
if (newPosition === 'stationary') {
|
|
21478
|
-
|
|
21479
|
-
|
|
21480
|
-
|
|
21481
|
-
|
|
21482
|
-
|
|
21483
|
-
|
|
21484
|
-
|
|
21485
|
-
|
|
21486
|
-
|
|
21487
|
-
|
|
21477
|
+
cachedFooterEls.forEach((cachedFooterEl) => {
|
|
21478
|
+
// Reset positioning styles to allow normal document flow
|
|
21479
|
+
cachedFooterEl.classList.remove('modal-footer-moving');
|
|
21480
|
+
cachedFooterEl.style.removeProperty('position');
|
|
21481
|
+
cachedFooterEl.style.removeProperty('width');
|
|
21482
|
+
cachedFooterEl.style.removeProperty('height');
|
|
21483
|
+
cachedFooterEl.style.removeProperty('top');
|
|
21484
|
+
cachedFooterEl.style.removeProperty('left');
|
|
21485
|
+
page === null || page === void 0 ? void 0 : page.style.removeProperty('padding-bottom');
|
|
21486
|
+
// Move to page
|
|
21487
|
+
page === null || page === void 0 ? void 0 : page.appendChild(cachedFooterEl);
|
|
21488
|
+
});
|
|
21488
21489
|
}
|
|
21489
21490
|
else {
|
|
21490
|
-
|
|
21491
|
-
|
|
21492
|
-
|
|
21493
|
-
|
|
21494
|
-
|
|
21495
|
-
|
|
21496
|
-
|
|
21497
|
-
|
|
21498
|
-
|
|
21499
|
-
|
|
21500
|
-
|
|
21501
|
-
|
|
21502
|
-
|
|
21503
|
-
|
|
21504
|
-
|
|
21505
|
-
|
|
21506
|
-
|
|
21507
|
-
|
|
21508
|
-
|
|
21509
|
-
|
|
21510
|
-
|
|
21511
|
-
|
|
21512
|
-
|
|
21513
|
-
|
|
21514
|
-
|
|
21515
|
-
|
|
21516
|
-
|
|
21517
|
-
|
|
21518
|
-
|
|
21519
|
-
|
|
21520
|
-
|
|
21521
|
-
}
|
|
21522
|
-
|
|
21491
|
+
let footerHeights = 0;
|
|
21492
|
+
cachedFooterEls.forEach((cachedFooterEl, index) => {
|
|
21493
|
+
// Get both the footer and document body positions
|
|
21494
|
+
const cachedFooterElRect = cachedFooterEl.getBoundingClientRect();
|
|
21495
|
+
const bodyRect = document.body.getBoundingClientRect();
|
|
21496
|
+
// Calculate the total height of all footers
|
|
21497
|
+
// so we can add padding to the page element
|
|
21498
|
+
footerHeights += cachedFooterEl.clientHeight;
|
|
21499
|
+
// Calculate absolute position relative to body
|
|
21500
|
+
// We need to subtract the body's offsetTop to get true position within document.body
|
|
21501
|
+
const absoluteTop = cachedFooterElRect.top - bodyRect.top;
|
|
21502
|
+
const absoluteLeft = cachedFooterElRect.left - bodyRect.left;
|
|
21503
|
+
// Capture the footer's current dimensions and store them in CSS variables for
|
|
21504
|
+
// later use when applying absolute positioning.
|
|
21505
|
+
cachedFooterEl.style.setProperty('--pinned-width', `${cachedFooterEl.clientWidth}px`);
|
|
21506
|
+
cachedFooterEl.style.setProperty('--pinned-height', `${cachedFooterEl.clientHeight}px`);
|
|
21507
|
+
cachedFooterEl.style.setProperty('--pinned-top', `${absoluteTop}px`);
|
|
21508
|
+
cachedFooterEl.style.setProperty('--pinned-left', `${absoluteLeft}px`);
|
|
21509
|
+
// Only cache the first footer's Y position
|
|
21510
|
+
// This is used to determine if the sheet has been moved below the footer
|
|
21511
|
+
// and needs to be swapped back to stationary so it collapses correctly.
|
|
21512
|
+
if (index === 0) {
|
|
21513
|
+
cachedFooterYPosition = absoluteTop;
|
|
21514
|
+
// If there's a header, we need to combine the header height with the footer position
|
|
21515
|
+
// because the header moves with the drag handle, so when it starts overlapping the footer,
|
|
21516
|
+
// we need to account for that.
|
|
21517
|
+
const header = baseEl.querySelector('ion-header');
|
|
21518
|
+
if (header) {
|
|
21519
|
+
cachedFooterYPosition -= header.clientHeight;
|
|
21520
|
+
}
|
|
21521
|
+
}
|
|
21522
|
+
});
|
|
21523
|
+
// Apply the pinning of styles after we've calculated everything
|
|
21524
|
+
// so that we don't cause layouts to shift while calculating the footer positions.
|
|
21525
|
+
// Otherwise, with multiple footers we'll end up capturing the wrong positions.
|
|
21526
|
+
cachedFooterEls.forEach((cachedFooterEl) => {
|
|
21527
|
+
// Add padding to the parent element to prevent content from being hidden
|
|
21528
|
+
// when the footer is positioned absolutely. This has to be done before we
|
|
21529
|
+
// make the footer absolutely positioned or we may accidentally cause the
|
|
21530
|
+
// sheet to scroll.
|
|
21531
|
+
page === null || page === void 0 ? void 0 : page.style.setProperty('padding-bottom', `${footerHeights}px`);
|
|
21532
|
+
// Apply positioning styles to keep footer at bottom
|
|
21533
|
+
cachedFooterEl.classList.add('modal-footer-moving');
|
|
21534
|
+
// Apply our preserved styles to pin the footer
|
|
21535
|
+
cachedFooterEl.style.setProperty('position', 'absolute');
|
|
21536
|
+
cachedFooterEl.style.setProperty('width', 'var(--pinned-width)');
|
|
21537
|
+
cachedFooterEl.style.setProperty('height', 'var(--pinned-height)');
|
|
21538
|
+
cachedFooterEl.style.setProperty('top', 'var(--pinned-top)');
|
|
21539
|
+
cachedFooterEl.style.setProperty('left', 'var(--pinned-left)');
|
|
21540
|
+
// Move the element to the body when everything else is done
|
|
21541
|
+
document.body.appendChild(cachedFooterEl);
|
|
21542
|
+
});
|
|
21523
21543
|
}
|
|
21524
21544
|
};
|
|
21525
21545
|
/**
|
|
@@ -21711,6 +21731,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
21711
21731
|
* is not scrolled to the top.
|
|
21712
21732
|
*/
|
|
21713
21733
|
if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl && cachedScrollEl.scrollTop > 0) {
|
|
21734
|
+
/**
|
|
21735
|
+
* If expand to scroll is disabled, we need to make sure we swap the footer position
|
|
21736
|
+
* back to stationary so that it will collapse correctly if the modal is dismissed without
|
|
21737
|
+
* dragging (e.g. through a dismiss button).
|
|
21738
|
+
* This can cause issues if the user has a modal with content that can be dragged, as we'll
|
|
21739
|
+
* swap to moving on drag and if we don't swap back here then the footer will get stuck.
|
|
21740
|
+
*/
|
|
21741
|
+
if (!expandToScroll) {
|
|
21742
|
+
swapFooterPosition('stationary');
|
|
21743
|
+
}
|
|
21714
21744
|
return;
|
|
21715
21745
|
}
|
|
21716
21746
|
/**
|
package/package.json
CHANGED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{r as t,d as o,m as a,w as i,e,l as r,h as n,j as s,k as d}from"./p-B_U9CtaY.js";import{f as h,i as p,d as l,r as c,a as m,p as f}from"./p-QwEXyOze.js";import{C as b,a as u,d as x}from"./p-BhLqfMrf.js";import{e as w,g as v,r as g,b as k,h as y}from"./p-Do-uqmtX.js";import{c as A}from"./p-B-hirT0v.js";import{g as B}from"./p-CIGNaXM1.js";import{G as D,O as Y,F as E,e as S,B as j,j as C,k as M,f as T,g as O,h as $}from"./p-aIxOGKys.js";import{g as P}from"./p-DiVJyqlX.js";import{e as R,w as z}from"./p-BROiNJRB.js";import{KEYBOARD_DID_OPEN as I}from"./p-9eeaBrnk.js";import{c as W}from"./p-bNmY-WfR.js";import{g as L}from"./p-hHmYLOfE.js";import{createGesture as N}from"./p-Cl0B-RWe.js";import{w as H}from"./p-ZjP4CjeZ.js";import"./p-DzH0J0yi.js";import"./p-BTEOs1at.js";import"./p-D13Eaw-8.js";var K;!function(t){t.Dark="DARK",t.Light="LIGHT",t.Default="DEFAULT"}(K||(K={}));const Z={getEngine(){const t=B();if(null==t?void 0:t.isPluginAvailable("StatusBar"))return t.Plugins.StatusBar},setStyle(t){const o=this.getEngine();o&&o.setStyle(t)},getStyle:async function(){const t=this.getEngine();if(!t)return K.Default;const{style:o}=await t.getInfo();return o}},F=(t,o)=>{if(1===o)return 0;const a=1/(1-o);return t*a+-o*a},G=()=>{!H||H.innerWidth>=768||Z.setStyle({style:K.Dark})},V=(t=K.Default)=>{!H||H.innerWidth>=768||Z.setStyle({style:t})},_=async(t,o)=>{"function"==typeof t.canDismiss&&await t.canDismiss(void 0,D)&&(o.isRunning()?o.onFinish((()=>{t.dismiss(void 0,"handler")}),{oneTimeCallback:!0}):t.dismiss(void 0,"handler"))},X=t=>.00255275*2.71828**(-14.9619*t)-1.00255*2.71828**(-.0380968*t)+1,q=.915,J=(t,o)=>w(400,t/Math.abs(1.1*o),500),U=t=>{const{currentBreakpoint:o,backdropBreakpoint:a,expandToScroll:i}=t,e=void 0===a||a<o,r=e?`calc(var(--backdrop-opacity) * ${o})`:"0",n=W("backdropAnimation").fromTo("opacity",0,r);return e&&n.beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),{wrapperAnimation:W("wrapperAnimation").keyframes([{offset:0,opacity:1,transform:"translateY(100%)"},{offset:1,opacity:1,transform:`translateY(${100-100*o}%)`}]),backdropAnimation:n,contentAnimation:i?void 0:W("contentAnimation").keyframes([{offset:0,opacity:1,maxHeight:100*(1-o)+"%"},{offset:1,opacity:1,maxHeight:100*o+"%"}])}},Q=t=>{const{currentBreakpoint:o,backdropBreakpoint:a}=t,i=`calc(var(--backdrop-opacity) * ${F(o,a)})`,e=[{offset:0,opacity:i},{offset:1,opacity:0}],r=[{offset:0,opacity:i},{offset:a,opacity:0},{offset:1,opacity:0}],n=W("backdropAnimation").keyframes(0!==a?r:e);return{wrapperAnimation:W("wrapperAnimation").keyframes([{offset:0,opacity:1,transform:`translateY(${100-100*o}%)`},{offset:1,opacity:1,transform:"translateY(100%)"}]),backdropAnimation:n}},tt=(t,o)=>{const{presentingEl:a,currentBreakpoint:i,expandToScroll:e}=o,r=v(t),{wrapperAnimation:n,backdropAnimation:s,contentAnimation:d}=void 0!==i?U(o):{backdropAnimation:W().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),wrapperAnimation:W().fromTo("transform","translateY(100vh)","translateY(0vh)"),contentAnimation:void 0};s.addElement(r.querySelector("ion-backdrop")),n.addElement(r.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1}),!e&&(null==d||d.addElement(t.querySelector(".ion-page")));const h=W("entering-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(500).addAnimation([n]);if(d&&h.addAnimation(d),a){const t=window.innerWidth<768,o="ION-MODAL"===a.tagName&&void 0!==a.presentingElement,i=v(a),e=W().beforeStyles({transform:"translateY(0)","transform-origin":"top center",overflow:"hidden"}),r=document.body;if(t){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",i=`translateY(${o?"-10px":t}) scale(0.915)`;e.afterStyles({transform:i}).beforeAddWrite((()=>r.style.setProperty("background-color","black"))).addElement(a).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"},{offset:1,filter:"contrast(0.85)",transform:i,borderRadius:"10px 10px 0 0"}]),h.addAnimation(e)}else if(h.addAnimation(s),o){const t=`translateY(-10px) scale(${o?q:1})`;e.afterStyles({transform:t}).addElement(i.querySelector(".modal-wrapper")).keyframes([{offset:0,filter:"contrast(1)",transform:"translateY(0) scale(1)"},{offset:1,filter:"contrast(0.85)",transform:t}]);const a=W().afterStyles({transform:t}).addElement(i.querySelector(".modal-shadow")).keyframes([{offset:0,opacity:"1",transform:"translateY(0) scale(1)"},{offset:1,opacity:"0",transform:t}]);h.addAnimation([e,a])}else n.fromTo("opacity","0","1")}else h.addAnimation(s);return h},ot=(t,o,a=500)=>{const{presentingEl:i,currentBreakpoint:e}=o,r=v(t),{wrapperAnimation:n,backdropAnimation:s}=void 0!==e?Q(o):{backdropAnimation:W().fromTo("opacity","var(--backdrop-opacity)",0),wrapperAnimation:W().fromTo("transform","translateY(0vh)","translateY(100vh)")};s.addElement(r.querySelector("ion-backdrop")),n.addElement(r.querySelectorAll(".modal-wrapper, .modal-shadow")).beforeStyles({opacity:1});const d=W("leaving-base").addElement(t).easing("cubic-bezier(0.32,0.72,0,1)").duration(a).addAnimation(n);if(i){const t=window.innerWidth<768,o="ION-MODAL"===i.tagName&&void 0!==i.presentingElement,a=v(i),e=W().beforeClearStyles(["transform"]).afterClearStyles(["transform"]).onFinish((t=>{1===t&&(i.style.setProperty("overflow",""),Array.from(r.querySelectorAll("ion-modal:not(.overlay-hidden)")).filter((t=>void 0!==t.presentingElement)).length<=1&&r.style.setProperty("background-color",""))})),r=document.body;if(t){const t=CSS.supports("width","max(0px, 1px)")?"max(30px, var(--ion-safe-area-top))":"30px",a=`translateY(${o?"-10px":t}) scale(0.915)`;e.addElement(i).keyframes([{offset:0,filter:"contrast(0.85)",transform:a,borderRadius:"10px 10px 0 0"},{offset:1,filter:"contrast(1)",transform:"translateY(0px) scale(1)",borderRadius:"0px"}]),d.addAnimation(e)}else if(d.addAnimation(s),o){const t=`translateY(-10px) scale(${o?q:1})`;e.addElement(a.querySelector(".modal-wrapper")).afterStyles({transform:"translate3d(0, 0, 0)"}).keyframes([{offset:0,filter:"contrast(0.85)",transform:t},{offset:1,filter:"contrast(1)",transform:"translateY(0) scale(1)"}]);const i=W().addElement(a.querySelector(".modal-shadow")).afterStyles({transform:"translateY(0) scale(1)"}).keyframes([{offset:0,opacity:"0",transform:t},{offset:1,opacity:"1",transform:"translateY(0) scale(1)"}]);d.addAnimation([e,i])}else n.fromTo("opacity","1","0")}else d.addAnimation(s);return d},at=(t,o)=>{const{currentBreakpoint:a,expandToScroll:i}=o,e=v(t),{wrapperAnimation:r,backdropAnimation:n,contentAnimation:s}=void 0!==a?U(o):{backdropAnimation:W().fromTo("opacity",.01,"var(--backdrop-opacity)").beforeStyles({"pointer-events":"none"}).afterClearStyles(["pointer-events"]),wrapperAnimation:W().keyframes([{offset:0,opacity:.01,transform:"translateY(40px)"},{offset:1,opacity:1,transform:"translateY(0px)"}]),contentAnimation:void 0};n.addElement(e.querySelector("ion-backdrop")),r.addElement(e.querySelector(".modal-wrapper")),!i&&(null==s||s.addElement(t.querySelector(".ion-page")));const d=W().addElement(t).easing("cubic-bezier(0.36,0.66,0.04,1)").duration(280).addAnimation([n,r]);return s&&d.addAnimation(s),d},it=(t,o)=>{const{currentBreakpoint:a}=o,i=v(t),{wrapperAnimation:e,backdropAnimation:r}=void 0!==a?Q(o):{backdropAnimation:W().fromTo("opacity","var(--backdrop-opacity)",0),wrapperAnimation:W().keyframes([{offset:0,opacity:.99,transform:"translateY(0px)"},{offset:1,opacity:0,transform:"translateY(40px)"}])};return r.addElement(i.querySelector("ion-backdrop")),e.addElement(i.querySelector(".modal-wrapper")),W().easing("cubic-bezier(0.47,0,0.745,0.715)").duration(200).addAnimation([r,e])},et=class{constructor(a){t(this,a),this.didPresent=o(this,"ionModalDidPresent",7),this.willPresent=o(this,"ionModalWillPresent",7),this.willDismiss=o(this,"ionModalWillDismiss",7),this.didDismiss=o(this,"ionModalDidDismiss",7),this.ionBreakpointDidChange=o(this,"ionBreakpointDidChange",7),this.didPresentShorthand=o(this,"didPresent",7),this.willPresentShorthand=o(this,"willPresent",7),this.willDismissShorthand=o(this,"willDismiss",7),this.didDismissShorthand=o(this,"didDismiss",7),this.ionMount=o(this,"ionMount",7),this.lockController=A(),this.triggerController=S(),this.coreDelegate=b(),this.isSheetModal=!1,this.inheritedAttributes={},this.inline=!1,this.gestureAnimationDismissing=!1,this.presented=!1,this.hasController=!1,this.keyboardClose=!0,this.expandToScroll=!0,this.backdropBreakpoint=0,this.handleBehavior="none",this.backdropDismiss=!0,this.showBackdrop=!0,this.animated=!0,this.isOpen=!1,this.keepContentsMounted=!1,this.focusTrap=!0,this.canDismiss=!0,this.onHandleClick=()=>{const{sheetTransition:t,handleBehavior:o}=this;"cycle"===o&&void 0===t&&this.moveToNextBreakpoint()},this.onBackdropTap=()=>{const{sheetTransition:t}=this;void 0===t&&this.dismiss(void 0,j)},this.onLifecycle=t=>{const o=this.usersElement,a=rt[t.type];if(o&&a){const i=new CustomEvent(a,{bubbles:!1,cancelable:!1,detail:t.detail});o.dispatchEvent(i)}}}onIsOpenChange(t,o){!0===t&&!1===o?this.present():!1===t&&!0===o&&this.dismiss()}triggerChanged(){const{trigger:t,el:o,triggerController:a}=this;t&&a.addClickListener(o,t)}breakpointsChanged(t){void 0!==t&&(this.sortedBreakpoints=t.sort(((t,o)=>t-o)))}connectedCallback(){const{el:t}=this;C(t),this.triggerChanged()}disconnectedCallback(){this.triggerController.removeClickListener()}componentWillLoad(){var t;const{breakpoints:o,initialBreakpoint:i,el:e,htmlAttributes:r}=this,n=this.isSheetModal=void 0!==o&&void 0!==i,s=["aria-label","role"];this.inheritedAttributes=k(e,s),void 0!==r&&s.forEach((t=>{r[t]&&(this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:r[t]}),delete r[t])})),n&&(this.currentBreakpoint=this.initialBreakpoint),void 0===o||void 0===i||o.includes(i)||a("[ion-modal] - Your breakpoints array must include the initialBreakpoint value."),(null===(t=this.htmlAttributes)||void 0===t?void 0:t.id)||M(this.el)}componentDidLoad(){!0===this.isOpen&&g((()=>this.present())),this.breakpointsChanged(this.breakpoints),this.triggerChanged()}getDelegate(t=!1){if(this.workingDelegate&&!t)return{delegate:this.workingDelegate,inline:this.inline};const o=this.inline=null!==this.el.parentNode&&!this.hasController;return{inline:o,delegate:this.workingDelegate=o?this.delegate||this.coreDelegate:this.delegate}}async checkCanDismiss(t,o){const{canDismiss:a}=this;return"function"==typeof a?a(t,o):a}async present(){const t=await this.lockController.lock();if(this.presented)return void t();const{presentingElement:o,el:a}=this;this.currentBreakpoint=this.initialBreakpoint;const{inline:r,delegate:n}=this.getDelegate(!0);this.ionMount.emit(),this.usersElement=await u(n,a,this.component,["ion-page"],this.componentProps,r),y(a)?await R(this.usersElement):this.keepContentsMounted||await z(),i((()=>this.el.classList.add("show-modal")));const s=void 0!==o;s&&"ios"===e(this)&&(this.statusBarStyle=await Z.getStyle(),G()),await T(this,"modalEnter",tt,at,{presentingEl:o,currentBreakpoint:this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint,expandToScroll:this.expandToScroll}),"undefined"!=typeof window&&(this.keyboardOpenCallback=()=>{this.gesture&&(this.gesture.enable(!1),g((()=>{this.gesture&&this.gesture.enable(!0)})))},window.addEventListener(I,this.keyboardOpenCallback)),this.isSheetModal?this.initSheetGesture():s&&this.initSwipeToClose(),t()}initSwipeToClose(){var t;if("ios"!==e(this))return;const{el:o}=this,a=this.leaveAnimation||r.get("modalLeave",ot),i=this.animation=a(o,{presentingEl:this.presentingElement,expandToScroll:this.expandToScroll});if(!m(o))return void f(o);const n=null!==(t=this.statusBarStyle)&&void 0!==t?t:K.Default;this.gesture=((t,o,a,i)=>{const e=.5,r=t.offsetHeight;let n=!1,s=!1,d=null,m=null,f=!0,b=0;const u=N({el:t,gestureName:"modalSwipeToClose",gesturePriority:Y,direction:"y",threshold:10,canStart:t=>{const o=t.event.target;if(null===o||!o.closest)return!0;if(d=h(o),d){if(p(d)){const t=v(d);m=t.querySelector(".inner-scroll")}else m=d;return!d.querySelector("ion-refresher")&&0===m.scrollTop}return null===o.closest("ion-footer")},onStart:a=>{const{deltaY:i}=a;f=!d||!p(d)||d.scrollY,s=void 0!==t.canDismiss&&!0!==t.canDismiss,i>0&&d&&l(d),o.progressStart(!0,n?1:0)},onMove:t=>{const{deltaY:i}=t;i>0&&d&&l(d);const n=t.deltaY/r,h=n>=0&&s,p=h?.2:.9999,c=h?X(n/p):n,m=w(1e-4,c,p);o.progressStep(m),m>=e&&b<e?V(a):m<e&&b>=e&&G(),b=m},onEnd:a=>{const h=a.velocityY,p=a.deltaY/r,l=p>=0&&s,m=l?.2:.9999,b=l?X(p/m):p,x=w(1e-4,b,m),v=!l&&(a.deltaY+1e3*h)/r>=e;let g=v?-.001:.001;v?(o.easing("cubic-bezier(0.32, 0.72, 0, 1)"),g+=L([0,0],[.32,.72],[0,1],[1,1],x)[0]):(o.easing("cubic-bezier(1, 0, 0.68, 0.28)"),g+=L([0,0],[1,0],[.68,.28],[1,1],x)[0]);const k=J(v?p*r:(1-x)*r,h);n=v,u.enable(!1),d&&c(d,f),o.onFinish((()=>{v||u.enable(!0)})).progressEnd(v?1:0,g,k),l&&x>m/4?_(t,o):v&&i()}});return u})(o,i,n,(()=>{this.gestureAnimationDismissing=!0,V(this.statusBarStyle),this.animation.onFinish((async()=>{await this.dismiss(void 0,D),this.gestureAnimationDismissing=!1}))})),this.gesture.enable(!0)}initSheetGesture(){const{wrapperEl:t,initialBreakpoint:o,backdropBreakpoint:a}=this;if(!t||void 0===o)return;const i=this.enterAnimation||r.get("modalEnter",tt),e=this.animation=i(this.el,{presentingEl:this.presentingElement,currentBreakpoint:o,backdropBreakpoint:a,expandToScroll:this.expandToScroll});e.progressStart(!0,1);const{gesture:n,moveSheetToBreakpoint:s}=((t,o,a,i,e,r,n=[],s,d,l,c)=>{const m={WRAPPER_KEYFRAMES:[{offset:0,transform:"translateY(0%)"},{offset:1,transform:"translateY(100%)"}],BACKDROP_KEYFRAMES:0!==e?[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1-e,opacity:0},{offset:1,opacity:0}]:[{offset:0,opacity:"var(--backdrop-opacity)"},{offset:1,opacity:.01}],CONTENT_KEYFRAMES:[{offset:0,maxHeight:"100%"},{offset:1,maxHeight:"0%"}]},f=t.querySelector("ion-content"),b=a.clientHeight;let u=i,x=0,k=!1,y=null,A=null,B=null,D=null;const Y=n[n.length-1],S=n[0],j=r.childAnimations.find((t=>"wrapperAnimation"===t.id)),C=r.childAnimations.find((t=>"backdropAnimation"===t.id)),M=r.childAnimations.find((t=>"contentAnimation"===t.id)),T=()=>{t.style.setProperty("pointer-events","auto"),o.style.setProperty("pointer-events","auto"),t.classList.remove(E)},O=()=>{t.style.setProperty("pointer-events","none"),o.style.setProperty("pointer-events","none"),t.classList.add(E)},$=o=>{if(!A&&(A=t.querySelector("ion-footer"),!A))return;const a=t.querySelector(".ion-page");if(D=o,"stationary"===o)A.classList.remove("modal-footer-moving"),A.style.removeProperty("position"),A.style.removeProperty("width"),A.style.removeProperty("height"),A.style.removeProperty("top"),A.style.removeProperty("left"),null==a||a.style.removeProperty("padding-bottom"),null==a||a.appendChild(A);else{const o=A.getBoundingClientRect(),i=document.body.getBoundingClientRect();null==a||a.style.setProperty("padding-bottom",`${A.clientHeight}px`),A.classList.add("modal-footer-moving");const e=o.top-i.top,r=o.left-i.left;A.style.setProperty("position","absolute"),A.style.setProperty("width",`${A.clientWidth}px`),A.style.setProperty("height",`${A.clientHeight}px`),A.style.setProperty("top",`${e}px`),A.style.setProperty("left",`${r}px`),B=e;const n=t.querySelector("ion-toolbar");n&&(B-=n.clientHeight),document.body.appendChild(A)}};j&&C&&(j.keyframes([...m.WRAPPER_KEYFRAMES]),C.keyframes([...m.BACKDROP_KEYFRAMES]),null==M||M.keyframes([...m.CONTENT_KEYFRAMES]),r.progressStart(!0,1-u),u>e?T():O()),f&&u!==Y&&s&&(f.scrollY=!1);const P=o=>{const{breakpoint:a,canDismiss:i,breakpointOffset:d,animated:h}=o,p=i&&0===a,b=p?u:a,x=0!==b;return u=0,j&&C&&(j.keyframes([{offset:0,transform:`translateY(${100*d}%)`},{offset:1,transform:`translateY(${100*(1-b)}%)`}]),C.keyframes([{offset:0,opacity:`calc(var(--backdrop-opacity) * ${F(1-d,e)})`},{offset:1,opacity:`calc(var(--backdrop-opacity) * ${F(b,e)})`}]),M&&M.keyframes([{offset:0,maxHeight:100*(1-d)+"%"},{offset:1,maxHeight:100*b+"%"}]),r.progressStep(0)),R.enable(!1),p?_(t,r):x||l(),!f||b!==n[n.length-1]&&s||(f.scrollY=!0),s||0!==b||$("stationary"),new Promise((t=>{r.onFinish((()=>{x?(s||$("stationary"),j&&C?g((()=>{j.keyframes([...m.WRAPPER_KEYFRAMES]),C.keyframes([...m.BACKDROP_KEYFRAMES]),null==M||M.keyframes([...m.CONTENT_KEYFRAMES]),r.progressStart(!0,1-b),u=b,c(u),u>e?T():O(),R.enable(!0),t()})):(R.enable(!0),t())):t()}),{oneTimeCallback:!0}).progressEnd(1,0,h?500:0)}))},R=N({el:a,gestureName:"modalSheet",gesturePriority:40,direction:"y",threshold:10,canStart:t=>{const o=h(t.event.target);if(u=d(),!s&&o)return 0===(p(o)?v(o).querySelector(".inner-scroll"):o).scrollTop;if(1===u&&o){const t=p(o)?v(o).querySelector(".inner-scroll"):o;return!o.querySelector("ion-refresher")&&0===t.scrollTop}return!0},onStart:o=>{if(k=void 0!==t.canDismiss&&!0!==t.canDismiss&&0===S,!s){const t=h(o.event.target);y=t&&p(t)?v(t).querySelector(".inner-scroll"):t}s||$("moving"),o.deltaY>0&&f&&(f.scrollY=!1),g((()=>{t.focus()})),r.progressStart(!0,1-u)},onMove:t=>{if(s||null===B||null===D||(t.currentY>=B&&"moving"===D?$("stationary"):t.currentY<B&&"stationary"===D&&$("moving")),!s&&t.deltaY<=0&&y)return;t.deltaY>0&&f&&(f.scrollY=!1);const o=n.length>1?1-n[1]:void 0,a=1-u+t.deltaY/b,i=void 0!==o&&a>=o&&k,e=i?.95:.9999,d=i&&void 0!==o?o+X((a-o)/(e-o)):a;x=w(1e-4,d,e),r.progressStep(x)},onEnd:t=>{if(!s&&t.deltaY<=0&&y&&y.scrollTop>0)return;const o=u-(t.deltaY+350*t.velocityY)/b,a=n.reduce(((t,a)=>Math.abs(a-o)<Math.abs(t-o)?a:t));P({breakpoint:a,breakpointOffset:x,canDismiss:k,animated:!0})}});return{gesture:R,moveSheetToBreakpoint:P}})(this.el,this.backdropEl,t,o,a,e,this.sortedBreakpoints,this.expandToScroll,(()=>{var t;return null!==(t=this.currentBreakpoint)&&void 0!==t?t:0}),(()=>this.sheetOnDismiss()),(t=>{this.currentBreakpoint!==t&&(this.currentBreakpoint=t,this.ionBreakpointDidChange.emit({breakpoint:t}))}));this.gesture=n,this.moveSheetToBreakpoint=s,this.gesture.enable(!0)}sheetOnDismiss(){this.gestureAnimationDismissing=!0,this.animation.onFinish((async()=>{this.currentBreakpoint=0,this.ionBreakpointDidChange.emit({breakpoint:this.currentBreakpoint}),await this.dismiss(void 0,D),this.gestureAnimationDismissing=!1}))}async dismiss(t,o){var a;if(this.gestureAnimationDismissing&&o!==D)return!1;const r=await this.lockController.lock();if("handler"!==o&&!await this.checkCanDismiss(t,o))return r(),!1;const{presentingElement:n}=this;void 0!==n&&"ios"===e(this)&&V(this.statusBarStyle),"undefined"!=typeof window&&this.keyboardOpenCallback&&(window.removeEventListener(I,this.keyboardOpenCallback),this.keyboardOpenCallback=void 0);const s=await O(this,t,o,"modalLeave",ot,it,{presentingEl:n,currentBreakpoint:null!==(a=this.currentBreakpoint)&&void 0!==a?a:this.initialBreakpoint,backdropBreakpoint:this.backdropBreakpoint,expandToScroll:this.expandToScroll});if(s){const{delegate:t}=this.getDelegate();await x(t,this.usersElement),i((()=>this.el.classList.remove("show-modal"))),this.animation&&this.animation.destroy(),this.gesture&&this.gesture.destroy()}return this.currentBreakpoint=void 0,this.animation=void 0,r(),s}onDidDismiss(){return $(this.el,"ionModalDidDismiss")}onWillDismiss(){return $(this.el,"ionModalWillDismiss")}async setCurrentBreakpoint(t){if(!this.isSheetModal)return void a("[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.");if(!this.breakpoints.includes(t))return void a(`[ion-modal] - Attempted to set invalid breakpoint value ${t}. Please double check that the breakpoint value is part of your defined breakpoints.`);const{currentBreakpoint:o,moveSheetToBreakpoint:i,canDismiss:e,breakpoints:r,animated:n}=this;o!==t&&i&&(this.sheetTransition=i({breakpoint:t,breakpointOffset:1-o,canDismiss:void 0!==e&&!0!==e&&0===r[0],animated:n}),await this.sheetTransition,this.sheetTransition=void 0)}async getCurrentBreakpoint(){return this.currentBreakpoint}async moveToNextBreakpoint(){const{breakpoints:t,currentBreakpoint:o}=this;if(!t||null==o)return!1;const a=t.filter((t=>0!==t)),i=a.indexOf(o),e=a[(i+1)%a.length];return await this.setCurrentBreakpoint(e),!0}render(){const{handle:t,isSheetModal:o,presentingElement:a,htmlAttributes:i,handleBehavior:r,inheritedAttributes:d,focusTrap:h,expandToScroll:p}=this,l=!1!==t&&o,c=e(this),m=void 0!==a&&"ios"===c,f="cycle"===r;return n(s,Object.assign({key:"0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e","no-router":!0,tabindex:"-1"},i,{style:{zIndex:`${2e4+this.overlayIndex}`},class:Object.assign({[c]:!0,"modal-default":!m&&!o,"modal-card":m,"modal-sheet":o,"modal-no-expand-scroll":o&&!p,"overlay-hidden":!0,[E]:!1===h},P(this.cssClass)),onIonBackdropTap:this.onBackdropTap,onIonModalDidPresent:this.onLifecycle,onIonModalWillPresent:this.onLifecycle,onIonModalWillDismiss:this.onLifecycle,onIonModalDidDismiss:this.onLifecycle}),n("ion-backdrop",{key:"d72159e73daa5af7349aa9e8f695aa435eb43069",ref:t=>this.backdropEl=t,visible:this.showBackdrop,tappable:this.backdropDismiss,part:"backdrop"}),"ios"===c&&n("div",{key:"fd2d9b13676ae72473881649a397b6eacde03a03",class:"modal-shadow"}),n("div",Object.assign({key:"908eccb1ad982dcde2dbcff0cbb18b6e60f8ba74",role:"dialog"},d,{"aria-modal":"true",class:"modal-wrapper ion-overlay-wrapper",part:"content",ref:t=>this.wrapperEl=t}),l&&n("button",{key:"332dc0b40363a77c7be62331d9f26def91c790e9",class:"modal-handle",tabIndex:f?0:-1,"aria-label":"Activate to adjust the size of the dialog overlaying the screen",onClick:f?this.onHandleClick:void 0,part:"handle"}),n("slot",{key:"c32698350193c450327e97049daf8b8d1fda0d0e"})))}get el(){return d(this)}static get watchers(){return{isOpen:["onIsOpenChange"],trigger:["triggerChanged"]}}},rt={ionModalDidPresent:"ionViewDidEnter",ionModalWillPresent:"ionViewWillEnter",ionModalWillDismiss:"ionViewWillLeave",ionModalDidDismiss:"ionViewDidLeave"};et.style={ios:':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}',md:':host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}'};export{et as ion_modal}
|