@ionic/core 8.7.18-dev.11771020096.1ca03a6d → 8.7.18-dev.11771365900.125bf49c
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 +13 -14
- package/components/ion-accordion-group.js +3 -4
- package/components/ion-accordion.js +6 -7
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +11 -12
- package/components/ion-avatar.js +3 -3
- package/components/ion-back-button.js +8 -9
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +4 -4
- package/components/ion-breadcrumb.js +7 -7
- package/components/ion-breadcrumbs.js +4 -4
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +3 -3
- package/components/ion-card-header.js +4 -4
- package/components/ion-card-subtitle.js +4 -4
- package/components/ion-card-title.js +4 -4
- package/components/ion-card.js +6 -6
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +5 -5
- package/components/ion-col.js +3 -3
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +7 -8
- package/components/ion-datetime.js +19 -20
- package/components/ion-fab-button.js +8 -8
- package/components/ion-fab-list.js +3 -3
- package/components/ion-fab.js +3 -3
- package/components/ion-footer.js +6 -6
- package/components/ion-grid.js +3 -3
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +4 -4
- package/components/ion-infinite-scroll-content.js +5 -6
- package/components/ion-infinite-scroll.js +4 -4
- package/components/ion-input-otp.js +6 -7
- package/components/ion-input-password-toggle.js +8 -9
- package/components/ion-input.js +13 -13
- package/components/ion-item-divider.js +6 -6
- package/components/ion-item-group.js +4 -4
- package/components/ion-item-option.js +7 -7
- package/components/ion-item-options.js +5 -5
- package/components/ion-item-sliding.js +8 -9
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +13 -14
- package/components/ion-menu-button.js +12 -13
- package/components/ion-menu-toggle.js +7 -7
- package/components/ion-menu.js +14 -18
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +3 -3
- package/components/ion-nav.js +9 -14
- package/components/ion-note.js +6 -6
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker-legacy-column.js +1 -1
- package/components/ion-picker-legacy.js +12 -13
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +6 -7
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +11 -12
- package/components/ion-refresher-content.js +9 -10
- package/components/ion-refresher.js +12 -13
- package/components/ion-reorder-group.js +8 -8
- package/components/ion-reorder.js +6 -6
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +2 -2
- package/components/ion-route.js +2 -2
- package/components/ion-router-link.js +6 -6
- package/components/ion-router-outlet.js +10 -11
- package/components/ion-router.js +3 -4
- package/components/ion-row.js +4 -4
- package/components/ion-searchbar.js +12 -13
- package/components/ion-segment-button.js +8 -9
- package/components/ion-segment-content.js +3 -3
- package/components/ion-segment-view.js +5 -5
- package/components/ion-segment.js +9 -9
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +4 -4
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +36 -37
- package/components/ion-skeleton-text.js +6 -7
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +5 -12
- package/components/ion-tab-bar.js +7 -7
- package/components/ion-tab-button.js +7 -8
- package/components/ion-tab.js +5 -14
- package/components/ion-tabs.js +3 -4
- package/components/ion-text.js +6 -6
- package/components/ion-textarea.js +13 -13
- package/components/ion-thumbnail.js +4 -4
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +17 -20
- package/components/ion-toggle.js +15 -16
- package/components/ion-toolbar.js +1 -1
- package/components/{list.js → p-B25GjpND.js} +3 -3
- package/components/{buttons.js → p-BBFQmhcD.js} +3 -3
- package/components/{index5.js → p-BC-awmYt.js} +6 -6
- package/components/{picker.js → p-BHbOsu99.js} +3 -3
- package/components/{title.js → p-BTlwXR9e.js} +6 -6
- package/components/{alert.js → p-BcazQttQ.js} +12 -13
- package/components/{spinner.js → p-BdGshsIJ.js} +5 -6
- package/components/{input.utils.js → p-BfS7vSpC.js} +3 -3
- package/components/{ios.transition.js → p-BhRFCLuX.js} +2 -2
- package/components/{backdrop.js → p-Bhnhnzjz.js} +3 -3
- package/components/{notch-controller.js → p-BmcqD0EN.js} +2 -2
- package/components/{radio-group.js → p-BnpDIASH.js} +7 -7
- package/components/{hardware-back-button.js → p-Boi6hecl.js} +2 -2
- package/components/{radio.js → p-Bt_moUyl.js} +8 -8
- package/components/{ionic-global.js → p-Bxl5etF4.js} +1 -2
- package/components/{picker-column-option.js → p-ByjmWt3s.js} +7 -7
- package/components/{md.transition.js → p-C04oPyjT.js} +2 -2
- package/components/{capacitor.js → p-CIGNaXM1.js} +1 -1
- package/components/{config.js → p-CIJwkzL6.js} +1 -1
- package/components/{select-modal.js → p-CJrGvZ1Z.js} +19 -19
- package/components/{animation.js → p-CL12ApCQ.js} +2 -2
- package/components/{label.js → p-CUfY9DTD.js} +6 -6
- package/components/{action-sheet.js → p-CXJR56Oq.js} +12 -12
- package/components/{index3.js → p-Cl0B-RWe.js} +1 -1
- package/components/{keyboard-controller.js → p-CtWGkNnJ.js} +2 -2
- package/components/{index7.js → p-Cyd00tgZ.js} +2 -2
- package/components/{picker-column2.js → p-CzAJ3ArC.js} +9 -9
- package/components/{menu-toggle-util.js → p-CzW34QBh.js} +1 -1
- package/components/{refresher.utils.js → p-D0zXRwcr.js} +3 -3
- package/components/{keyboard2.js → p-D13Eaw-8.js} +1 -1
- package/components/{select-popover.js → p-D3KEyQ8e.js} +15 -15
- package/components/{helpers.js → p-D5hF6rwn.js} +1 -1
- package/components/{keyboard.js → p-D6Ynv7Xh.js} +1 -1
- package/components/{button-active.js → p-D8eD2iBA.js} +3 -3
- package/components/{button.js → p-DK2Bn1Mc.js} +6 -7
- package/components/{picker-column.js → p-DKRQWlK2.js} +7 -7
- package/components/{index8.js → p-DNDUsygf.js} +2 -2
- package/components/{content.js → p-DPm73mCi.js} +7 -7
- package/components/{popover.js → p-DRHwNkVo.js} +43 -166
- package/components/{index2.js → p-DTWZF6wg.js} +4 -5
- package/components/p-DWoUQeZ3.js +3012 -0
- package/components/{header.js → p-DX0w75a9.js} +6 -6
- package/components/{toolbar.js → p-Dt8zaCLQ.js} +6 -6
- package/components/{checkbox.js → p-DyFBFrV7.js} +7 -7
- package/components/{status-tap.js → p-DyHPCMyn.js} +3 -3
- package/components/{modal.js → p-IHgAGzvW.js} +35 -345
- package/components/{ripple-effect.js → p-LgLeKTkH.js} +4 -4
- package/components/{list-header.js → p-NhiRFRn9.js} +6 -6
- package/components/{input-shims.js → p-OuiHmXO5.js} +4 -4
- package/components/{icon.js → p-Wro9IPHE.js} +6 -6
- package/components/{item.js → p-aIWC4ZEV.js} +8 -8
- package/components/{overlays.js → p-c-XJ9XhZ.js} +7 -7
- package/components/{haptic.js → p-cyNmxje6.js} +1 -1
- package/components/{swipe-back.js → p-fVuFT3Wd.js} +3 -3
- package/components/{framework-delegate.js → p-l_lso3Zl.js} +1 -1
- package/components/{data.js → p-mQp4lwQD.js} +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +17 -326
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +32 -154
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/modal.ios.css +5 -6
- package/dist/collection/components/modal/modal.js +15 -164
- package/dist/collection/components/modal/modal.md.css +5 -6
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/animations/ios.enter.js +8 -33
- package/dist/collection/components/popover/animations/md.enter.js +6 -26
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/popover/utils.js +19 -96
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.js +2 -2
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/docs.json +1 -1
- package/dist/esm/ion-app_8.entry.js +5 -5
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +11 -11
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +17 -326
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +32 -154
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +4 -4
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-074839fc.entry.js → p-01e27965.entry.js} +1 -1
- package/dist/ionic/p-0ca0fe9c.entry.js +4 -0
- package/dist/ionic/{p-316c0420.entry.js → p-221a3d8c.entry.js} +1 -1
- package/dist/ionic/{p-3a6caca9.entry.js → p-2668188b.entry.js} +1 -1
- package/dist/ionic/{p-d3014190.entry.js → p-2bd1ea35.entry.js} +1 -1
- package/dist/ionic/{p-a127bee2.entry.js → p-30333874.entry.js} +1 -1
- package/dist/ionic/{p-0e8c8a10.entry.js → p-31db96da.entry.js} +1 -1
- package/dist/ionic/{p-1647c46c.entry.js → p-363d1209.entry.js} +1 -1
- package/dist/ionic/p-3ec563c1.entry.js +4 -0
- package/dist/ionic/{p-c19af093.entry.js → p-42db6404.entry.js} +1 -1
- package/dist/ionic/{p-db82892c.entry.js → p-46a38cfd.entry.js} +1 -1
- package/dist/ionic/{p-eb024a5b.entry.js → p-4eec1a5e.entry.js} +1 -1
- package/dist/ionic/{p-0dfa5a37.entry.js → p-530fcd71.entry.js} +1 -1
- package/dist/ionic/{p-72c38b88.entry.js → p-5c8f7253.entry.js} +1 -1
- package/dist/ionic/{p-172a579f.entry.js → p-5d6fb6e3.entry.js} +1 -1
- package/dist/ionic/{p-dbbe606a.entry.js → p-652318c3.entry.js} +1 -1
- package/dist/ionic/{p-2a939845.entry.js → p-6f37536a.entry.js} +1 -1
- package/dist/ionic/{p-4e41ea20.entry.js → p-72af946b.entry.js} +1 -1
- package/dist/ionic/p-7f98e710.entry.js +4 -0
- package/dist/ionic/{p-6d070558.entry.js → p-82d5bb3d.entry.js} +1 -1
- package/dist/ionic/p-906bb44d.entry.js +4 -0
- package/dist/ionic/{p-2dbb90cb.entry.js → p-97eb0812.entry.js} +1 -1
- package/dist/ionic/{p-31f7095f.entry.js → p-a4a9f5ae.entry.js} +1 -1
- package/dist/ionic/{p-86f53961.entry.js → p-b8551510.entry.js} +1 -1
- package/dist/ionic/p-bc293244.entry.js +4 -0
- package/dist/ionic/{p-d126e8d3.entry.js → p-bce86e56.entry.js} +1 -1
- package/dist/ionic/{p-02d76786.entry.js → p-be263062.entry.js} +1 -1
- package/dist/ionic/{p-639dd543.entry.js → p-c175d792.entry.js} +1 -1
- package/dist/ionic/{p-020af078.entry.js → p-cc2a9936.entry.js} +1 -1
- package/dist/ionic/{p-1ccd6829.entry.js → p-e338f669.entry.js} +1 -1
- package/dist/ionic/{p-6241ce47.entry.js → p-eaf3f5ff.entry.js} +1 -1
- package/dist/ionic/{p-f8f22cc0.entry.js → p-fb0271ae.entry.js} +1 -1
- package/dist/ionic/{p-370e4237.entry.js → p-fbb00634.entry.js} +1 -1
- package/dist/types/components/modal/modal.d.ts +0 -35
- package/dist/types/components/popover/utils.d.ts +1 -23
- package/hydrate/index.js +137 -568
- package/hydrate/index.mjs +137 -568
- package/package.json +1 -1
- package/components/index4.js +0 -121
- package/dist/collection/components/modal/safe-area-utils.js +0 -165
- package/dist/ionic/p-3e69999d.entry.js +0 -4
- package/dist/ionic/p-51a60e0f.entry.js +0 -4
- package/dist/ionic/p-94de5cfa.entry.js +0 -4
- package/dist/ionic/p-cc3446d5.entry.js +0 -4
- package/dist/ionic/p-dd1aef77.entry.js +0 -4
- package/dist/types/components/modal/safe-area-utils.d.ts +0 -66
- /package/components/{lock-controller.js → p-B-hirT0v.js} +0 -0
- /package/components/{gesture-controller.js → p-BTEOs1at.js} +0 -0
- /package/components/{focus-visible.js → p-BmVRXR1y.js} +0 -0
- /package/components/{dir.js → p-C53feagD.js} +0 -0
- /package/components/{index6.js → p-CO7fmmxt.js} +0 -0
- /package/components/{validity.js → p-DJztqcrH.js} +0 -0
- /package/components/{theme.js → p-DiVJyqlX.js} +0 -0
- /package/components/{watch-options.js → p-Dtdm8lKC.js} +0 -0
- /package/components/{index9.js → p-ZjP4CjeZ.js} +0 -0
- /package/components/{cubic-bezier.js → p-hHmYLOfE.js} +0 -0
|
@@ -14,58 +14,6 @@ import './index-ZjP4CjeZ.js';
|
|
|
14
14
|
import './hardware-back-button-CPLxO-Ev.js';
|
|
15
15
|
import './gesture-controller-BTEOs1at.js';
|
|
16
16
|
|
|
17
|
-
/**
|
|
18
|
-
* Shared per-frame cache for safe-area insets. Avoids creating a temporary
|
|
19
|
-
* DOM element and forcing a synchronous reflow on every call within the same
|
|
20
|
-
* frame (e.g., multiple popovers presenting simultaneously). Invalidated
|
|
21
|
-
* after the next animation frame so values stay fresh across orientation
|
|
22
|
-
* changes and viewport resizes.
|
|
23
|
-
*/
|
|
24
|
-
let cachedInsets = null;
|
|
25
|
-
let cacheInvalidationScheduled = false;
|
|
26
|
-
/**
|
|
27
|
-
* Resolves the current --ion-safe-area-* CSS custom property values
|
|
28
|
-
* to actual pixel numbers. A temporary element is needed because
|
|
29
|
-
* getComputedStyle on :root returns the declared value of custom
|
|
30
|
-
* properties (e.g. "env(safe-area-inset-top)") rather than a
|
|
31
|
-
* resolved number. By assigning them to standard padding properties,
|
|
32
|
-
* the browser resolves the value.
|
|
33
|
-
*
|
|
34
|
-
* Results are cached for the current frame to avoid repeated reflows.
|
|
35
|
-
*/
|
|
36
|
-
const getSafeAreaInsets = (doc) => {
|
|
37
|
-
if (cachedInsets !== null) {
|
|
38
|
-
return cachedInsets;
|
|
39
|
-
}
|
|
40
|
-
if (doc.body === null) {
|
|
41
|
-
return { top: 0, bottom: 0, left: 0, right: 0 };
|
|
42
|
-
}
|
|
43
|
-
const el = doc.createElement('div');
|
|
44
|
-
el.style.cssText =
|
|
45
|
-
'position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;' +
|
|
46
|
-
'padding-top:var(--ion-safe-area-top,0px);' +
|
|
47
|
-
'padding-bottom:var(--ion-safe-area-bottom,0px);' +
|
|
48
|
-
'padding-left:var(--ion-safe-area-left,0px);' +
|
|
49
|
-
'padding-right:var(--ion-safe-area-right,0px);';
|
|
50
|
-
doc.body.appendChild(el);
|
|
51
|
-
const style = getComputedStyle(el);
|
|
52
|
-
const insets = {
|
|
53
|
-
top: parseFloat(style.paddingTop) || 0,
|
|
54
|
-
bottom: parseFloat(style.paddingBottom) || 0,
|
|
55
|
-
left: parseFloat(style.paddingLeft) || 0,
|
|
56
|
-
right: parseFloat(style.paddingRight) || 0,
|
|
57
|
-
};
|
|
58
|
-
el.remove();
|
|
59
|
-
cachedInsets = insets;
|
|
60
|
-
if (!cacheInvalidationScheduled) {
|
|
61
|
-
cacheInvalidationScheduled = true;
|
|
62
|
-
raf(() => {
|
|
63
|
-
cachedInsets = null;
|
|
64
|
-
cacheInvalidationScheduled = false;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return insets;
|
|
68
|
-
};
|
|
69
17
|
/**
|
|
70
18
|
* Returns the dimensions of the popover
|
|
71
19
|
* arrow on `ios` mode. If arrow is disabled
|
|
@@ -701,10 +649,8 @@ const calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, con
|
|
|
701
649
|
* Adjusts popover positioning coordinates
|
|
702
650
|
* such that popover does not appear offscreen
|
|
703
651
|
* or overlapping safe area bounds.
|
|
704
|
-
*
|
|
705
|
-
* @internal - This is not part of the public API.
|
|
706
652
|
*/
|
|
707
|
-
const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight,
|
|
653
|
+
const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeAreaMargin, contentOriginX, contentOriginY, triggerCoordinates, coordArrowTop = 0, coordArrowLeft = 0, arrowHeight = 0) => {
|
|
708
654
|
let arrowTop = coordArrowTop;
|
|
709
655
|
const arrowLeft = coordArrowLeft;
|
|
710
656
|
let left = coordLeft;
|
|
@@ -714,19 +660,16 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
|
714
660
|
let originY = contentOriginY;
|
|
715
661
|
let checkSafeAreaLeft = false;
|
|
716
662
|
let checkSafeAreaRight = false;
|
|
717
|
-
let checkSafeAreaTop = false;
|
|
718
|
-
let checkSafeAreaBottom = false;
|
|
719
663
|
const triggerTop = triggerCoordinates
|
|
720
664
|
? triggerCoordinates.top + triggerCoordinates.height
|
|
721
665
|
: bodyHeight / 2 - contentHeight / 2;
|
|
722
666
|
const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;
|
|
723
667
|
let addPopoverBottomClass = false;
|
|
724
|
-
const hideArrow = false;
|
|
725
668
|
/**
|
|
726
669
|
* Adjust popover so it does not
|
|
727
670
|
* go off the left of the screen.
|
|
728
671
|
*/
|
|
729
|
-
if (left < bodyPadding +
|
|
672
|
+
if (left < bodyPadding + safeAreaMargin) {
|
|
730
673
|
left = bodyPadding;
|
|
731
674
|
checkSafeAreaLeft = true;
|
|
732
675
|
originX = 'left';
|
|
@@ -735,58 +678,41 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
|
735
678
|
* go off the right of the screen.
|
|
736
679
|
*/
|
|
737
680
|
}
|
|
738
|
-
else if (contentWidth + bodyPadding + left +
|
|
681
|
+
else if (contentWidth + bodyPadding + left + safeAreaMargin > bodyWidth) {
|
|
739
682
|
checkSafeAreaRight = true;
|
|
740
683
|
left = bodyWidth - contentWidth - bodyPadding;
|
|
741
684
|
originX = 'right';
|
|
742
685
|
}
|
|
743
686
|
/**
|
|
744
687
|
* Adjust popover so it does not
|
|
745
|
-
* go off the
|
|
746
|
-
* or overlap the bottom safe area.
|
|
688
|
+
* go off the top of the screen.
|
|
747
689
|
* If popover is on the left or the right of
|
|
748
690
|
* the trigger, then we should not adjust top
|
|
749
691
|
* margins.
|
|
750
692
|
*/
|
|
751
|
-
if (triggerTop + triggerHeight + contentHeight > bodyHeight
|
|
752
|
-
(
|
|
753
|
-
/**
|
|
754
|
-
* Calculate where the popover top would be if flipped
|
|
755
|
-
* above the trigger. Check whether that position clears
|
|
756
|
-
* the top safe area with room for bodyPadding.
|
|
757
|
-
*/
|
|
758
|
-
const idealFlipTop = triggerTop - contentHeight - triggerHeight - (arrowHeight - 1);
|
|
759
|
-
if (idealFlipTop >= safeArea.top + bodyPadding) {
|
|
693
|
+
if (triggerTop + triggerHeight + contentHeight > bodyHeight && (side === 'top' || side === 'bottom')) {
|
|
694
|
+
if (triggerTop - contentHeight > 0) {
|
|
760
695
|
/**
|
|
761
|
-
*
|
|
762
|
-
*
|
|
763
|
-
*
|
|
696
|
+
* While we strive to align the popover with the trigger
|
|
697
|
+
* on smaller screens this is not always possible. As a result,
|
|
698
|
+
* we adjust the popover up so that it does not hang
|
|
699
|
+
* off the bottom of the screen. However, we do not want to move
|
|
700
|
+
* the popover up so much that it goes off the top of the screen.
|
|
701
|
+
*
|
|
702
|
+
* We chose 12 here so that the popover position looks a bit nicer as
|
|
703
|
+
* it is not right up against the edge of the screen.
|
|
764
704
|
*/
|
|
765
|
-
top =
|
|
705
|
+
top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
|
|
766
706
|
arrowTop = top + contentHeight;
|
|
767
707
|
originY = 'bottom';
|
|
768
708
|
addPopoverBottomClass = true;
|
|
769
|
-
}
|
|
770
|
-
else {
|
|
771
709
|
/**
|
|
772
|
-
*
|
|
773
|
-
*
|
|
774
|
-
* creates a scrollable area anchored to the trigger.
|
|
710
|
+
* If not enough room for popover to appear
|
|
711
|
+
* above trigger, then cut it off.
|
|
775
712
|
*/
|
|
713
|
+
}
|
|
714
|
+
else {
|
|
776
715
|
bottom = bodyPadding;
|
|
777
|
-
checkSafeAreaBottom = true;
|
|
778
|
-
/**
|
|
779
|
-
* When the trigger is near the bottom of the screen,
|
|
780
|
-
* the calculated top may be at or past the bottom
|
|
781
|
-
* constraint, leaving zero visible height. In that
|
|
782
|
-
* case, pull top up to the top safe area so the
|
|
783
|
-
* popover fills the available space between safe areas.
|
|
784
|
-
*/
|
|
785
|
-
const bottomEdge = bodyHeight - safeArea.bottom - bodyPadding;
|
|
786
|
-
if (top >= bottomEdge) {
|
|
787
|
-
top = safeArea.top + bodyPadding;
|
|
788
|
-
checkSafeAreaTop = true;
|
|
789
|
-
}
|
|
790
716
|
}
|
|
791
717
|
}
|
|
792
718
|
return {
|
|
@@ -797,12 +723,9 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
|
797
723
|
originY,
|
|
798
724
|
checkSafeAreaLeft,
|
|
799
725
|
checkSafeAreaRight,
|
|
800
|
-
checkSafeAreaTop,
|
|
801
|
-
checkSafeAreaBottom,
|
|
802
726
|
arrowTop,
|
|
803
727
|
arrowLeft,
|
|
804
728
|
addPopoverBottomClass,
|
|
805
|
-
hideArrow,
|
|
806
729
|
};
|
|
807
730
|
};
|
|
808
731
|
const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
|
|
@@ -832,15 +755,6 @@ const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
|
|
|
832
755
|
};
|
|
833
756
|
|
|
834
757
|
const POPOVER_IOS_BODY_PADDING = 5;
|
|
835
|
-
/**
|
|
836
|
-
* Minimum edge margin for iOS popovers ensures visual spacing from screen
|
|
837
|
-
* edges on devices without safe areas (e.g., older iPhones without notches).
|
|
838
|
-
* Previously this was a hardcoded `safeAreaMargin = 25` that served dual
|
|
839
|
-
* purpose: safe-area avoidance AND visual spacing. Now that actual safe-area
|
|
840
|
-
* insets are read dynamically, this floor preserves the visual spacing when
|
|
841
|
-
* safe-area values are 0.
|
|
842
|
-
*/
|
|
843
|
-
const POPOVER_IOS_MIN_EDGE_MARGIN = 25;
|
|
844
758
|
/**
|
|
845
759
|
* iOS Popover Enter Animation
|
|
846
760
|
*/
|
|
@@ -866,16 +780,8 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
|
866
780
|
};
|
|
867
781
|
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev);
|
|
868
782
|
const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
|
|
869
|
-
const
|
|
870
|
-
const
|
|
871
|
-
? { top: 0, bottom: 0, left: 0, right: 0 }
|
|
872
|
-
: {
|
|
873
|
-
top: Math.max(rawSafeArea.top, POPOVER_IOS_MIN_EDGE_MARGIN),
|
|
874
|
-
bottom: Math.max(rawSafeArea.bottom, POPOVER_IOS_MIN_EDGE_MARGIN),
|
|
875
|
-
left: Math.max(rawSafeArea.left, POPOVER_IOS_MIN_EDGE_MARGIN),
|
|
876
|
-
right: Math.max(rawSafeArea.right, POPOVER_IOS_MIN_EDGE_MARGIN),
|
|
877
|
-
};
|
|
878
|
-
const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, checkSafeAreaTop, checkSafeAreaBottom, arrowTop, arrowLeft, addPopoverBottomClass} = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeArea, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
|
|
783
|
+
const margin = size === 'cover' ? 0 : 25;
|
|
784
|
+
const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, margin, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
|
|
879
785
|
const baseAnimation = createAnimation();
|
|
880
786
|
const backdropAnimation = createAnimation();
|
|
881
787
|
const contentAnimation = createAnimation();
|
|
@@ -906,14 +812,10 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
|
906
812
|
baseEl.classList.add('popover-bottom');
|
|
907
813
|
}
|
|
908
814
|
if (bottom !== undefined) {
|
|
909
|
-
|
|
910
|
-
if (checkSafeAreaBottom) {
|
|
911
|
-
bottomValue = `${bottom}px + var(--ion-safe-area-bottom, 0px)`;
|
|
912
|
-
}
|
|
913
|
-
contentEl.style.setProperty('bottom', `calc(${bottomValue})`);
|
|
815
|
+
contentEl.style.setProperty('bottom', `${bottom}px`);
|
|
914
816
|
}
|
|
915
|
-
const safeAreaLeft = ' + var(--ion-safe-area-left,
|
|
916
|
-
const safeAreaRight = ' - var(--ion-safe-area-right,
|
|
817
|
+
const safeAreaLeft = ' + var(--ion-safe-area-left, 0)';
|
|
818
|
+
const safeAreaRight = ' - var(--ion-safe-area-right, 0)';
|
|
917
819
|
let leftValue = `${left}px`;
|
|
918
820
|
if (checkSafeAreaLeft) {
|
|
919
821
|
leftValue = `${left}px${safeAreaLeft}`;
|
|
@@ -921,11 +823,7 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
|
921
823
|
if (checkSafeAreaRight) {
|
|
922
824
|
leftValue = `${left}px${safeAreaRight}`;
|
|
923
825
|
}
|
|
924
|
-
|
|
925
|
-
if (checkSafeAreaTop) {
|
|
926
|
-
topValue = `${top}px + var(--ion-safe-area-top, 0px)`;
|
|
927
|
-
}
|
|
928
|
-
contentEl.style.setProperty('top', `calc(${topValue} + var(--offset-y, 0))`);
|
|
826
|
+
contentEl.style.setProperty('top', `calc(${top}px + var(--offset-y, 0))`);
|
|
929
827
|
contentEl.style.setProperty('left', `calc(${leftValue} + var(--offset-x, 0))`);
|
|
930
828
|
contentEl.style.setProperty('transform-origin', `${originY} ${originX}`);
|
|
931
829
|
if (arrowEl !== null) {
|
|
@@ -1001,23 +899,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
|
1001
899
|
};
|
|
1002
900
|
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
|
|
1003
901
|
const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
|
|
1004
|
-
|
|
1005
|
-
// This is needed for Android edge-to-edge (API 36+) where system bars overlap content.
|
|
1006
|
-
const safeArea = size === 'cover' ? { top: 0, bottom: 0, left: 0, right: 0 } : getSafeAreaInsets(doc);
|
|
1007
|
-
const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, checkSafeAreaTop, checkSafeAreaBottom, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeArea, results.originX, results.originY, results.referenceCoordinates);
|
|
1008
|
-
const safeAreaLeftCalc = ' + var(--ion-safe-area-left, 0px)';
|
|
1009
|
-
const safeAreaRightCalc = ' - var(--ion-safe-area-right, 0px)';
|
|
1010
|
-
let leftValue = `${left}px`;
|
|
1011
|
-
if (checkSafeAreaLeft) {
|
|
1012
|
-
leftValue = `${left}px${safeAreaLeftCalc}`;
|
|
1013
|
-
}
|
|
1014
|
-
if (checkSafeAreaRight) {
|
|
1015
|
-
leftValue = `${left}px${safeAreaRightCalc}`;
|
|
1016
|
-
}
|
|
1017
|
-
let topValue = `${top}px`;
|
|
1018
|
-
if (checkSafeAreaTop) {
|
|
1019
|
-
topValue = `${top}px + var(--ion-safe-area-top, 0px)`;
|
|
1020
|
-
}
|
|
902
|
+
const { originX, originY, top, left, bottom } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, 0, results.originX, results.originY, results.referenceCoordinates);
|
|
1021
903
|
const baseAnimation = createAnimation();
|
|
1022
904
|
const backdropAnimation = createAnimation();
|
|
1023
905
|
const wrapperAnimation = createAnimation();
|
|
@@ -1034,17 +916,13 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
|
1034
916
|
contentAnimation
|
|
1035
917
|
.addElement(contentEl)
|
|
1036
918
|
.beforeStyles({
|
|
1037
|
-
top: `calc(${
|
|
1038
|
-
left: `calc(${
|
|
919
|
+
top: `calc(${top}px + var(--offset-y, 0px))`,
|
|
920
|
+
left: `calc(${left}px + var(--offset-x, 0px))`,
|
|
1039
921
|
'transform-origin': `${originY} ${originX}`,
|
|
1040
922
|
})
|
|
1041
923
|
.beforeAddWrite(() => {
|
|
1042
924
|
if (bottom !== undefined) {
|
|
1043
|
-
|
|
1044
|
-
if (checkSafeAreaBottom) {
|
|
1045
|
-
bottomValue = `${bottom}px + var(--ion-safe-area-bottom, 0px)`;
|
|
1046
|
-
}
|
|
1047
|
-
contentEl.style.setProperty('bottom', `calc(${bottomValue})`);
|
|
925
|
+
contentEl.style.setProperty('bottom', `${bottom}px`);
|
|
1048
926
|
}
|
|
1049
927
|
})
|
|
1050
928
|
.fromTo('transform', 'scale(0.8)', 'scale(1)');
|
|
@@ -1056,7 +934,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
|
1056
934
|
if (size === 'cover') {
|
|
1057
935
|
baseEl.style.setProperty('--width', `${contentWidth}px`);
|
|
1058
936
|
}
|
|
1059
|
-
if (
|
|
937
|
+
if (originY === 'bottom') {
|
|
1060
938
|
baseEl.classList.add('popover-bottom');
|
|
1061
939
|
}
|
|
1062
940
|
})
|
|
@@ -1542,9 +1420,9 @@ const Popover = class {
|
|
|
1542
1420
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
1543
1421
|
const desktop = isPlatform('desktop');
|
|
1544
1422
|
const enableArrow = arrow && !parentPopover;
|
|
1545
|
-
return (h(Host, Object.assign({ key: '
|
|
1423
|
+
return (h(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
1546
1424
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1547
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: 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: '
|
|
1425
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: 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: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
|
|
1548
1426
|
}
|
|
1549
1427
|
get el() { return getElement(this); }
|
|
1550
1428
|
static get watchers() { return {
|
|
@@ -40,7 +40,7 @@ const ProgressBar = class {
|
|
|
40
40
|
const mode = getIonMode(this);
|
|
41
41
|
// If the progress is displayed as a solid bar.
|
|
42
42
|
const progressSolid = buffer === 1;
|
|
43
|
-
return (h(Host, { key: '
|
|
43
|
+
return (h(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
44
44
|
[mode]: true,
|
|
45
45
|
[`progress-bar-${type}`]: true,
|
|
46
46
|
'progress-paused': paused,
|
|
@@ -136,7 +136,7 @@ const Radio = class {
|
|
|
136
136
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
137
137
|
const mode = getIonMode(this);
|
|
138
138
|
const inItem = hostContext('ion-item', el);
|
|
139
|
-
return (h(Host, { key: '
|
|
139
|
+
return (h(Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
140
140
|
[mode]: true,
|
|
141
141
|
'in-item': inItem,
|
|
142
142
|
'radio-checked': checked,
|
|
@@ -147,10 +147,10 @@ const Radio = class {
|
|
|
147
147
|
// Focus and active styling should not apply when the radio is in an item
|
|
148
148
|
'ion-activatable': !inItem,
|
|
149
149
|
'ion-focusable': !inItem,
|
|
150
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
150
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
|
|
151
151
|
'label-text-wrapper': true,
|
|
152
152
|
'label-text-wrapper-hidden': !hasLabel,
|
|
153
|
-
}, part: "label" }, h("slot", { key: '
|
|
153
|
+
}, part: "label" }, h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
154
154
|
}
|
|
155
155
|
get el() { return getElement(this); }
|
|
156
156
|
static get watchers() { return {
|
|
@@ -403,7 +403,7 @@ const RadioGroup = class {
|
|
|
403
403
|
const { label, labelId, el, name, value } = this;
|
|
404
404
|
const mode = getIonMode(this);
|
|
405
405
|
renderHiddenInput(true, el, name, value, false);
|
|
406
|
-
return (h(Host, { key: 'db593b3ed511e9395e3c7bfd91b787328692cd6d', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), h("
|
|
406
|
+
return (h(Host, { key: 'db593b3ed511e9395e3c7bfd91b787328692cd6d', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, class: mode }, this.renderHintText(), h("slot", { key: 'd683b01c1ba34fe843c4b320bce4661a117472a5' })));
|
|
407
407
|
}
|
|
408
408
|
get el() { return getElement(this); }
|
|
409
409
|
static get watchers() { return {
|
|
@@ -721,7 +721,7 @@ const Range = class {
|
|
|
721
721
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
722
722
|
const mode = getIonMode(this);
|
|
723
723
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
724
|
-
return (h(Host, { key: '
|
|
724
|
+
return (h(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
725
725
|
[mode]: true,
|
|
726
726
|
'in-item': inItem,
|
|
727
727
|
'range-disabled': disabled,
|
|
@@ -730,10 +730,10 @@ const Range = class {
|
|
|
730
730
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
731
731
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
732
732
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
733
|
-
}) }, h("label", { key: '
|
|
733
|
+
}) }, h("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, h("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
|
|
734
734
|
'label-text-wrapper': true,
|
|
735
735
|
'label-text-wrapper-hidden': !hasLabel,
|
|
736
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
736
|
+
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '3c275d822b29a8008e044722e8b6bdabd3ecfad7', class: "native-wrapper" }, h("slot", { key: '03c849d0aa708914984ad57ca292bc5fc66ecad5', name: "start" }), this.renderRangeSlider(), h("slot", { key: '10ca7b8152cac00b45d8fa98ad91410f59fd176a', name: "end" })))));
|
|
737
737
|
}
|
|
738
738
|
get el() { return getElement(this); }
|
|
739
739
|
static get watchers() { return {
|
|
@@ -887,7 +887,7 @@ const Refresher = class {
|
|
|
887
887
|
}
|
|
888
888
|
render() {
|
|
889
889
|
const mode = getIonMode(this);
|
|
890
|
-
return (h(Host, { key: '
|
|
890
|
+
return (h(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
|
|
891
891
|
[mode]: true,
|
|
892
892
|
// Used internally for styling
|
|
893
893
|
[`refresher-${mode}`]: true,
|
|
@@ -950,7 +950,7 @@ const RefresherContent = class {
|
|
|
950
950
|
const pullingIcon = this.pullingIcon;
|
|
951
951
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
952
952
|
const mode = getIonMode(this);
|
|
953
|
-
return (h(Host, { key: '
|
|
953
|
+
return (h(Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
|
|
954
954
|
}
|
|
955
955
|
get el() { return getElement(this); }
|
|
956
956
|
};
|
|
@@ -30,7 +30,7 @@ const Reorder = class {
|
|
|
30
30
|
render() {
|
|
31
31
|
const mode = getIonMode(this);
|
|
32
32
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
33
|
-
return (h(Host, { key: '
|
|
33
|
+
return (h(Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
|
|
34
34
|
}
|
|
35
35
|
get el() { return getElement(this); }
|
|
36
36
|
};
|
|
@@ -293,7 +293,7 @@ const ReorderGroup = class {
|
|
|
293
293
|
}
|
|
294
294
|
render() {
|
|
295
295
|
const mode = getIonMode(this);
|
|
296
|
-
return (h(Host, { key: '
|
|
296
|
+
return (h(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
|
|
297
297
|
[mode]: true,
|
|
298
298
|
'reorder-enabled': !this.disabled,
|
|
299
299
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -72,7 +72,7 @@ const RippleEffect = class {
|
|
|
72
72
|
}
|
|
73
73
|
render() {
|
|
74
74
|
const mode = getIonMode(this);
|
|
75
|
-
return (h(Host, { key: '
|
|
75
|
+
return (h(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
|
|
76
76
|
[mode]: true,
|
|
77
77
|
unbounded: this.unbounded,
|
|
78
78
|
} }));
|
|
@@ -895,10 +895,10 @@ const RouterLink = class {
|
|
|
895
895
|
rel: this.rel,
|
|
896
896
|
target: this.target,
|
|
897
897
|
};
|
|
898
|
-
return (h(Host, { key: '
|
|
898
|
+
return (h(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
899
899
|
[mode]: true,
|
|
900
900
|
'ion-activatable': true,
|
|
901
|
-
}) }, h("a", Object.assign({ key: '
|
|
901
|
+
}) }, h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
|
|
902
902
|
}
|
|
903
903
|
};
|
|
904
904
|
RouterLink.style = routerLinkCss;
|
|
@@ -436,8 +436,8 @@ const Searchbar = class {
|
|
|
436
436
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
437
437
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
438
438
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
439
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
440
|
-
return (h(Host, { key: '
|
|
439
|
+
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: 'bf574336a561a5bf66c771fb606a9b19adbecb68', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '747ad4368bda5044198259d5bc8f7be9e472e5af', "aria-hidden": "true" }, mode === 'md' ? (h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
|
|
440
|
+
return (h(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
441
441
|
[mode]: true,
|
|
442
442
|
'searchbar-animated': animated,
|
|
443
443
|
'searchbar-disabled': this.disabled,
|
|
@@ -447,14 +447,14 @@ const Searchbar = class {
|
|
|
447
447
|
'searchbar-has-focus': this.focused,
|
|
448
448
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
449
449
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
450
|
-
}) }, h("div", { key: '
|
|
450
|
+
}) }, h("div", { key: 'ac0dbf5ddd9c4eb6d714f45c62c44ba3d0bf034d', class: "searchbar-input-container" }, h("input", Object.assign({ key: '4b9fdac1b0d5a7a68bf61a6beb00f166434d3e84', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h("ion-icon", { key: '32a889c48b3960560a3873061b4ac5a8a5ce532f', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), h("button", { key: '71222df691ef0b95008e619f755224d069ee9388', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
|
|
451
451
|
/**
|
|
452
452
|
* This prevents mobile browsers from
|
|
453
453
|
* blurring the input when the clear
|
|
454
454
|
* button is activated.
|
|
455
455
|
*/
|
|
456
456
|
ev.preventDefault();
|
|
457
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
457
|
+
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: 'f1c8c0bd8fbb655085875731d3ece387dbe2967e', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
|
|
458
458
|
}
|
|
459
459
|
get el() { return getElement(this); }
|
|
460
460
|
static get watchers() { return {
|
|
@@ -10,7 +10,7 @@ const SegmentContent = class {
|
|
|
10
10
|
registerInstance(this, hostRef);
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
return (h(Host, { key: '
|
|
13
|
+
return (h(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
16
|
SegmentContent.style = segmentContentCss;
|
|
@@ -106,10 +106,10 @@ const SegmentView = class {
|
|
|
106
106
|
}
|
|
107
107
|
render() {
|
|
108
108
|
const { disabled, isManualScroll } = this;
|
|
109
|
-
return (h(Host, { key: '
|
|
109
|
+
return (h(Host, { key: '1c9bfce83967a93d63c225031a5cd688509d8fc8', class: {
|
|
110
110
|
'segment-view-disabled': disabled,
|
|
111
111
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
112
|
-
} }, h("slot", { key: '
|
|
112
|
+
} }, h("slot", { key: '19fee034e76fffbdb5f622cb514037c00f9d55d5' })));
|
|
113
113
|
}
|
|
114
114
|
get el() { return getElement(this); }
|
|
115
115
|
};
|
|
@@ -547,14 +547,14 @@ const Segment = class {
|
|
|
547
547
|
}
|
|
548
548
|
render() {
|
|
549
549
|
const mode = getIonMode(this);
|
|
550
|
-
return (h(Host, { key: '
|
|
550
|
+
return (h(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
|
|
551
551
|
[mode]: true,
|
|
552
552
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
553
553
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
554
554
|
'segment-activated': this.activated,
|
|
555
555
|
'segment-disabled': this.disabled,
|
|
556
556
|
'segment-scrollable': this.scrollable,
|
|
557
|
-
}) }, h("slot", { key: '
|
|
557
|
+
}) }, h("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
|
|
558
558
|
}
|
|
559
559
|
get el() { return getElement(this); }
|
|
560
560
|
static get watchers() { return {
|
|
@@ -672,7 +672,7 @@ const SegmentButton = class {
|
|
|
672
672
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
673
673
|
const mode = getIonMode(this);
|
|
674
674
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
675
|
-
return (h(Host, { key: '
|
|
675
|
+
return (h(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
|
|
676
676
|
[mode]: true,
|
|
677
677
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
678
678
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -688,7 +688,7 @@ const SegmentButton = class {
|
|
|
688
688
|
'ion-activatable': true,
|
|
689
689
|
'ion-activatable-instant': true,
|
|
690
690
|
'ion-focusable': true,
|
|
691
|
-
} }, h("button", Object.assign({ key: '
|
|
691
|
+
} }, h("button", Object.assign({ key: '0a6fea3a374074af19f7ece0ba3a7cf1e269ab6d', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, h("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && h("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), h("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
|
|
692
692
|
}
|
|
693
693
|
get el() { return getElement(this); }
|
|
694
694
|
static get watchers() { return {
|
|
@@ -88,7 +88,7 @@ const SelectModal = class {
|
|
|
88
88
|
} }, option.text))));
|
|
89
89
|
}
|
|
90
90
|
render() {
|
|
91
|
-
return (h(Host, { key: '
|
|
91
|
+
return (h(Host, { key: '5bffdb106e6f628dae2e2aeb9ee8008b5c547b3a', class: getIonMode(this) }, h("ion-header", { key: '4de1c33b0504372f8a0a26123e4e086080ee1ecb' }, h("ion-toolbar", { key: '5d55a67d1db4352c260e9e0457d5dac6110b6598' }, this.header !== undefined && h("ion-title", { key: '4f07fe8a9af8c9bd0852af2a9b95517d16356e50' }, this.header), h("ion-buttons", { key: 'ca676a34f7cd3dd6b465b0d803434c2e2c8536c5', slot: "end" }, h("ion-button", { key: '801ed63a357c7c9d354668851db65e5c1b0e1abe', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: 'f3c239ec9d84b8ed7413ea9db6efa18e29aca285' }, h("ion-list", { key: '40c157e9abe477171a39ae7e6e1cd4ed08735cb4' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
|
|
92
92
|
}
|
|
93
93
|
get el() { return getElement(this); }
|
|
94
94
|
};
|
|
@@ -787,7 +787,7 @@ const Select = class {
|
|
|
787
787
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
788
788
|
*/
|
|
789
789
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
790
|
-
return (h(Host, { key: '
|
|
790
|
+
return (h(Host, { key: '9f0a833ebc3df27a42146b07bcbb181c05f5e5c4', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
791
791
|
[mode]: true,
|
|
792
792
|
'in-item': inItem,
|
|
793
793
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -805,7 +805,7 @@ const Select = class {
|
|
|
805
805
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
806
806
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
807
807
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
808
|
-
}) }, h("label", { key: '
|
|
808
|
+
}) }, h("label", { key: '4b32396d8557c0d1cba13440a11e66b8eb7b13a9', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'd226cc8e30cd5202c235476cfa1632fc40bc609f', class: "select-wrapper-inner" }, h("slot", { key: 'df813ff3b7de518c70ea4fedd25bcb965607026d', name: "start" }), h("div", { key: '4a4e9348a136c598b7b08f80ecdcca268afec2d5', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'f168d8b42a1e193ad27d09e5f1553b231f0332e5', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'ec3deede22dd403cb16a08f532ae4809cf86a3e7', class: "select-highlight" })), this.renderBottomContent()));
|
|
809
809
|
}
|
|
810
810
|
get el() { return getElement(this); }
|
|
811
811
|
static get watchers() { return {
|
|
@@ -867,7 +867,7 @@ const SelectOption = class {
|
|
|
867
867
|
this.disabled = false;
|
|
868
868
|
}
|
|
869
869
|
render() {
|
|
870
|
-
return h(Host, { key: '
|
|
870
|
+
return h(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode(this) });
|
|
871
871
|
}
|
|
872
872
|
get el() { return getElement(this); }
|
|
873
873
|
};
|
|
@@ -972,7 +972,7 @@ const SelectPopover = class {
|
|
|
972
972
|
render() {
|
|
973
973
|
const { header, message, options, subHeader } = this;
|
|
974
974
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
975
|
-
return (h(Host, { key: '
|
|
975
|
+
return (h(Host, { key: '0c9845a40d3fc392b0a7d64e2a6ed27d94bb7634', class: getIonMode(this) }, h("ion-list", { key: '84a30f6661b0f8c00e6fa199658ed2adbcf27358' }, header !== undefined && h("ion-list-header", { key: '13f5f56bbfbc06751fa516291a2da72629b60ece' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '3d39d18e720e798bbde334e79e6832091c7dfb81' }, h("ion-label", { key: 'd3051b0d140120b44bf5e79572f6f287e7cfb03a', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'b16805956f3316f8ec703c123b76f717488e8637' }, subHeader), message !== undefined && h("p", { key: '2215ac4ab4146a14e75a79192e319a8016286b5f' }, message)))), this.renderOptions(options))));
|
|
976
976
|
}
|
|
977
977
|
get el() { return getElement(this); }
|
|
978
978
|
};
|
|
@@ -42,7 +42,7 @@ const Spinner = class {
|
|
|
42
42
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
return (h(Host, { key: '
|
|
45
|
+
return (h(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses(self.color, {
|
|
46
46
|
[mode]: true,
|
|
47
47
|
[`spinner-${spinnerName}`]: true,
|
|
48
48
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|