@ionic/core 9.0.1-dev.11787949960.1e63841c → 9.0.1-dev.11788285010.17561004
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- 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 +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/{dist/ionic/p-BpG7jkT9.js → components/p-66ogmUZU.js} +1 -1
- package/components/p-6Vp915Y7.js +4 -0
- package/components/{p-B2L09UOs.js → p-7PNwKFZi.js} +1 -1
- package/components/{p-C8mPeq0D.js → p-A8MJRBIY.js} +1 -1
- package/components/p-AQcCdH2_.js +4 -0
- package/components/{p-DkEb3SCT.js → p-B6x5_b9w.js} +1 -1
- package/components/{p-CDKY4TZ_.js → p-B8MQjdvk.js} +1 -1
- package/components/{p-CLZPNP7x.js → p-BA_4ZIEg.js} +1 -1
- package/components/{p-CyKlfXdt.js → p-BFtL8t1r.js} +1 -1
- package/components/{p-RRH-7cpd.js → p-BMfgF-Tv.js} +1 -1
- package/components/{p-l-zxxFre.js → p-BPDxVIRr.js} +1 -1
- package/{dist/ionic/p-BC17SPKH.js → components/p-BSARlp49.js} +1 -1
- package/components/p-BdwCtX8Y.js +4 -0
- package/components/p-Bg4OwDwb.js +4 -0
- package/components/{p-CBhGZ6rF.js → p-BgUIV8NQ.js} +1 -1
- package/components/{p-CxiXpCtB.js → p-Bnc0m4SW.js} +1 -1
- package/components/{p-7qDu1bID.js → p-BpLt_Ptn.js} +1 -1
- package/components/{p-C12SAK00.js → p-BqBDq1Ma.js} +1 -1
- package/components/{p-mXsQnyWB.js → p-BrFaQbGY.js} +1 -1
- package/{dist/ionic/p-CoEa7CiN.js → components/p-BuPAFTWI.js} +1 -1
- package/components/{p-CB06XtlF.js → p-Bx2saTHs.js} +1 -1
- package/components/p-BxhE2W85.js +4 -0
- package/components/p-CHswSpKy.js +4 -0
- package/components/p-CQAjyETU.js +4 -0
- package/components/p-CR9OgE6N.js +4 -0
- package/components/{p-CEkamjav.js → p-CWETxTjE.js} +1 -1
- package/components/p-CaZeZIL2.js +4 -0
- package/components/{p-CuS0-WwK.js → p-CaiZOhfC.js} +1 -1
- package/components/{p-BFwL2yyK.js → p-CgvDC7hC.js} +1 -1
- package/components/p-CqyGR9Aq.js +4 -0
- package/components/{p-DMkSsriG.js → p-D7ysFE2B.js} +1 -1
- package/components/p-DCWfzDM8.js +4 -0
- package/{dist/ionic/p-DA88iqXQ.js → components/p-DDdkefwf.js} +1 -1
- package/components/{p-CJTKYpZv.js → p-DEW7CnUc.js} +1 -1
- package/components/p-DQ1IPvZO.js +4 -0
- package/components/{p-BAJ7NctL.js → p-DcOH6-o5.js} +1 -1
- package/components/p-DfdYCsov.js +4 -0
- package/{dist/ionic/p-DoUx_N0R.js → components/p-DhOoEIAs.js} +1 -1
- package/components/p-Dl_7b_UJ.js +4 -0
- package/components/p-DqAI6tg7.js +4 -0
- package/components/p-DrehWDfv.js +4 -0
- package/components/{p-BWHBdLfY.js → p-DysqCsJu.js} +1 -1
- package/components/{p-BqE7e5gH.js → p-H1f2qsk4.js} +1 -1
- package/components/p-HVYBAhFx.js +4 -0
- package/components/{p-BE9noJ1O.js → p-Kmrg3Fed.js} +1 -1
- package/{dist/ionic/p-wdSUbx5C.js → components/p-RFfE9hF6.js} +1 -1
- package/components/{p-Bcm-GVQM.js → p-SR-LLqp_.js} +1 -1
- package/components/p-eFI3mtEX.js +4 -0
- package/components/{p-5rFO7X8J.js → p-gFwXiYC_.js} +1 -1
- package/components/{p-COxY7PLK.js → p-tX3UxCnU.js} +1 -1
- package/components/{p-VTfnz_8u.js → p-v2NpoOHp.js} +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{animation-ihPP_z2n.js → animation-D-OqR4a4.js} +1 -1
- package/dist/cjs/{app-globals-BlkzA410.js → app-globals-BzgwARwJ.js} +1 -1
- package/dist/cjs/{button-active-ItGBjzmO.js → button-active-BlWSD7uK.js} +1 -1
- package/dist/cjs/{format-CPIqtp4x.js → format-D7ig6Vm0.js} +1 -1
- package/dist/cjs/{framework-delegate-DhyWUPGg.js → framework-delegate-BZUx4TnE.js} +1 -1
- package/dist/cjs/{hardware-back-button-D5f_kASb.js → hardware-back-button-JOAEFSzc.js} +1 -1
- package/dist/cjs/{helpers-BCLkFTTd.js → helpers-Dj5o76mq.js} +1 -1
- package/dist/cjs/{index-CldjPPyP.js → index-2sO-zkZ2.js} +4 -4
- package/dist/cjs/{index-Bgz6BcKx.js → index-BrVMoqUk.js} +16 -50
- package/dist/cjs/{index-49DTLc_Z.js → index-C8zH6b3d.js} +2 -2
- package/dist/cjs/{index-BcyiqD6R.js → index-CZ6vzt_q.js} +5 -5
- package/dist/cjs/{index-xum7jdbq.js → index-Csue6G3m.js} +2 -2
- package/dist/cjs/{index-BocV_y-c.js → index-EJLjthTK.js} +1 -2
- package/dist/cjs/index.cjs.js +12 -12
- package/dist/cjs/{input-shims-Jisy7U7-.js → input-shims-Bh7bnt2v.js} +3 -3
- package/dist/cjs/{input.utils-BDTpGrfn.js → input.utils-Cq3g9uHy.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +29 -45
- package/dist/cjs/ion-alert.cjs.entry.js +21 -29
- package/dist/cjs/ion-app_8.cjs.entry.js +16 -38
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
- package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime.cjs.entry.js +24 -32
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-option_3.cjs.entry.js +15 -13
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +10 -14
- package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-modal.cjs.entry.js +32 -85
- package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column.cjs.entry.js +46 -210
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +10 -23
- package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
- package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +10 -14
- package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
- package/dist/cjs/ion-select_3.cjs.entry.js +47 -57
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
- 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 +5 -5
- package/dist/cjs/ion-toast.cjs.entry.js +8 -8
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
- package/dist/cjs/{ionic-global-BMU-Us1Q.js → ionic-global-DvgIzM2F.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-OCcCN--B.js → ios.transition-zIgdoSYe.js} +4 -4
- package/dist/cjs/{item-multiple-inputs-BH9yPC66.js → item-multiple-inputs-DG-ZGm6j.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-D0o2IIbo.js → md.transition-CXeJ9rfh.js} +4 -4
- package/dist/cjs/{overlays-HN9joo1Z.js → overlays-Bg0auTQa.js} +34 -59
- package/dist/cjs/{select-option-render-BPjGDlsG.js → select-option-render-7m1WdFzF.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-IQ250LoG.js → slot-mutation-controller-BJEJzx_e.js} +1 -1
- package/dist/cjs/{status-tap-Bakl9czs.js → status-tap-DxbUM5XX.js} +3 -3
- package/dist/cjs/{swipe-back-Cv4OZVJ5.js → swipe-back-F_DBt-Aw.js} +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/action-sheet/action-sheet.js +20 -36
- package/dist/collection/components/alert/alert.js +12 -20
- package/dist/collection/components/content/content.js +4 -26
- package/dist/collection/components/datetime/datetime.js +17 -25
- package/dist/collection/components/item-sliding/item-sliding.js +12 -10
- package/dist/collection/components/loading/loading.js +3 -7
- package/dist/collection/components/modal/modal.ios.css +1 -12
- package/dist/collection/components/modal/modal.js +22 -75
- package/dist/collection/components/modal/modal.md.css +1 -12
- package/dist/collection/components/picker-column/picker-column.js +43 -207
- package/dist/collection/components/popover/popover.js +3 -16
- package/dist/collection/components/segment-button/segment-button.js +7 -11
- package/dist/collection/components/select/select.js +39 -49
- package/dist/collection/utils/overlays.js +29 -53
- package/dist/collection/utils/test/playwright/index.js +0 -1
- package/dist/docs.json +48 -279
- package/dist/esm/{animation-B6KGUJwl.js → animation-TxGPYeDn.js} +1 -1
- package/dist/esm/{app-globals-BvutUX8P.js → app-globals-Do8rJest.js} +1 -1
- package/dist/esm/{button-active-DRNebs9r.js → button-active-ChA4D-ml.js} +1 -1
- package/dist/esm/{format-BF3btM7P.js → format-CVk5e_GP.js} +1 -1
- package/dist/esm/{framework-delegate-60cEIAgt.js → framework-delegate-DaLWnISz.js} +1 -1
- package/dist/esm/{hardware-back-button-rhkwRNk2.js → hardware-back-button-D8W4L0JP.js} +1 -1
- package/dist/esm/{helpers-DLLANtRS.js → helpers-BIgoInJU.js} +1 -1
- package/dist/esm/{index-DOrtAUWV.js → index-BmOR8tCv.js} +2 -2
- package/dist/esm/{index-D_7MeuVD.js → index-C5ZdL0qp.js} +5 -5
- package/dist/esm/{index-BZHVn0iF.js → index-C8Dsa6li.js} +4 -4
- package/dist/esm/{index-h81G-QbJ.js → index-CKYcsw8f.js} +16 -50
- package/dist/esm/{index-Bl4BUvBL.js → index-DHw2lZxe.js} +2 -2
- package/dist/esm/{index-JgU5uTSY.js → index-elneMH8y.js} +2 -2
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-C2ipc_XX.js → input-shims-09NN97kF.js} +3 -3
- package/dist/esm/{input.utils-D-qoPjqr.js → input.utils-BxyH9l1w.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +29 -45
- package/dist/esm/ion-alert.entry.js +21 -29
- package/dist/esm/ion-app_8.entry.js +16 -38
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +3 -3
- package/dist/esm/ion-card_5.entry.js +3 -3
- package/dist/esm/ion-checkbox.entry.js +4 -4
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +4 -4
- package/dist/esm/ion-datetime.entry.js +24 -32
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
- package/dist/esm/ion-input-otp.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item-option_3.entry.js +15 -13
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +10 -14
- package/dist/esm/ion-menu_3.entry.js +8 -8
- package/dist/esm/ion-modal.entry.js +32 -85
- package/dist/esm/ion-nav_2.entry.js +6 -6
- package/dist/esm/ion-picker-column-option.entry.js +3 -3
- package/dist/esm/ion-picker-column.entry.js +47 -211
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +10 -23
- package/dist/esm/ion-progress-bar.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +6 -6
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +4 -4
- package/dist/esm/ion-searchbar.entry.js +3 -3
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +10 -14
- package/dist/esm/ion-select-modal.entry.js +8 -8
- package/dist/esm/ion-select_3.entry.js +47 -57
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +3 -3
- 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 +5 -5
- package/dist/esm/ion-toast.entry.js +8 -8
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/{ionic-global-B7I1sdvg.js → ionic-global-lrowsHfi.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-C-6IaIxe.js → ios.transition-BQhADrk1.js} +4 -4
- package/dist/esm/{item-multiple-inputs-DI91syHS.js → item-multiple-inputs-D_N3fDkD.js} +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-dyqt0t0d.js → md.transition-D58NpmRa.js} +4 -4
- package/dist/esm/{overlays-Dz2cGX5q.js → overlays-BpnIFlXI.js} +35 -59
- package/dist/esm/{select-option-render-CUJpruSC.js → select-option-render-lIuu64EV.js} +2 -2
- package/dist/esm/{slot-mutation-controller-wFuztlVD.js → slot-mutation-controller-rS_T3FDR.js} +1 -1
- package/dist/esm/{status-tap-Dn_42wiy.js → status-tap-CpFQMLl6.js} +3 -3
- package/dist/esm/{swipe-back-CqOqrHW7.js → swipe-back-rmc7zeNW.js} +2 -2
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-025763b2.entry.js → p-05800a02.entry.js} +1 -1
- package/dist/ionic/p-0eb50dca.entry.js +4 -0
- package/dist/ionic/{p-0b52d921.entry.js → p-16e9f542.entry.js} +1 -1
- package/dist/ionic/p-18d532a3.entry.js +4 -0
- package/dist/ionic/{p-a2fccdaa.entry.js → p-1db2afb4.entry.js} +1 -1
- package/dist/ionic/{p-5ed60413.entry.js → p-1df75f9e.entry.js} +1 -1
- package/dist/ionic/{p-2ff12c8a.entry.js → p-295ff427.entry.js} +1 -1
- package/dist/ionic/p-34b9379b.entry.js +4 -0
- package/dist/ionic/{p-cc749877.entry.js → p-39a8d4e0.entry.js} +1 -1
- package/dist/ionic/p-4437015c.entry.js +4 -0
- package/dist/ionic/{p-53ba5651.entry.js → p-478035a7.entry.js} +1 -1
- package/dist/ionic/{p-1a20571c.entry.js → p-485fb218.entry.js} +1 -1
- package/dist/ionic/p-48c859fe.entry.js +4 -0
- package/dist/ionic/p-49b9d405.entry.js +4 -0
- package/dist/ionic/{p-d1539609.entry.js → p-56307aea.entry.js} +1 -1
- package/dist/ionic/{p-eeb65463.entry.js → p-5ee2d7b1.entry.js} +1 -1
- package/dist/ionic/{p-ca57763d.entry.js → p-5f216b79.entry.js} +1 -1
- package/dist/ionic/{p-fb4dabbb.entry.js → p-61c799d1.entry.js} +1 -1
- package/dist/ionic/{p-fe80ebb1.entry.js → p-63bbba8d.entry.js} +1 -1
- package/dist/ionic/p-68507e70.entry.js +4 -0
- package/dist/ionic/{p-43bae3f5.entry.js → p-6f048604.entry.js} +1 -1
- package/dist/ionic/{p-dadcb3d2.entry.js → p-70ee8888.entry.js} +1 -1
- package/dist/ionic/{p-7c859f42.entry.js → p-72ad7c64.entry.js} +1 -1
- package/dist/ionic/{p-90e06e60.entry.js → p-75887ee0.entry.js} +1 -1
- package/dist/ionic/{p-bdc01880.entry.js → p-873a315a.entry.js} +1 -1
- package/dist/ionic/{p-f0645c98.entry.js → p-881b6954.entry.js} +1 -1
- package/dist/ionic/p-886d9e66.entry.js +4 -0
- package/dist/ionic/{p-5dc53bdf.entry.js → p-8dd4c026.entry.js} +1 -1
- package/dist/ionic/{p-9f2d3987.entry.js → p-8e007f11.entry.js} +1 -1
- package/dist/ionic/p-8f464a8f.entry.js +4 -0
- package/dist/ionic/p-8f51110d.entry.js +4 -0
- package/dist/ionic/{p-1f66c230.entry.js → p-90ba736e.entry.js} +1 -1
- package/dist/ionic/{p-8d72244b.entry.js → p-959df5f8.entry.js} +1 -1
- package/dist/ionic/{p-8e388a30.entry.js → p-9e455875.entry.js} +1 -1
- package/{components/p-BcuLPPAE.js → dist/ionic/p-9wczfs_v.js} +1 -1
- package/dist/ionic/{p-C10K-FJg.js → p-B1Y7LZhV.js} +1 -1
- package/dist/ionic/p-B5RyLYvl.js +4 -0
- package/dist/ionic/p-BQv5i5Kf.js +4 -0
- package/dist/ionic/{p-CH8tk7Pr.js → p-BZVE25Gu.js} +1 -1
- package/{components/p-CdSLe3Q3.js → dist/ionic/p-BZxjcGRP.js} +1 -1
- package/dist/ionic/p-BnGA34Pd.js +4 -0
- package/dist/ionic/{p-Q9w8L_Sw.js → p-ByLaqOPm.js} +1 -1
- package/dist/ionic/p-C06QNN45.js +4 -0
- package/dist/ionic/{p-KJ5pLPiN.js → p-C4IBDDj6.js} +1 -1
- package/dist/ionic/p-CCVlNZ__.js +4 -0
- package/dist/ionic/{p-CTBfxfjC.js → p-CDBop-kz.js} +1 -1
- package/dist/ionic/p-CKYcsw8f.js +5 -0
- package/dist/ionic/p-CazSodad.js +4 -0
- package/dist/ionic/{p-S1shXW5M.js → p-ClrlQU2y.js} +1 -1
- package/{components/p-DG-dUCKp.js → dist/ionic/p-D0dfUysx.js} +1 -1
- package/dist/ionic/{p-C2BY_4Wp.js → p-D9yvytgv.js} +1 -1
- package/{components/p-DH0rRXjx.js → dist/ionic/p-DF_Uqql8.js} +1 -1
- package/dist/ionic/{p-DMj-M2c4.js → p-DXJgZWgi.js} +1 -1
- package/dist/ionic/p-DdhHqKj-.js +4 -0
- package/dist/ionic/{p-BRc8gq5v.js → p-De0eY881.js} +1 -1
- package/dist/ionic/p-DgUL3JbO.js +4 -0
- package/dist/ionic/{p-06ZcwRF5.js → p-RzUn7cKs.js} +1 -1
- package/dist/ionic/p-VquyMbjp.js +4 -0
- package/dist/ionic/{p-2aabd568.entry.js → p-a0fee899.entry.js} +1 -1
- package/dist/ionic/{p-9e688396.entry.js → p-a54bcd16.entry.js} +1 -1
- package/dist/ionic/{p-eaeac54e.entry.js → p-aebc4d69.entry.js} +1 -1
- package/dist/ionic/{p-9452849d.entry.js → p-b5f37106.entry.js} +1 -1
- package/dist/ionic/{p-082b8125.entry.js → p-b62bfce8.entry.js} +1 -1
- package/dist/ionic/p-b7a11b58.entry.js +4 -0
- package/dist/ionic/{p-546b1109.entry.js → p-bbf6878c.entry.js} +1 -1
- package/dist/ionic/{p-e93cc1e1.entry.js → p-c49165af.entry.js} +1 -1
- package/dist/ionic/{p-9eba0d8a.entry.js → p-cad4eccf.entry.js} +1 -1
- package/dist/ionic/{p-d1b888de.entry.js → p-cdc5115e.entry.js} +1 -1
- package/dist/ionic/{p-47b8b59a.entry.js → p-d3384a40.entry.js} +1 -1
- package/dist/ionic/{p-f607ad4f.entry.js → p-d8bae128.entry.js} +1 -1
- package/dist/ionic/{p-026e2e4c.entry.js → p-d8deff43.entry.js} +1 -1
- package/dist/ionic/{p-6d84fa9f.entry.js → p-ddfb7e5f.entry.js} +1 -1
- package/dist/ionic/{p-ecfc9c71.entry.js → p-e538f18d.entry.js} +1 -1
- package/dist/ionic/{p-83aa7d47.entry.js → p-f376876b.entry.js} +1 -1
- package/dist/ionic/p-f521b13c.entry.js +4 -0
- package/dist/ionic/{p-ac71362a.entry.js → p-fbd83d4c.entry.js} +1 -1
- package/dist/types/components/action-sheet/action-sheet.d.ts +0 -10
- package/dist/types/components/alert/alert.d.ts +0 -7
- package/dist/types/components/content/content.d.ts +0 -7
- package/dist/types/components/modal/modal.d.ts +0 -8
- package/dist/types/components/picker-column/picker-column.d.ts +0 -42
- package/dist/types/components.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +0 -12
- package/dist/types/utils/overlays.d.ts +0 -9
- package/dist/types/utils/test/playwright/index.d.ts +0 -1
- package/hydrate/index.js +213 -558
- package/hydrate/index.mjs +213 -558
- package/loader/index.d.ts +1 -1
- package/package.json +2 -2
- package/components/p-BhlP16sB.js +0 -4
- package/components/p-C8Tp0cQy.js +0 -4
- package/components/p-CFtAWaB6.js +0 -4
- package/components/p-CQxPXWNM.js +0 -4
- package/components/p-CRcX0EGs.js +0 -4
- package/components/p-CVNvmbDp.js +0 -4
- package/components/p-CXpy69Ei.js +0 -4
- package/components/p-CoGD-oMG.js +0 -4
- package/components/p-CpYeYl3u.js +0 -4
- package/components/p-D2XJVty5.js +0 -4
- package/components/p-DALTMT_o.js +0 -4
- package/components/p-Dr-rBSUW.js +0 -4
- package/components/p-MHpJ2A_m.js +0 -4
- package/components/p-N6lZFXYR.js +0 -4
- package/components/p-QgdyH-Zs.js +0 -4
- package/components/p-UKksD3f9.js +0 -4
- package/components/p-fP0QF3iG.js +0 -4
- package/components/p-ntAkt4Ra.js +0 -4
- package/components/p-ufB0gCSU.js +0 -4
- package/components/p-z-BF3clL.js +0 -4
- package/dist/collection/utils/test/late-props/late-props.js +0 -69
- package/dist/collection/utils/test/playwright/detach-reattach.js +0 -23
- package/dist/ionic/p-010601fe.entry.js +0 -4
- package/dist/ionic/p-0c2b3555.entry.js +0 -4
- package/dist/ionic/p-326e0d05.entry.js +0 -4
- package/dist/ionic/p-392079fa.entry.js +0 -4
- package/dist/ionic/p-4778b90f.entry.js +0 -4
- package/dist/ionic/p-639d3b55.entry.js +0 -4
- package/dist/ionic/p-7dec112e.entry.js +0 -4
- package/dist/ionic/p-9fef333a.entry.js +0 -4
- package/dist/ionic/p-BRa1Jjxr.js +0 -4
- package/dist/ionic/p-Cc-fFNy8.js +0 -4
- package/dist/ionic/p-Cc4w3fVf.js +0 -4
- package/dist/ionic/p-CvRL-Eju.js +0 -4
- package/dist/ionic/p-D_IgV7tz.js +0 -4
- package/dist/ionic/p-b8cd338d.entry.js +0 -4
- package/dist/ionic/p-d85e59b1.entry.js +0 -4
- package/dist/ionic/p-dad2f3e4.entry.js +0 -4
- package/dist/ionic/p-eab77a74.entry.js +0 -4
- package/dist/ionic/p-h81G-QbJ.js +0 -6
- package/dist/ionic/p-nxFQkv7U.js +0 -4
- package/dist/ionic/p-w3KTiug9.js +0 -4
- package/dist/types/utils/test/playwright/detach-reattach.d.ts +0 -13
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
5
|
import { findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../utils/content/index";
|
|
6
|
-
import {
|
|
6
|
+
import { isEndSide } from "../../utils/helpers";
|
|
7
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
8
8
|
import { watchForOptions } from "../../utils/watch-options";
|
|
9
9
|
import { getIonMode } from "../../global/ionic-global";
|
|
@@ -178,17 +178,19 @@ export class ItemSliding {
|
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
async updateOptions() {
|
|
181
|
-
const options =
|
|
182
|
-
/**
|
|
183
|
-
* Frameworks that assign element props after inserting the element haven't set
|
|
184
|
-
* `side` while `connectedCallback` runs, so reading it any earlier reports every
|
|
185
|
-
* option as `end`.
|
|
186
|
-
*/
|
|
187
|
-
await Promise.all(options.map((option) => new Promise((resolve) => componentOnReady(option, resolve))));
|
|
181
|
+
const options = this.el.querySelectorAll('ion-item-options');
|
|
188
182
|
let sides = 0;
|
|
189
183
|
// Reset left and right options in case they were removed
|
|
190
184
|
this.leftOptions = this.rightOptions = undefined;
|
|
191
|
-
for (
|
|
185
|
+
for (let i = 0; i < options.length; i++) {
|
|
186
|
+
const item = options.item(i);
|
|
187
|
+
/**
|
|
188
|
+
* We cannot use the componentOnReady helper
|
|
189
|
+
* util here since we need to wait for all of these items
|
|
190
|
+
* to be ready before we set `this.sides` and `this.optsDirty`.
|
|
191
|
+
*/
|
|
192
|
+
// eslint-disable-next-line custom-rules/no-component-on-ready-method
|
|
193
|
+
const option = item.componentOnReady !== undefined ? await item.componentOnReady() : item;
|
|
192
194
|
const side = isEndSide(option.side ?? option.getAttribute('side')) ? 'end' : 'start';
|
|
193
195
|
if (side === 'start') {
|
|
194
196
|
this.leftOptions = option;
|
|
@@ -387,7 +389,7 @@ export class ItemSliding {
|
|
|
387
389
|
}
|
|
388
390
|
render() {
|
|
389
391
|
const mode = getIonMode(this);
|
|
390
|
-
return (h(Host, { key: '
|
|
392
|
+
return (h(Host, { key: '15f6a98f8c888e86c29827cdf55d98ace08699dd', class: {
|
|
391
393
|
[mode]: true,
|
|
392
394
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
393
395
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
6
6
|
import { raf } from "../../utils/helpers";
|
|
7
7
|
import { createLockController } from "../../utils/lock-controller";
|
|
8
|
-
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, prepareOverlay, present,
|
|
8
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
|
|
9
9
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
10
10
|
import { getClassMap } from "../../utils/theme";
|
|
11
11
|
import { config } from "../../global/config";
|
|
@@ -82,10 +82,6 @@ export class Loading {
|
|
|
82
82
|
connectedCallback() {
|
|
83
83
|
prepareOverlay(this.el);
|
|
84
84
|
this.triggerChanged();
|
|
85
|
-
// Re-apply the root lock if moved without dismiss() being called
|
|
86
|
-
if (this.presented) {
|
|
87
|
-
restoreRootFocusTrapAccessibility(this.el);
|
|
88
|
-
}
|
|
89
85
|
}
|
|
90
86
|
componentWillLoad() {
|
|
91
87
|
if (this.spinner === undefined) {
|
|
@@ -186,14 +182,14 @@ export class Loading {
|
|
|
186
182
|
* Otherwise, don't set aria-labelledby.
|
|
187
183
|
*/
|
|
188
184
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
189
|
-
return (h(Host, { key: '
|
|
185
|
+
return (h(Host, { key: '2d14122ff3081de73631a7fdd4affdd5c73b8618', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1", ...htmlAttributes, style: {
|
|
190
186
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
191
187
|
}, onIonBackdropTap: this.onBackdropTap, class: {
|
|
192
188
|
...getClassMap(this.cssClass),
|
|
193
189
|
[mode]: true,
|
|
194
190
|
'overlay-hidden': true,
|
|
195
191
|
'loading-translucent': this.translucent,
|
|
196
|
-
} }, h("ion-backdrop", { key: '
|
|
192
|
+
} }, h("ion-backdrop", { key: 'b7d5bb0d670a20c159d7f67327bf3b1489449188', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '085ce92bd2004d323ab47eb472b83826e48dc619', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '4ecd5bfc0bbd3da434d32f0f319f867a44c5e1f1', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '5a4498e1421e09d01c0ee4312eae5272e95c3127', class: "loading-spinner" }, h("ion-spinner", { key: '1b3bc7d45d775195657ead3535f65e6b79f37e84', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'bc7c5467b9f1c6ab957f79934e97acc713bdec37', tabindex: "0", "aria-hidden": "true" })));
|
|
197
193
|
}
|
|
198
194
|
static get is() { return "ion-loading"; }
|
|
199
195
|
static get encapsulation() { return "scoped"; }
|
|
@@ -77,12 +77,7 @@
|
|
|
77
77
|
--max-width: auto;
|
|
78
78
|
--height: 100%;
|
|
79
79
|
--min-height: auto;
|
|
80
|
-
|
|
81
|
-
* Clamps a content-sized `--height` (auto, fit-content, ...) to the
|
|
82
|
-
* overlay, giving the wrapper's flex children something to shrink
|
|
83
|
-
* toward so `ion-content` scrolls instead of overflowing.
|
|
84
|
-
*/
|
|
85
|
-
--max-height: 100%;
|
|
80
|
+
--max-height: auto;
|
|
86
81
|
--overflow: hidden;
|
|
87
82
|
--border-radius: 0;
|
|
88
83
|
--border-width: 0;
|
|
@@ -134,14 +129,8 @@ ion-backdrop {
|
|
|
134
129
|
/**
|
|
135
130
|
* The wrapper receives programmatic focus for screen readers but should not
|
|
136
131
|
* show a visible focus ring, which is meant only for keyboard navigation.
|
|
137
|
-
*
|
|
138
|
-
* A flex layout is required for the wrapper to size itself to its content
|
|
139
|
-
* when the modal is content-sized (`--height` is auto, fit-content, ...).
|
|
140
|
-
* This makes it so that the content can scroll when it overflows the wrapper.
|
|
141
132
|
*/
|
|
142
133
|
.modal-wrapper {
|
|
143
|
-
display: flex;
|
|
144
|
-
flex-direction: column;
|
|
145
134
|
outline: none;
|
|
146
135
|
}
|
|
147
136
|
|
|
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
|
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
10
|
import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
|
|
11
|
-
import { BACKDROP, cleanupRootFocusTrapAccessibility, createTriggerController, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, GESTURE, prepareOverlay, present,
|
|
11
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createTriggerController, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, GESTURE, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
14
14
|
import { config } from "../../global/config";
|
|
@@ -43,9 +43,6 @@ export class Modal {
|
|
|
43
43
|
this.inline = false;
|
|
44
44
|
// Whether or not modal is being dismissed via gesture
|
|
45
45
|
this.gestureAnimationDismissing = false;
|
|
46
|
-
// True from the first safe-area write in `present()` until the enter
|
|
47
|
-
// animation settles. A position-based read in that window is not the rest position.
|
|
48
|
-
this.isPresenting = false;
|
|
49
46
|
this.presented = false;
|
|
50
47
|
/** @internal */
|
|
51
48
|
this.hasController = false;
|
|
@@ -282,17 +279,6 @@ export class Modal {
|
|
|
282
279
|
const { el } = this;
|
|
283
280
|
prepareOverlay(el);
|
|
284
281
|
this.triggerChanged();
|
|
285
|
-
// A disconnect tears down state this presentation still needs and cannot
|
|
286
|
-
// tell a re-insert from a removal, so put it back.
|
|
287
|
-
if (this.presented || this.isPresenting) {
|
|
288
|
-
this.restoreSafeAreaOverrides();
|
|
289
|
-
}
|
|
290
|
-
// A relocation from `willPresent` reaches these before `present()` has
|
|
291
|
-
// applied the lock, so they apply it instead. Both are idempotent.
|
|
292
|
-
if (this.presented) {
|
|
293
|
-
restoreRootFocusTrapAccessibility(el);
|
|
294
|
-
this.initParentRemovalObserver();
|
|
295
|
-
}
|
|
296
282
|
}
|
|
297
283
|
disconnectedCallback() {
|
|
298
284
|
this.triggerController.removeClickListener();
|
|
@@ -470,33 +456,25 @@ export class Modal {
|
|
|
470
456
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
471
457
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
472
458
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
473
|
-
|
|
459
|
+
// Set initial safe-area overrides before animation
|
|
460
|
+
this.setInitialSafeAreaOverrides();
|
|
474
461
|
const hasCardModal = presentingElement !== undefined;
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
*/
|
|
485
|
-
if (hasCardModal && getIonMode(this) === 'ios') {
|
|
486
|
-
// Cache the original status bar color before the modal is presented
|
|
487
|
-
this.statusBarStyle = await StatusBar.getStyle();
|
|
488
|
-
setCardStatusBarDark();
|
|
489
|
-
}
|
|
490
|
-
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
491
|
-
presentingEl: presentingElement,
|
|
492
|
-
currentBreakpoint: this.initialBreakpoint,
|
|
493
|
-
backdropBreakpoint: this.backdropBreakpoint,
|
|
494
|
-
expandToScroll: this.expandToScroll,
|
|
495
|
-
});
|
|
496
|
-
}
|
|
497
|
-
finally {
|
|
498
|
-
this.isPresenting = false;
|
|
462
|
+
/**
|
|
463
|
+
* We need to change the status bar at the
|
|
464
|
+
* start of the animation so that it completes
|
|
465
|
+
* by the time the card animation is done.
|
|
466
|
+
*/
|
|
467
|
+
if (hasCardModal && getIonMode(this) === 'ios') {
|
|
468
|
+
// Cache the original status bar color before the modal is presented
|
|
469
|
+
this.statusBarStyle = await StatusBar.getStyle();
|
|
470
|
+
setCardStatusBarDark();
|
|
499
471
|
}
|
|
472
|
+
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
473
|
+
presentingEl: presentingElement,
|
|
474
|
+
currentBreakpoint: this.initialBreakpoint,
|
|
475
|
+
backdropBreakpoint: this.backdropBreakpoint,
|
|
476
|
+
expandToScroll: this.expandToScroll,
|
|
477
|
+
});
|
|
500
478
|
// Update safe-area based on actual position after animation
|
|
501
479
|
this.updateSafeAreaOverrides();
|
|
502
480
|
// Apply fullscreen safe-area padding if needed
|
|
@@ -1006,9 +984,6 @@ export class Modal {
|
|
|
1006
984
|
this.cachedOriginalParent.tagName === 'ION-APP') {
|
|
1007
985
|
return;
|
|
1008
986
|
}
|
|
1009
|
-
// Both `present()` and a reconnect call this, so drop any existing
|
|
1010
|
-
// observer. Below the guards, so a call that bails cannot leave none.
|
|
1011
|
-
this.cleanupParentRemovalObserver();
|
|
1012
987
|
this.parentRemovalObserver = new MutationObserver((mutations) => {
|
|
1013
988
|
mutations.forEach((mutation) => {
|
|
1014
989
|
if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
|
|
@@ -1087,9 +1062,6 @@ export class Modal {
|
|
|
1087
1062
|
// Set the internal offset property with the resolved root safe-area-top value
|
|
1088
1063
|
if (context.isSheetModal) {
|
|
1089
1064
|
this.updateSheetOffsetTop();
|
|
1090
|
-
// A restore after a DOM move runs this a second time for the same
|
|
1091
|
-
// modal, so drop the previous subscription rather than stacking one.
|
|
1092
|
-
this.unsubscribeRootSafeAreaTop?.();
|
|
1093
1065
|
this.unsubscribeRootSafeAreaTop = onRootSafeAreaTopChange((safeAreaTop) => this.updateSheetOffsetTop(safeAreaTop));
|
|
1094
1066
|
}
|
|
1095
1067
|
}
|
|
@@ -1208,31 +1180,6 @@ export class Modal {
|
|
|
1208
1180
|
const { contentEl } = this.findContentAndFooter();
|
|
1209
1181
|
this.clearContentSafeAreaPadding(contentEl);
|
|
1210
1182
|
}
|
|
1211
|
-
/**
|
|
1212
|
-
* Re-applies what `cleanupSafeAreaOverrides()` removed for a modal moved
|
|
1213
|
-
* while presented. Anything needing no measurement goes on synchronously so
|
|
1214
|
-
* the modal is never painted without safe-area. The position-based
|
|
1215
|
-
* correction waits a frame for the layout pass it reads.
|
|
1216
|
-
*/
|
|
1217
|
-
restoreSafeAreaOverrides() {
|
|
1218
|
-
this.setInitialSafeAreaOverrides();
|
|
1219
|
-
this.applyFullscreenSafeArea();
|
|
1220
|
-
raf(() => {
|
|
1221
|
-
// A dismiss or another move can land first, and a read before the enter
|
|
1222
|
-
// animation settles is not the rest position. `present()` redoes it.
|
|
1223
|
-
if (!this.presented || !this.el.isConnected || this.isPresenting) {
|
|
1224
|
-
return;
|
|
1225
|
-
}
|
|
1226
|
-
// A hidden subtree carries `display: none`, so there is no box and the
|
|
1227
|
-
// read would write the safe-area for a modal touching no edge. The
|
|
1228
|
-
// prediction applied above holds until the modal is shown again.
|
|
1229
|
-
const { width, height } = this.el.getBoundingClientRect();
|
|
1230
|
-
if (width === 0 && height === 0) {
|
|
1231
|
-
return;
|
|
1232
|
-
}
|
|
1233
|
-
this.updateSafeAreaOverrides();
|
|
1234
|
-
});
|
|
1235
|
-
}
|
|
1236
1183
|
render() {
|
|
1237
1184
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
1238
1185
|
const showHandle = handle !== false && isSheetModal;
|
|
@@ -1240,7 +1187,7 @@ export class Modal {
|
|
|
1240
1187
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1241
1188
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1242
1189
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
1243
|
-
return (h(Host, { key: '
|
|
1190
|
+
return (h(Host, { key: 'a471c293319cb6ee5ffb7ffafec0b8413e4289de', "no-router": true,
|
|
1244
1191
|
// Allow the modal to be navigable when the handle is focusable
|
|
1245
1192
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1, ...htmlAttributes, style: {
|
|
1246
1193
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
@@ -1253,7 +1200,7 @@ export class Modal {
|
|
|
1253
1200
|
'overlay-hidden': true,
|
|
1254
1201
|
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
1255
1202
|
...getClassMap(this.cssClass),
|
|
1256
|
-
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, h("ion-backdrop", { key: '
|
|
1203
|
+
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, h("ion-backdrop", { key: 'f67934afd4ddad64623856fb641cb6db846df428', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a23f5cb6cf60c8f717c1dd556bce375829c80a43', class: "modal-shadow" }), h("div", { key: '51eb6cd1070e4b7e49840a78dc7437238c867a01',
|
|
1257
1204
|
/*
|
|
1258
1205
|
role and aria-modal must be used on the
|
|
1259
1206
|
same element. They must also be set inside the
|
|
@@ -1266,9 +1213,9 @@ export class Modal {
|
|
|
1266
1213
|
without the tabindex focus() would be a no-op and screen readers
|
|
1267
1214
|
may not properly announce the dialog and its content when it opens.
|
|
1268
1215
|
*/
|
|
1269
|
-
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (h("button", { key: '
|
|
1216
|
+
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (h("button", { key: 'f49a144642b5c227c0c2b00b33f4c7e37a2bf088', class: "modal-handle",
|
|
1270
1217
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1271
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '
|
|
1218
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'e781c0d5881762c6b61aa432721a38b49580ff64', onSlotchange: this.onSlotChange }))));
|
|
1272
1219
|
}
|
|
1273
1220
|
static get is() { return "ion-modal"; }
|
|
1274
1221
|
static get encapsulation() { return "shadow"; }
|
|
@@ -77,12 +77,7 @@
|
|
|
77
77
|
--max-width: auto;
|
|
78
78
|
--height: 100%;
|
|
79
79
|
--min-height: auto;
|
|
80
|
-
|
|
81
|
-
* Clamps a content-sized `--height` (auto, fit-content, ...) to the
|
|
82
|
-
* overlay, giving the wrapper's flex children something to shrink
|
|
83
|
-
* toward so `ion-content` scrolls instead of overflowing.
|
|
84
|
-
*/
|
|
85
|
-
--max-height: 100%;
|
|
80
|
+
--max-height: auto;
|
|
86
81
|
--overflow: hidden;
|
|
87
82
|
--border-radius: 0;
|
|
88
83
|
--border-width: 0;
|
|
@@ -134,14 +129,8 @@ ion-backdrop {
|
|
|
134
129
|
/**
|
|
135
130
|
* The wrapper receives programmatic focus for screen readers but should not
|
|
136
131
|
* show a visible focus ring, which is meant only for keyboard navigation.
|
|
137
|
-
*
|
|
138
|
-
* A flex layout is required for the wrapper to size itself to its content
|
|
139
|
-
* when the modal is content-sized (`--height` is auto, fit-content, ...).
|
|
140
|
-
* This makes it so that the content can scroll when it overflows the wrapper.
|
|
141
132
|
*/
|
|
142
133
|
.modal-wrapper {
|
|
143
|
-
display: flex;
|
|
144
|
-
flex-direction: column;
|
|
145
134
|
outline: none;
|
|
146
135
|
}
|
|
147
136
|
|