@ionic/core 8.8.4-dev.11776246162.138c2737 → 8.8.4-dev.11776357045.1da75baf
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/index.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-picker-legacy.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/p-B6czg-mf.js +4 -0
- package/components/p-BGHaEUgp.js +4 -0
- package/components/{p-CEUppJkx.js → p-BR9Yxas9.js} +1 -1
- package/components/p-Ch9P0ikq.js +4 -0
- package/components/p-GytrfCp8.js +4 -0
- package/components/p-ZeIAjDcZ.js +4 -0
- package/components/{p-B36-MWK0.js → p-iwGbwewM.js} +1 -1
- package/css/ionic/bundle.ionic.css +1 -1
- package/css/ionic/bundle.ionic.css.map +1 -1
- package/css/ionic/core.ionic.css +1 -1
- package/css/ionic/core.ionic.css.map +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -29
- package/dist/cjs/ion-alert.cjs.entry.js +4 -29
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -28
- package/dist/cjs/ion-loading.cjs.entry.js +4 -29
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +79 -176
- package/dist/cjs/ion-popover.cjs.entry.js +4 -90
- package/dist/cjs/ion-range.cjs.entry.js +8 -5
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-toast.cjs.entry.js +4 -32
- package/dist/cjs/{overlays-BbhewSIQ.js → overlays-Dhoy6v_5.js} +4 -4
- package/dist/collection/components/action-sheet/action-sheet.js +4 -5
- package/dist/collection/components/alert/alert.js +3 -4
- package/dist/collection/components/loading/loading.js +3 -4
- package/dist/collection/components/modal/gestures/sheet.js +9 -71
- package/dist/collection/components/modal/modal.ionic.css +1 -1
- package/dist/collection/components/modal/modal.js +5 -6
- package/dist/collection/components/picker-legacy/picker.js +3 -4
- package/dist/collection/components/popover/popover.js +3 -4
- package/dist/collection/components/range/range.ionic.css +14 -10
- package/dist/collection/components/range/range.js +7 -4
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +9 -0
- package/dist/collection/components/toast/toast.js +3 -4
- package/dist/collection/utils/overlays.js +5 -5
- package/dist/docs.json +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +5 -29
- package/dist/esm/ion-alert.entry.js +4 -29
- package/dist/esm/ion-datetime_3.entry.js +4 -28
- package/dist/esm/ion-loading.entry.js +4 -29
- package/dist/esm/ion-menu_3.entry.js +1 -1
- package/dist/esm/ion-modal.entry.js +80 -177
- package/dist/esm/ion-popover.entry.js +4 -90
- package/dist/esm/ion-range.entry.js +8 -5
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +1 -1
- package/dist/esm/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm/ion-toast.entry.js +4 -32
- package/dist/esm/{overlays-VA-4NWjf.js → overlays-CvFHfO3y.js} +5 -5
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-bae3ebe5.entry.js → p-2095969c.entry.js} +1 -1
- package/dist/ionic/p-3884bfa4.entry.js +4 -0
- package/dist/ionic/p-4b0f5ffd.entry.js +4 -0
- package/dist/ionic/p-57aeb097.entry.js +4 -0
- package/{components/p-CSexRbnt.js → dist/ionic/p-6be2b2d3.entry.js} +1 -1
- package/dist/ionic/p-6bffc700.entry.js +4 -0
- package/dist/ionic/{p-ba9f8cbb.entry.js → p-9acd3fd3.entry.js} +1 -1
- package/dist/ionic/p-BYtS2rae.js +4 -0
- package/dist/ionic/{p-0cb50208.entry.js → p-a283aa4d.entry.js} +1 -1
- package/dist/ionic/p-d954cd19.entry.js +4 -0
- package/dist/ionic/{p-1efe83c8.entry.js → p-db4f4eaf.entry.js} +1 -1
- package/dist/ionic/p-e9d6ce67.entry.js +4 -0
- package/dist/ionic/p-ef0c281a.entry.js +4 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/utils/overlays.d.ts +1 -1
- package/hydrate/index.js +110 -416
- package/hydrate/index.mjs +110 -416
- package/package.json +1 -1
- package/components/p-BDPU2685.js +0 -4
- package/components/p-BrNzoF1U.js +0 -4
- package/components/p-DNdBtsfu.js +0 -4
- package/components/p-Njik5v4C.js +0 -4
- package/dist/collection/components/action-sheet/animations/ionic.enter.js +0 -27
- package/dist/collection/components/action-sheet/animations/ionic.leave.js +0 -21
- package/dist/collection/components/alert/animations/ionic.enter.js +0 -28
- package/dist/collection/components/alert/animations/ionic.leave.js +0 -19
- package/dist/collection/components/loading/animations/ionic.enter.js +0 -28
- package/dist/collection/components/loading/animations/ionic.leave.js +0 -22
- package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
- package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
- package/dist/collection/components/picker-legacy/animations/ionic.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ionic.leave.js +0 -23
- package/dist/collection/components/popover/animations/ionic.enter.js +0 -91
- package/dist/collection/components/popover/animations/ionic.leave.js +0 -29
- package/dist/collection/components/toast/animations/ionic.enter.js +0 -33
- package/dist/collection/components/toast/animations/ionic.leave.js +0 -16
- package/dist/ionic/p-07b129d5.entry.js +0 -4
- package/dist/ionic/p-27edb91a.entry.js +0 -4
- package/dist/ionic/p-3d4c8528.entry.js +0 -4
- package/dist/ionic/p-6992d9d6.entry.js +0 -4
- package/dist/ionic/p-9dd4276b.entry.js +0 -4
- package/dist/ionic/p-BExfzy0B.js +0 -4
- package/dist/ionic/p-a3d794ba.entry.js +0 -4
- package/dist/ionic/p-cdfbe4cc.entry.js +0 -4
- package/dist/ionic/p-fa701753.entry.js +0 -4
- package/dist/types/components/action-sheet/animations/ionic.enter.d.ts +0 -5
- package/dist/types/components/action-sheet/animations/ionic.leave.d.ts +0 -5
- package/dist/types/components/alert/animations/ionic.enter.d.ts +0 -5
- package/dist/types/components/alert/animations/ionic.leave.d.ts +0 -5
- package/dist/types/components/loading/animations/ionic.enter.d.ts +0 -5
- package/dist/types/components/loading/animations/ionic.leave.d.ts +0 -5
- package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
- package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
- package/dist/types/components/picker-legacy/animations/ionic.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ionic.leave.d.ts +0 -5
- package/dist/types/components/popover/animations/ionic.enter.d.ts +0 -5
- package/dist/types/components/popover/animations/ionic.leave.d.ts +0 -5
- package/dist/types/components/toast/animations/ionic.enter.d.ts +0 -6
- package/dist/types/components/toast/animations/ionic.leave.d.ts +0 -5
|
@@ -9,7 +9,7 @@ var notchController = require('./notch-controller-CgtkBzy0.js');
|
|
|
9
9
|
var compareWithUtils = require('./compare-with-utils-DSicavqM.js');
|
|
10
10
|
var validity = require('./validity-QmuwEptc.js');
|
|
11
11
|
var helpers = require('./helpers-DJYxKN5U.js');
|
|
12
|
-
var overlays = require('./overlays-
|
|
12
|
+
var overlays = require('./overlays-Dhoy6v_5.js');
|
|
13
13
|
var dir = require('./dir-Cn0z1rJH.js');
|
|
14
14
|
var theme = require('./theme-IlOsGAz7.js');
|
|
15
15
|
var watchOptions = require('./watch-options-CviOsrTS.js');
|
|
@@ -12,7 +12,7 @@ require('./keyboard-Dsczf-iT.js');
|
|
|
12
12
|
require('./capacitor-BnRBm_ys.js');
|
|
13
13
|
require('./focus-visible-BIj-I3-C.js');
|
|
14
14
|
|
|
15
|
-
const tabBarIonicCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-top:var(--border);background:var(--background);color:var(--color);text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host(.tab-bar-full){width:auto;contain:strict;padding-bottom:var(--ion-safe-area-bottom, 0);padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);}:host([slot=top].tab-bar-full){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0}:host{--background:var(--ion-tab-bar-background, var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff)));--background-activated:var(--ion-tab-bar-background-activated, var(--token-bg-select-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--background-focused:var(--ion-tab-bar-background-focused, transparent);--border:var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-style-solid, solid) var(--ion-tab-bar-border-color, transparent);--color:var(--ion-tab-bar-color, var(--token-primitives-neutral-800, #626262));--color-selected:var(--ion-tab-bar-color-selected, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))));-ms-flex-pack:unset;justify-content:unset;max-width:100%;min-height:calc(var(--token-scale-1400, 56px) - var(--token-space-100, var(--token-scale-100, 4px)) * 2);gap:var(--token-space-300, var(--token-scale-300, 12px));-webkit-box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));overflow:auto hidden;z-index:10}:host(.tab-bar-full){padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-bottom, 0));padding-right:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-right, 0));padding-left:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-left, 0));}:host([slot=top].tab-bar-full){padding-top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.tab-bar-compact){-webkit-padding-start:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-padding-end:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-end:var(--token-space-400, var(--token-scale-400, 16px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px));position:absolute;-ms-flex-item-align:center;align-self:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;contain:content}:host([slot=top].tab-bar-compact){top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0))}:host([slot=bottom].tab-bar-compact){bottom:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-bottom, 0))}:host(.tab-bar-soft){border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.tab-bar-round){border-radius:var(--token-border-radius-full, 999px)}:host(.tab-bar-rectangular){border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}`;
|
|
15
|
+
const tabBarIonicCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-top:var(--border);background:var(--background);color:var(--color);text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host(.tab-bar-full){width:auto;contain:strict;padding-bottom:var(--ion-safe-area-bottom, 0);padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);}:host([slot=top].tab-bar-full){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0}:host{--background:var(--ion-tab-bar-background, var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff)));--background-activated:var(--ion-tab-bar-background-activated, var(--token-bg-select-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--background-focused:var(--ion-tab-bar-background-focused, transparent);--border:var(--token-border-size-0, var(--token-scale-0, 0px)) var(--token-border-style-solid, solid) var(--ion-tab-bar-border-color, transparent);--color:var(--ion-tab-bar-color, var(--token-primitives-neutral-800, #626262));--color-selected:var(--ion-tab-bar-color-selected, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))));-ms-flex-pack:unset;justify-content:unset;max-width:100%;min-height:calc(var(--token-scale-1400, 56px) - var(--token-space-100, var(--token-scale-100, 4px)) * 2);gap:var(--token-space-300, var(--token-scale-300, 12px));-webkit-box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));box-shadow:var(--token-elevation-2, 0px 1px 5px 0px rgba(0, 0, 0, 0.05), 0px 8px 25px 0px rgba(0, 0, 0, 0.08));overflow:auto hidden;z-index:10}:host(.tab-bar-full){padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-bottom, 0));padding-right:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-right, 0));padding-left:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-left, 0));}:host([slot=top].tab-bar-full){padding-top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}:host(.tab-bar-compact){-webkit-padding-start:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-padding-end:var(--token-space-400, var(--token-scale-400, 16px));padding-inline-end:var(--token-space-400, var(--token-scale-400, 16px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px));position:absolute;-ms-flex-item-align:center;align-self:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;contain:content}:host([slot=top].tab-bar-compact){top:calc(var(--token-space-100, var(--token-scale-100, 4px)) + var(--ion-safe-area-top, 0))}:host([slot=bottom].tab-bar-compact){bottom:calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-bottom, 0))}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(255, 255, 255, 0.6);-webkit-backdrop-filter:var(--tab-bar-backdrop-filter, blur(12px));backdrop-filter:var(--tab-bar-backdrop-filter, blur(12px))}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){--background:transparent}}:host(.tab-bar-soft){border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.tab-bar-round){border-radius:var(--token-border-radius-full, 999px)}:host(.tab-bar-rectangular){border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}`;
|
|
16
16
|
|
|
17
17
|
const tabBarIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border-top:var(--border);background:var(--background);color:var(--color);text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box !important;box-sizing:content-box !important}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host(.tab-bar-full){width:auto;contain:strict;padding-bottom:var(--ion-safe-area-bottom, 0);padding-right:var(--ion-safe-area-right);padding-left:var(--ion-safe-area-left);}:host([slot=top].tab-bar-full){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0}:host{z-index:10}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host{--background:var(--ion-tab-bar-background, var(--ion-color-step-50, var(--ion-background-color-step-50, #f7f7f7)));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:0.55px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.2)))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, var(--ion-text-color-step-400, #666666)));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #0054e9));height:50px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.tab-bar-translucent){--background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(210%) blur(20px);backdrop-filter:saturate(210%) blur(20px)}:host(.ion-color.tab-bar-translucent){background:rgba(var(--ion-color-base-rgb), 0.8)}:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.6)}}`;
|
|
18
18
|
|
|
@@ -7,7 +7,7 @@ var index = require('./index-CzcLEdQ5.js');
|
|
|
7
7
|
var config = require('./config-B0utyWaD.js');
|
|
8
8
|
var helpers = require('./helpers-DJYxKN5U.js');
|
|
9
9
|
var lockController = require('./lock-controller-aDB9wrEf.js');
|
|
10
|
-
var overlays = require('./overlays-
|
|
10
|
+
var overlays = require('./overlays-Dhoy6v_5.js');
|
|
11
11
|
var theme = require('./theme-IlOsGAz7.js');
|
|
12
12
|
var ionicGlobal = require('./ionic-global-CSEbHD_F.js');
|
|
13
13
|
var animation = require('./animation-DknMeJ3x.js');
|
|
@@ -103,34 +103,6 @@ const getOffsetForMiddlePosition = (toastHeight, wrapperHeight) => {
|
|
|
103
103
|
return Math.floor(toastHeight / 2 - wrapperHeight / 2);
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
/**
|
|
107
|
-
* Ionic Toast Enter Animation
|
|
108
|
-
*/
|
|
109
|
-
const ionicEnterAnimation = (baseEl, opts) => {
|
|
110
|
-
const baseAnimation = animation.createAnimation();
|
|
111
|
-
const wrapperAnimation = animation.createAnimation();
|
|
112
|
-
const { position, top, bottom } = opts;
|
|
113
|
-
const root = helpers.getElementRoot(baseEl);
|
|
114
|
-
const wrapperEl = root.querySelector('.toast-wrapper');
|
|
115
|
-
wrapperAnimation.addElement(wrapperEl);
|
|
116
|
-
switch (position) {
|
|
117
|
-
case 'top':
|
|
118
|
-
wrapperEl.style.setProperty('transform', `translateY(${top})`);
|
|
119
|
-
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
120
|
-
break;
|
|
121
|
-
case 'middle':
|
|
122
|
-
const topPosition = getOffsetForMiddlePosition(baseEl.clientHeight, wrapperEl.clientHeight);
|
|
123
|
-
wrapperEl.style.top = `${topPosition}px`;
|
|
124
|
-
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
125
|
-
break;
|
|
126
|
-
default:
|
|
127
|
-
wrapperEl.style.setProperty('transform', `translateY(${bottom})`);
|
|
128
|
-
wrapperAnimation.fromTo('opacity', 0.01, 1);
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation(wrapperAnimation);
|
|
132
|
-
};
|
|
133
|
-
|
|
134
106
|
/**
|
|
135
107
|
* iOS Toast Enter Animation
|
|
136
108
|
*/
|
|
@@ -686,7 +658,7 @@ const Toast = class {
|
|
|
686
658
|
* in the dismiss animation.
|
|
687
659
|
*/
|
|
688
660
|
this.lastPresentedPosition = animationPosition;
|
|
689
|
-
await overlays.present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation,
|
|
661
|
+
await overlays.present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
690
662
|
position,
|
|
691
663
|
top: animationPosition.top,
|
|
692
664
|
bottom: animationPosition.bottom,
|
|
@@ -901,9 +873,9 @@ const Toast = class {
|
|
|
901
873
|
if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
|
|
902
874
|
index.printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
|
|
903
875
|
}
|
|
904
|
-
return (index.h(index.Host, Object.assign({ key: '
|
|
876
|
+
return (index.h(index.Host, Object.assign({ key: '3507eaa18a5559a9052d34db180e176952dc466f', tabindex: "-1" }, this.htmlAttributes, { style: {
|
|
905
877
|
zIndex: `${60000 + this.overlayIndex}`,
|
|
906
|
-
}, class: theme.createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme$1]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), index.h("div", { key: '
|
|
878
|
+
}, class: theme.createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme$1]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), index.h("div", { key: '195eb90ccd82a13254e843b80be0f380325accb4', class: wrapperClass, part: "wrapper" }, index.h("div", { key: 'd6072aa4a4848d72e68e04a7842d3f769f844ffc', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (index.h("ion-icon", { key: '02a1d72aaf401d27671906c8b84abd823def6da8', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), index.h("div", { key: '1f133c27927ad840f58ea2e9112719ef880bf9a5', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
|
|
907
879
|
}
|
|
908
880
|
get el() { return index.getElement(this); }
|
|
909
881
|
static get watchers() { return {
|
|
@@ -602,7 +602,7 @@ const setRootAriaHidden = (hidden = false) => {
|
|
|
602
602
|
viewContainer.removeAttribute('aria-hidden');
|
|
603
603
|
}
|
|
604
604
|
};
|
|
605
|
-
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation,
|
|
605
|
+
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
606
606
|
var _a, _b;
|
|
607
607
|
if (overlay.presented) {
|
|
608
608
|
return;
|
|
@@ -650,11 +650,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, ionic
|
|
|
650
650
|
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
651
651
|
}
|
|
652
652
|
(_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
|
|
653
|
-
const theme = ionicGlobal.getIonTheme(overlay);
|
|
654
653
|
const mode = ionicGlobal.getIonMode(overlay);
|
|
655
|
-
const selectedAnimation = mode === 'ios' ? iosEnterAnimation : theme === 'ionic' ? ionicEnterAnimation : mdEnterAnimation;
|
|
656
654
|
// get the user's animation fn if one was provided
|
|
657
|
-
const animationBuilder = overlay.enterAnimation
|
|
655
|
+
const animationBuilder = overlay.enterAnimation
|
|
656
|
+
? overlay.enterAnimation
|
|
657
|
+
: index.config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
|
|
658
658
|
const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
|
|
659
659
|
if (completed) {
|
|
660
660
|
overlay.didPresent.emit();
|
|
@@ -8,7 +8,6 @@ import { createLockController } from "../../utils/lock-controller";
|
|
|
8
8
|
import { BACKDROP, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
|
|
9
9
|
import { getClassMap } from "../../utils/theme";
|
|
10
10
|
import { getIonMode, getIonTheme } from "../../global/ionic-global";
|
|
11
|
-
import { ionicEnterAnimation } from "./animations/ionic.enter";
|
|
12
11
|
import { iosEnterAnimation } from "./animations/ios.enter";
|
|
13
12
|
import { iosLeaveAnimation } from "./animations/ios.leave";
|
|
14
13
|
import { mdEnterAnimation } from "./animations/md.enter";
|
|
@@ -100,7 +99,7 @@ export class ActionSheet {
|
|
|
100
99
|
async present() {
|
|
101
100
|
const unlock = await this.lockController.lock();
|
|
102
101
|
await this.delegateController.attachViewToDom();
|
|
103
|
-
await present(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation
|
|
102
|
+
await present(this, 'actionSheetEnter', iosEnterAnimation, mdEnterAnimation);
|
|
104
103
|
unlock();
|
|
105
104
|
}
|
|
106
105
|
/**
|
|
@@ -390,12 +389,12 @@ export class ActionSheet {
|
|
|
390
389
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
391
390
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
392
391
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
393
|
-
return (h(Host, Object.assign({ key: '
|
|
392
|
+
return (h(Host, Object.assign({ key: '3ef5b086f7a4ac4f361de8dcff5255ed1d2bcbdf', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
394
393
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
395
|
-
}, class: Object.assign(Object.assign({ [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
394
|
+
}, class: Object.assign(Object.assign({ [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'd98bb285f8a09a4207f35f930da77548bcdf529a', tappable: this.backdropDismiss }), h("div", { key: '6cd6aba45144244a51d76bfe0b606c3fb9a882ea', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e6a007bcde062bd2ea7c094394aa0024ee595c9e', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '31948475a84d28488fd53e7fde16cb1deff14a2f', class: "action-sheet-container" }, h("div", { key: '4f2bbc00d36792cf6e24c402f5396546653f1e00', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (h("div", { key: '68bcafe38b49be0fe21e3e4820ee3f05f6abffad', id: headerID, class: {
|
|
396
395
|
'action-sheet-title': true,
|
|
397
396
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
398
|
-
} }, header, this.subHeader && h("div", { key: '
|
|
397
|
+
} }, header, this.subHeader && h("div", { key: 'd253c010d0bba4a38836b6319b2d8073e1a526b9', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (h("div", { key: 'b30f50a64b425a992e26673bf072332d7c3b3409', class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({ key: 'e35087c05c7c8f04ca9aef322917f8172c0c4f8f' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { key: '1f7a50fac729e19d0ee12d54bc67e071ff7b3f08', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: '452641544297efc017529b674235e269285c4100', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), theme === 'md' && h("ion-ripple-effect", { key: '15795e15d27297e6e87f7fe39386bb8581993dfa' })))))), h("div", { key: '301fef1a45d1c523221ec2312276dd3a62f3134d', tabindex: "0", "aria-hidden": "true" })));
|
|
399
398
|
}
|
|
400
399
|
static get is() { return "ion-action-sheet"; }
|
|
401
400
|
static get encapsulation() { return "scoped"; }
|
|
@@ -12,7 +12,6 @@ import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { config } from "../../global/config";
|
|
14
14
|
import { getIonMode, getIonTheme } from "../../global/ionic-global";
|
|
15
|
-
import { ionicEnterAnimation } from "./animations/ionic.enter";
|
|
16
15
|
import { iosEnterAnimation } from "./animations/ios.enter";
|
|
17
16
|
import { iosLeaveAnimation } from "./animations/ios.leave";
|
|
18
17
|
import { mdEnterAnimation } from "./animations/md.enter";
|
|
@@ -245,7 +244,7 @@ export class Alert {
|
|
|
245
244
|
async present() {
|
|
246
245
|
const unlock = await this.lockController.lock();
|
|
247
246
|
await this.delegateController.attachViewToDom();
|
|
248
|
-
await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation
|
|
247
|
+
await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation).then(() => {
|
|
249
248
|
var _a, _b;
|
|
250
249
|
/**
|
|
251
250
|
* Check if alert has only one button and no inputs.
|
|
@@ -442,9 +441,9 @@ export class Alert {
|
|
|
442
441
|
* If neither are defined, do not set aria-labelledby.
|
|
443
442
|
*/
|
|
444
443
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
445
|
-
return (h(Host, { key: '
|
|
444
|
+
return (h(Host, { key: '53f8b0e1035ca965ba44f8e1314c59a227b08173', tabindex: "-1", style: {
|
|
446
445
|
zIndex: `${20000 + overlayIndex}`,
|
|
447
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '
|
|
446
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '39499a198543709f538fa0328214d742754543ab', tappable: this.backdropDismiss }), h("div", { key: '16417758e5ac05cfa049db5086c1ffde81fc6156', tabindex: "0", "aria-hidden": "true" }), h("div", Object.assign({ key: 'cc7dde0877f70be21019cd2e8e6c843815ec9682', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), h("div", { key: '525d28d77b6467b441ff9d357049aec7565e6f6a', class: "alert-head" }, header && (h("h2", { key: '974fc725163da00216c3c8b7b6c72c005628e0fc', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: 'eedf04dbe331917c7b1348f8020d959119cc9f0f', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '80dbbd75184a3857172eca25f30dee950c08709b', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '0d83a74b7ae595d0593edadfe6b812435534abea', tabindex: "0", "aria-hidden": "true" })));
|
|
448
447
|
}
|
|
449
448
|
static get is() { return "ion-alert"; }
|
|
450
449
|
static get encapsulation() { return "scoped"; }
|
|
@@ -10,7 +10,6 @@ import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
|
10
10
|
import { getClassMap } from "../../utils/theme";
|
|
11
11
|
import { config } from "../../global/config";
|
|
12
12
|
import { getIonTheme } from "../../global/ionic-global";
|
|
13
|
-
import { ionicEnterAnimation } from "./animations/ionic.enter";
|
|
14
13
|
import { iosEnterAnimation } from "./animations/ios.enter";
|
|
15
14
|
import { iosLeaveAnimation } from "./animations/ios.leave";
|
|
16
15
|
import { mdEnterAnimation } from "./animations/md.enter";
|
|
@@ -123,7 +122,7 @@ export class Loading {
|
|
|
123
122
|
async present() {
|
|
124
123
|
const unlock = await this.lockController.lock();
|
|
125
124
|
await this.delegateController.attachViewToDom();
|
|
126
|
-
await present(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation
|
|
125
|
+
await present(this, 'loadingEnter', iosEnterAnimation, mdEnterAnimation);
|
|
127
126
|
if (this.duration > 0) {
|
|
128
127
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration + 10);
|
|
129
128
|
}
|
|
@@ -181,9 +180,9 @@ export class Loading {
|
|
|
181
180
|
* Otherwise, don't set aria-labelledby.
|
|
182
181
|
*/
|
|
183
182
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
184
|
-
return (h(Host, Object.assign({ key: '
|
|
183
|
+
return (h(Host, Object.assign({ key: '0c475f8e28e680e28e09317557795fc56e0835d8', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
185
184
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
186
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
185
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'd7e88feb6df8edbc326a84d07b294618f7ce6adc', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'f9622f45b2d9e913c325b228a1e6ed03cf2b98e8', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'f4dfdce70c4515878b247d0cc116b5cec2cf79a4', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '6d4475e00c444eb3d217813ae8cc1a02a97b969e', class: "loading-spinner" }, h("ion-spinner", { key: 'd9ad8dd56ec7677c18d06936c1a1b21a0a6a87a8', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'bd3159e18f33ec25d3480d47ce33fa7dfd1f1460', tabindex: "0", "aria-hidden": "true" })));
|
|
187
186
|
}
|
|
188
187
|
static get is() { return "ion-loading"; }
|
|
189
188
|
static get encapsulation() { return "scoped"; }
|
|
@@ -7,16 +7,16 @@ import { clamp, getElementRoot, raf } from "../../../utils/helpers";
|
|
|
7
7
|
import { FOCUS_TRAP_DISABLE_CLASS } from "../../../utils/overlays";
|
|
8
8
|
import { getBackdropValueForSheet } from "../utils";
|
|
9
9
|
import { calculateSpringStep, handleCanDismiss } from "./utils";
|
|
10
|
-
export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange,
|
|
10
|
+
export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, staticBackdropOpacity, onDragStart, onDragMove, onDragEnd) => {
|
|
11
11
|
// Defaults for the sheet swipe animation
|
|
12
12
|
const defaultBackdrop = [
|
|
13
13
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
14
|
-
{ offset: 1, opacity:
|
|
14
|
+
{ offset: 1, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0.01 },
|
|
15
15
|
];
|
|
16
16
|
const customBackdrop = [
|
|
17
17
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
18
|
-
{ offset: 1 - backdropBreakpoint, opacity:
|
|
19
|
-
{ offset: 1, opacity:
|
|
18
|
+
{ offset: 1 - backdropBreakpoint, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0 },
|
|
19
|
+
{ offset: 1, opacity: staticBackdropOpacity ? 'var(--backdrop-opacity)' : 0 },
|
|
20
20
|
];
|
|
21
21
|
const SheetDefaults = {
|
|
22
22
|
WRAPPER_KEYFRAMES: [
|
|
@@ -339,9 +339,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
339
339
|
: step;
|
|
340
340
|
offset = clamp(0.0001, processedStep, maxStep);
|
|
341
341
|
animation.progressStep(offset);
|
|
342
|
-
const snapBreakpoint =
|
|
343
|
-
? calculateIonicSnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
344
|
-
: calculateSnapBreakpoint(detail.deltaY);
|
|
342
|
+
const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
345
343
|
const eventDetail = {
|
|
346
344
|
currentY: detail.currentY,
|
|
347
345
|
deltaY: detail.deltaY,
|
|
@@ -352,9 +350,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
352
350
|
onDragMove(eventDetail);
|
|
353
351
|
};
|
|
354
352
|
const onEnd = (detail) => {
|
|
355
|
-
const snapBreakpoint =
|
|
356
|
-
? calculateIonicSnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
357
|
-
: calculateSnapBreakpoint(detail.deltaY);
|
|
353
|
+
const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
358
354
|
const eventDetail = {
|
|
359
355
|
currentY: detail.currentY,
|
|
360
356
|
deltaY: detail.deltaY,
|
|
@@ -401,14 +397,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
401
397
|
*/
|
|
402
398
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
403
399
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
404
|
-
/**
|
|
405
|
-
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
406
|
-
* the user released before crossing the threshold to a new breakpoint.
|
|
407
|
-
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
408
|
-
*/
|
|
409
|
-
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
410
|
-
const duration = isIonicTheme ? (isSnapBack ? 300 : 400) : 500;
|
|
411
|
-
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
412
400
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
413
401
|
currentBreakpoint = 0;
|
|
414
402
|
/**
|
|
@@ -423,13 +411,13 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
423
411
|
backdropAnimation.keyframes([
|
|
424
412
|
{
|
|
425
413
|
offset: 0,
|
|
426
|
-
opacity:
|
|
414
|
+
opacity: staticBackdropOpacity
|
|
427
415
|
? 'var(--backdrop-opacity)'
|
|
428
416
|
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
429
417
|
},
|
|
430
418
|
{
|
|
431
419
|
offset: 1,
|
|
432
|
-
opacity:
|
|
420
|
+
opacity: staticBackdropOpacity
|
|
433
421
|
? 'var(--backdrop-opacity)'
|
|
434
422
|
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
435
423
|
},
|
|
@@ -449,12 +437,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
449
437
|
}
|
|
450
438
|
animation.progressStep(0);
|
|
451
439
|
}
|
|
452
|
-
/**
|
|
453
|
-
* Apply the appropriate easing curve for this snap behavior.
|
|
454
|
-
*/
|
|
455
|
-
if (isIonicTheme) {
|
|
456
|
-
animation.easing(easing);
|
|
457
|
-
}
|
|
458
440
|
/**
|
|
459
441
|
* Gesture should remain disabled until the
|
|
460
442
|
* snapping animation completes.
|
|
@@ -544,7 +526,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
544
526
|
* be added every time onEnd runs.
|
|
545
527
|
*/
|
|
546
528
|
}, { oneTimeCallback: true })
|
|
547
|
-
.progressEnd(1, 0, animated ?
|
|
529
|
+
.progressEnd(1, 0, animated ? 500 : 0);
|
|
548
530
|
});
|
|
549
531
|
};
|
|
550
532
|
/**
|
|
@@ -575,50 +557,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
575
557
|
});
|
|
576
558
|
return snapBreakpoint;
|
|
577
559
|
};
|
|
578
|
-
/**
|
|
579
|
-
* Calculates the Ionic-specific snap breakpoint using velocity-based logic.
|
|
580
|
-
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
581
|
-
*
|
|
582
|
-
* Rules:
|
|
583
|
-
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
584
|
-
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
585
|
-
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
586
|
-
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
587
|
-
*
|
|
588
|
-
* @param deltaY The change in Y position since gesture started
|
|
589
|
-
* @param velocityY The velocity in pixels per millisecond
|
|
590
|
-
* @param currentY The current Y position of the gesture
|
|
591
|
-
* @returns The snap breakpoint value
|
|
592
|
-
*/
|
|
593
|
-
const calculateIonicSnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
594
|
-
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
595
|
-
const velocityYPerSecond = velocityY * 1000;
|
|
596
|
-
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
597
|
-
const currentProgress = calculateProgress(currentY);
|
|
598
|
-
// Rule 1: Fast downward flick always dismisses
|
|
599
|
-
if (velocityYPerSecond > 500) {
|
|
600
|
-
return minBreakpoint;
|
|
601
|
-
}
|
|
602
|
-
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
603
|
-
if (velocityYPerSecond < -400) {
|
|
604
|
-
// Find next breakpoint above current position
|
|
605
|
-
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
606
|
-
// If no breakpoint above, stay at max breakpoint
|
|
607
|
-
return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
|
|
608
|
-
}
|
|
609
|
-
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
610
|
-
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
611
|
-
// Calculate how far we've moved below the current snap point
|
|
612
|
-
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
613
|
-
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
614
|
-
// If dragged more than 40% below and not flicking up, dismiss
|
|
615
|
-
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
616
|
-
return 0;
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
|
-
// Rule 4: Fallback to position-based snap (existing logic)
|
|
620
|
-
return calculateSnapBreakpoint(deltaY);
|
|
621
|
-
};
|
|
622
560
|
/**
|
|
623
561
|
* Calculates the progress of the swipe gesture.
|
|
624
562
|
*
|
|
@@ -191,7 +191,7 @@ ion-backdrop {
|
|
|
191
191
|
:host {
|
|
192
192
|
--background: var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));
|
|
193
193
|
--box-shadow: var(--token-elevation-3, 0px 2px 7px 0px rgba(0, 0, 0, 0.05), 0px 6px 32px 0px rgba(0, 0, 0, 0.16));
|
|
194
|
-
--backdrop-opacity:
|
|
194
|
+
--backdrop-opacity: 1;
|
|
195
195
|
color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
|
|
196
196
|
}
|
|
197
197
|
|
|
@@ -14,7 +14,6 @@ import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
|
14
14
|
import { config } from "../../global/config";
|
|
15
15
|
import { getIonMode, getIonTheme } from "../../global/ionic-global";
|
|
16
16
|
import { KEYBOARD_DID_OPEN } from "../../utils/keyboard/keyboard";
|
|
17
|
-
import { ionicEnterAnimation } from "./animations/ionic.enter";
|
|
18
17
|
import { iosEnterAnimation } from "./animations/ios.enter";
|
|
19
18
|
import { iosLeaveAnimation } from "./animations/ios.leave";
|
|
20
19
|
import { portraitToLandscapeTransition, landscapeToPortraitTransition } from "./animations/ios.transition";
|
|
@@ -455,7 +454,7 @@ export class Modal {
|
|
|
455
454
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
456
455
|
setCardStatusBarDark();
|
|
457
456
|
}
|
|
458
|
-
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation,
|
|
457
|
+
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
459
458
|
presentingEl: presentingElement,
|
|
460
459
|
currentBreakpoint: this.initialBreakpoint,
|
|
461
460
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -1150,20 +1149,20 @@ export class Modal {
|
|
|
1150
1149
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1151
1150
|
const shape = this.getShape();
|
|
1152
1151
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
1153
|
-
return (h(Host, Object.assign({ key: '
|
|
1152
|
+
return (h(Host, Object.assign({ key: '4b323edb66d28260c34b31fd2af8f4ae53a7ef90', "no-router": true,
|
|
1154
1153
|
// Allow the modal to be navigable when the handle is focusable
|
|
1155
1154
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
1156
1155
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1157
|
-
}, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, '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, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '
|
|
1156
|
+
}, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, '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, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '6059e348dc3d020f995577dde1b7949bdb2c0f2f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && h("div", { key: '5a08a99dfc3de51ac7516fc76fdba3672f84db71', class: "modal-shadow" }), h("div", Object.assign({ key: 'a7a841a5b2f740fbf576b82b82782aa235b701ee',
|
|
1158
1157
|
/*
|
|
1159
1158
|
role and aria-modal must be used on the
|
|
1160
1159
|
same element. They must also be set inside the
|
|
1161
1160
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1162
1161
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1163
1162
|
*/
|
|
1164
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
1163
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'ca5567e9ab3e9e80b41314d396106faf2da09ffe', class: "modal-handle",
|
|
1165
1164
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1166
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '
|
|
1165
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'da5471ea4292166798d3f949e79e7b3e55a0e83f', onSlotchange: this.onSlotChange }))));
|
|
1167
1166
|
}
|
|
1168
1167
|
static get is() { return "ion-modal"; }
|
|
1169
1168
|
static get encapsulation() { return "shadow"; }
|
|
@@ -8,7 +8,6 @@ import { printIonWarning } from "../../utils/logging/index";
|
|
|
8
8
|
import { createDelegateController, createTriggerController, BACKDROP, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
|
|
9
9
|
import { getClassMap } from "../../utils/theme";
|
|
10
10
|
import { getIonTheme } from "../../global/ionic-global";
|
|
11
|
-
import { ionicEnterAnimation } from "./animations/ionic.enter";
|
|
12
11
|
import { iosEnterAnimation } from "./animations/ios.enter";
|
|
13
12
|
import { iosLeaveAnimation } from "./animations/ios.leave";
|
|
14
13
|
// TODO(FW-2832): types
|
|
@@ -124,7 +123,7 @@ export class Picker {
|
|
|
124
123
|
async present() {
|
|
125
124
|
const unlock = await this.lockController.lock();
|
|
126
125
|
await this.delegateController.attachViewToDom();
|
|
127
|
-
await present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation,
|
|
126
|
+
await present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);
|
|
128
127
|
if (this.duration > 0) {
|
|
129
128
|
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
130
129
|
}
|
|
@@ -209,11 +208,11 @@ export class Picker {
|
|
|
209
208
|
render() {
|
|
210
209
|
const { htmlAttributes } = this;
|
|
211
210
|
const theme = getIonTheme(this);
|
|
212
|
-
return (h(Host, Object.assign({ key: '
|
|
211
|
+
return (h(Host, Object.assign({ key: 'efcc823fad9cb37c1379bef4f4b84c6461f3a3a6', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
213
212
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
214
213
|
}, class: Object.assign({ [theme]: true,
|
|
215
214
|
// Used internally for styling
|
|
216
|
-
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '
|
|
215
|
+
[`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '3f44bf34e039210ae149c590c393ee9f7fb85da0', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'c2a51a89c525b1a22cbc8583cd30f41c3c356d4f', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '23837ffe309d0aad9b8ea09d7ac94d21040ef0d7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '91ba7e553d570768142715ded4bcc27fceedbce4', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '22661cafeb555f1435ec1e0a122404a48136095b', class: "picker-columns" }, h("div", { key: '5f3db32468b8c60f63c70d81a27b18cce6f2e259', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '1bae6b170125b1671a480506ba73636b42b65909', class: "picker-below-highlight" }))), h("div", { key: '91beb94ce537122fbd6cd0c2bd3c00f908d0fefe', tabindex: "0", "aria-hidden": "true" })));
|
|
217
216
|
}
|
|
218
217
|
static get is() { return "ion-picker-legacy"; }
|
|
219
218
|
static get encapsulation() { return "scoped"; }
|
|
@@ -12,7 +12,6 @@ import { isPlatform } from "../../utils/platform";
|
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
14
14
|
import { getIonTheme } from "../../global/ionic-global";
|
|
15
|
-
import { ionicEnterAnimation } from "./animations/ionic.enter";
|
|
16
15
|
import { iosEnterAnimation } from "./animations/ios.enter";
|
|
17
16
|
import { iosLeaveAnimation } from "./animations/ios.leave";
|
|
18
17
|
import { mdEnterAnimation } from "./animations/md.enter";
|
|
@@ -360,7 +359,7 @@ export class Popover {
|
|
|
360
359
|
else if (!this.keepContentsMounted) {
|
|
361
360
|
await waitForMount();
|
|
362
361
|
}
|
|
363
|
-
await present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation,
|
|
362
|
+
await present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
364
363
|
event: event || this.event,
|
|
365
364
|
size: this.size,
|
|
366
365
|
trigger: this.triggerEl,
|
|
@@ -469,9 +468,9 @@ export class Popover {
|
|
|
469
468
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
470
469
|
const desktop = isPlatform('desktop');
|
|
471
470
|
const enableArrow = arrow && !parentPopover;
|
|
472
|
-
return (h(Host, Object.assign({ key: '
|
|
471
|
+
return (h(Host, Object.assign({ key: 'cc70f9b037b16ea78b999916106a1062ceb74cb6', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
473
472
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
474
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '
|
|
473
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'e641e7ee28cbd54911ec3f8c0bfd9d7e3f2e85cd', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '750494585c3524b27e42d79f02e729f3eff9e660', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '2e49b4ad1287e31a3cdbfebc91120405a998dc95', class: "popover-arrow", part: "arrow" }), h("div", { key: '306586776e74acab787b2a96433553005bca580d', class: "popover-content", part: "content" }, h("slot", { key: '0273c0975cd7dc37db5cfa0b91d418867a77c4d8' })))));
|
|
475
474
|
}
|
|
476
475
|
static get is() { return "ion-popover"; }
|
|
477
476
|
static get encapsulation() { return "shadow"; }
|
|
@@ -430,28 +430,32 @@
|
|
|
430
430
|
margin-bottom: calc(var(--token-space-200, var(--token-scale-200, 8px)) + var(--token-font-size-300, 0.75rem));
|
|
431
431
|
}
|
|
432
432
|
|
|
433
|
-
.range-bar.
|
|
434
|
-
|
|
435
|
-
width: auto;
|
|
436
|
-
background: var(--bar-background-active);
|
|
433
|
+
.range-bar.has-ticks {
|
|
434
|
+
border-radius: 0;
|
|
437
435
|
}
|
|
436
|
+
|
|
438
437
|
.range-bar.range-bar-active.has-ticks {
|
|
439
|
-
border-radius: 0;
|
|
440
438
|
-webkit-margin-start: calc(-1 * var(--token-scale-100, 4px) * 0.5);
|
|
441
439
|
margin-inline-start: calc(-1 * var(--token-scale-100, 4px) * 0.5);
|
|
442
440
|
-webkit-margin-end: calc(-1 * var(--token-scale-100, 4px) * 0.5);
|
|
443
441
|
margin-inline-end: calc(-1 * var(--token-scale-100, 4px) * 0.5);
|
|
444
442
|
}
|
|
445
443
|
|
|
444
|
+
.range-bar.range-bar-active {
|
|
445
|
+
bottom: 0;
|
|
446
|
+
width: auto;
|
|
447
|
+
background: var(--bar-background-active);
|
|
448
|
+
}
|
|
449
|
+
|
|
446
450
|
.range-tick {
|
|
447
451
|
-webkit-margin-start: calc(var(--token-scale-100, 4px) * -0.5);
|
|
448
452
|
margin-inline-start: calc(var(--token-scale-100, 4px) * -0.5);
|
|
449
|
-
border-radius: var(--token-border-radius-
|
|
453
|
+
border-radius: var(--token-border-radius-400, var(--token-scale-400, 16px));
|
|
450
454
|
position: absolute;
|
|
451
|
-
top: calc(var(--height) * 0.5 - var(--token-scale-
|
|
452
|
-
width: var(--token-scale-
|
|
453
|
-
height: var(--token-scale-
|
|
454
|
-
background: var(--
|
|
455
|
+
top: calc(var(--height) * 0.5 - var(--token-scale-400, 16px) * 0.5);
|
|
456
|
+
width: var(--token-scale-050, 2px);
|
|
457
|
+
height: var(--token-scale-400, 16px);
|
|
458
|
+
background: var(--bar-background);
|
|
455
459
|
pointer-events: none;
|
|
456
460
|
}
|
|
457
461
|
|
|
@@ -692,7 +692,10 @@ export class Range {
|
|
|
692
692
|
} }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
|
|
693
693
|
'range-tick': true,
|
|
694
694
|
'range-tick-active': tick.active,
|
|
695
|
-
}, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar-container" }, h("div", { class:
|
|
695
|
+
}, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar-container" }, h("div", { class: {
|
|
696
|
+
'range-bar': true,
|
|
697
|
+
'has-ticks': ticks.length > 0,
|
|
698
|
+
}, role: "presentation", part: "bar" }), h("div", { class: {
|
|
696
699
|
'range-bar': true,
|
|
697
700
|
'range-bar-active': true,
|
|
698
701
|
'has-ticks': ticks.length > 0,
|
|
@@ -770,7 +773,7 @@ export class Range {
|
|
|
770
773
|
const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
|
|
771
774
|
const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
|
|
772
775
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
773
|
-
return (h(Host, { key: '
|
|
776
|
+
return (h(Host, { key: '1b8ca217fa6965fc038fb4ca8f0bc9142b3893ad', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
774
777
|
[theme]: true,
|
|
775
778
|
'in-item': inItem,
|
|
776
779
|
'range-disabled': disabled,
|
|
@@ -784,10 +787,10 @@ export class Range {
|
|
|
784
787
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
785
788
|
'range-value-min': valueAtMin,
|
|
786
789
|
'range-value-max': valueAtMax,
|
|
787
|
-
}) }, h("label", { key: '
|
|
790
|
+
}) }, h("label", { key: '98b02130c9bb5a9ba6557be28f1ac09be0d10806', class: "range-wrapper", id: "range-label" }, h("div", { key: '570083103b51b335c805672918d69e997dc30e66', class: {
|
|
788
791
|
'label-text-wrapper': true,
|
|
789
792
|
'label-text-wrapper-hidden': !hasLabel,
|
|
790
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
793
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '1e3233a747d0adca6611234d0675ce049ef979cf', class: "native-wrapper" }, h("slot", { key: '4f06a217592a98d889420468eb282ba8652ef1cc', name: "start" }), this.renderRangeSlider(), h("slot", { key: '4286279dbadf0e92bffbd5e98d5e36cba095be3c', name: "end" })))));
|
|
791
794
|
}
|
|
792
795
|
static get is() { return "ion-range"; }
|
|
793
796
|
static get encapsulation() { return "shadow"; }
|