@ionic/core 8.4.4-dev.11738863153.1dafb0b9 → 8.4.4-dev.11739906326.1989484f
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/checkbox.js +4 -6
- package/components/content.js +4 -4
- package/components/ion-select.js +4 -6
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -2
- package/components/ion-toggle.js +4 -6
- package/components/modal.js +35 -259
- package/components/radio.js +37 -5
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
- package/dist/cjs/ion-checkbox.cjs.entry.js +4 -5
- package/dist/cjs/ion-modal.cjs.entry.js +35 -258
- package/dist/cjs/ion-radio_2.cjs.entry.js +35 -5
- package/dist/cjs/ion-select_3.cjs.entry.js +4 -5
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -4
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -5
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +4 -23
- package/dist/collection/components/content/content.js +4 -4
- package/dist/collection/components/modal/animations/ios.enter.js +4 -50
- package/dist/collection/components/modal/animations/ios.leave.js +2 -24
- package/dist/collection/components/modal/animations/md.enter.js +5 -52
- package/dist/collection/components/modal/animations/md.leave.js +3 -26
- package/dist/collection/components/modal/animations/sheet.js +2 -11
- package/dist/collection/components/modal/gestures/sheet.js +10 -79
- package/dist/collection/components/modal/modal.ios.css +0 -16
- package/dist/collection/components/modal/modal.js +7 -32
- package/dist/collection/components/modal/modal.md.css +0 -6
- package/dist/collection/components/radio/radio.ios.css +52 -15
- package/dist/collection/components/radio/radio.js +70 -3
- package/dist/collection/components/radio/radio.md.css +52 -15
- package/dist/collection/components/select/select.js +4 -23
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -2
- package/dist/collection/components/toggle/toggle.js +4 -23
- package/dist/docs.json +73 -89
- package/dist/esm/ion-app_8.entry.js +4 -4
- package/dist/esm/ion-checkbox.entry.js +4 -5
- package/dist/esm/ion-modal.entry.js +35 -258
- package/dist/esm/ion-radio_2.entry.js +35 -5
- package/dist/esm/ion-select_3.entry.js +4 -5
- package/dist/esm/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm/ion-tab_2.entry.js +3 -4
- package/dist/esm/ion-toggle.entry.js +4 -5
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/html.html-data.json +8 -16
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-1a11f49f.entry.js +4 -0
- package/dist/ionic/p-1b1af767.system.entry.js +4 -0
- package/dist/ionic/p-2172893e.system.entry.js +4 -0
- package/dist/ionic/p-322c5fb4.system.js +1 -1
- package/dist/ionic/p-4ec778aa.entry.js +4 -0
- package/dist/ionic/p-5ab1b709.entry.js +4 -0
- package/dist/ionic/{p-8ac07653.system.entry.js → p-69666e8a.system.entry.js} +2 -2
- package/dist/ionic/{p-1199e388.system.entry.js → p-797eeea8.system.entry.js} +1 -1
- package/dist/ionic/p-908d6080.entry.js +4 -0
- package/dist/ionic/p-92a0f863.entry.js +4 -0
- package/dist/ionic/p-98ff6b32.entry.js +4 -0
- package/dist/ionic/p-a0eb506c.system.entry.js +4 -0
- package/dist/ionic/p-bc64bd27.system.entry.js +4 -0
- package/dist/ionic/p-e06057c9.entry.js +4 -0
- package/dist/ionic/{p-bdf2cb2e.system.entry.js → p-ebf042e0.system.entry.js} +1 -1
- package/dist/ionic/p-f55baa37.entry.js +4 -0
- package/dist/ionic/{p-9f364443.system.entry.js → p-fd1c40cc.system.entry.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +0 -6
- package/dist/types/components/modal/animations/sheet.d.ts +0 -1
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +0 -1
- package/dist/types/components/modal/modal.d.ts +0 -11
- package/dist/types/components/radio/radio.d.ts +19 -0
- package/dist/types/components/select/select.d.ts +0 -6
- package/dist/types/components/toggle/toggle.d.ts +0 -6
- package/dist/types/components.d.ts +16 -32
- package/hydrate/index.js +95 -291
- package/hydrate/index.mjs +95 -291
- package/package.json +1 -1
- package/dist/ionic/p-0430c2e0.entry.js +0 -4
- package/dist/ionic/p-126be614.system.entry.js +0 -4
- package/dist/ionic/p-6c95736e.entry.js +0 -4
- package/dist/ionic/p-6d6cedc5.entry.js +0 -4
- package/dist/ionic/p-722ec9c7.entry.js +0 -4
- package/dist/ionic/p-783411f1.entry.js +0 -4
- package/dist/ionic/p-7ddc46c3.system.entry.js +0 -4
- package/dist/ionic/p-98e41e4f.system.entry.js +0 -4
- package/dist/ionic/p-d57a57d6.entry.js +0 -4
- package/dist/ionic/p-d7dd8fb1.entry.js +0 -4
- package/dist/ionic/p-e3171ff3.entry.js +0 -4
- package/dist/ionic/p-e6376b93.system.entry.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -8493,7 +8493,6 @@ class Checkbox {
|
|
|
8493
8493
|
this.labelPlacement = 'start';
|
|
8494
8494
|
this.justify = undefined;
|
|
8495
8495
|
this.alignment = undefined;
|
|
8496
|
-
this.required = false;
|
|
8497
8496
|
}
|
|
8498
8497
|
componentWillLoad() {
|
|
8499
8498
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
@@ -8505,11 +8504,11 @@ class Checkbox {
|
|
|
8505
8504
|
}
|
|
8506
8505
|
}
|
|
8507
8506
|
render() {
|
|
8508
|
-
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment,
|
|
8507
|
+
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
|
|
8509
8508
|
const mode = getIonMode$1(this);
|
|
8510
8509
|
const path = getSVGPath(mode, indeterminate);
|
|
8511
8510
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
8512
|
-
return (hAsync(Host, { key: '
|
|
8511
|
+
return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
|
|
8513
8512
|
[mode]: true,
|
|
8514
8513
|
'in-item': hostContext('ion-item', el),
|
|
8515
8514
|
'checkbox-checked': checked,
|
|
@@ -8519,10 +8518,10 @@ class Checkbox {
|
|
|
8519
8518
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
8520
8519
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
8521
8520
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
8522
|
-
}), onClick: this.onClick }, hAsync("label", { key: '
|
|
8521
|
+
}), onClick: this.onClick }, hAsync("label", { key: '68222fb736a5ec3f2e488649b0e2ce0417dcb224', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: 'f12962d7e9b19c744cfdbdeccc67ae7f5d080281', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), hAsync("div", { key: 'c72df2699414b1e5a41a1bc267bc634f0c93dcff', class: {
|
|
8523
8522
|
'label-text-wrapper': true,
|
|
8524
8523
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
8525
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
8524
|
+
}, part: "label" }, hAsync("slot", { key: 'a2a80285178a7e0e3b536fc9ca26b8b444aa4307' })), hAsync("div", { key: 'c2b05e0d1fe8df5dcd72858220b5ff51ecaee4cc', class: "native-wrapper" }, hAsync("svg", { key: 'ee24913fded72258ebd9713654a6dba92a18fcf7', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
8526
8525
|
}
|
|
8527
8526
|
getSVGPath(mode, indeterminate) {
|
|
8528
8527
|
let path = indeterminate ? (hAsync("path", { d: "M6 12L18 12", part: "mark" })) : (hAsync("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
|
@@ -8549,7 +8548,6 @@ class Checkbox {
|
|
|
8549
8548
|
"labelPlacement": [1, "label-placement"],
|
|
8550
8549
|
"justify": [1],
|
|
8551
8550
|
"alignment": [1],
|
|
8552
|
-
"required": [4],
|
|
8553
8551
|
"setFocus": [64]
|
|
8554
8552
|
},
|
|
8555
8553
|
"$listeners$": undefined,
|
|
@@ -9109,20 +9107,20 @@ class Content {
|
|
|
9109
9107
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
9110
9108
|
const transitionShadow = mode === 'ios';
|
|
9111
9109
|
this.resize();
|
|
9112
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
9110
|
+
return (hAsync(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
|
|
9113
9111
|
[mode]: true,
|
|
9114
9112
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
9115
9113
|
overscroll: forceOverscroll,
|
|
9116
9114
|
[`content-${rtl}`]: true,
|
|
9117
|
-
}),
|
|
9115
|
+
}), style: {
|
|
9118
9116
|
'--offset-top': `${this.cTop}px`,
|
|
9119
9117
|
'--offset-bottom': `${this.cBottom}px`,
|
|
9120
|
-
} }, inheritedAttributes), hAsync("div", { key: '
|
|
9118
|
+
} }, inheritedAttributes), hAsync("div", { key: '6480ca7648b278abb36477b3838bccbcd4995e2a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: '29a23b663f5f0215bb000820c01e1814c0d55985', class: {
|
|
9121
9119
|
'inner-scroll': true,
|
|
9122
9120
|
'scroll-x': scrollX,
|
|
9123
9121
|
'scroll-y': scrollY,
|
|
9124
9122
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
9125
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '
|
|
9123
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '0fe1bd05609a4b88ae2ce9addf5d5dc5dc1806f0' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
|
|
9126
9124
|
}
|
|
9127
9125
|
get el() { return getElement(this); }
|
|
9128
9126
|
static get style() { return IonContentStyle0; }
|
|
@@ -19025,7 +19023,7 @@ const computeDuration = (remaining, velocity) => {
|
|
|
19025
19023
|
};
|
|
19026
19024
|
|
|
19027
19025
|
const createSheetEnterAnimation = (opts) => {
|
|
19028
|
-
const { currentBreakpoint, backdropBreakpoint
|
|
19026
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
19029
19027
|
/**
|
|
19030
19028
|
* If the backdropBreakpoint is undefined, then the backdrop
|
|
19031
19029
|
* should always fade in. If the backdropBreakpoint came before the
|
|
@@ -19045,16 +19043,7 @@ const createSheetEnterAnimation = (opts) => {
|
|
|
19045
19043
|
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
19046
19044
|
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
19047
19045
|
]);
|
|
19048
|
-
|
|
19049
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
19050
|
-
*/
|
|
19051
|
-
const contentAnimation = !expandToScroll
|
|
19052
|
-
? createAnimation('contentAnimation').keyframes([
|
|
19053
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
19054
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
19055
|
-
])
|
|
19056
|
-
: undefined;
|
|
19057
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
19046
|
+
return { wrapperAnimation, backdropAnimation };
|
|
19058
19047
|
};
|
|
19059
19048
|
const createSheetLeaveAnimation = (opts) => {
|
|
19060
19049
|
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
@@ -19089,68 +19078,22 @@ const createEnterAnimation$1 = () => {
|
|
|
19089
19078
|
})
|
|
19090
19079
|
.afterClearStyles(['pointer-events']);
|
|
19091
19080
|
const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
|
|
19092
|
-
return { backdropAnimation, wrapperAnimation
|
|
19081
|
+
return { backdropAnimation, wrapperAnimation };
|
|
19093
19082
|
};
|
|
19094
19083
|
/**
|
|
19095
19084
|
* iOS Modal Enter Animation for the Card presentation style
|
|
19096
19085
|
*/
|
|
19097
19086
|
const iosEnterAnimation$3 = (baseEl, opts) => {
|
|
19098
|
-
const { presentingEl, currentBreakpoint
|
|
19087
|
+
const { presentingEl, currentBreakpoint } = opts;
|
|
19099
19088
|
const root = getElementRoot(baseEl);
|
|
19100
|
-
const { wrapperAnimation, backdropAnimation
|
|
19089
|
+
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
19101
19090
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
19102
19091
|
wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
|
|
19103
|
-
// The content animation is only added if scrolling is enabled for
|
|
19104
|
-
// all the breakpoints.
|
|
19105
|
-
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
19106
19092
|
const baseAnimation = createAnimation('entering-base')
|
|
19107
19093
|
.addElement(baseEl)
|
|
19108
19094
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
19109
19095
|
.duration(500)
|
|
19110
|
-
.addAnimation(
|
|
19111
|
-
.beforeAddWrite(() => {
|
|
19112
|
-
if (expandToScroll) {
|
|
19113
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
19114
|
-
return;
|
|
19115
|
-
}
|
|
19116
|
-
/**
|
|
19117
|
-
* There are some browsers that causes flickering when
|
|
19118
|
-
* dragging the content when scroll is enabled at every
|
|
19119
|
-
* breakpoint. This is due to the wrapper element being
|
|
19120
|
-
* transformed off the screen and having a snap animation.
|
|
19121
|
-
*
|
|
19122
|
-
* A workaround is to clone the footer element and append
|
|
19123
|
-
* it outside of the wrapper element. This way, the footer
|
|
19124
|
-
* is still visible and the drag can be done without
|
|
19125
|
-
* flickering. The original footer is hidden until the modal
|
|
19126
|
-
* is dismissed. This maintains the animation of the footer
|
|
19127
|
-
* when the modal is dismissed.
|
|
19128
|
-
*
|
|
19129
|
-
* The workaround needs to be done before the animation starts
|
|
19130
|
-
* so there are no flickering issues.
|
|
19131
|
-
*/
|
|
19132
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19133
|
-
/**
|
|
19134
|
-
* This check is needed to prevent more than one footer
|
|
19135
|
-
* from being appended to the shadow root.
|
|
19136
|
-
* Otherwise, iOS and MD enter animations would append
|
|
19137
|
-
* the footer twice.
|
|
19138
|
-
*/
|
|
19139
|
-
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19140
|
-
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
19141
|
-
const footerHeight = ionFooter.clientHeight;
|
|
19142
|
-
const clonedFooter = ionFooter.cloneNode(true);
|
|
19143
|
-
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
19144
|
-
ionFooter.style.setProperty('display', 'none');
|
|
19145
|
-
ionFooter.setAttribute('aria-hidden', 'true');
|
|
19146
|
-
// Padding is added to prevent some content from being hidden.
|
|
19147
|
-
const page = baseEl.querySelector('.ion-page');
|
|
19148
|
-
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
19149
|
-
}
|
|
19150
|
-
});
|
|
19151
|
-
if (contentAnimation) {
|
|
19152
|
-
baseAnimation.addAnimation(contentAnimation);
|
|
19153
|
-
}
|
|
19096
|
+
.addAnimation(wrapperAnimation);
|
|
19154
19097
|
if (presentingEl) {
|
|
19155
19098
|
const isMobile = window.innerWidth < 768;
|
|
19156
19099
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -19228,7 +19171,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
19228
19171
|
* iOS Modal Leave Animation
|
|
19229
19172
|
*/
|
|
19230
19173
|
const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
|
|
19231
|
-
const { presentingEl, currentBreakpoint
|
|
19174
|
+
const { presentingEl, currentBreakpoint } = opts;
|
|
19232
19175
|
const root = getElementRoot(baseEl);
|
|
19233
19176
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
19234
19177
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
@@ -19237,29 +19180,7 @@ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
|
|
|
19237
19180
|
.addElement(baseEl)
|
|
19238
19181
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
19239
19182
|
.duration(duration)
|
|
19240
|
-
.addAnimation(wrapperAnimation)
|
|
19241
|
-
.beforeAddWrite(() => {
|
|
19242
|
-
if (expandToScroll) {
|
|
19243
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
19244
|
-
return;
|
|
19245
|
-
}
|
|
19246
|
-
/**
|
|
19247
|
-
* If expandToScroll is disabled, we need to swap
|
|
19248
|
-
* the visibility to the original, so the footer
|
|
19249
|
-
* dismisses with the modal and doesn't stay
|
|
19250
|
-
* until the modal is removed from the DOM.
|
|
19251
|
-
*/
|
|
19252
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19253
|
-
if (ionFooter) {
|
|
19254
|
-
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19255
|
-
ionFooter.style.removeProperty('display');
|
|
19256
|
-
ionFooter.removeAttribute('aria-hidden');
|
|
19257
|
-
clonedFooter.style.setProperty('display', 'none');
|
|
19258
|
-
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
19259
|
-
const page = baseEl.querySelector('.ion-page');
|
|
19260
|
-
page.style.removeProperty('padding-bottom');
|
|
19261
|
-
}
|
|
19262
|
-
});
|
|
19183
|
+
.addAnimation(wrapperAnimation);
|
|
19263
19184
|
if (presentingEl) {
|
|
19264
19185
|
const isMobile = window.innerWidth < 768;
|
|
19265
19186
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -19337,69 +19258,22 @@ const createEnterAnimation = () => {
|
|
|
19337
19258
|
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
19338
19259
|
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
19339
19260
|
]);
|
|
19340
|
-
return { backdropAnimation, wrapperAnimation
|
|
19261
|
+
return { backdropAnimation, wrapperAnimation };
|
|
19341
19262
|
};
|
|
19342
19263
|
/**
|
|
19343
19264
|
* Md Modal Enter Animation
|
|
19344
19265
|
*/
|
|
19345
19266
|
const mdEnterAnimation$2 = (baseEl, opts) => {
|
|
19346
|
-
const { currentBreakpoint
|
|
19267
|
+
const { currentBreakpoint } = opts;
|
|
19347
19268
|
const root = getElementRoot(baseEl);
|
|
19348
|
-
const { wrapperAnimation, backdropAnimation
|
|
19269
|
+
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
|
|
19349
19270
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
19350
19271
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
19351
|
-
|
|
19352
|
-
// all the breakpoints.
|
|
19353
|
-
expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
19354
|
-
const baseAnimation = createAnimation()
|
|
19272
|
+
return createAnimation()
|
|
19355
19273
|
.addElement(baseEl)
|
|
19356
19274
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
|
19357
19275
|
.duration(280)
|
|
19358
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
19359
|
-
.beforeAddWrite(() => {
|
|
19360
|
-
if (expandToScroll) {
|
|
19361
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
19362
|
-
return;
|
|
19363
|
-
}
|
|
19364
|
-
/**
|
|
19365
|
-
* There are some browsers that causes flickering when
|
|
19366
|
-
* dragging the content when scroll is enabled at every
|
|
19367
|
-
* breakpoint. This is due to the wrapper element being
|
|
19368
|
-
* transformed off the screen and having a snap animation.
|
|
19369
|
-
*
|
|
19370
|
-
* A workaround is to clone the footer element and append
|
|
19371
|
-
* it outside of the wrapper element. This way, the footer
|
|
19372
|
-
* is still visible and the drag can be done without
|
|
19373
|
-
* flickering. The original footer is hidden until the modal
|
|
19374
|
-
* is dismissed. This maintains the animation of the footer
|
|
19375
|
-
* when the modal is dismissed.
|
|
19376
|
-
*
|
|
19377
|
-
* The workaround needs to be done before the animation starts
|
|
19378
|
-
* so there are no flickering issues.
|
|
19379
|
-
*/
|
|
19380
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19381
|
-
/**
|
|
19382
|
-
* This check is needed to prevent more than one footer
|
|
19383
|
-
* from being appended to the shadow root.
|
|
19384
|
-
* Otherwise, iOS and MD enter animations would append
|
|
19385
|
-
* the footer twice.
|
|
19386
|
-
*/
|
|
19387
|
-
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19388
|
-
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
19389
|
-
const footerHeight = ionFooter.clientHeight;
|
|
19390
|
-
const clonedFooter = ionFooter.cloneNode(true);
|
|
19391
|
-
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
19392
|
-
ionFooter.style.setProperty('display', 'none');
|
|
19393
|
-
ionFooter.setAttribute('aria-hidden', 'true');
|
|
19394
|
-
// Padding is added to prevent some content from being hidden.
|
|
19395
|
-
const page = baseEl.querySelector('.ion-page');
|
|
19396
|
-
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
19397
|
-
}
|
|
19398
|
-
});
|
|
19399
|
-
if (contentAnimation) {
|
|
19400
|
-
baseAnimation.addAnimation(contentAnimation);
|
|
19401
|
-
}
|
|
19402
|
-
return baseAnimation;
|
|
19276
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
19403
19277
|
};
|
|
19404
19278
|
|
|
19405
19279
|
const createLeaveAnimation = () => {
|
|
@@ -19414,41 +19288,18 @@ const createLeaveAnimation = () => {
|
|
|
19414
19288
|
* Md Modal Leave Animation
|
|
19415
19289
|
*/
|
|
19416
19290
|
const mdLeaveAnimation$2 = (baseEl, opts) => {
|
|
19417
|
-
const { currentBreakpoint
|
|
19291
|
+
const { currentBreakpoint } = opts;
|
|
19418
19292
|
const root = getElementRoot(baseEl);
|
|
19419
19293
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
|
|
19420
19294
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
19421
19295
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
19422
|
-
|
|
19296
|
+
return createAnimation()
|
|
19423
19297
|
.easing('cubic-bezier(0.47,0,0.745,0.715)')
|
|
19424
19298
|
.duration(200)
|
|
19425
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
19426
|
-
.beforeAddWrite(() => {
|
|
19427
|
-
if (expandToScroll) {
|
|
19428
|
-
// Scroll can only be done when the modal is fully expanded.
|
|
19429
|
-
return;
|
|
19430
|
-
}
|
|
19431
|
-
/**
|
|
19432
|
-
* If expandToScroll is disabled, we need to swap
|
|
19433
|
-
* the visibility to the original, so the footer
|
|
19434
|
-
* dismisses with the modal and doesn't stay
|
|
19435
|
-
* until the modal is removed from the DOM.
|
|
19436
|
-
*/
|
|
19437
|
-
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19438
|
-
if (ionFooter) {
|
|
19439
|
-
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19440
|
-
ionFooter.style.removeProperty('display');
|
|
19441
|
-
ionFooter.removeAttribute('aria-hidden');
|
|
19442
|
-
clonedFooter.style.setProperty('display', 'none');
|
|
19443
|
-
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
19444
|
-
const page = baseEl.querySelector('.ion-page');
|
|
19445
|
-
page.style.removeProperty('padding-bottom');
|
|
19446
|
-
}
|
|
19447
|
-
});
|
|
19448
|
-
return baseAnimation;
|
|
19299
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
19449
19300
|
};
|
|
19450
19301
|
|
|
19451
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [],
|
|
19302
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
19452
19303
|
// Defaults for the sheet swipe animation
|
|
19453
19304
|
const defaultBackdrop = [
|
|
19454
19305
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -19465,10 +19316,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19465
19316
|
{ offset: 1, transform: 'translateY(100%)' },
|
|
19466
19317
|
],
|
|
19467
19318
|
BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
|
|
19468
|
-
CONTENT_KEYFRAMES: [
|
|
19469
|
-
{ offset: 0, maxHeight: '100%' },
|
|
19470
|
-
{ offset: 1, maxHeight: '0%' },
|
|
19471
|
-
],
|
|
19472
19319
|
};
|
|
19473
19320
|
const contentEl = baseEl.querySelector('ion-content');
|
|
19474
19321
|
const height = wrapperEl.clientHeight;
|
|
@@ -19476,11 +19323,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19476
19323
|
let offset = 0;
|
|
19477
19324
|
let canDismissBlocksGesture = false;
|
|
19478
19325
|
const canDismissMaxStep = 0.95;
|
|
19479
|
-
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
19480
|
-
const minBreakpoint = breakpoints[0];
|
|
19481
19326
|
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
19482
19327
|
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
19483
|
-
const
|
|
19328
|
+
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
19329
|
+
const minBreakpoint = breakpoints[0];
|
|
19484
19330
|
const enableBackdrop = () => {
|
|
19485
19331
|
baseEl.style.setProperty('pointer-events', 'auto');
|
|
19486
19332
|
backdropEl.style.setProperty('pointer-events', 'auto');
|
|
@@ -19503,31 +19349,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19503
19349
|
*/
|
|
19504
19350
|
baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
|
|
19505
19351
|
};
|
|
19506
|
-
/**
|
|
19507
|
-
* Toggles the visible modal footer when `expandToScroll` is disabled.
|
|
19508
|
-
* @param footer The footer to show.
|
|
19509
|
-
*/
|
|
19510
|
-
const swapFooterVisibility = (footer) => {
|
|
19511
|
-
const originalFooter = baseEl.querySelector('ion-footer');
|
|
19512
|
-
if (!originalFooter) {
|
|
19513
|
-
return;
|
|
19514
|
-
}
|
|
19515
|
-
const clonedFooter = wrapperEl.nextElementSibling;
|
|
19516
|
-
const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
|
|
19517
|
-
const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
|
|
19518
|
-
footerToShow.style.removeProperty('display');
|
|
19519
|
-
footerToShow.removeAttribute('aria-hidden');
|
|
19520
|
-
const page = baseEl.querySelector('.ion-page');
|
|
19521
|
-
if (footer === 'original') {
|
|
19522
|
-
page.style.removeProperty('padding-bottom');
|
|
19523
|
-
}
|
|
19524
|
-
else {
|
|
19525
|
-
const pagePadding = footerToShow.clientHeight;
|
|
19526
|
-
page.style.setProperty('padding-bottom', `${pagePadding}px`);
|
|
19527
|
-
}
|
|
19528
|
-
footerToHide.style.setProperty('display', 'none');
|
|
19529
|
-
footerToHide.setAttribute('aria-hidden', 'true');
|
|
19530
|
-
};
|
|
19531
19352
|
/**
|
|
19532
19353
|
* After the entering animation completes,
|
|
19533
19354
|
* we need to set the animation to go from
|
|
@@ -19539,7 +19360,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19539
19360
|
if (wrapperAnimation && backdropAnimation) {
|
|
19540
19361
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
19541
19362
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
19542
|
-
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
19543
19363
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
19544
19364
|
/**
|
|
19545
19365
|
* If backdrop is not enabled, then content
|
|
@@ -19556,7 +19376,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19556
19376
|
disableBackdrop();
|
|
19557
19377
|
}
|
|
19558
19378
|
}
|
|
19559
|
-
if (contentEl && currentBreakpoint !== maxBreakpoint
|
|
19379
|
+
if (contentEl && currentBreakpoint !== maxBreakpoint) {
|
|
19560
19380
|
contentEl.scrollY = false;
|
|
19561
19381
|
}
|
|
19562
19382
|
const canStart = (detail) => {
|
|
@@ -19570,13 +19390,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19570
19390
|
*/
|
|
19571
19391
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
19572
19392
|
currentBreakpoint = getCurrentBreakpoint();
|
|
19573
|
-
/**
|
|
19574
|
-
* If we have expandToScroll disabled, we should not allow the swipe gesture to start
|
|
19575
|
-
* if the content is being swiped.
|
|
19576
|
-
*/
|
|
19577
|
-
if (!expandToScroll && contentEl) {
|
|
19578
|
-
return false;
|
|
19579
|
-
}
|
|
19580
19393
|
if (currentBreakpoint === 1 && contentEl) {
|
|
19581
19394
|
/**
|
|
19582
19395
|
* The modal should never swipe to close on the content with a refresher.
|
|
@@ -19607,15 +19420,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19607
19420
|
* Remove undefined check
|
|
19608
19421
|
*/
|
|
19609
19422
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
19610
|
-
/**
|
|
19611
|
-
* If expandToScroll is disabled, we need to swap
|
|
19612
|
-
* the footer visibility to the original, so if the modal
|
|
19613
|
-
* is dismissed, the footer dismisses with the modal
|
|
19614
|
-
* and doesn't stay on the screen after the modal is gone.
|
|
19615
|
-
*/
|
|
19616
|
-
if (!expandToScroll) {
|
|
19617
|
-
swapFooterVisibility('original');
|
|
19618
|
-
}
|
|
19619
19423
|
/**
|
|
19620
19424
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
19621
19425
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -19731,19 +19535,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19731
19535
|
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
19732
19536
|
},
|
|
19733
19537
|
]);
|
|
19734
|
-
if (contentAnimation) {
|
|
19735
|
-
/**
|
|
19736
|
-
* The modal content should scroll at any breakpoint when expandToScroll
|
|
19737
|
-
* is disabled. In order to do this, the content needs to be completely
|
|
19738
|
-
* viewable so scrolling can access everything. Otherwise, the default
|
|
19739
|
-
* behavior would show the content off the screen and only allow
|
|
19740
|
-
* scrolling when the sheet is fully expanded.
|
|
19741
|
-
*/
|
|
19742
|
-
contentAnimation.keyframes([
|
|
19743
|
-
{ offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
|
|
19744
|
-
{ offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
|
|
19745
|
-
]);
|
|
19746
|
-
}
|
|
19747
19538
|
animation.progressStep(0);
|
|
19748
19539
|
}
|
|
19749
19540
|
/**
|
|
@@ -19751,14 +19542,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19751
19542
|
* snapping animation completes.
|
|
19752
19543
|
*/
|
|
19753
19544
|
gesture.enable(false);
|
|
19754
|
-
/**
|
|
19755
|
-
* If expandToScroll is disabled, we need to swap
|
|
19756
|
-
* the footer visibility to the cloned one so the footer
|
|
19757
|
-
* doesn't flicker when the sheet's height is animated.
|
|
19758
|
-
*/
|
|
19759
|
-
if (!expandToScroll && shouldRemainOpen) {
|
|
19760
|
-
swapFooterVisibility('cloned');
|
|
19761
|
-
}
|
|
19762
19545
|
if (shouldPreventDismiss) {
|
|
19763
19546
|
handleCanDismiss(baseEl, animation);
|
|
19764
19547
|
}
|
|
@@ -19766,13 +19549,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19766
19549
|
onDismiss();
|
|
19767
19550
|
}
|
|
19768
19551
|
/**
|
|
19769
|
-
*
|
|
19770
|
-
*
|
|
19771
|
-
*
|
|
19772
|
-
*
|
|
19773
|
-
* released, so we align with that
|
|
19552
|
+
* If the sheet is going to be fully expanded then we should enable
|
|
19553
|
+
* scrolling immediately. The sheet modal animation takes ~500ms to finish
|
|
19554
|
+
* so if we wait until then there is a visible delay for when scrolling is
|
|
19555
|
+
* re-enabled. Native iOS allows for scrolling on the sheet modal as soon
|
|
19556
|
+
* as the gesture is released, so we align with that.
|
|
19774
19557
|
*/
|
|
19775
|
-
if (contentEl &&
|
|
19558
|
+
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
19776
19559
|
contentEl.scrollY = true;
|
|
19777
19560
|
}
|
|
19778
19561
|
return new Promise((resolve) => {
|
|
@@ -19790,7 +19573,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19790
19573
|
raf(() => {
|
|
19791
19574
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
19792
19575
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
19793
|
-
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
19794
19576
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
19795
19577
|
currentBreakpoint = snapToBreakpoint;
|
|
19796
19578
|
onBreakpointChange(currentBreakpoint);
|
|
@@ -19843,10 +19625,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19843
19625
|
};
|
|
19844
19626
|
};
|
|
19845
19627
|
|
|
19846
|
-
const modalIosCss = ":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
|
|
19628
|
+
const modalIosCss = ":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{--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}";
|
|
19847
19629
|
var IonModalIosStyle0 = modalIosCss;
|
|
19848
19630
|
|
|
19849
|
-
const modalMdCss = ":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
|
|
19631
|
+
const modalMdCss = ":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{--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}";
|
|
19850
19632
|
var IonModalMdStyle0 = modalMdCss;
|
|
19851
19633
|
|
|
19852
19634
|
// TODO(FW-2832): types
|
|
@@ -19925,7 +19707,6 @@ class Modal {
|
|
|
19925
19707
|
this.enterAnimation = undefined;
|
|
19926
19708
|
this.leaveAnimation = undefined;
|
|
19927
19709
|
this.breakpoints = undefined;
|
|
19928
|
-
this.expandToScroll = true;
|
|
19929
19710
|
this.initialBreakpoint = undefined;
|
|
19930
19711
|
this.backdropBreakpoint = 0;
|
|
19931
19712
|
this.handle = undefined;
|
|
@@ -20141,7 +19922,6 @@ class Modal {
|
|
|
20141
19922
|
presentingEl: presentingElement,
|
|
20142
19923
|
currentBreakpoint: this.initialBreakpoint,
|
|
20143
19924
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
20144
|
-
expandToScroll: this.expandToScroll,
|
|
20145
19925
|
});
|
|
20146
19926
|
/* tslint:disable-next-line */
|
|
20147
19927
|
if (typeof window !== 'undefined') {
|
|
@@ -20192,10 +19972,7 @@ class Modal {
|
|
|
20192
19972
|
// should be in the DOM and referenced by now, except
|
|
20193
19973
|
// for the presenting el
|
|
20194
19974
|
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
|
|
20195
|
-
const ani = (this.animation = animationBuilder(el, {
|
|
20196
|
-
presentingEl: this.presentingElement,
|
|
20197
|
-
expandToScroll: this.expandToScroll,
|
|
20198
|
-
}));
|
|
19975
|
+
const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
|
|
20199
19976
|
const contentEl = findIonContent(el);
|
|
20200
19977
|
if (!contentEl) {
|
|
20201
19978
|
printIonContentErrorMsg(el);
|
|
@@ -20240,10 +20017,9 @@ class Modal {
|
|
|
20240
20017
|
presentingEl: this.presentingElement,
|
|
20241
20018
|
currentBreakpoint: initialBreakpoint,
|
|
20242
20019
|
backdropBreakpoint,
|
|
20243
|
-
expandToScroll: this.expandToScroll,
|
|
20244
20020
|
}));
|
|
20245
20021
|
ani.progressStart(true, 1);
|
|
20246
|
-
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints,
|
|
20022
|
+
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
20247
20023
|
if (this.currentBreakpoint !== breakpoint) {
|
|
20248
20024
|
this.currentBreakpoint = breakpoint;
|
|
20249
20025
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
@@ -20321,7 +20097,6 @@ class Modal {
|
|
|
20321
20097
|
presentingEl: presentingElement,
|
|
20322
20098
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
20323
20099
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
20324
|
-
expandToScroll: this.expandToScroll,
|
|
20325
20100
|
});
|
|
20326
20101
|
if (dismissed) {
|
|
20327
20102
|
const { delegate } = this.getDelegate();
|
|
@@ -20407,23 +20182,23 @@ class Modal {
|
|
|
20407
20182
|
return true;
|
|
20408
20183
|
}
|
|
20409
20184
|
render() {
|
|
20410
|
-
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap
|
|
20185
|
+
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
|
|
20411
20186
|
const showHandle = handle !== false && isSheetModal;
|
|
20412
20187
|
const mode = getIonMode$1(this);
|
|
20413
20188
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
20414
20189
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
20415
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
20190
|
+
return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
20416
20191
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
20417
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal,
|
|
20192
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
|
|
20418
20193
|
/*
|
|
20419
20194
|
role and aria-modal must be used on the
|
|
20420
20195
|
same element. They must also be set inside the
|
|
20421
20196
|
shadow DOM otherwise ion-button will not be highlighted
|
|
20422
20197
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
20423
20198
|
*/
|
|
20424
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
20199
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
|
|
20425
20200
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
20426
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '
|
|
20201
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
|
|
20427
20202
|
}
|
|
20428
20203
|
get el() { return getElement(this); }
|
|
20429
20204
|
static get watchers() { return {
|
|
@@ -20445,7 +20220,6 @@ class Modal {
|
|
|
20445
20220
|
"enterAnimation": [16],
|
|
20446
20221
|
"leaveAnimation": [16],
|
|
20447
20222
|
"breakpoints": [16],
|
|
20448
|
-
"expandToScroll": [4, "expand-to-scroll"],
|
|
20449
20223
|
"initialBreakpoint": [2, "initial-breakpoint"],
|
|
20450
20224
|
"backdropBreakpoint": [2, "backdrop-breakpoint"],
|
|
20451
20225
|
"handle": [4],
|
|
@@ -24790,10 +24564,10 @@ const renderProgress = (value, buffer) => {
|
|
|
24790
24564
|
];
|
|
24791
24565
|
};
|
|
24792
24566
|
|
|
24793
|
-
const radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}
|
|
24567
|
+
const radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.radio-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.radio-label-placement-stacked) .radio-bottom{font-size:1rem}.radio-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .radio-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .radio-bottom .helper-text{display:none}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host{--color-checked:var(--ion-color-primary, #0054e9)}:host(.ion-color.radio-checked) .radio-inner{border-color:var(--ion-color-base)}.item-radio.item-ios ion-label{-webkit-margin-start:0;margin-inline-start:0}.radio-inner{width:33%;height:50%}:host(.radio-checked) .radio-inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);border-width:0.125rem;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--color-checked)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);top:-8px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:\"\";opacity:0.2}:host(.ion-focused) .radio-icon::after{inset-inline-start:-9px}.native-wrapper .radio-icon{width:0.9375rem;height:1.5rem}";
|
|
24794
24568
|
var IonRadioIosStyle0 = radioIosCss;
|
|
24795
24569
|
|
|
24796
|
-
const radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}
|
|
24570
|
+
const radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;max-width:100%;min-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.radio-disabled){pointer-events:none}.radio-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{-webkit-box-sizing:border-box;box-sizing:border-box}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host(:focus){outline:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.radio-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.radio-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.radio-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.radio-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.radio-label-placement-stacked) .radio-bottom{font-size:1rem}.radio-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .radio-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .radio-bottom .helper-text{display:none}:host(.radio-label-placement-start) .radio-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.radio-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-end) .radio-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.radio-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.radio-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.radio-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px}:host(.radio-label-placement-stacked) .radio-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.radio-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.radio-label-placement-stacked.radio-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).radio-label-placement-stacked.radio-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.radio-label-placement-stacked.radio-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.radio-justify-space-between) .radio-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.radio-justify-start) .radio-wrapper{-ms-flex-pack:start;justify-content:start}:host(.radio-justify-end) .radio-wrapper{-ms-flex-pack:end;justify-content:end}:host(.radio-alignment-start) .radio-wrapper{-ms-flex-align:start;align-items:start}:host(.radio-alignment-center) .radio-wrapper{-ms-flex-align:center;align-items:center}:host(.radio-justify-space-between),:host(.radio-justify-start),:host(.radio-justify-end),:host(.radio-alignment-start),:host(.radio-alignment-center){display:block}:host{--color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #0054e9);--border-width:0.125rem;--border-style:solid;--border-radius:50%}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0);-webkit-transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:-webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}:host(.radio-disabled) .label-text-wrapper{opacity:0.38}:host(.radio-disabled) .native-wrapper{opacity:0.63}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #1a65eb);content:\"\";opacity:0.2}.native-wrapper .radio-icon{width:1.25rem;height:1.25rem}";
|
|
24797
24571
|
var IonRadioMdStyle0 = radioMdCss;
|
|
24798
24572
|
|
|
24799
24573
|
/**
|
|
@@ -24804,6 +24578,9 @@ var IonRadioMdStyle0 = radioMdCss;
|
|
|
24804
24578
|
* @part container - The container for the radio mark.
|
|
24805
24579
|
* @part label - The label text describing the radio.
|
|
24806
24580
|
* @part mark - The checkmark or dot used to indicate the checked state.
|
|
24581
|
+
* @part supporting-text - Supporting text displayed beneath the radio label.
|
|
24582
|
+
* @part helper-text - Supporting text displayed beneath the radio label when the radio is valid.
|
|
24583
|
+
* @part error-text - Supporting text displayed beneath the radio label when the radio is invalid and touched.
|
|
24807
24584
|
*/
|
|
24808
24585
|
class Radio {
|
|
24809
24586
|
constructor(hostRef) {
|
|
@@ -24811,6 +24588,8 @@ class Radio {
|
|
|
24811
24588
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
24812
24589
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
24813
24590
|
this.inputId = `ion-rb-${radioButtonIds++}`;
|
|
24591
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
24592
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
24814
24593
|
this.radioGroup = null;
|
|
24815
24594
|
this.updateState = () => {
|
|
24816
24595
|
if (this.radioGroup) {
|
|
@@ -24850,6 +24629,8 @@ class Radio {
|
|
|
24850
24629
|
this.color = undefined;
|
|
24851
24630
|
this.name = this.inputId;
|
|
24852
24631
|
this.disabled = false;
|
|
24632
|
+
this.errorText = undefined;
|
|
24633
|
+
this.helperText = undefined;
|
|
24853
24634
|
this.value = undefined;
|
|
24854
24635
|
this.labelPlacement = 'start';
|
|
24855
24636
|
this.justify = undefined;
|
|
@@ -24909,11 +24690,37 @@ class Radio {
|
|
|
24909
24690
|
renderRadioControl() {
|
|
24910
24691
|
return (hAsync("div", { class: "radio-icon", part: "container" }, hAsync("div", { class: "radio-inner", part: "mark" }), hAsync("div", { class: "radio-ripple" })));
|
|
24911
24692
|
}
|
|
24693
|
+
getHintTextID() {
|
|
24694
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
24695
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
24696
|
+
return errorTextId;
|
|
24697
|
+
}
|
|
24698
|
+
if (helperText) {
|
|
24699
|
+
return helperTextId;
|
|
24700
|
+
}
|
|
24701
|
+
return undefined;
|
|
24702
|
+
}
|
|
24703
|
+
/**
|
|
24704
|
+
* Responsible for rendering helper text and error text.
|
|
24705
|
+
* This element should only be rendered if hint text is set.
|
|
24706
|
+
*/
|
|
24707
|
+
renderHintText() {
|
|
24708
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
24709
|
+
/**
|
|
24710
|
+
* undefined and empty string values should
|
|
24711
|
+
* be treated as not having helper/error text.
|
|
24712
|
+
*/
|
|
24713
|
+
const hasHintText = !!helperText || !!errorText;
|
|
24714
|
+
if (!hasHintText) {
|
|
24715
|
+
return;
|
|
24716
|
+
}
|
|
24717
|
+
return (hAsync("div", { class: "radio-bottom" }, hAsync("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText), hAsync("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText)));
|
|
24718
|
+
}
|
|
24912
24719
|
render() {
|
|
24913
24720
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
24914
24721
|
const mode = getIonMode$1(this);
|
|
24915
24722
|
const inItem = hostContext('ion-item', el);
|
|
24916
|
-
return (hAsync(Host, { key: '
|
|
24723
|
+
return (hAsync(Host, { key: '4f01024a74c1846438372c40519df1044f5b12b9', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
|
|
24917
24724
|
[mode]: true,
|
|
24918
24725
|
'in-item': inItem,
|
|
24919
24726
|
'radio-checked': checked,
|
|
@@ -24924,10 +24731,10 @@ class Radio {
|
|
|
24924
24731
|
// Focus and active styling should not apply when the radio is in an item
|
|
24925
24732
|
'ion-activatable': !inItem,
|
|
24926
24733
|
'ion-focusable': !inItem,
|
|
24927
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '
|
|
24734
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, tabindex: buttonTabindex }, hAsync("label", { key: '59dc0343534e626692f3b71b32204c1b2b25d40a', class: "radio-wrapper" }, hAsync("div", { key: '26d7d3faf1b02bb138fb2c46f83e824962b6b92e', class: {
|
|
24928
24735
|
'label-text-wrapper': true,
|
|
24929
24736
|
'label-text-wrapper-hidden': !hasLabel,
|
|
24930
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
24737
|
+
}, part: "label" }, hAsync("slot", { key: '9c3d8bb0c5cd3ce94d1e661d89587cf67c522bc0' }), this.renderHintText()), hAsync("div", { key: '3183f79e2977ee001e69c23f73073555744281d8', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
24931
24738
|
}
|
|
24932
24739
|
get el() { return getElement(this); }
|
|
24933
24740
|
static get watchers() { return {
|
|
@@ -24944,6 +24751,8 @@ class Radio {
|
|
|
24944
24751
|
"color": [513],
|
|
24945
24752
|
"name": [1],
|
|
24946
24753
|
"disabled": [4],
|
|
24754
|
+
"errorText": [1, "error-text"],
|
|
24755
|
+
"helperText": [1, "helper-text"],
|
|
24947
24756
|
"value": [8],
|
|
24948
24757
|
"labelPlacement": [1, "label-placement"],
|
|
24949
24758
|
"justify": [1],
|
|
@@ -29889,7 +29698,6 @@ class Select {
|
|
|
29889
29698
|
this.expandedIcon = undefined;
|
|
29890
29699
|
this.shape = undefined;
|
|
29891
29700
|
this.value = undefined;
|
|
29892
|
-
this.required = false;
|
|
29893
29701
|
}
|
|
29894
29702
|
styleChanged() {
|
|
29895
29703
|
this.emitStyle();
|
|
@@ -30374,8 +30182,8 @@ class Select {
|
|
|
30374
30182
|
return renderedLabel;
|
|
30375
30183
|
}
|
|
30376
30184
|
renderListbox() {
|
|
30377
|
-
const { disabled, inputId, isExpanded
|
|
30378
|
-
return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`,
|
|
30185
|
+
const { disabled, inputId, isExpanded } = this;
|
|
30186
|
+
return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
|
|
30379
30187
|
}
|
|
30380
30188
|
render() {
|
|
30381
30189
|
const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
|
|
@@ -30406,7 +30214,7 @@ class Select {
|
|
|
30406
30214
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
30407
30215
|
*/
|
|
30408
30216
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
30409
|
-
return (hAsync(Host, { key: '
|
|
30217
|
+
return (hAsync(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
30410
30218
|
[mode]: true,
|
|
30411
30219
|
'in-item': inItem,
|
|
30412
30220
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -30422,7 +30230,7 @@ class Select {
|
|
|
30422
30230
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
30423
30231
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
30424
30232
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
30425
|
-
}) }, hAsync("label", { key: '
|
|
30233
|
+
}) }, hAsync("label", { key: '0edcfcbac575a9dccc77991531b6980d1caebf42', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '348151d90cb093f5d21c7d4a834264ac4a312c40', class: "select-wrapper-inner" }, hAsync("slot", { key: '8b7708c7f81217435c58276da0c08bba766d9500', name: "start" }), hAsync("div", { key: '10c520a335da0a0d1cf40f9365597beb244d3b48', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '0f15c40a5495e98e29d2a21ba21e0bc6f1c0125a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'c87faad2e5ebf7f9453397d7ede43abd64d21294', class: "select-highlight" }))));
|
|
30426
30234
|
}
|
|
30427
30235
|
get el() { return getElement(this); }
|
|
30428
30236
|
static get watchers() { return {
|
|
@@ -30458,7 +30266,6 @@ class Select {
|
|
|
30458
30266
|
"expandedIcon": [1, "expanded-icon"],
|
|
30459
30267
|
"shape": [1],
|
|
30460
30268
|
"value": [1032],
|
|
30461
|
-
"required": [4],
|
|
30462
30269
|
"isExpanded": [32],
|
|
30463
30270
|
"open": [64]
|
|
30464
30271
|
},
|
|
@@ -31015,10 +30822,10 @@ class Tab {
|
|
|
31015
30822
|
}
|
|
31016
30823
|
render() {
|
|
31017
30824
|
const { tab, active, component } = this;
|
|
31018
|
-
return (hAsync(Host, { key: '
|
|
30825
|
+
return (hAsync(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
31019
30826
|
'ion-page': component === undefined,
|
|
31020
30827
|
'tab-hidden': !active,
|
|
31021
|
-
} }, hAsync("slot", { key: '
|
|
30828
|
+
} }, hAsync("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
|
|
31022
30829
|
}
|
|
31023
30830
|
get el() { return getElement(this); }
|
|
31024
30831
|
static get watchers() { return {
|
|
@@ -31210,7 +31017,7 @@ class TabButton {
|
|
|
31210
31017
|
'ion-activatable': true,
|
|
31211
31018
|
'ion-selectable': true,
|
|
31212
31019
|
'ion-focusable': true,
|
|
31213
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
31020
|
+
} }, hAsync("a", Object.assign({ key: '1db09d861b67ff292018fb4b0dc7b85bd4677eb8' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: '4381eafcb27e8c7bb0d86d4f115ceb0caf03b9b4', class: "button-inner" }, hAsync("slot", { key: '1981135f6fbb88376c1bd923c55c70fe8b5c5159' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '0509bc7155d055d1ed710600e9cf4df135881491', type: "unbounded" }))));
|
|
31214
31021
|
}
|
|
31215
31022
|
get el() { return getElement(this); }
|
|
31216
31023
|
static get style() { return {
|
|
@@ -31252,7 +31059,6 @@ class Tabs {
|
|
|
31252
31059
|
this.ionTabsDidChange = createEvent(this, "ionTabsDidChange", 3);
|
|
31253
31060
|
this.transitioning = false;
|
|
31254
31061
|
this.onTabClicked = (ev) => {
|
|
31255
|
-
console.log("onTabClicked");
|
|
31256
31062
|
const { href, tab } = ev.detail;
|
|
31257
31063
|
if (this.useRouter && href !== undefined) {
|
|
31258
31064
|
const router = document.querySelector('ion-router');
|
|
@@ -31387,7 +31193,7 @@ class Tabs {
|
|
|
31387
31193
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
31388
31194
|
}
|
|
31389
31195
|
render() {
|
|
31390
|
-
return (hAsync(Host, { key: '
|
|
31196
|
+
return (hAsync(Host, { key: 'e01ccf6bfaccad094515be50e407399c733fc226', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '38d2d01dbfd8a08f01e6f0e27274b21d75424e37', name: "top" }), hAsync("div", { key: '7e894f0f423e2d43e1c68daff5f9f6c442fad237', class: "tabs-inner" }, hAsync("slot", { key: 'df16be529a0370a26d0adf850530b31607507c23' })), hAsync("slot", { key: '44642e1cb24c3281c43db75fd69a32fe0defe40a', name: "bottom" })));
|
|
31391
31197
|
}
|
|
31392
31198
|
get el() { return getElement(this); }
|
|
31393
31199
|
static get style() { return IonTabsStyle0; }
|
|
@@ -32856,7 +32662,6 @@ class Toggle {
|
|
|
32856
32662
|
this.labelPlacement = 'start';
|
|
32857
32663
|
this.justify = undefined;
|
|
32858
32664
|
this.alignment = undefined;
|
|
32859
|
-
this.required = false;
|
|
32860
32665
|
}
|
|
32861
32666
|
disabledChanged() {
|
|
32862
32667
|
if (this.gesture) {
|
|
@@ -32938,12 +32743,12 @@ class Toggle {
|
|
|
32938
32743
|
return this.el.textContent !== '';
|
|
32939
32744
|
}
|
|
32940
32745
|
render() {
|
|
32941
|
-
const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment
|
|
32746
|
+
const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
|
|
32942
32747
|
const mode = getIonMode$1(this);
|
|
32943
32748
|
const value = this.getValue();
|
|
32944
32749
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
32945
32750
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
32946
|
-
return (hAsync(Host, { key: '
|
|
32751
|
+
return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
|
|
32947
32752
|
[mode]: true,
|
|
32948
32753
|
'in-item': hostContext('ion-item', el),
|
|
32949
32754
|
'toggle-activated': activated,
|
|
@@ -32953,10 +32758,10 @@ class Toggle {
|
|
|
32953
32758
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
32954
32759
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
32955
32760
|
[`toggle-${rtl}`]: true,
|
|
32956
|
-
}) }, hAsync("label", { key: '
|
|
32761
|
+
}) }, hAsync("label", { key: 'f8b3a215ad85b2cee611ad63449b584e1640f27f', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: 'f387b1ea840737a9737917e516834c887be99c09', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), hAsync("div", { key: '936af880db59fe377cd2de9101eb28a1c4fb8914', class: {
|
|
32957
32762
|
'label-text-wrapper': true,
|
|
32958
32763
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
32959
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
32764
|
+
}, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
32960
32765
|
}
|
|
32961
32766
|
get el() { return getElement(this); }
|
|
32962
32767
|
static get watchers() { return {
|
|
@@ -32979,7 +32784,6 @@ class Toggle {
|
|
|
32979
32784
|
"labelPlacement": [1, "label-placement"],
|
|
32980
32785
|
"justify": [1],
|
|
32981
32786
|
"alignment": [1],
|
|
32982
|
-
"required": [4],
|
|
32983
32787
|
"activated": [32]
|
|
32984
32788
|
},
|
|
32985
32789
|
"$listeners$": undefined,
|