@ionic/core 7.5.4-dev.11699469920.1af6ea12 → 7.5.4-dev.11699632730.1e6d9b70
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-modal.js +2 -2
- package/components/ion-select.js +1 -23
- package/components/ion-toast.js +67 -417
- package/components/overlays.js +1 -2
- package/components/radio-group.js +2 -0
- package/components/radio.js +40 -2
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/themes/dark.css +135 -0
- package/css/themes/dark.css.map +1 -0
- package/css/utils.bundle.css +133 -0
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/compare-with-utils-c0444525.js +44 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/ion-alert.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-loading.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -27
- package/dist/cjs/ion-toast.cjs.entry.js +83 -430
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-ba1a1e21.js → overlays-d80a2cf2.js} +0 -2
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -2
- package/dist/collection/components/radio/radio.js +3 -2
- package/dist/collection/components/radio-group/radio-group.js +24 -0
- package/dist/collection/components/select/select.js +2 -24
- package/dist/collection/components/toast/animations/ios.enter.js +1 -2
- package/dist/collection/components/toast/animations/md.enter.js +1 -2
- package/dist/collection/components/toast/animations/utils.js +0 -11
- package/dist/collection/components/toast/toast.js +1 -104
- package/dist/collection/utils/forms/compare-with-utils.js +39 -0
- package/dist/collection/utils/forms/index.js +1 -0
- package/dist/collection/utils/overlays.js +0 -1
- package/dist/docs.json +43 -38
- package/dist/esm/compare-with-utils-4928c09d.js +41 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +1 -1
- package/dist/esm/ion-alert.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +1 -1
- package/dist/esm/ion-loading.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +1 -1
- package/dist/esm/ion-modal.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +4 -1
- package/dist/esm/ion-select_3.entry.js +2 -23
- package/dist/esm/ion-toast.entry.js +66 -413
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-d79b34b4.js → overlays-a31c8878.js} +1 -2
- package/dist/esm-es5/compare-with-utils-4928c09d.js +4 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-popover.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-toast.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{overlays-d79b34b4.js → overlays-a31c8878.js} +1 -1
- package/dist/html.html-data.json +5 -10
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-02663394.system.js +1 -1
- package/dist/ionic/p-139bd79d.system.entry.js +4 -0
- package/dist/ionic/{p-3dedd258.system.entry.js → p-1e59dd04.system.entry.js} +1 -1
- package/dist/ionic/{p-938c4956.js → p-307963db.js} +1 -1
- package/dist/ionic/{p-1fc6b5a5.system.entry.js → p-3a769110.system.entry.js} +1 -1
- package/dist/ionic/p-3bc3d880.system.js +4 -0
- package/dist/ionic/p-43716898.js +4 -0
- package/dist/ionic/{p-1511dc35.system.js → p-4c75cb48.system.js} +1 -1
- package/dist/ionic/p-539c09e8.system.entry.js +4 -0
- package/dist/ionic/{p-e525dbea.entry.js → p-53b1930e.entry.js} +1 -1
- package/dist/ionic/{p-ab1908ba.system.entry.js → p-59107f99.system.entry.js} +1 -1
- package/dist/ionic/p-6b45cfd0.system.entry.js +4 -0
- package/dist/ionic/{p-664cc492.entry.js → p-75338011.entry.js} +1 -1
- package/dist/ionic/p-7d68e4ea.entry.js +4 -0
- package/dist/ionic/{p-78a8e1e8.entry.js → p-8140a084.entry.js} +1 -1
- package/dist/ionic/{p-2151a4a4.system.entry.js → p-90020ef0.system.entry.js} +1 -1
- package/dist/ionic/{p-53f75103.system.js → p-98c70e3c.system.js} +1 -1
- package/dist/ionic/p-999a7271.entry.js +4 -0
- package/dist/ionic/p-a4e4dba1.entry.js +4 -0
- package/dist/ionic/{p-138a4a93.entry.js → p-b86c6c05.entry.js} +1 -1
- package/dist/ionic/p-be499f29.entry.js +4 -0
- package/dist/ionic/{p-a9424586.entry.js → p-c09fa14d.entry.js} +1 -1
- package/dist/ionic/{p-020dd47f.entry.js → p-c32a6c04.entry.js} +1 -1
- package/dist/ionic/{p-81bdfa1c.system.entry.js → p-d54a8393.system.entry.js} +1 -1
- package/dist/ionic/p-e66f7d10.system.entry.js +4 -0
- package/dist/ionic/{p-cb6c380e.system.entry.js → p-e91c7eb4.system.entry.js} +1 -1
- package/dist/types/components/radio-group/radio-group-interface.d.ts +1 -0
- package/dist/types/components/radio-group/radio-group.d.ts +8 -1
- package/dist/types/components/select/select.d.ts +4 -1
- package/dist/types/components/toast/animations/utils.d.ts +0 -9
- package/dist/types/components/toast/toast-interface.d.ts +0 -1
- package/dist/types/components/toast/toast.d.ts +1 -28
- package/dist/types/components.d.ts +14 -14
- package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
- package/dist/types/utils/forms/index.d.ts +1 -0
- package/dist/types/utils/overlays.d.ts +0 -1
- package/hydrate/index.js +107 -436
- package/package.json +1 -1
- package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +0 -267
- package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +0 -84
- package/dist/ionic/p-344706aa.entry.js +0 -4
- package/dist/ionic/p-637d836a.system.entry.js +0 -4
- package/dist/ionic/p-6c89025e.system.entry.js +0 -4
- package/dist/ionic/p-8414ed31.entry.js +0 -4
- package/dist/ionic/p-d075c0aa.system.entry.js +0 -4
- package/dist/ionic/p-e3b7a2d0.system.entry.js +0 -4
- package/dist/ionic/p-ea1650b0.entry.js +0 -4
- package/dist/ionic/p-f2d4e3c8.entry.js +0 -4
- package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +0 -9
package/hydrate/index.js
CHANGED
|
@@ -8728,7 +8728,6 @@ const safeCall = (handler, arg) => {
|
|
|
8728
8728
|
};
|
|
8729
8729
|
const BACKDROP = 'backdrop';
|
|
8730
8730
|
const GESTURE = 'gesture';
|
|
8731
|
-
const OVERLAY_GESTURE_PRIORITY = 39;
|
|
8732
8731
|
/**
|
|
8733
8732
|
* Creates a delegate controller.
|
|
8734
8733
|
*
|
|
@@ -12177,6 +12176,43 @@ const createNotchController = (el, getNotchSpacerEl, getLabelSlot) => {
|
|
|
12177
12176
|
};
|
|
12178
12177
|
};
|
|
12179
12178
|
|
|
12179
|
+
/**
|
|
12180
|
+
* Uses the compareWith param to compare two values to determine if they are equal.
|
|
12181
|
+
*
|
|
12182
|
+
* @param currentValue The current value of the control.
|
|
12183
|
+
* @param compareValue The value to compare against.
|
|
12184
|
+
* @param compareWith The function or property name to use to compare values.
|
|
12185
|
+
*/
|
|
12186
|
+
const compareOptions = (currentValue, compareValue, compareWith) => {
|
|
12187
|
+
if (typeof compareWith === 'function') {
|
|
12188
|
+
return compareWith(currentValue, compareValue);
|
|
12189
|
+
}
|
|
12190
|
+
else if (typeof compareWith === 'string') {
|
|
12191
|
+
return currentValue[compareWith] === compareValue[compareWith];
|
|
12192
|
+
}
|
|
12193
|
+
else {
|
|
12194
|
+
return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
|
|
12195
|
+
}
|
|
12196
|
+
};
|
|
12197
|
+
/**
|
|
12198
|
+
* Compares a value against the current value(s) to determine if it is selected.
|
|
12199
|
+
*
|
|
12200
|
+
* @param currentValue The current value of the control.
|
|
12201
|
+
* @param compareValue The value to compare against.
|
|
12202
|
+
* @param compareWith The function or property name to use to compare values.
|
|
12203
|
+
*/
|
|
12204
|
+
const isOptionSelected = (currentValue, compareValue, compareWith) => {
|
|
12205
|
+
if (currentValue === undefined) {
|
|
12206
|
+
return false;
|
|
12207
|
+
}
|
|
12208
|
+
if (Array.isArray(currentValue)) {
|
|
12209
|
+
return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
|
|
12210
|
+
}
|
|
12211
|
+
else {
|
|
12212
|
+
return compareOptions(currentValue, compareValue, compareWith);
|
|
12213
|
+
}
|
|
12214
|
+
};
|
|
12215
|
+
|
|
12180
12216
|
const checkboxIosCss = "/*!@:host*/.sc-ion-checkbox-ios-h{--checkbox-background-checked:var(--ion-color-primary, #3880ff);--border-color-checked:var(--ion-color-primary, #3880ff);--checkmark-color:var(--ion-color-primary-contrast, #fff);--checkmark-width:1;--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}/*!@:host(.in-item)*/.in-item.sc-ion-checkbox-ios-h{width:100%;height:100%}/*!@:host([slot=start]:not(.legacy-checkbox)),\n:host([slot=end]:not(.legacy-checkbox))*/[slot=start].sc-ion-checkbox-ios-h:not(.legacy-checkbox),[slot=end].sc-ion-checkbox-ios-h:not(.legacy-checkbox){width:auto}/*!@:host(.legacy-checkbox)*/.legacy-checkbox.sc-ion-checkbox-ios-h{width:var(--size);height:var(--size)}/*!@:host(.ion-color)*/.ion-color.sc-ion-checkbox-ios-h{--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}/*!@:host(.legacy-checkbox) label*/.legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){/*!@:host(.legacy-checkbox) label*/.legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios{inset-inline-start:0}}@supports not (inset-inline-start: 0){/*!@:host(.legacy-checkbox) label*/.legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios{left:0}/*!@:host-context([dir=rtl]):host(.legacy-checkbox) label, :host-context([dir=rtl]).legacy-checkbox label*/[dir=rtl].sc-ion-checkbox-ios-h -no-combinator.legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios,[dir=rtl] .sc-ion-checkbox-ios-h -no-combinator.legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios,[dir=rtl].legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios,[dir=rtl] .legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios{left:unset;right:unset;right:0}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-checkbox-ios selector(.sc-ion-checkbox-ios:dir(rtl)){.sc-ion-checkbox-ios-h.legacy-checkbox:dir(rtl) label{left:unset;right:unset;right:0}}}/*!@:host(.legacy-checkbox) label::-moz-focus-inner*/.legacy-checkbox.sc-ion-checkbox-ios-h label.sc-ion-checkbox-ios::-moz-focus-inner{border:0}/*!@.checkbox-wrapper*/.checkbox-wrapper.sc-ion-checkbox-ios{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit;cursor:inherit}/*!@.label-text-wrapper*/.label-text-wrapper.sc-ion-checkbox-ios{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}/*!@:host(.in-item:not(.legacy-checkbox)) .label-text-wrapper*/.in-item.sc-ion-checkbox-ios-h:not(.legacy-checkbox) .label-text-wrapper.sc-ion-checkbox-ios{margin-top:10px;margin-bottom:10px}/*!@:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper*/.in-item.checkbox-label-placement-stacked.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{margin-top:10px;margin-bottom:16px}/*!@:host(.in-item.checkbox-label-placement-stacked) .native-wrapper*/.in-item.checkbox-label-placement-stacked.sc-ion-checkbox-ios-h .native-wrapper.sc-ion-checkbox-ios{margin-bottom:10px}/*!@.label-text-wrapper-hidden*/.label-text-wrapper-hidden.sc-ion-checkbox-ios{display:none}/*!@input*/input.sc-ion-checkbox-ios{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}/*!@.native-wrapper*/.native-wrapper.sc-ion-checkbox-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}/*!@.checkbox-icon*/.checkbox-icon.sc-ion-checkbox-ios{border-radius:var(--border-radius);position:relative;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}/*!@:host(.legacy-checkbox) .checkbox-icon*/.legacy-checkbox.sc-ion-checkbox-ios-h .checkbox-icon.sc-ion-checkbox-ios{display:block;width:100%;height:100%}/*!@:host(:not(.legacy-checkbox)) .checkbox-icon*/.sc-ion-checkbox-ios-h:not(.legacy-checkbox) .checkbox-icon.sc-ion-checkbox-ios{width:var(--size);height:var(--size)}/*!@.checkbox-icon path*/.checkbox-icon.sc-ion-checkbox-ios path.sc-ion-checkbox-ios{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}/*!@:host(.checkbox-justify-space-between) .checkbox-wrapper*/.checkbox-justify-space-between.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-pack:justify;justify-content:space-between}/*!@:host(.checkbox-justify-start) .checkbox-wrapper*/.checkbox-justify-start.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-pack:start;justify-content:start}/*!@:host(.checkbox-justify-end) .checkbox-wrapper*/.checkbox-justify-end.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-pack:end;justify-content:end}/*!@:host(.checkbox-alignment-start) .checkbox-wrapper*/.checkbox-alignment-start.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-align:start;align-items:start}/*!@:host(.checkbox-alignment-center) .checkbox-wrapper*/.checkbox-alignment-center.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-align:center;align-items:center}/*!@:host(.checkbox-label-placement-start) .checkbox-wrapper*/.checkbox-label-placement-start.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-direction:row;flex-direction:row}/*!@:host(.checkbox-label-placement-start) .label-text-wrapper*/.checkbox-label-placement-start.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}/*!@:host(.checkbox-label-placement-end) .checkbox-wrapper*/.checkbox-label-placement-end.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}/*!@:host(.checkbox-label-placement-end) .label-text-wrapper*/.checkbox-label-placement-end.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}/*!@:host(.checkbox-label-placement-fixed) .label-text-wrapper*/.checkbox-label-placement-fixed.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}/*!@:host(.checkbox-label-placement-fixed) .label-text-wrapper*/.checkbox-label-placement-fixed.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}/*!@:host(.checkbox-label-placement-stacked) .checkbox-wrapper*/.checkbox-label-placement-stacked.sc-ion-checkbox-ios-h .checkbox-wrapper.sc-ion-checkbox-ios{-ms-flex-direction:column;flex-direction:column}/*!@:host(.checkbox-label-placement-stacked) .label-text-wrapper*/.checkbox-label-placement-stacked.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-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(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-webkit-transform-origin:left top;transform-origin:left top}/*!@:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper, :host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper*/[dir=rtl].sc-ion-checkbox-ios-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios,[dir=rtl] .sc-ion-checkbox-ios-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios,[dir=rtl].checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios,[dir=rtl] .checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){/*!@:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-ios-h:dir(rtl) .label-text-wrapper.sc-ion-checkbox-ios{-webkit-transform-origin:right top;transform-origin:right top}}/*!@:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-webkit-transform-origin:center top;transform-origin:center top}/*!@:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper, :host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper*/[dir=rtl].sc-ion-checkbox-ios-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios,[dir=rtl] .sc-ion-checkbox-ios-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios,[dir=rtl].checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios,[dir=rtl] .checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-ios-h .label-text-wrapper.sc-ion-checkbox-ios{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){/*!@:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-ios-h:dir(rtl) .label-text-wrapper.sc-ion-checkbox-ios{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}/*!@:host(.checkbox-checked) .checkbox-icon,\n:host(.checkbox-indeterminate) .checkbox-icon*/.checkbox-checked.sc-ion-checkbox-ios-h .checkbox-icon.sc-ion-checkbox-ios,.checkbox-indeterminate.sc-ion-checkbox-ios-h .checkbox-icon.sc-ion-checkbox-ios{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}/*!@:host(.checkbox-checked) .checkbox-icon path,\n:host(.checkbox-indeterminate) .checkbox-icon path*/.checkbox-checked.sc-ion-checkbox-ios-h .checkbox-icon.sc-ion-checkbox-ios path.sc-ion-checkbox-ios,.checkbox-indeterminate.sc-ion-checkbox-ios-h .checkbox-icon.sc-ion-checkbox-ios path.sc-ion-checkbox-ios{opacity:1}/*!@:host(.checkbox-disabled)*/.checkbox-disabled.sc-ion-checkbox-ios-h{pointer-events:none}/*!@:host*/.sc-ion-checkbox-ios-h{--border-radius:50%;--border-width:0.0625rem;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:min(1.625rem, 65.988px)}/*!@:host(.checkbox-disabled)*/.checkbox-disabled.sc-ion-checkbox-ios-h{opacity:0.3}/*!@:host(.in-item.legacy-checkbox)*/.in-item.legacy-checkbox.sc-ion-checkbox-ios-h{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:9px;display:block;position:static}/*!@:host(.in-item.legacy-checkbox[slot=start])*/.in-item.legacy-checkbox[slot=start].sc-ion-checkbox-ios-h{-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:8px;margin-bottom:8px}";
|
|
12181
12217
|
|
|
12182
12218
|
const checkboxMdCss = "/*!@:host*/.sc-ion-checkbox-md-h{--checkbox-background-checked:var(--ion-color-primary, #3880ff);--border-color-checked:var(--ion-color-primary, #3880ff);--checkmark-color:var(--ion-color-primary-contrast, #fff);--checkmark-width:1;--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}/*!@:host(.in-item)*/.in-item.sc-ion-checkbox-md-h{width:100%;height:100%}/*!@:host([slot=start]:not(.legacy-checkbox)),\n:host([slot=end]:not(.legacy-checkbox))*/[slot=start].sc-ion-checkbox-md-h:not(.legacy-checkbox),[slot=end].sc-ion-checkbox-md-h:not(.legacy-checkbox){width:auto}/*!@:host(.legacy-checkbox)*/.legacy-checkbox.sc-ion-checkbox-md-h{width:var(--size);height:var(--size)}/*!@:host(.ion-color)*/.ion-color.sc-ion-checkbox-md-h{--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}/*!@:host(.legacy-checkbox) label*/.legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){/*!@:host(.legacy-checkbox) label*/.legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md{inset-inline-start:0}}@supports not (inset-inline-start: 0){/*!@:host(.legacy-checkbox) label*/.legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md{left:0}/*!@:host-context([dir=rtl]):host(.legacy-checkbox) label, :host-context([dir=rtl]).legacy-checkbox label*/[dir=rtl].sc-ion-checkbox-md-h -no-combinator.legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md,[dir=rtl] .sc-ion-checkbox-md-h -no-combinator.legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md,[dir=rtl].legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md,[dir=rtl] .legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md{left:unset;right:unset;right:0}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-checkbox-md selector(.sc-ion-checkbox-md:dir(rtl)){.sc-ion-checkbox-md-h.legacy-checkbox:dir(rtl) label{left:unset;right:unset;right:0}}}/*!@:host(.legacy-checkbox) label::-moz-focus-inner*/.legacy-checkbox.sc-ion-checkbox-md-h label.sc-ion-checkbox-md::-moz-focus-inner{border:0}/*!@.checkbox-wrapper*/.checkbox-wrapper.sc-ion-checkbox-md{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit;cursor:inherit}/*!@.label-text-wrapper*/.label-text-wrapper.sc-ion-checkbox-md{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}/*!@:host(.in-item:not(.legacy-checkbox)) .label-text-wrapper*/.in-item.sc-ion-checkbox-md-h:not(.legacy-checkbox) .label-text-wrapper.sc-ion-checkbox-md{margin-top:10px;margin-bottom:10px}/*!@:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper*/.in-item.checkbox-label-placement-stacked.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{margin-top:10px;margin-bottom:16px}/*!@:host(.in-item.checkbox-label-placement-stacked) .native-wrapper*/.in-item.checkbox-label-placement-stacked.sc-ion-checkbox-md-h .native-wrapper.sc-ion-checkbox-md{margin-bottom:10px}/*!@.label-text-wrapper-hidden*/.label-text-wrapper-hidden.sc-ion-checkbox-md{display:none}/*!@input*/input.sc-ion-checkbox-md{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}/*!@.native-wrapper*/.native-wrapper.sc-ion-checkbox-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}/*!@.checkbox-icon*/.checkbox-icon.sc-ion-checkbox-md{border-radius:var(--border-radius);position:relative;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}/*!@:host(.legacy-checkbox) .checkbox-icon*/.legacy-checkbox.sc-ion-checkbox-md-h .checkbox-icon.sc-ion-checkbox-md{display:block;width:100%;height:100%}/*!@:host(:not(.legacy-checkbox)) .checkbox-icon*/.sc-ion-checkbox-md-h:not(.legacy-checkbox) .checkbox-icon.sc-ion-checkbox-md{width:var(--size);height:var(--size)}/*!@.checkbox-icon path*/.checkbox-icon.sc-ion-checkbox-md path.sc-ion-checkbox-md{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}/*!@:host(.checkbox-justify-space-between) .checkbox-wrapper*/.checkbox-justify-space-between.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-pack:justify;justify-content:space-between}/*!@:host(.checkbox-justify-start) .checkbox-wrapper*/.checkbox-justify-start.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-pack:start;justify-content:start}/*!@:host(.checkbox-justify-end) .checkbox-wrapper*/.checkbox-justify-end.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-pack:end;justify-content:end}/*!@:host(.checkbox-alignment-start) .checkbox-wrapper*/.checkbox-alignment-start.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-align:start;align-items:start}/*!@:host(.checkbox-alignment-center) .checkbox-wrapper*/.checkbox-alignment-center.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-align:center;align-items:center}/*!@:host(.checkbox-label-placement-start) .checkbox-wrapper*/.checkbox-label-placement-start.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-direction:row;flex-direction:row}/*!@:host(.checkbox-label-placement-start) .label-text-wrapper*/.checkbox-label-placement-start.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}/*!@:host(.checkbox-label-placement-end) .checkbox-wrapper*/.checkbox-label-placement-end.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-direction:row-reverse;flex-direction:row-reverse}/*!@:host(.checkbox-label-placement-end) .label-text-wrapper*/.checkbox-label-placement-end.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}/*!@:host(.checkbox-label-placement-fixed) .label-text-wrapper*/.checkbox-label-placement-fixed.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}/*!@:host(.checkbox-label-placement-fixed) .label-text-wrapper*/.checkbox-label-placement-fixed.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}/*!@:host(.checkbox-label-placement-stacked) .checkbox-wrapper*/.checkbox-label-placement-stacked.sc-ion-checkbox-md-h .checkbox-wrapper.sc-ion-checkbox-md{-ms-flex-direction:column;flex-direction:column}/*!@:host(.checkbox-label-placement-stacked) .label-text-wrapper*/.checkbox-label-placement-stacked.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-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(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-webkit-transform-origin:left top;transform-origin:left top}/*!@:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper, :host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper*/[dir=rtl].sc-ion-checkbox-md-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md,[dir=rtl] .sc-ion-checkbox-md-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md,[dir=rtl].checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md,[dir=rtl] .checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){/*!@:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-start.sc-ion-checkbox-md-h:dir(rtl) .label-text-wrapper.sc-ion-checkbox-md{-webkit-transform-origin:right top;transform-origin:right top}}/*!@:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-webkit-transform-origin:center top;transform-origin:center top}/*!@:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper, :host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper*/[dir=rtl].sc-ion-checkbox-md-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md,[dir=rtl] .sc-ion-checkbox-md-h -no-combinator.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md,[dir=rtl].checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md,[dir=rtl] .checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){/*!@:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper*/.checkbox-label-placement-stacked.checkbox-alignment-center.sc-ion-checkbox-md-h:dir(rtl) .label-text-wrapper.sc-ion-checkbox-md{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}/*!@:host(.checkbox-checked) .checkbox-icon,\n:host(.checkbox-indeterminate) .checkbox-icon*/.checkbox-checked.sc-ion-checkbox-md-h .checkbox-icon.sc-ion-checkbox-md,.checkbox-indeterminate.sc-ion-checkbox-md-h .checkbox-icon.sc-ion-checkbox-md{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}/*!@:host(.checkbox-checked) .checkbox-icon path,\n:host(.checkbox-indeterminate) .checkbox-icon path*/.checkbox-checked.sc-ion-checkbox-md-h .checkbox-icon.sc-ion-checkbox-md path.sc-ion-checkbox-md,.checkbox-indeterminate.sc-ion-checkbox-md-h .checkbox-icon.sc-ion-checkbox-md path.sc-ion-checkbox-md{opacity:1}/*!@:host(.checkbox-disabled)*/.checkbox-disabled.sc-ion-checkbox-md-h{pointer-events:none}/*!@:host*/.sc-ion-checkbox-md-h{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--checkmark-width:3;--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px}/*!@.checkbox-icon path*/.checkbox-icon.sc-ion-checkbox-md path.sc-ion-checkbox-md{stroke-dasharray:30;stroke-dashoffset:30}/*!@:host(.checkbox-checked) .checkbox-icon path,\n:host(.checkbox-indeterminate) .checkbox-icon path*/.checkbox-checked.sc-ion-checkbox-md-h .checkbox-icon.sc-ion-checkbox-md path.sc-ion-checkbox-md,.checkbox-indeterminate.sc-ion-checkbox-md-h .checkbox-icon.sc-ion-checkbox-md path.sc-ion-checkbox-md{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset 90ms linear 90ms;transition:stroke-dashoffset 90ms linear 90ms}/*!@:host(.legacy-checkbox.checkbox-disabled),\n:host(.checkbox-disabled) .label-text-wrapper*/.legacy-checkbox.checkbox-disabled.sc-ion-checkbox-md-h,.checkbox-disabled.sc-ion-checkbox-md-h .label-text-wrapper.sc-ion-checkbox-md{opacity:0.38}/*!@:host(.checkbox-disabled) .native-wrapper*/.checkbox-disabled.sc-ion-checkbox-md-h .native-wrapper.sc-ion-checkbox-md{opacity:0.63}/*!@:host(.in-item.legacy-checkbox)*/.in-item.legacy-checkbox.sc-ion-checkbox-md-h{margin-left:0;margin-right:0;margin-top:18px;margin-bottom:18px;display:block;position:static}/*!@:host(.in-item.legacy-checkbox[slot=start])*/.in-item.legacy-checkbox[slot=start].sc-ion-checkbox-md-h{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px;margin-top:18px;margin-bottom:18px}";
|
|
@@ -22263,7 +22299,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) =>
|
|
|
22263
22299
|
const gesture = createGesture({
|
|
22264
22300
|
el,
|
|
22265
22301
|
gestureName: 'modalSwipeToClose',
|
|
22266
|
-
gesturePriority:
|
|
22302
|
+
gesturePriority: 39,
|
|
22267
22303
|
direction: 'y',
|
|
22268
22304
|
threshold: 10,
|
|
22269
22305
|
canStart,
|
|
@@ -27376,7 +27412,8 @@ class Radio {
|
|
|
27376
27412
|
this.hasLoggedDeprecationWarning = false;
|
|
27377
27413
|
this.updateState = () => {
|
|
27378
27414
|
if (this.radioGroup) {
|
|
27379
|
-
|
|
27415
|
+
const { compareWith, value: radioGroupValue } = this.radioGroup;
|
|
27416
|
+
this.checked = isOptionSelected(radioGroupValue, this.value, compareWith);
|
|
27380
27417
|
}
|
|
27381
27418
|
};
|
|
27382
27419
|
this.onClick = () => {
|
|
@@ -27619,6 +27656,7 @@ class RadioGroup {
|
|
|
27619
27656
|
}
|
|
27620
27657
|
};
|
|
27621
27658
|
this.allowEmptySelection = false;
|
|
27659
|
+
this.compareWith = undefined;
|
|
27622
27660
|
this.name = this.inputId;
|
|
27623
27661
|
this.value = undefined;
|
|
27624
27662
|
}
|
|
@@ -27718,6 +27756,7 @@ class RadioGroup {
|
|
|
27718
27756
|
"$tagName$": "ion-radio-group",
|
|
27719
27757
|
"$members$": {
|
|
27720
27758
|
"allowEmptySelection": [4, "allow-empty-selection"],
|
|
27759
|
+
"compareWith": [1, "compare-with"],
|
|
27721
27760
|
"name": [1],
|
|
27722
27761
|
"value": [1032]
|
|
27723
27762
|
},
|
|
@@ -32634,17 +32673,6 @@ Developers can use the "legacy" property to continue using the legacy form marku
|
|
|
32634
32673
|
"$attrsToReflect$": [["color", "color"]]
|
|
32635
32674
|
}; }
|
|
32636
32675
|
}
|
|
32637
|
-
const isOptionSelected = (currentValue, compareValue, compareWith) => {
|
|
32638
|
-
if (currentValue === undefined) {
|
|
32639
|
-
return false;
|
|
32640
|
-
}
|
|
32641
|
-
if (Array.isArray(currentValue)) {
|
|
32642
|
-
return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
|
|
32643
|
-
}
|
|
32644
|
-
else {
|
|
32645
|
-
return compareOptions(currentValue, compareValue, compareWith);
|
|
32646
|
-
}
|
|
32647
|
-
};
|
|
32648
32676
|
const getOptionValue = (el) => {
|
|
32649
32677
|
const value = el.value;
|
|
32650
32678
|
return value === undefined ? el.textContent || '' : value;
|
|
@@ -32658,17 +32686,6 @@ const parseValue = (value) => {
|
|
|
32658
32686
|
}
|
|
32659
32687
|
return value.toString();
|
|
32660
32688
|
};
|
|
32661
|
-
const compareOptions = (currentValue, compareValue, compareWith) => {
|
|
32662
|
-
if (typeof compareWith === 'function') {
|
|
32663
|
-
return compareWith(currentValue, compareValue);
|
|
32664
|
-
}
|
|
32665
|
-
else if (typeof compareWith === 'string') {
|
|
32666
|
-
return currentValue[compareWith] === compareValue[compareWith];
|
|
32667
|
-
}
|
|
32668
|
-
else {
|
|
32669
|
-
return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
|
|
32670
|
-
}
|
|
32671
|
-
};
|
|
32672
32689
|
const generateText = (opts, value, compareWith) => {
|
|
32673
32690
|
if (value === undefined) {
|
|
32674
32691
|
return '';
|
|
@@ -33946,93 +33963,6 @@ class Thumbnail {
|
|
|
33946
33963
|
}; }
|
|
33947
33964
|
}
|
|
33948
33965
|
|
|
33949
|
-
/**
|
|
33950
|
-
* Calculate the CSS top and bottom position of the toast, to be used
|
|
33951
|
-
* as starting points for the animation keyframes.
|
|
33952
|
-
*
|
|
33953
|
-
* The default animations for both MD and iOS
|
|
33954
|
-
* use translateY, which calculates from the
|
|
33955
|
-
* top edge of the screen. This behavior impacts
|
|
33956
|
-
* how we compute the offset when a toast has
|
|
33957
|
-
* position='bottom' since we need to calculate from
|
|
33958
|
-
* the bottom edge of the screen instead.
|
|
33959
|
-
*
|
|
33960
|
-
* @param position The value of the toast's position prop.
|
|
33961
|
-
* @param positionAnchor The element the toast should be anchored to,
|
|
33962
|
-
* if applicable.
|
|
33963
|
-
* @param mode The toast component's mode (md, ios, etc).
|
|
33964
|
-
* @param toast A reference to the toast element itself.
|
|
33965
|
-
*/
|
|
33966
|
-
function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
33967
|
-
/**
|
|
33968
|
-
* Start with a predefined offset from the edge the toast will be
|
|
33969
|
-
* positioned relative to, whether on the screen or anchor element.
|
|
33970
|
-
*/
|
|
33971
|
-
let offset;
|
|
33972
|
-
if (mode === 'md') {
|
|
33973
|
-
offset = position === 'top' ? 8 : -8;
|
|
33974
|
-
}
|
|
33975
|
-
else {
|
|
33976
|
-
offset = position === 'top' ? 10 : -10;
|
|
33977
|
-
}
|
|
33978
|
-
/**
|
|
33979
|
-
* If positionAnchor is defined, add in the distance from the target
|
|
33980
|
-
* screen edge to the target anchor edge. For position="top", the
|
|
33981
|
-
* bottom anchor edge is targeted. For position="bottom", the top
|
|
33982
|
-
* anchor edge is targeted.
|
|
33983
|
-
*/
|
|
33984
|
-
if (positionAnchor && win$1) {
|
|
33985
|
-
warnIfAnchorIsHidden(positionAnchor, toast);
|
|
33986
|
-
const box = positionAnchor.getBoundingClientRect();
|
|
33987
|
-
if (position === 'top') {
|
|
33988
|
-
offset += box.bottom;
|
|
33989
|
-
}
|
|
33990
|
-
else if (position === 'bottom') {
|
|
33991
|
-
/**
|
|
33992
|
-
* Just box.top is the distance from the top edge of the screen
|
|
33993
|
-
* to the top edge of the anchor. We want to calculate from the
|
|
33994
|
-
* bottom edge of the screen instead.
|
|
33995
|
-
*/
|
|
33996
|
-
offset -= win$1.innerHeight - box.top;
|
|
33997
|
-
}
|
|
33998
|
-
/**
|
|
33999
|
-
* We don't include safe area here because that should already be
|
|
34000
|
-
* accounted for when checking the position of the anchor.
|
|
34001
|
-
*/
|
|
34002
|
-
return {
|
|
34003
|
-
top: `${offset}px`,
|
|
34004
|
-
bottom: `${offset}px`,
|
|
34005
|
-
};
|
|
34006
|
-
}
|
|
34007
|
-
else {
|
|
34008
|
-
return {
|
|
34009
|
-
top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,
|
|
34010
|
-
bottom: `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
|
|
34011
|
-
};
|
|
34012
|
-
}
|
|
34013
|
-
}
|
|
34014
|
-
/**
|
|
34015
|
-
* If the anchor element is hidden, getBoundingClientRect()
|
|
34016
|
-
* will return all 0s for it, which can cause unexpected
|
|
34017
|
-
* results in the position calculation when animating.
|
|
34018
|
-
*/
|
|
34019
|
-
function warnIfAnchorIsHidden(positionAnchor, toast) {
|
|
34020
|
-
if (positionAnchor.offsetParent === null) {
|
|
34021
|
-
printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
|
|
34022
|
-
}
|
|
34023
|
-
}
|
|
34024
|
-
/**
|
|
34025
|
-
* Returns the top offset required to place
|
|
34026
|
-
* the toast in the middle of the screen.
|
|
34027
|
-
* Only needed when position="toast".
|
|
34028
|
-
* @param toastHeight: The height of the ion-toast element
|
|
34029
|
-
* @param wrapperHeight: The height of the .toast-wrapper element
|
|
34030
|
-
* inside the toast's shadow root.
|
|
34031
|
-
*/
|
|
34032
|
-
const getOffsetForMiddlePosition = (toastHeight, wrapperHeight) => {
|
|
34033
|
-
return Math.floor(toastHeight / 2 - wrapperHeight / 2);
|
|
34034
|
-
};
|
|
34035
|
-
|
|
34036
33966
|
/**
|
|
34037
33967
|
* iOS Toast Enter Animation
|
|
34038
33968
|
*/
|
|
@@ -34048,7 +33978,7 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
|
34048
33978
|
wrapperAnimation.fromTo('transform', 'translateY(-100%)', `translateY(${top})`);
|
|
34049
33979
|
break;
|
|
34050
33980
|
case 'middle':
|
|
34051
|
-
const topPosition =
|
|
33981
|
+
const topPosition = Math.floor(baseEl.clientHeight / 2 - wrapperEl.clientHeight / 2);
|
|
34052
33982
|
wrapperEl.style.top = `${topPosition}px`;
|
|
34053
33983
|
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
34054
33984
|
break;
|
|
@@ -34099,7 +34029,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
|
34099
34029
|
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
34100
34030
|
break;
|
|
34101
34031
|
case 'middle':
|
|
34102
|
-
const topPosition =
|
|
34032
|
+
const topPosition = Math.floor(baseEl.clientHeight / 2 - wrapperEl.clientHeight / 2);
|
|
34103
34033
|
wrapperEl.style.top = `${topPosition}px`;
|
|
34104
34034
|
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
34105
34035
|
break;
|
|
@@ -34124,261 +34054,80 @@ const mdLeaveAnimation = (baseEl) => {
|
|
|
34124
34054
|
};
|
|
34125
34055
|
|
|
34126
34056
|
/**
|
|
34127
|
-
*
|
|
34128
|
-
*
|
|
34129
|
-
*
|
|
34130
|
-
*
|
|
34131
|
-
*
|
|
34057
|
+
* Calculate the CSS top and bottom position of the toast, to be used
|
|
34058
|
+
* as starting points for the animation keyframes.
|
|
34059
|
+
*
|
|
34060
|
+
* The default animations for both MD and iOS
|
|
34061
|
+
* use translateY, which calculates from the
|
|
34062
|
+
* top edge of the screen. This behavior impacts
|
|
34063
|
+
* how we compute the offset when a toast has
|
|
34064
|
+
* position='bottom' since we need to calculate from
|
|
34065
|
+
* the bottom edge of the screen instead.
|
|
34066
|
+
*
|
|
34067
|
+
* @param position The value of the toast's position prop.
|
|
34068
|
+
* @param positionAnchor The element the toast should be anchored to,
|
|
34069
|
+
* if applicable.
|
|
34070
|
+
* @param mode The toast component's mode (md, ios, etc).
|
|
34071
|
+
* @param toast A reference to the toast element itself.
|
|
34132
34072
|
*/
|
|
34133
|
-
|
|
34134
|
-
/**
|
|
34135
|
-
* Users should swipe on the visible toast wrapper
|
|
34136
|
-
* rather than on ion-toast which covers the entire screen.
|
|
34137
|
-
* When testing the class instance the inner wrapper will not
|
|
34138
|
-
* be defined. As a result, we use a placeholder element in those environments.
|
|
34139
|
-
*/
|
|
34140
|
-
const wrapperEl = getElementRoot(el).querySelector('.toast-wrapper');
|
|
34141
|
-
const hostElHeight = el.clientHeight;
|
|
34142
|
-
const wrapperElBox = wrapperEl.getBoundingClientRect();
|
|
34143
|
-
/**
|
|
34144
|
-
* The maximum amount that
|
|
34145
|
-
* the toast can be swiped. This should
|
|
34146
|
-
* account for the wrapper element's height
|
|
34147
|
-
* too so the toast can be swiped offscreen
|
|
34148
|
-
* completely.
|
|
34149
|
-
*/
|
|
34150
|
-
let MAX_SWIPE_DISTANCE = 0;
|
|
34151
|
-
/**
|
|
34152
|
-
* The step value at which a toast
|
|
34153
|
-
* is eligible for dismissing via gesture.
|
|
34154
|
-
*/
|
|
34155
|
-
const DISMISS_THRESHOLD = 0.5;
|
|
34156
|
-
/**
|
|
34157
|
-
* The middle position Toast starts 50% of the way
|
|
34158
|
-
* through the animation, so we need to use this
|
|
34159
|
-
* as the starting point for our step values.
|
|
34160
|
-
*/
|
|
34161
|
-
const STEP_OFFSET = el.position === 'middle' ? 0.5 : 0;
|
|
34073
|
+
function getAnimationPosition(position, positionAnchor, mode, toast) {
|
|
34162
34074
|
/**
|
|
34163
|
-
*
|
|
34164
|
-
*
|
|
34165
|
-
* negative numbers which will result in negative steps
|
|
34166
|
-
* and thresholds. As a result, we need to make those numbers
|
|
34167
|
-
* positive.
|
|
34075
|
+
* Start with a predefined offset from the edge the toast will be
|
|
34076
|
+
* positioned relative to, whether on the screen or anchor element.
|
|
34168
34077
|
*/
|
|
34169
|
-
|
|
34078
|
+
let offset;
|
|
34079
|
+
if (mode === 'md') {
|
|
34080
|
+
offset = position === 'top' ? 8 : -8;
|
|
34081
|
+
}
|
|
34082
|
+
else {
|
|
34083
|
+
offset = position === 'top' ? 10 : -10;
|
|
34084
|
+
}
|
|
34170
34085
|
/**
|
|
34171
|
-
*
|
|
34172
|
-
*
|
|
34173
|
-
*
|
|
34086
|
+
* If positionAnchor is defined, add in the distance from the target
|
|
34087
|
+
* screen edge to the target anchor edge. For position="top", the
|
|
34088
|
+
* bottom anchor edge is targeted. For position="bottom", the top
|
|
34089
|
+
* anchor edge is targeted.
|
|
34174
34090
|
*/
|
|
34175
|
-
|
|
34176
|
-
|
|
34177
|
-
|
|
34178
|
-
|
|
34179
|
-
|
|
34180
|
-
];
|
|
34181
|
-
const swipeAnimation = createAnimation('toast-swipe-to-dismiss-animation')
|
|
34182
|
-
.addElement(wrapperEl)
|
|
34183
|
-
/**
|
|
34184
|
-
* The specific value here does not actually
|
|
34185
|
-
* matter. We just need this to be a positive
|
|
34186
|
-
* value so the animation does not jump
|
|
34187
|
-
* to the end when the user beings to drag.
|
|
34188
|
-
*/
|
|
34189
|
-
.duration(100);
|
|
34190
|
-
switch (el.position) {
|
|
34191
|
-
case 'middle':
|
|
34192
|
-
MAX_SWIPE_DISTANCE = hostElHeight + wrapperElBox.height;
|
|
34193
|
-
swipeAnimation.keyframes(SWIPE_UP_DOWN_KEYFRAMES);
|
|
34194
|
-
/**
|
|
34195
|
-
* Toast can be swiped up or down but
|
|
34196
|
-
* should start in the middle of the screen.
|
|
34197
|
-
*/
|
|
34198
|
-
swipeAnimation.progressStart(true, 0.5);
|
|
34199
|
-
break;
|
|
34200
|
-
case 'top':
|
|
34201
|
-
/**
|
|
34202
|
-
* The bottom edge of the wrapper
|
|
34203
|
-
* includes the distance between the top
|
|
34204
|
-
* of the screen and the top of the wrapper
|
|
34205
|
-
* as well as the wrapper height so the wrapper
|
|
34206
|
-
* can be dragged fully offscreen.
|
|
34207
|
-
*/
|
|
34208
|
-
MAX_SWIPE_DISTANCE = wrapperElBox.bottom;
|
|
34209
|
-
swipeAnimation.keyframes([
|
|
34210
|
-
{ offset: 0, transform: `translateY(${toastPosition.top})` },
|
|
34211
|
-
{ offset: 1, transform: 'translateY(-100%)' },
|
|
34212
|
-
]);
|
|
34213
|
-
swipeAnimation.progressStart(true, 0);
|
|
34214
|
-
break;
|
|
34215
|
-
case 'bottom':
|
|
34216
|
-
default:
|
|
34217
|
-
/**
|
|
34218
|
-
* This computes the distance between the
|
|
34219
|
-
* top of the wrapper and the bottom of the
|
|
34220
|
-
* screen including the height of the wrapper
|
|
34221
|
-
* element so it can be dragged fully offscreen.
|
|
34222
|
-
*/
|
|
34223
|
-
MAX_SWIPE_DISTANCE = hostElHeight - wrapperElBox.top;
|
|
34224
|
-
swipeAnimation.keyframes([
|
|
34225
|
-
{ offset: 0, transform: `translateY(${toastPosition.bottom})` },
|
|
34226
|
-
{ offset: 1, transform: 'translateY(100%)' },
|
|
34227
|
-
]);
|
|
34228
|
-
swipeAnimation.progressStart(true, 0);
|
|
34229
|
-
break;
|
|
34230
|
-
}
|
|
34231
|
-
const computeStep = (delta) => {
|
|
34232
|
-
return (delta * INVERSION_FACTOR) / MAX_SWIPE_DISTANCE;
|
|
34233
|
-
};
|
|
34234
|
-
const onMove = (detail) => {
|
|
34235
|
-
const step = STEP_OFFSET + computeStep(detail.deltaY);
|
|
34236
|
-
swipeAnimation.progressStep(step);
|
|
34237
|
-
};
|
|
34238
|
-
const onEnd = (detail) => {
|
|
34239
|
-
const velocity = detail.velocityY;
|
|
34240
|
-
const threshold = ((detail.deltaY + velocity * 1000) / MAX_SWIPE_DISTANCE) * INVERSION_FACTOR;
|
|
34241
|
-
/**
|
|
34242
|
-
* Disable the gesture for the remainder of the animation.
|
|
34243
|
-
* It will be re-enabled if the toast animates back to
|
|
34244
|
-
* its initial presented position.
|
|
34245
|
-
*/
|
|
34246
|
-
gesture.enable(false);
|
|
34247
|
-
let shouldDismiss = true;
|
|
34248
|
-
let playTo = 1;
|
|
34249
|
-
let step = 0;
|
|
34250
|
-
let remainingDistance = 0;
|
|
34251
|
-
if (el.position === 'middle') {
|
|
34252
|
-
/**
|
|
34253
|
-
* A middle positioned Toast appears
|
|
34254
|
-
* in the middle of the screen (at animation offset 0.5).
|
|
34255
|
-
* As a result, the threshold will be calculated relative
|
|
34256
|
-
* to this starting position. In other words at animation offset 0.5
|
|
34257
|
-
* the threshold will be 0. We want the middle Toast to be eligible
|
|
34258
|
-
* for dismiss when the user has swiped either half way up or down the
|
|
34259
|
-
* screen. As a result, we divide DISMISS_THRESHOLD in half. We also
|
|
34260
|
-
* consider when the threshold is a negative in the event the
|
|
34261
|
-
* user drags up (since the deltaY will also be negative).
|
|
34262
|
-
*/
|
|
34263
|
-
shouldDismiss = threshold >= DISMISS_THRESHOLD / 2 || threshold <= -DISMISS_THRESHOLD / 2;
|
|
34264
|
-
/**
|
|
34265
|
-
* Since we are replacing the keyframes
|
|
34266
|
-
* below the animation always starts from
|
|
34267
|
-
* the beginning of the new keyframes.
|
|
34268
|
-
* Similarly, we are always playing to
|
|
34269
|
-
* the end of the new keyframes.
|
|
34270
|
-
*/
|
|
34271
|
-
playTo = 1;
|
|
34272
|
-
step = 0;
|
|
34273
|
-
/**
|
|
34274
|
-
* The Toast should animate from wherever its
|
|
34275
|
-
* current position is to the desired end state.
|
|
34276
|
-
*
|
|
34277
|
-
* To begin, we get the current position of the
|
|
34278
|
-
* Toast for its starting state.
|
|
34279
|
-
*/
|
|
34280
|
-
const wrapperElBox = wrapperEl.getBoundingClientRect();
|
|
34281
|
-
const startOffset = wrapperElBox.top - topPosition;
|
|
34282
|
-
const startPosition = `${startOffset}px`;
|
|
34283
|
-
/**
|
|
34284
|
-
* If the deltaY is negative then the user is swiping
|
|
34285
|
-
* up, so the Toast should animate to the top of the screen.
|
|
34286
|
-
* If the deltaY is positive then the user is swiping
|
|
34287
|
-
* down, so the Toast should animate to the bottom of the screen.
|
|
34288
|
-
* We also account for when the deltaY is 0, but realistically
|
|
34289
|
-
* that should never happen because it means the user did not drag
|
|
34290
|
-
* the toast.
|
|
34291
|
-
*/
|
|
34292
|
-
const offsetFactor = detail.deltaY <= 0 ? -1 : 1;
|
|
34293
|
-
const endOffset = (topPosition + wrapperElBox.height) * offsetFactor;
|
|
34294
|
-
/**
|
|
34295
|
-
* If the Toast should dismiss
|
|
34296
|
-
* then we need to figure out which edge of
|
|
34297
|
-
* the screen it should animate towards.
|
|
34298
|
-
* By default, the Toast will come
|
|
34299
|
-
* back to its default state in the
|
|
34300
|
-
* middle of the screen.
|
|
34301
|
-
*/
|
|
34302
|
-
const endPosition = shouldDismiss ? `${endOffset}px` : '0px';
|
|
34303
|
-
const KEYFRAMES = [
|
|
34304
|
-
{ offset: 0, transform: `translateY(${startPosition})` },
|
|
34305
|
-
{ offset: 1, transform: `translateY(${endPosition})` },
|
|
34306
|
-
];
|
|
34307
|
-
swipeAnimation.keyframes(KEYFRAMES);
|
|
34308
|
-
/**
|
|
34309
|
-
* Compute the remaining amount of pixels the
|
|
34310
|
-
* toast needs to move to be fully dismissed.
|
|
34311
|
-
*/
|
|
34312
|
-
remainingDistance = endOffset - startOffset;
|
|
34091
|
+
if (positionAnchor && win$1) {
|
|
34092
|
+
warnIfAnchorIsHidden(positionAnchor, toast);
|
|
34093
|
+
const box = positionAnchor.getBoundingClientRect();
|
|
34094
|
+
if (position === 'top') {
|
|
34095
|
+
offset += box.bottom;
|
|
34313
34096
|
}
|
|
34314
|
-
else {
|
|
34315
|
-
shouldDismiss = threshold >= DISMISS_THRESHOLD;
|
|
34316
|
-
playTo = shouldDismiss ? 1 : 0;
|
|
34317
|
-
step = computeStep(detail.deltaY);
|
|
34097
|
+
else if (position === 'bottom') {
|
|
34318
34098
|
/**
|
|
34319
|
-
*
|
|
34320
|
-
*
|
|
34099
|
+
* Just box.top is the distance from the top edge of the screen
|
|
34100
|
+
* to the top edge of the anchor. We want to calculate from the
|
|
34101
|
+
* bottom edge of the screen instead.
|
|
34321
34102
|
*/
|
|
34322
|
-
|
|
34323
|
-
remainingDistance = remainingStepAmount * MAX_SWIPE_DISTANCE;
|
|
34103
|
+
offset -= win$1.innerHeight - box.top;
|
|
34324
34104
|
}
|
|
34325
34105
|
/**
|
|
34326
|
-
*
|
|
34327
|
-
*
|
|
34328
|
-
* it should be no slower than 200ms.
|
|
34329
|
-
* We use Math.abs on the remainingDistance because that value
|
|
34330
|
-
* can be negative when swiping up on a middle position toast.
|
|
34331
|
-
*/
|
|
34332
|
-
const duration = Math.min(Math.abs(remainingDistance) / Math.abs(velocity), 200);
|
|
34333
|
-
swipeAnimation
|
|
34334
|
-
.onFinish(() => {
|
|
34335
|
-
if (shouldDismiss) {
|
|
34336
|
-
onDismiss();
|
|
34337
|
-
swipeAnimation.destroy();
|
|
34338
|
-
}
|
|
34339
|
-
else {
|
|
34340
|
-
if (el.position === 'middle') {
|
|
34341
|
-
/**
|
|
34342
|
-
* If the toast snapped back to
|
|
34343
|
-
* the middle of the screen we need
|
|
34344
|
-
* to reset the keyframes
|
|
34345
|
-
* so the toast can be swiped
|
|
34346
|
-
* up or down again.
|
|
34347
|
-
*/
|
|
34348
|
-
swipeAnimation.keyframes(SWIPE_UP_DOWN_KEYFRAMES).progressStart(true, 0.5);
|
|
34349
|
-
}
|
|
34350
|
-
else {
|
|
34351
|
-
swipeAnimation.progressStart(true, 0);
|
|
34352
|
-
}
|
|
34353
|
-
/**
|
|
34354
|
-
* If the toast did not dismiss then
|
|
34355
|
-
* the user should be able to swipe again.
|
|
34356
|
-
*/
|
|
34357
|
-
gesture.enable(true);
|
|
34358
|
-
}
|
|
34359
|
-
/**
|
|
34360
|
-
* This must be a one time callback
|
|
34361
|
-
* otherwise a new callback will
|
|
34362
|
-
* be added every time onEnd runs.
|
|
34363
|
-
*/
|
|
34364
|
-
}, { oneTimeCallback: true })
|
|
34365
|
-
.progressEnd(playTo, step, duration);
|
|
34366
|
-
};
|
|
34367
|
-
const gesture = createGesture({
|
|
34368
|
-
el: wrapperEl,
|
|
34369
|
-
gestureName: 'toast-swipe-to-dismiss',
|
|
34370
|
-
gesturePriority: OVERLAY_GESTURE_PRIORITY,
|
|
34371
|
-
/**
|
|
34372
|
-
* Toast only supports vertical swipes.
|
|
34373
|
-
* This needs to be updated if we later
|
|
34374
|
-
* support horizontal swipes.
|
|
34106
|
+
* We don't include safe area here because that should already be
|
|
34107
|
+
* accounted for when checking the position of the anchor.
|
|
34375
34108
|
*/
|
|
34376
|
-
|
|
34377
|
-
|
|
34378
|
-
|
|
34379
|
-
|
|
34380
|
-
|
|
34381
|
-
|
|
34109
|
+
return {
|
|
34110
|
+
top: `${offset}px`,
|
|
34111
|
+
bottom: `${offset}px`,
|
|
34112
|
+
};
|
|
34113
|
+
}
|
|
34114
|
+
else {
|
|
34115
|
+
return {
|
|
34116
|
+
top: `calc(${offset}px + var(--ion-safe-area-top, 0px))`,
|
|
34117
|
+
bottom: `calc(${offset}px - var(--ion-safe-area-bottom, 0px))`,
|
|
34118
|
+
};
|
|
34119
|
+
}
|
|
34120
|
+
}
|
|
34121
|
+
/**
|
|
34122
|
+
* If the anchor element is hidden, getBoundingClientRect()
|
|
34123
|
+
* will return all 0s for it, which can cause unexpected
|
|
34124
|
+
* results in the position calculation when animating.
|
|
34125
|
+
*/
|
|
34126
|
+
function warnIfAnchorIsHidden(positionAnchor, toast) {
|
|
34127
|
+
if (positionAnchor.offsetParent === null) {
|
|
34128
|
+
printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
|
|
34129
|
+
}
|
|
34130
|
+
}
|
|
34382
34131
|
|
|
34383
34132
|
const toastIosCss = "/*!@:host*/.sc-ion-toast-ios-h{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:normal;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}@supports (inset-inline-start: 0){/*!@:host*/.sc-ion-toast-ios-h{inset-inline-start:0}}@supports not (inset-inline-start: 0){/*!@:host*/.sc-ion-toast-ios-h{left:0}/*!@:host-context([dir=rtl])*/[dir=rtl].sc-ion-toast-ios-h,[dir=rtl] .sc-ion-toast-ios-h{left:unset;right:unset;right:0}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-toast-ios selector(.sc-ion-toast-ios:dir(rtl)){.sc-ion-toast-ios-h:dir(rtl){left:unset;right:unset;right:0}}}/*!@:host(.overlay-hidden)*/.overlay-hidden.sc-ion-toast-ios-h{display:none}/*!@:host(.ion-color)*/.ion-color.sc-ion-toast-ios-h{--button-color:inherit;color:var(--ion-color-contrast)}/*!@:host(.ion-color) .toast-button-cancel*/.ion-color.sc-ion-toast-ios-h .toast-button-cancel.sc-ion-toast-ios{color:inherit}/*!@:host(.ion-color) .toast-wrapper*/.ion-color.sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{background:var(--ion-color-base)}/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{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)}@supports (inset-inline-start: 0){/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{inset-inline-start:var(--start);inset-inline-end:var(--end)}}@supports not (inset-inline-start: 0){/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{left:var(--start);right:var(--end)}/*!@:host-context([dir=rtl]) .toast-wrapper*/[dir=rtl].sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios,[dir=rtl] .sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{left:unset;right:unset;left:var(--end);right:var(--start)}/*!@[dir=rtl] .toast-wrapper*/[dir=rtl].sc-ion-toast-ios .toast-wrapper.sc-ion-toast-ios{left:unset;right:unset;left:var(--end);right:var(--start)}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-toast-ios selector(.sc-ion-toast-ios:dir(rtl)){.toast-wrapper:dir(rtl){left:unset;right:unset;left:var(--end);right:var(--start)}}}/*!@.toast-wrapper.toast-top*/.toast-wrapper.toast-top.sc-ion-toast-ios{-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0);top:0}/*!@.toast-wrapper.toast-bottom*/.toast-wrapper.toast-bottom.sc-ion-toast-ios{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);bottom:0}/*!@.toast-container*/.toast-container.sc-ion-toast-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}/*!@.toast-layout-stacked .toast-container*/.toast-layout-stacked.sc-ion-toast-ios .toast-container.sc-ion-toast-ios{-ms-flex-wrap:wrap;flex-wrap:wrap}/*!@.toast-layout-baseline .toast-content*/.toast-layout-baseline.sc-ion-toast-ios .toast-content.sc-ion-toast-ios{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}/*!@.toast-icon*/.toast-icon.sc-ion-toast-ios{-webkit-margin-start:16px;margin-inline-start:16px}/*!@.toast-content*/.toast-content.sc-ion-toast-ios{min-width:0}/*!@.toast-message*/.toast-message.sc-ion-toast-ios{-ms-flex:1;flex:1;white-space:var(--white-space)}/*!@.toast-button-group*/.toast-button-group.sc-ion-toast-ios{display:-ms-flexbox;display:flex}/*!@.toast-layout-stacked .toast-button-group*/.toast-layout-stacked.sc-ion-toast-ios .toast-button-group.sc-ion-toast-ios{-ms-flex-pack:end;justify-content:end;width:100%}/*!@.toast-button*/.toast-button.sc-ion-toast-ios{border:0;outline:none;color:var(--button-color);z-index:0}/*!@.toast-icon,\n.toast-button-icon*/.toast-icon.sc-ion-toast-ios,.toast-button-icon.sc-ion-toast-ios{font-size:1.4em}/*!@.toast-button-inner*/.toast-button-inner.sc-ion-toast-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}@media (any-hover: hover){/*!@.toast-button:hover*/.toast-button.sc-ion-toast-ios:hover{cursor:pointer}}/*!@:host*/.sc-ion-toast-ios-h{--background:var(--ion-color-step-50, #f2f2f2);--border-radius:14px;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-850, #262626);--max-width:700px;--max-height:478px;--start:10px;--end:10px;font-size:clamp(14px, 0.875rem, 43.4px)}/*!@.toast-wrapper*/.toast-wrapper.sc-ion-toast-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;z-index:10}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){/*!@:host(.toast-translucent) .toast-wrapper*/.toast-translucent.sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}/*!@:host(.ion-color.toast-translucent) .toast-wrapper*/.ion-color.toast-translucent.sc-ion-toast-ios-h .toast-wrapper.sc-ion-toast-ios{background:rgba(var(--ion-color-base-rgb), 0.8)}}/*!@.toast-wrapper.toast-middle*/.toast-wrapper.toast-middle.sc-ion-toast-ios{opacity:0.01}/*!@.toast-content*/.toast-content.sc-ion-toast-ios{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:15px;padding-bottom:15px}/*!@.toast-header*/.toast-header.sc-ion-toast-ios{margin-bottom:2px;font-weight:500}/*!@.toast-button*/.toast-button.sc-ion-toast-ios{-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px;padding-top:10px;padding-bottom:10px;min-height:44px;-webkit-transition:background-color, opacity 100ms linear;transition:background-color, opacity 100ms linear;border:0;background-color:transparent;font-family:var(--ion-font-family);font-size:clamp(17px, 1.0625rem, 21.998px);font-weight:500;overflow:hidden}/*!@.toast-button.ion-activated*/.toast-button.ion-activated.sc-ion-toast-ios{opacity:0.4}@media (any-hover: hover){/*!@.toast-button:hover*/.toast-button.sc-ion-toast-ios:hover{opacity:0.6}}";
|
|
34384
34133
|
|
|
@@ -34418,41 +34167,6 @@ class Toast {
|
|
|
34418
34167
|
this.callButtonHandler(cancelButton);
|
|
34419
34168
|
}
|
|
34420
34169
|
};
|
|
34421
|
-
/**
|
|
34422
|
-
* Create a new swipe gesture so Toast
|
|
34423
|
-
* can be swiped to dismiss.
|
|
34424
|
-
*/
|
|
34425
|
-
this.createSwipeGesture = (toastPosition) => {
|
|
34426
|
-
const gesture = (this.gesture = createSwipeToDismissGesture(this.el, toastPosition, () => {
|
|
34427
|
-
/**
|
|
34428
|
-
* If the gesture completed then
|
|
34429
|
-
* we should dismiss the toast.
|
|
34430
|
-
*/
|
|
34431
|
-
this.dismiss(undefined, GESTURE);
|
|
34432
|
-
}));
|
|
34433
|
-
gesture.enable(true);
|
|
34434
|
-
};
|
|
34435
|
-
/**
|
|
34436
|
-
* Destroy an existing swipe gesture
|
|
34437
|
-
* so Toast can no longer be swiped to dismiss.
|
|
34438
|
-
*/
|
|
34439
|
-
this.destroySwipeGesture = () => {
|
|
34440
|
-
const { gesture } = this;
|
|
34441
|
-
if (gesture === undefined) {
|
|
34442
|
-
return;
|
|
34443
|
-
}
|
|
34444
|
-
gesture.destroy();
|
|
34445
|
-
this.gesture = undefined;
|
|
34446
|
-
};
|
|
34447
|
-
/**
|
|
34448
|
-
* Returns `true` if swipeGesture
|
|
34449
|
-
* is configured to a value that enables the swipe behavior.
|
|
34450
|
-
* Returns `false` otherwise.
|
|
34451
|
-
*/
|
|
34452
|
-
this.prefersSwipeGesture = () => {
|
|
34453
|
-
const { swipeGesture } = this;
|
|
34454
|
-
return swipeGesture === 'vertical';
|
|
34455
|
-
};
|
|
34456
34170
|
this.revealContentToScreenReader = false;
|
|
34457
34171
|
this.overlayIndex = undefined;
|
|
34458
34172
|
this.delegate = undefined;
|
|
@@ -34473,37 +34187,9 @@ class Toast {
|
|
|
34473
34187
|
this.animated = true;
|
|
34474
34188
|
this.icon = undefined;
|
|
34475
34189
|
this.htmlAttributes = undefined;
|
|
34476
|
-
this.swipeGesture = undefined;
|
|
34477
34190
|
this.isOpen = false;
|
|
34478
34191
|
this.trigger = undefined;
|
|
34479
34192
|
}
|
|
34480
|
-
swipeGestureChanged() {
|
|
34481
|
-
/**
|
|
34482
|
-
* If the Toast is presented, then we need to destroy
|
|
34483
|
-
* any actives gestures before a new gesture is potentially
|
|
34484
|
-
* created below.
|
|
34485
|
-
*
|
|
34486
|
-
* If the Toast is dismissed, then no gesture should be available
|
|
34487
|
-
* since the Toast is not visible. This case should never
|
|
34488
|
-
* happen since the "dismiss" method handles destroying
|
|
34489
|
-
* any active swipe gestures, but we keep this code
|
|
34490
|
-
* around to handle the first case.
|
|
34491
|
-
*/
|
|
34492
|
-
this.destroySwipeGesture();
|
|
34493
|
-
/**
|
|
34494
|
-
* A new swipe gesture should only be created
|
|
34495
|
-
* if the Toast is presented. If the Toast is not
|
|
34496
|
-
* yet presented then the "present" method will
|
|
34497
|
-
* handle calling the swipe gesture setup function.
|
|
34498
|
-
*/
|
|
34499
|
-
if (this.presented && this.prefersSwipeGesture()) {
|
|
34500
|
-
/**
|
|
34501
|
-
* If the Toast is presented then
|
|
34502
|
-
* lastPresentedPosition is defined.
|
|
34503
|
-
*/
|
|
34504
|
-
this.createSwipeGesture(this.lastPresentedPosition);
|
|
34505
|
-
}
|
|
34506
|
-
}
|
|
34507
34193
|
onIsOpenChange(newValue, oldValue) {
|
|
34508
34194
|
if (newValue === true && oldValue === false) {
|
|
34509
34195
|
this.present();
|
|
@@ -34565,14 +34251,6 @@ class Toast {
|
|
|
34565
34251
|
if (this.duration > 0) {
|
|
34566
34252
|
this.durationTimeout = setTimeout(() => this.dismiss(undefined, 'timeout'), this.duration);
|
|
34567
34253
|
}
|
|
34568
|
-
/**
|
|
34569
|
-
* If the Toast has a swipe gesture then we can
|
|
34570
|
-
* create the gesture so users can swipe the
|
|
34571
|
-
* presented Toast.
|
|
34572
|
-
*/
|
|
34573
|
-
if (this.prefersSwipeGesture()) {
|
|
34574
|
-
this.createSwipeGesture(animationPosition);
|
|
34575
|
-
}
|
|
34576
34254
|
unlock();
|
|
34577
34255
|
}
|
|
34578
34256
|
/**
|
|
@@ -34607,11 +34285,6 @@ class Toast {
|
|
|
34607
34285
|
this.revealContentToScreenReader = false;
|
|
34608
34286
|
}
|
|
34609
34287
|
this.lastPresentedPosition = undefined;
|
|
34610
|
-
/**
|
|
34611
|
-
* If the Toast has a swipe gesture then we can
|
|
34612
|
-
* safely destroy it now that it is dismissed.
|
|
34613
|
-
*/
|
|
34614
|
-
this.destroySwipeGesture();
|
|
34615
34288
|
unlock();
|
|
34616
34289
|
return dismissed;
|
|
34617
34290
|
}
|
|
@@ -34756,7 +34429,6 @@ class Toast {
|
|
|
34756
34429
|
}
|
|
34757
34430
|
get el() { return getElement(this); }
|
|
34758
34431
|
static get watchers() { return {
|
|
34759
|
-
"swipeGesture": ["swipeGestureChanged"],
|
|
34760
34432
|
"isOpen": ["onIsOpenChange"],
|
|
34761
34433
|
"trigger": ["triggerChanged"]
|
|
34762
34434
|
}; }
|
|
@@ -34787,7 +34459,6 @@ class Toast {
|
|
|
34787
34459
|
"animated": [4],
|
|
34788
34460
|
"icon": [1],
|
|
34789
34461
|
"htmlAttributes": [16],
|
|
34790
|
-
"swipeGesture": [1, "swipe-gesture"],
|
|
34791
34462
|
"isOpen": [4, "is-open"],
|
|
34792
34463
|
"trigger": [1],
|
|
34793
34464
|
"revealContentToScreenReader": [32],
|