@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
|
@@ -2,58 +2,6 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { getElementRoot, raf } from "../../utils/helpers";
|
|
5
|
-
/**
|
|
6
|
-
* Shared per-frame cache for safe-area insets. Avoids creating a temporary
|
|
7
|
-
* DOM element and forcing a synchronous reflow on every call within the same
|
|
8
|
-
* frame (e.g., multiple popovers presenting simultaneously). Invalidated
|
|
9
|
-
* after the next animation frame so values stay fresh across orientation
|
|
10
|
-
* changes and viewport resizes.
|
|
11
|
-
*/
|
|
12
|
-
let cachedInsets = null;
|
|
13
|
-
let cacheInvalidationScheduled = false;
|
|
14
|
-
/**
|
|
15
|
-
* Resolves the current --ion-safe-area-* CSS custom property values
|
|
16
|
-
* to actual pixel numbers. A temporary element is needed because
|
|
17
|
-
* getComputedStyle on :root returns the declared value of custom
|
|
18
|
-
* properties (e.g. "env(safe-area-inset-top)") rather than a
|
|
19
|
-
* resolved number. By assigning them to standard padding properties,
|
|
20
|
-
* the browser resolves the value.
|
|
21
|
-
*
|
|
22
|
-
* Results are cached for the current frame to avoid repeated reflows.
|
|
23
|
-
*/
|
|
24
|
-
export const getSafeAreaInsets = (doc) => {
|
|
25
|
-
if (cachedInsets !== null) {
|
|
26
|
-
return cachedInsets;
|
|
27
|
-
}
|
|
28
|
-
if (doc.body === null) {
|
|
29
|
-
return { top: 0, bottom: 0, left: 0, right: 0 };
|
|
30
|
-
}
|
|
31
|
-
const el = doc.createElement('div');
|
|
32
|
-
el.style.cssText =
|
|
33
|
-
'position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;' +
|
|
34
|
-
'padding-top:var(--ion-safe-area-top,0px);' +
|
|
35
|
-
'padding-bottom:var(--ion-safe-area-bottom,0px);' +
|
|
36
|
-
'padding-left:var(--ion-safe-area-left,0px);' +
|
|
37
|
-
'padding-right:var(--ion-safe-area-right,0px);';
|
|
38
|
-
doc.body.appendChild(el);
|
|
39
|
-
const style = getComputedStyle(el);
|
|
40
|
-
const insets = {
|
|
41
|
-
top: parseFloat(style.paddingTop) || 0,
|
|
42
|
-
bottom: parseFloat(style.paddingBottom) || 0,
|
|
43
|
-
left: parseFloat(style.paddingLeft) || 0,
|
|
44
|
-
right: parseFloat(style.paddingRight) || 0,
|
|
45
|
-
};
|
|
46
|
-
el.remove();
|
|
47
|
-
cachedInsets = insets;
|
|
48
|
-
if (!cacheInvalidationScheduled) {
|
|
49
|
-
cacheInvalidationScheduled = true;
|
|
50
|
-
raf(() => {
|
|
51
|
-
cachedInsets = null;
|
|
52
|
-
cacheInvalidationScheduled = false;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return insets;
|
|
56
|
-
};
|
|
57
5
|
/**
|
|
58
6
|
* Returns the dimensions of the popover
|
|
59
7
|
* arrow on `ios` mode. If arrow is disabled
|
|
@@ -691,10 +639,8 @@ const calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, con
|
|
|
691
639
|
* Adjusts popover positioning coordinates
|
|
692
640
|
* such that popover does not appear offscreen
|
|
693
641
|
* or overlapping safe area bounds.
|
|
694
|
-
*
|
|
695
|
-
* @internal - This is not part of the public API.
|
|
696
642
|
*/
|
|
697
|
-
export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight,
|
|
643
|
+
export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeAreaMargin, contentOriginX, contentOriginY, triggerCoordinates, coordArrowTop = 0, coordArrowLeft = 0, arrowHeight = 0) => {
|
|
698
644
|
let arrowTop = coordArrowTop;
|
|
699
645
|
const arrowLeft = coordArrowLeft;
|
|
700
646
|
let left = coordLeft;
|
|
@@ -704,19 +650,16 @@ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding
|
|
|
704
650
|
let originY = contentOriginY;
|
|
705
651
|
let checkSafeAreaLeft = false;
|
|
706
652
|
let checkSafeAreaRight = false;
|
|
707
|
-
let checkSafeAreaTop = false;
|
|
708
|
-
let checkSafeAreaBottom = false;
|
|
709
653
|
const triggerTop = triggerCoordinates
|
|
710
654
|
? triggerCoordinates.top + triggerCoordinates.height
|
|
711
655
|
: bodyHeight / 2 - contentHeight / 2;
|
|
712
656
|
const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;
|
|
713
657
|
let addPopoverBottomClass = false;
|
|
714
|
-
const hideArrow = false;
|
|
715
658
|
/**
|
|
716
659
|
* Adjust popover so it does not
|
|
717
660
|
* go off the left of the screen.
|
|
718
661
|
*/
|
|
719
|
-
if (left < bodyPadding +
|
|
662
|
+
if (left < bodyPadding + safeAreaMargin) {
|
|
720
663
|
left = bodyPadding;
|
|
721
664
|
checkSafeAreaLeft = true;
|
|
722
665
|
originX = 'left';
|
|
@@ -725,58 +668,41 @@ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding
|
|
|
725
668
|
* go off the right of the screen.
|
|
726
669
|
*/
|
|
727
670
|
}
|
|
728
|
-
else if (contentWidth + bodyPadding + left +
|
|
671
|
+
else if (contentWidth + bodyPadding + left + safeAreaMargin > bodyWidth) {
|
|
729
672
|
checkSafeAreaRight = true;
|
|
730
673
|
left = bodyWidth - contentWidth - bodyPadding;
|
|
731
674
|
originX = 'right';
|
|
732
675
|
}
|
|
733
676
|
/**
|
|
734
677
|
* Adjust popover so it does not
|
|
735
|
-
* go off the
|
|
736
|
-
* or overlap the bottom safe area.
|
|
678
|
+
* go off the top of the screen.
|
|
737
679
|
* If popover is on the left or the right of
|
|
738
680
|
* the trigger, then we should not adjust top
|
|
739
681
|
* margins.
|
|
740
682
|
*/
|
|
741
|
-
if (triggerTop + triggerHeight + contentHeight > bodyHeight
|
|
742
|
-
(
|
|
743
|
-
/**
|
|
744
|
-
* Calculate where the popover top would be if flipped
|
|
745
|
-
* above the trigger. Check whether that position clears
|
|
746
|
-
* the top safe area with room for bodyPadding.
|
|
747
|
-
*/
|
|
748
|
-
const idealFlipTop = triggerTop - contentHeight - triggerHeight - (arrowHeight - 1);
|
|
749
|
-
if (idealFlipTop >= safeArea.top + bodyPadding) {
|
|
683
|
+
if (triggerTop + triggerHeight + contentHeight > bodyHeight && (side === 'top' || side === 'bottom')) {
|
|
684
|
+
if (triggerTop - contentHeight > 0) {
|
|
750
685
|
/**
|
|
751
|
-
*
|
|
752
|
-
*
|
|
753
|
-
*
|
|
686
|
+
* While we strive to align the popover with the trigger
|
|
687
|
+
* on smaller screens this is not always possible. As a result,
|
|
688
|
+
* we adjust the popover up so that it does not hang
|
|
689
|
+
* off the bottom of the screen. However, we do not want to move
|
|
690
|
+
* the popover up so much that it goes off the top of the screen.
|
|
691
|
+
*
|
|
692
|
+
* We chose 12 here so that the popover position looks a bit nicer as
|
|
693
|
+
* it is not right up against the edge of the screen.
|
|
754
694
|
*/
|
|
755
|
-
top =
|
|
695
|
+
top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
|
|
756
696
|
arrowTop = top + contentHeight;
|
|
757
697
|
originY = 'bottom';
|
|
758
698
|
addPopoverBottomClass = true;
|
|
759
|
-
}
|
|
760
|
-
else {
|
|
761
699
|
/**
|
|
762
|
-
*
|
|
763
|
-
*
|
|
764
|
-
* creates a scrollable area anchored to the trigger.
|
|
700
|
+
* If not enough room for popover to appear
|
|
701
|
+
* above trigger, then cut it off.
|
|
765
702
|
*/
|
|
703
|
+
}
|
|
704
|
+
else {
|
|
766
705
|
bottom = bodyPadding;
|
|
767
|
-
checkSafeAreaBottom = true;
|
|
768
|
-
/**
|
|
769
|
-
* When the trigger is near the bottom of the screen,
|
|
770
|
-
* the calculated top may be at or past the bottom
|
|
771
|
-
* constraint, leaving zero visible height. In that
|
|
772
|
-
* case, pull top up to the top safe area so the
|
|
773
|
-
* popover fills the available space between safe areas.
|
|
774
|
-
*/
|
|
775
|
-
const bottomEdge = bodyHeight - safeArea.bottom - bodyPadding;
|
|
776
|
-
if (top >= bottomEdge) {
|
|
777
|
-
top = safeArea.top + bodyPadding;
|
|
778
|
-
checkSafeAreaTop = true;
|
|
779
|
-
}
|
|
780
706
|
}
|
|
781
707
|
}
|
|
782
708
|
return {
|
|
@@ -787,12 +713,9 @@ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding
|
|
|
787
713
|
originY,
|
|
788
714
|
checkSafeAreaLeft,
|
|
789
715
|
checkSafeAreaRight,
|
|
790
|
-
checkSafeAreaTop,
|
|
791
|
-
checkSafeAreaBottom,
|
|
792
716
|
arrowTop,
|
|
793
717
|
arrowLeft,
|
|
794
718
|
addPopoverBottomClass,
|
|
795
|
-
hideArrow,
|
|
796
719
|
};
|
|
797
720
|
};
|
|
798
721
|
export const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
|
|
@@ -43,7 +43,7 @@ export class ProgressBar {
|
|
|
43
43
|
const mode = getIonMode(this);
|
|
44
44
|
// If the progress is displayed as a solid bar.
|
|
45
45
|
const progressSolid = buffer === 1;
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
47
47
|
[mode]: true,
|
|
48
48
|
[`progress-bar-${type}`]: true,
|
|
49
49
|
'progress-paused': paused,
|
|
@@ -136,7 +136,7 @@ export class Radio {
|
|
|
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 @@ export class Radio {
|
|
|
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
|
static get is() { return "ion-radio"; }
|
|
156
156
|
static get encapsulation() { return "shadow"; }
|
|
@@ -238,7 +238,7 @@ export class RadioGroup {
|
|
|
238
238
|
const { label, labelId, el, name, value } = this;
|
|
239
239
|
const mode = getIonMode(this);
|
|
240
240
|
renderHiddenInput(true, el, name, value, false);
|
|
241
|
-
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("
|
|
241
|
+
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' })));
|
|
242
242
|
}
|
|
243
243
|
static get is() { return "ion-radio-group"; }
|
|
244
244
|
static get originalStyleUrls() {
|
|
@@ -681,7 +681,7 @@ export class Range {
|
|
|
681
681
|
const needsEndAdjustment = inItem && !hasEndContent;
|
|
682
682
|
const mode = getIonMode(this);
|
|
683
683
|
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
|
684
|
-
return (h(Host, { key: '
|
|
684
|
+
return (h(Host, { key: 'affcac4709096a48a5b4c1864b209b6352f6b078', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
|
685
685
|
[mode]: true,
|
|
686
686
|
'in-item': inItem,
|
|
687
687
|
'range-disabled': disabled,
|
|
@@ -690,10 +690,10 @@ export class Range {
|
|
|
690
690
|
[`range-label-placement-${labelPlacement}`]: true,
|
|
691
691
|
'range-item-start-adjustment': needsStartAdjustment,
|
|
692
692
|
'range-item-end-adjustment': needsEndAdjustment,
|
|
693
|
-
}) }, h("label", { key: '
|
|
693
|
+
}) }, h("label", { key: 'c7cf95fa831d10b17c137995d0a9e0cf84006a76', class: "range-wrapper", id: "range-label" }, h("div", { key: '5b8479c7939ae0f94a042c3aafd64316e4577d30', class: {
|
|
694
694
|
'label-text-wrapper': true,
|
|
695
695
|
'label-text-wrapper-hidden': !hasLabel,
|
|
696
|
-
}, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '
|
|
696
|
+
}, 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" })))));
|
|
697
697
|
}
|
|
698
698
|
static get is() { return "ion-range"; }
|
|
699
699
|
static get encapsulation() { return "shadow"; }
|
|
@@ -689,7 +689,7 @@ export class Refresher {
|
|
|
689
689
|
}
|
|
690
690
|
render() {
|
|
691
691
|
const mode = getIonMode(this);
|
|
692
|
-
return (h(Host, { key: '
|
|
692
|
+
return (h(Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
|
|
693
693
|
[mode]: true,
|
|
694
694
|
// Used internally for styling
|
|
695
695
|
[`refresher-${mode}`]: true,
|
|
@@ -48,7 +48,7 @@ export class RefresherContent {
|
|
|
48
48
|
const pullingIcon = this.pullingIcon;
|
|
49
49
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
|
50
50
|
const mode = getIonMode(this);
|
|
51
|
-
return (h(Host, { key: '
|
|
51
|
+
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())));
|
|
52
52
|
}
|
|
53
53
|
static get is() { return "ion-refresher-content"; }
|
|
54
54
|
static get properties() {
|
|
@@ -20,7 +20,7 @@ export class Reorder {
|
|
|
20
20
|
render() {
|
|
21
21
|
const mode = getIonMode(this);
|
|
22
22
|
const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
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" }))));
|
|
24
24
|
}
|
|
25
25
|
static get is() { return "ion-reorder"; }
|
|
26
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -253,7 +253,7 @@ export class ReorderGroup {
|
|
|
253
253
|
}
|
|
254
254
|
render() {
|
|
255
255
|
const mode = getIonMode(this);
|
|
256
|
-
return (h(Host, { key: '
|
|
256
|
+
return (h(Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
|
|
257
257
|
[mode]: true,
|
|
258
258
|
'reorder-enabled': !this.disabled,
|
|
259
259
|
'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
|
|
@@ -68,7 +68,7 @@ export class RippleEffect {
|
|
|
68
68
|
}
|
|
69
69
|
render() {
|
|
70
70
|
const mode = getIonMode(this);
|
|
71
|
-
return (h(Host, { key: '
|
|
71
|
+
return (h(Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
|
|
72
72
|
[mode]: true,
|
|
73
73
|
unbounded: this.unbounded,
|
|
74
74
|
} }));
|
|
@@ -22,10 +22,10 @@ export class RouterLink {
|
|
|
22
22
|
rel: this.rel,
|
|
23
23
|
target: this.target,
|
|
24
24
|
};
|
|
25
|
-
return (h(Host, { key: '
|
|
25
|
+
return (h(Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
26
26
|
[mode]: true,
|
|
27
27
|
'ion-activatable': true,
|
|
28
|
-
}) }, h("a", Object.assign({ key: '
|
|
28
|
+
}) }, h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "ion-router-link"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -181,7 +181,7 @@ export class RouterOutlet {
|
|
|
181
181
|
return true;
|
|
182
182
|
}
|
|
183
183
|
render() {
|
|
184
|
-
return h("slot", { key: '
|
|
184
|
+
return h("slot", { key: '386c41745b61daba161cf75063da97fe29ba36cb' });
|
|
185
185
|
}
|
|
186
186
|
static get is() { return "ion-router-outlet"; }
|
|
187
187
|
static get encapsulation() { return "shadow"; }
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
6
|
export class Row {
|
|
7
7
|
render() {
|
|
8
|
-
return (h(Host, { key: '
|
|
8
|
+
return (h(Host, { key: '8ba906a8cbea060a79ed658c9bf34906f0c11d38', class: getIonMode(this) }, h("slot", { key: 'd1009176f45b588fa52c7d9eb336f3c6d3214bb8' })));
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "ion-row"; }
|
|
11
11
|
static get encapsulation() { return "shadow"; }
|
|
@@ -427,8 +427,8 @@ export class Searchbar {
|
|
|
427
427
|
const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
|
|
428
428
|
const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
|
|
429
429
|
const shouldShowCancelButton = this.shouldShowCancelButton();
|
|
430
|
-
const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '
|
|
431
|
-
return (h(Host, { key: '
|
|
430
|
+
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))));
|
|
431
|
+
return (h(Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
|
|
432
432
|
[mode]: true,
|
|
433
433
|
'searchbar-animated': animated,
|
|
434
434
|
'searchbar-disabled': this.disabled,
|
|
@@ -438,14 +438,14 @@ export class Searchbar {
|
|
|
438
438
|
'searchbar-has-focus': this.focused,
|
|
439
439
|
'searchbar-should-show-clear': this.shouldShowClearButton(),
|
|
440
440
|
'searchbar-should-show-cancel': this.shouldShowCancelButton(),
|
|
441
|
-
}) }, h("div", { key: '
|
|
441
|
+
}) }, 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) => {
|
|
442
442
|
/**
|
|
443
443
|
* This prevents mobile browsers from
|
|
444
444
|
* blurring the input when the clear
|
|
445
445
|
* button is activated.
|
|
446
446
|
*/
|
|
447
447
|
ev.preventDefault();
|
|
448
|
-
}, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '
|
|
448
|
+
}, 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));
|
|
449
449
|
}
|
|
450
450
|
static get is() { return "ion-searchbar"; }
|
|
451
451
|
static get encapsulation() { return "scoped"; }
|
|
@@ -543,14 +543,14 @@ export class Segment {
|
|
|
543
543
|
}
|
|
544
544
|
render() {
|
|
545
545
|
const mode = getIonMode(this);
|
|
546
|
-
return (h(Host, { key: '
|
|
546
|
+
return (h(Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
|
|
547
547
|
[mode]: true,
|
|
548
548
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
549
549
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
550
550
|
'segment-activated': this.activated,
|
|
551
551
|
'segment-disabled': this.disabled,
|
|
552
552
|
'segment-scrollable': this.scrollable,
|
|
553
|
-
}) }, h("slot", { key: '
|
|
553
|
+
}) }, h("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
|
|
554
554
|
}
|
|
555
555
|
static get is() { return "ion-segment"; }
|
|
556
556
|
static get encapsulation() { return "shadow"; }
|
|
@@ -111,7 +111,7 @@ export class SegmentButton {
|
|
|
111
111
|
const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
|
|
112
112
|
const mode = getIonMode(this);
|
|
113
113
|
const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
|
|
114
|
-
return (h(Host, { key: '
|
|
114
|
+
return (h(Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
|
|
115
115
|
[mode]: true,
|
|
116
116
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
117
117
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
@@ -127,7 +127,7 @@ export class SegmentButton {
|
|
|
127
127
|
'ion-activatable': true,
|
|
128
128
|
'ion-activatable-instant': true,
|
|
129
129
|
'ion-focusable': true,
|
|
130
|
-
} }, h("button", Object.assign({ key: '
|
|
130
|
+
} }, 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" }))));
|
|
131
131
|
}
|
|
132
132
|
static get is() { return "ion-segment-button"; }
|
|
133
133
|
static get encapsulation() { return "shadow"; }
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
5
|
export class SegmentContent {
|
|
6
6
|
render() {
|
|
7
|
-
return (h(Host, { key: '
|
|
7
|
+
return (h(Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
|
|
8
8
|
}
|
|
9
9
|
static get is() { return "ion-segment-content"; }
|
|
10
10
|
static get encapsulation() { return "shadow"; }
|
|
@@ -99,10 +99,10 @@ export class SegmentView {
|
|
|
99
99
|
}
|
|
100
100
|
render() {
|
|
101
101
|
const { disabled, isManualScroll } = this;
|
|
102
|
-
return (h(Host, { key: '
|
|
102
|
+
return (h(Host, { key: '1c9bfce83967a93d63c225031a5cd688509d8fc8', class: {
|
|
103
103
|
'segment-view-disabled': disabled,
|
|
104
104
|
'segment-view-scroll-disabled': isManualScroll === false,
|
|
105
|
-
} }, h("slot", { key: '
|
|
105
|
+
} }, h("slot", { key: '19fee034e76fffbdb5f622cb514037c00f9d55d5' })));
|
|
106
106
|
}
|
|
107
107
|
static get is() { return "ion-segment-view"; }
|
|
108
108
|
static get encapsulation() { return "shadow"; }
|
|
@@ -833,7 +833,7 @@ export class Select {
|
|
|
833
833
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
834
834
|
*/
|
|
835
835
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
836
|
-
return (h(Host, { key: '
|
|
836
|
+
return (h(Host, { key: '9f0a833ebc3df27a42146b07bcbb181c05f5e5c4', onClick: this.onClick, class: createColorClasses(this.color, {
|
|
837
837
|
[mode]: true,
|
|
838
838
|
'in-item': inItem,
|
|
839
839
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -851,7 +851,7 @@ export class Select {
|
|
|
851
851
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
852
852
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
853
853
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
854
|
-
}) }, h("label", { key: '
|
|
854
|
+
}) }, 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()));
|
|
855
855
|
}
|
|
856
856
|
static get is() { return "ion-select"; }
|
|
857
857
|
static get encapsulation() { return "shadow"; }
|
|
@@ -75,7 +75,7 @@ export class SelectModal {
|
|
|
75
75
|
} }, option.text))));
|
|
76
76
|
}
|
|
77
77
|
render() {
|
|
78
|
-
return (h(Host, { key: '
|
|
78
|
+
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()))));
|
|
79
79
|
}
|
|
80
80
|
static get is() { return "ion-select-modal"; }
|
|
81
81
|
static get encapsulation() { return "scoped"; }
|
|
@@ -12,7 +12,7 @@ export class SelectOption {
|
|
|
12
12
|
this.disabled = false;
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return h(Host, { key: '
|
|
15
|
+
return h(Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: getIonMode(this) });
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "ion-select-option"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -101,7 +101,7 @@ export class SelectPopover {
|
|
|
101
101
|
render() {
|
|
102
102
|
const { header, message, options, subHeader } = this;
|
|
103
103
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
|
104
|
-
return (h(Host, { key: '
|
|
104
|
+
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))));
|
|
105
105
|
}
|
|
106
106
|
static get is() { return "ion-select-popover"; }
|
|
107
107
|
static get encapsulation() { return "scoped"; }
|
|
@@ -28,11 +28,11 @@ export class SkeletonText {
|
|
|
28
28
|
const animated = this.animated && config.getBoolean('animated', true);
|
|
29
29
|
const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
|
|
30
30
|
const mode = getIonMode(this);
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
|
|
32
32
|
[mode]: true,
|
|
33
33
|
'skeleton-text-animated': animated,
|
|
34
34
|
'in-media': inMedia,
|
|
35
|
-
} }, h("span", { key: '
|
|
35
|
+
} }, h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
|
|
36
36
|
}
|
|
37
37
|
static get is() { return "ion-skeleton-text"; }
|
|
38
38
|
static get encapsulation() { return "shadow"; }
|
|
@@ -39,7 +39,7 @@ export class Spinner {
|
|
|
39
39
|
svgs.push(buildLine(spinner, duration, i, spinner.lines));
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
return (h(Host, { key: '
|
|
42
|
+
return (h(Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: createColorClasses(self.color, {
|
|
43
43
|
[mode]: true,
|
|
44
44
|
[`spinner-${spinnerName}`]: true,
|
|
45
45
|
'spinner-paused': self.paused || config.getBoolean('_testing'),
|
|
@@ -126,12 +126,12 @@ export class SplitPane {
|
|
|
126
126
|
}
|
|
127
127
|
render() {
|
|
128
128
|
const mode = getIonMode(this);
|
|
129
|
-
return (h(Host, { key: '
|
|
129
|
+
return (h(Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
|
|
130
130
|
[mode]: true,
|
|
131
131
|
// Used internally for styling
|
|
132
132
|
[`split-pane-${mode}`]: true,
|
|
133
133
|
'split-pane-visible': this.visible,
|
|
134
|
-
} }, h("slot", { key: '
|
|
134
|
+
} }, h("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
|
|
135
135
|
}
|
|
136
136
|
static get is() { return "ion-split-pane"; }
|
|
137
137
|
static get encapsulation() { return "shadow"; }
|
|
@@ -47,10 +47,10 @@ export class Tab {
|
|
|
47
47
|
}
|
|
48
48
|
render() {
|
|
49
49
|
const { tab, active, component } = this;
|
|
50
|
-
return (h(Host, { key: '
|
|
50
|
+
return (h(Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
51
51
|
'ion-page': component === undefined,
|
|
52
52
|
'tab-hidden': !active,
|
|
53
|
-
} }, h("slot", { key: '
|
|
53
|
+
} }, h("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
|
|
54
54
|
}
|
|
55
55
|
static get is() { return "ion-tab"; }
|
|
56
56
|
static get encapsulation() { return "shadow"; }
|
|
@@ -87,11 +87,11 @@ export class TabBar {
|
|
|
87
87
|
const { color, translucent, keyboardVisible } = this;
|
|
88
88
|
const mode = getIonMode(this);
|
|
89
89
|
const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
|
|
90
|
-
return (h(Host, { key: '
|
|
90
|
+
return (h(Host, { key: '24e164eaf81a0bec9237b561465618f10990806c', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
|
|
91
91
|
[mode]: true,
|
|
92
92
|
'tab-bar-translucent': translucent,
|
|
93
93
|
'tab-bar-hidden': shouldHide,
|
|
94
|
-
}) }, h("slot", { key: '
|
|
94
|
+
}) }, h("slot", { key: '0ca29a2d97a7c38bbf43f8d79e271b874b4d9be8' })));
|
|
95
95
|
}
|
|
96
96
|
static get is() { return "ion-tab-bar"; }
|
|
97
97
|
static get encapsulation() { return "shadow"; }
|
|
@@ -70,7 +70,7 @@ export class TabButton {
|
|
|
70
70
|
rel,
|
|
71
71
|
target,
|
|
72
72
|
};
|
|
73
|
-
return (h(Host, { key: '
|
|
73
|
+
return (h(Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
|
|
74
74
|
[mode]: true,
|
|
75
75
|
'tab-selected': selected,
|
|
76
76
|
'tab-disabled': disabled,
|
|
@@ -82,7 +82,7 @@ export class TabButton {
|
|
|
82
82
|
'ion-activatable': true,
|
|
83
83
|
'ion-selectable': true,
|
|
84
84
|
'ion-focusable': true,
|
|
85
|
-
} }, h("a", Object.assign({ key: '
|
|
85
|
+
} }, h("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, h("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && h("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
|
|
86
86
|
}
|
|
87
87
|
static get is() { return "ion-tab-button"; }
|
|
88
88
|
static get encapsulation() { return "shadow"; }
|
|
@@ -162,7 +162,7 @@ export class Tabs {
|
|
|
162
162
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
163
163
|
}
|
|
164
164
|
render() {
|
|
165
|
-
return (h(Host, { key: '
|
|
165
|
+
return (h(Host, { key: 'c7131135b31aa312dc0207602561e1c0f4ac3e53', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '6c46e91c0389bbcea1f15f35cf3ea513a74ac545', name: "top" }), h("div", { key: '4f1b649d8bb60b61402b97359de204979c5eda52', class: "tabs-inner" }, h("slot", { key: '8d1ef4952be4fb33567376e1083ea4da697fcae0' })), h("slot", { key: '260b8da8031494e9cb4635b3d22c49a433042db1', name: "bottom" })));
|
|
166
166
|
}
|
|
167
167
|
static get is() { return "ion-tabs"; }
|
|
168
168
|
static get encapsulation() { return "shadow"; }
|