@ionic/core 9.0.1-nightly.20260825 → 9.0.1
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/components/{p-CpYeYl3u.js → p-1sJ0ZDPe.js} +1 -1
- package/components/{p-RRH-7cpd.js → p-5ldEpNdG.js} +1 -1
- package/{dist/ionic/p-CoEa7CiN.js → components/p-6ZLn6K5e.js} +1 -1
- package/components/{p-BqE7e5gH.js → p-B4lxwJ8N.js} +1 -1
- package/components/{p-BAJ7NctL.js → p-BF48Oc0v.js} +1 -1
- package/components/{p-C8mPeq0D.js → p-BJr2B5hZ.js} +1 -1
- package/components/p-BNBnVi_1.js +4 -0
- package/components/p-BNIsryb2.js +4 -0
- package/components/{p-CJTKYpZv.js → p-BQyuFxYc.js} +1 -1
- package/components/{p-QgdyH-Zs.js → p-BT9-hMMz.js} +1 -1
- package/components/{p-BE9noJ1O.js → p-BWoa-cki.js} +1 -1
- package/components/{p-C12SAK00.js → p-BYJRZKHa.js} +1 -1
- package/{dist/ionic/p-DoUx_N0R.js → components/p-BgkOsq-d.js} +1 -1
- package/components/{p-BhlP16sB.js → p-Bi-it1EH.js} +1 -1
- package/components/p-C-NbvXu4.js +4 -0
- package/components/{p-Dcxr2vKX.js → p-C0493tbX.js} +1 -1
- package/components/{p-mXsQnyWB.js → p-C09TXohi.js} +1 -1
- package/{dist/ionic/p-C10K-FJg.js → components/p-C4VpVfrJ.js} +1 -1
- package/components/p-CG_zZq_I.js +4 -0
- package/components/{p-7qDu1bID.js → p-CJgnoKcN.js} +1 -1
- package/components/{p-CEkamjav.js → p-CMRYD_yR.js} +1 -1
- package/components/{p-CyKlfXdt.js → p-CNLioZ3B.js} +1 -1
- package/components/{p-CBhGZ6rF.js → p-COO0eJOA.js} +1 -1
- package/components/p-CWAks_S_.js +4 -0
- package/components/p-CWuIRJQN.js +4 -0
- package/components/{p-Bcm-GVQM.js → p-Cd1WaN-0.js} +1 -1
- package/components/{p-DMkSsriG.js → p-CqbGBmqb.js} +1 -1
- package/components/p-CrAKlX71.js +4 -0
- package/components/{p-CdSLe3Q3.js → p-Cw6WocLJ.js} +1 -1
- package/components/{p-CDKY4TZ_.js → p-D5w_FlVa.js} +1 -1
- package/{dist/ionic/p-wdSUbx5C.js → components/p-D7wDJdFn.js} +1 -1
- package/components/p-DFLJvuRK.js +4 -0
- package/components/p-DGPjJNOU.js +4 -0
- package/components/p-DJR0R0e1.js +4 -0
- package/components/{p-l-zxxFre.js → p-DL13ieTa.js} +1 -1
- package/components/{p-BWHBdLfY.js → p-DM1gJSMP.js} +1 -1
- package/components/{p-CLZPNP7x.js → p-DMBiAyOR.js} +1 -1
- package/components/{p-VTfnz_8u.js → p-DZRZic9C.js} +1 -1
- package/components/{p-CQxPXWNM.js → p-DhNuxvJH.js} +1 -1
- package/components/p-DiuOa1vw.js +4 -0
- package/components/{p-DkEb3SCT.js → p-Dj40C8gm.js} +1 -1
- package/components/p-DnBNYc7u.js +4 -0
- package/components/{p-D6dNJoqU.js → p-DngGb-NV.js} +1 -1
- package/components/{p-BFwL2yyK.js → p-DxhHlJln.js} +1 -1
- package/components/{p-COxY7PLK.js → p-GGbIHyEF.js} +1 -1
- package/components/{p-B2L09UOs.js → p-Hp8t4RMX.js} +1 -1
- package/components/{p-D6PwfJ9F.js → p-M34T2gyX.js} +1 -1
- package/components/{p-5rFO7X8J.js → p-TWw4e4sO.js} +1 -1
- package/components/p-YjMkHuvH.js +4 -0
- package/components/{p-CB06XtlF.js → p-cEN43Ahr.js} +1 -1
- package/{dist/ionic/p-BpG7jkT9.js → components/p-qAXsfUff.js} +1 -1
- package/dist/cjs/{animation-ihPP_z2n.js → animation-Kd1N7WTN.js} +1 -1
- package/dist/cjs/{app-globals-BlkzA410.js → app-globals-b1G4t26O.js} +1 -1
- package/dist/cjs/{button-active-ItGBjzmO.js → button-active-CQCFubJJ.js} +1 -1
- package/dist/cjs/{format-CPIqtp4x.js → format-bHU8N1g5.js} +1 -1
- package/dist/cjs/{framework-delegate-DhyWUPGg.js → framework-delegate-d-fWfeI6.js} +1 -1
- package/dist/cjs/{hardware-back-button-D5f_kASb.js → hardware-back-button-Bu4Dzw8l.js} +1 -1
- package/dist/cjs/{helpers-BCLkFTTd.js → helpers-7wzdhdeg.js} +1 -1
- package/dist/cjs/{index-BocV_y-c.js → index-BbqUBe2T.js} +1 -1
- package/dist/cjs/{index-xum7jdbq.js → index-C74Q3t6a.js} +2 -2
- package/dist/cjs/{index-CldjPPyP.js → index-CQfEIyLK.js} +4 -4
- package/dist/cjs/{index-BcyiqD6R.js → index-DFNrCX7M.js} +5 -5
- package/dist/cjs/{index-Bgz6BcKx.js → index-DXoo08JC.js} +9 -2
- package/dist/cjs/{index-49DTLc_Z.js → index-DtvKGwdh.js} +2 -2
- package/dist/cjs/index.cjs.js +12 -12
- package/dist/cjs/{input-shims-Jisy7U7-.js → input-shims-VJIiKBKv.js} +3 -3
- package/dist/cjs/{input.utils-BDTpGrfn.js → input.utils-EHVE2RK_.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +45 -29
- package/dist/cjs/ion-alert.cjs.entry.js +29 -21
- package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
- 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 +7 -7
- 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 +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +14 -10
- package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-modal.cjs.entry.js +83 -30
- 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 +3 -3
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +23 -10
- 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 +3 -3
- package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
- package/dist/cjs/ion-select_3.cjs.entry.js +9 -9
- 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-CYJNT-2P.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-OCcCN--B.js → ios.transition-DYGiD6gM.js} +4 -4
- package/dist/cjs/{item-multiple-inputs-BH9yPC66.js → item-multiple-inputs-Dv6qrMhm.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-D0o2IIbo.js → md.transition-CrSkaoz6.js} +4 -4
- package/dist/cjs/{overlays-hCtsdAvn.js → overlays-BR21NUIG.js} +59 -34
- package/dist/cjs/{select-option-render-BPjGDlsG.js → select-option-render-CrbLc-1j.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-IQ250LoG.js → slot-mutation-controller-D6IjSEIh.js} +1 -1
- package/dist/cjs/{status-tap-Bakl9czs.js → status-tap-CNP5eD1R.js} +3 -3
- package/dist/cjs/{swipe-back-Cv4OZVJ5.js → swipe-back-BYb_nLJe.js} +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/action-sheet/action-sheet.js +36 -20
- package/dist/collection/components/alert/alert.js +20 -12
- package/dist/collection/components/loading/loading.js +7 -3
- package/dist/collection/components/modal/modal.js +75 -22
- package/dist/collection/components/popover/popover.js +16 -3
- package/dist/collection/utils/overlays.js +53 -29
- package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
- package/dist/collection/utils/test/playwright/index.js +1 -0
- package/dist/docs.json +2 -2
- package/dist/esm/{animation-B6KGUJwl.js → animation-BFNVlYum.js} +1 -1
- package/dist/esm/{app-globals-BvutUX8P.js → app-globals-BgX0BGL1.js} +1 -1
- package/dist/esm/{button-active-DRNebs9r.js → button-active-BfOvDr3b.js} +1 -1
- package/dist/esm/{format-BF3btM7P.js → format-DDFE9jM5.js} +1 -1
- package/dist/esm/{framework-delegate-60cEIAgt.js → framework-delegate-BwNhx9NR.js} +1 -1
- package/dist/esm/{hardware-back-button-rhkwRNk2.js → hardware-back-button-DmkiRgOT.js} +1 -1
- package/dist/esm/{helpers-DLLANtRS.js → helpers-BSmc0nst.js} +1 -1
- package/dist/esm/{index-D_7MeuVD.js → index-BuPaALjU.js} +5 -5
- package/dist/esm/{index-DOrtAUWV.js → index-C1b9CLFg.js} +2 -2
- package/dist/esm/{index-h81G-QbJ.js → index-C23AVPx9.js} +9 -2
- package/dist/esm/{index-Bl4BUvBL.js → index-CJln0gS3.js} +2 -2
- package/dist/esm/{index-JgU5uTSY.js → index-CqoUoxgG.js} +1 -1
- package/dist/esm/{index-BZHVn0iF.js → index-DnA_7Bnx.js} +4 -4
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-C2ipc_XX.js → input-shims-Dqk-Ou25.js} +3 -3
- package/dist/esm/{input.utils-D-qoPjqr.js → input.utils-rqoH22pW.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +45 -29
- package/dist/esm/ion-alert.entry.js +29 -21
- package/dist/esm/ion-app_8.entry.js +12 -12
- 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 +7 -7
- 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 +4 -4
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +14 -10
- package/dist/esm/ion-menu_3.entry.js +8 -8
- package/dist/esm/ion-modal.entry.js +83 -30
- 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 +3 -3
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +23 -10
- 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 +3 -3
- package/dist/esm/ion-select-modal.entry.js +8 -8
- package/dist/esm/ion-select_3.entry.js +9 -9
- 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-ZXjCXKH0.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-C-6IaIxe.js → ios.transition-CWAgfQ1r.js} +4 -4
- package/dist/esm/{item-multiple-inputs-DI91syHS.js → item-multiple-inputs-DZnIiOO_.js} +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-dyqt0t0d.js → md.transition-ZuqDDdDW.js} +4 -4
- package/dist/esm/{overlays-CiFoZEq1.js → overlays-DKE0DgvE.js} +59 -35
- package/dist/esm/{select-option-render-CUJpruSC.js → select-option-render-1W6W9pbC.js} +2 -2
- package/dist/esm/{slot-mutation-controller-wFuztlVD.js → slot-mutation-controller-B5NpUZ-N.js} +1 -1
- package/dist/esm/{status-tap-Dn_42wiy.js → status-tap-Cv9gb3ja.js} +3 -3
- package/dist/esm/{swipe-back-CqOqrHW7.js → swipe-back-B2CmabKY.js} +2 -2
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-e5a54d99.entry.js → p-06c6b540.entry.js} +1 -1
- package/dist/ionic/{p-dadcb3d2.entry.js → p-099b7f9f.entry.js} +1 -1
- package/dist/ionic/{p-e090eca3.entry.js → p-171a2278.entry.js} +1 -1
- package/dist/ionic/{p-2aabd568.entry.js → p-191a651e.entry.js} +1 -1
- package/dist/ionic/{p-1f66c230.entry.js → p-1f24cb24.entry.js} +1 -1
- package/dist/ionic/{p-83aa7d47.entry.js → p-271c3640.entry.js} +1 -1
- package/dist/ionic/{p-5dc53bdf.entry.js → p-2c52fe3e.entry.js} +1 -1
- package/dist/ionic/{p-da5a7bcd.entry.js → p-2ea4bb36.entry.js} +1 -1
- package/dist/ionic/{p-fe80ebb1.entry.js → p-338a02e0.entry.js} +1 -1
- package/dist/ionic/{p-326e0d05.entry.js → p-354d38d3.entry.js} +1 -1
- package/dist/ionic/{p-0b52d921.entry.js → p-38b9375b.entry.js} +1 -1
- package/dist/ionic/{p-a2fccdaa.entry.js → p-3bba83ee.entry.js} +1 -1
- package/dist/ionic/{p-cc749877.entry.js → p-4712a8a9.entry.js} +1 -1
- package/dist/ionic/{p-ca57763d.entry.js → p-4c3e50f8.entry.js} +1 -1
- package/dist/ionic/p-4e2fef42.entry.js +4 -0
- package/dist/ionic/{p-2ff12c8a.entry.js → p-54cbb0a7.entry.js} +1 -1
- package/dist/ionic/{p-5ed60413.entry.js → p-561af487.entry.js} +1 -1
- package/dist/ionic/{p-ecfc9c71.entry.js → p-5906ea6f.entry.js} +1 -1
- package/dist/ionic/{p-9f2d3987.entry.js → p-5cc09b40.entry.js} +1 -1
- package/dist/ionic/{p-9eba0d8a.entry.js → p-5d9094ac.entry.js} +1 -1
- package/dist/ionic/{p-986a1db8.entry.js → p-612ea3b1.entry.js} +1 -1
- package/dist/ionic/p-66f150ec.entry.js +4 -0
- package/dist/ionic/{p-d1539609.entry.js → p-68cc89a6.entry.js} +1 -1
- package/dist/ionic/{p-f607ad4f.entry.js → p-6e386853.entry.js} +1 -1
- package/dist/ionic/p-77c96e08.entry.js +4 -0
- package/dist/ionic/{p-9e688396.entry.js → p-7bfeccb3.entry.js} +1 -1
- package/dist/ionic/{p-6d84fa9f.entry.js → p-7e394cc3.entry.js} +1 -1
- package/dist/ionic/{p-fb4dabbb.entry.js → p-7fbb3319.entry.js} +1 -1
- package/dist/ionic/{p-7c859f42.entry.js → p-85599fe3.entry.js} +1 -1
- package/dist/ionic/{p-53ba5651.entry.js → p-8b80d9f9.entry.js} +1 -1
- package/dist/ionic/{p-1a20571c.entry.js → p-90f50a65.entry.js} +1 -1
- package/dist/ionic/{p-392079fa.entry.js → p-9595e305.entry.js} +1 -1
- package/dist/ionic/{p-e93cc1e1.entry.js → p-9c5f2691.entry.js} +1 -1
- package/dist/ionic/p-BY6BzzPF.js +4 -0
- package/dist/ionic/{p-BRc8gq5v.js → p-BaeKWZ-a.js} +1 -1
- package/dist/ionic/p-Bd72UYI2.js +4 -0
- package/dist/ionic/{p-C2BY_4Wp.js → p-BgOvhHy_.js} +1 -1
- package/dist/ionic/{p-KJ5pLPiN.js → p-BijjLYjT.js} +1 -1
- package/dist/ionic/{p-h81G-QbJ.js → p-C23AVPx9.js} +1 -1
- package/dist/ionic/p-C8XilMh0.js +4 -0
- package/dist/ionic/{p-Cc-fFNy8.js → p-CER8qW8Y.js} +1 -1
- package/dist/ionic/{p-06ZcwRF5.js → p-CFuOr1Tu.js} +1 -1
- package/dist/ionic/p-CJv-wOAd.js +4 -0
- package/dist/ionic/p-CMZYmFb4.js +4 -0
- package/dist/ionic/{p-BC17SPKH.js → p-CkxVYPtX.js} +1 -1
- package/dist/ionic/{p-DMj-M2c4.js → p-CmXuiRT6.js} +1 -1
- package/dist/ionic/p-D4OrdtJf.js +4 -0
- package/dist/ionic/p-D6rHcCvc.js +4 -0
- package/{components/p-DG-dUCKp.js → dist/ionic/p-DLM95R4x.js} +1 -1
- package/{components/p-DH0rRXjx.js → dist/ionic/p-DTxBioUO.js} +1 -1
- package/{components/p-BcuLPPAE.js → dist/ionic/p-DYUjHcuH.js} +1 -1
- package/dist/ionic/{p-DA88iqXQ.js → p-DZ6Hmc-8.js} +1 -1
- package/dist/ionic/p-D_gb-kdd.js +4 -0
- package/dist/ionic/{p-S1shXW5M.js → p-DajLgJ4d.js} +1 -1
- package/dist/ionic/{p-CTBfxfjC.js → p-Do3zTvCA.js} +1 -1
- package/dist/ionic/{p-5fce4bf4.entry.js → p-a1cc2861.entry.js} +1 -1
- package/dist/ionic/{p-4dcd329a.entry.js → p-a20a2ebe.entry.js} +1 -1
- package/dist/ionic/{p-d1b888de.entry.js → p-a8ff2489.entry.js} +1 -1
- package/dist/ionic/{p-b8cd338d.entry.js → p-b3532b8d.entry.js} +1 -1
- package/dist/ionic/{p-8d72244b.entry.js → p-b80c86c4.entry.js} +1 -1
- package/dist/ionic/{p-43bae3f5.entry.js → p-b9b4e85d.entry.js} +1 -1
- package/dist/ionic/p-c57fc396.entry.js +4 -0
- package/dist/ionic/{p-082b8125.entry.js → p-ca1b8865.entry.js} +1 -1
- package/dist/ionic/{p-eab77a74.entry.js → p-cc4320d3.entry.js} +1 -1
- package/dist/ionic/{p-f0645c98.entry.js → p-d6755739.entry.js} +1 -1
- package/dist/ionic/{p-ac71362a.entry.js → p-d8c138d9.entry.js} +1 -1
- package/dist/ionic/{p-026e2e4c.entry.js → p-dd01be0a.entry.js} +1 -1
- package/dist/ionic/p-e7f4b1e0.entry.js +4 -0
- package/dist/ionic/{p-eaeac54e.entry.js → p-ec00fd0d.entry.js} +1 -1
- package/dist/ionic/{p-546b1109.entry.js → p-ee09ac9d.entry.js} +1 -1
- package/dist/ionic/{p-8e388a30.entry.js → p-efc0cf82.entry.js} +1 -1
- package/dist/ionic/{p-47b8b59a.entry.js → p-f0fb23c1.entry.js} +1 -1
- package/dist/ionic/{p-9452849d.entry.js → p-f83b3e0c.entry.js} +1 -1
- package/dist/ionic/{p-CH8tk7Pr.js → p-fU3rOYad.js} +1 -1
- package/dist/ionic/{p-eeb65463.entry.js → p-fe9ed9bd.entry.js} +1 -1
- package/{components/p-ntAkt4Ra.js → dist/ionic/p-zWf7R2xV.js} +1 -1
- package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
- package/dist/types/components/alert/alert.d.ts +7 -0
- package/dist/types/components/modal/modal.d.ts +8 -0
- package/dist/types/utils/overlays.d.ts +9 -0
- package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
- package/dist/types/utils/test/playwright/index.d.ts +1 -0
- package/hydrate/index.js +204 -88
- package/hydrate/index.mjs +204 -88
- package/package.json +3 -3
- package/components/p-CFtAWaB6.js +0 -4
- package/components/p-CRcX0EGs.js +0 -4
- package/components/p-CXQzYyda.js +0 -4
- package/components/p-CXpy69Ei.js +0 -4
- package/components/p-CoGD-oMG.js +0 -4
- package/components/p-D8BOfNYz.js +0 -4
- package/components/p-Dr-rBSUW.js +0 -4
- package/components/p-FQTgh7aH.js +0 -4
- package/components/p-KusMkAnB.js +0 -4
- package/components/p-MHpJ2A_m.js +0 -4
- package/components/p-U1X_lw_6.js +0 -4
- package/components/p-UKksD3f9.js +0 -4
- package/components/p-fP0QF3iG.js +0 -4
- package/components/p-ufB0gCSU.js +0 -4
- package/dist/ionic/p-39415b06.entry.js +0 -4
- package/dist/ionic/p-3bad6750.entry.js +0 -4
- package/dist/ionic/p-70334101.entry.js +0 -4
- package/dist/ionic/p-8db6e422.entry.js +0 -4
- package/dist/ionic/p-BRa1Jjxr.js +0 -4
- package/dist/ionic/p-Cc4w3fVf.js +0 -4
- package/dist/ionic/p-CvRL-Eju.js +0 -4
- package/dist/ionic/p-DA52akcQ.js +0 -4
- package/dist/ionic/p-D_IgV7tz.js +0 -4
- package/dist/ionic/p-Q9w8L_Sw.js +0 -4
- package/dist/ionic/p-b62c04b2.entry.js +0 -4
- package/dist/ionic/p-w3KTiug9.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -422,7 +422,7 @@ const appGlobalScript = initialize || (() => {});
|
|
|
422
422
|
const globalScripts = appGlobalScript;
|
|
423
423
|
|
|
424
424
|
/*
|
|
425
|
-
Stencil Hydrate Platform v4.44.
|
|
425
|
+
Stencil Hydrate Platform v4.44.2 | MIT Licensed | https://stenciljs.com
|
|
426
426
|
*/
|
|
427
427
|
var __create = Object.create;
|
|
428
428
|
var __defProp = Object.defineProperty;
|
|
@@ -3229,8 +3229,6 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
3229
3229
|
}
|
|
3230
3230
|
}
|
|
3231
3231
|
};
|
|
3232
|
-
|
|
3233
|
-
// src/runtime/proxy-component.ts
|
|
3234
3232
|
var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
3235
3233
|
var _a2;
|
|
3236
3234
|
const prototype = Cstr.prototype;
|
|
@@ -7982,6 +7980,15 @@ const activeAnimations = new WeakMap();
|
|
|
7982
7980
|
const isBackdropAlwaysBlocking = (el) => {
|
|
7983
7981
|
return el.showBackdrop !== false && !((el.backdropBreakpoint ?? 0) > 0);
|
|
7984
7982
|
};
|
|
7983
|
+
/**
|
|
7984
|
+
* Whether the overlay takes the app root out of the accessibility tree and
|
|
7985
|
+
* blocks body scroll while presented. Toasts never do, modal and popover can
|
|
7986
|
+
* opt out with `focusTrap={false}`, and a backdrop that does not block
|
|
7987
|
+
* (`showBackdrop={false}`, or a `backdropBreakpoint` above 0) is excluded.
|
|
7988
|
+
*/
|
|
7989
|
+
const locksAppRoot = (el) => {
|
|
7990
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
7991
|
+
};
|
|
7985
7992
|
const createController = (tagName) => {
|
|
7986
7993
|
return {
|
|
7987
7994
|
create(options) {
|
|
@@ -8350,6 +8357,13 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
|
|
|
8350
8357
|
// Otherwise, return the last overlay with the given id
|
|
8351
8358
|
return (id === undefined ? overlays : overlays.filter((o) => o.id === id)).slice(-1)[0];
|
|
8352
8359
|
};
|
|
8360
|
+
/**
|
|
8361
|
+
* The element an app nests its views under. Overlays hide this rather than the
|
|
8362
|
+
* whole root, so the overlay itself (a sibling) stays reachable.
|
|
8363
|
+
*/
|
|
8364
|
+
const getViewContainer = () => {
|
|
8365
|
+
return getAppRoot(document).querySelector('ion-router-outlet, #ion-view-container-root');
|
|
8366
|
+
};
|
|
8353
8367
|
/**
|
|
8354
8368
|
* When an overlay is presented, the main
|
|
8355
8369
|
* focus is the overlay not the page content.
|
|
@@ -8373,8 +8387,7 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
|
|
|
8373
8387
|
* for main content.
|
|
8374
8388
|
*/
|
|
8375
8389
|
const setRootAriaHidden = (hidden = false) => {
|
|
8376
|
-
const
|
|
8377
|
-
const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
|
|
8390
|
+
const viewContainer = getViewContainer();
|
|
8378
8391
|
if (!viewContainer) {
|
|
8379
8392
|
return;
|
|
8380
8393
|
}
|
|
@@ -8399,15 +8412,42 @@ const cleanupRootFocusTrapAccessibility = () => {
|
|
|
8399
8412
|
return;
|
|
8400
8413
|
}
|
|
8401
8414
|
const remainingOverlays = getPresentedOverlays(document);
|
|
8402
|
-
const hasRemainingLocking = remainingOverlays.some((o) =>
|
|
8403
|
-
const el = o;
|
|
8404
|
-
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8405
|
-
});
|
|
8415
|
+
const hasRemainingLocking = remainingOverlays.some((o) => locksAppRoot(o));
|
|
8406
8416
|
if (!hasRemainingLocking) {
|
|
8407
8417
|
setRootAriaHidden(false);
|
|
8408
8418
|
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
8409
8419
|
}
|
|
8410
8420
|
};
|
|
8421
|
+
/**
|
|
8422
|
+
* Applies the root lock itself: `aria-hidden` on the view container, and
|
|
8423
|
+
* `backdrop-no-scroll` on the body. Shared by `present()` and the restore
|
|
8424
|
+
* below, which have to stay in lockstep.
|
|
8425
|
+
*/
|
|
8426
|
+
const applyRootLock = (el) => {
|
|
8427
|
+
// Hiding the container the overlay now sits in would hide the overlay too.
|
|
8428
|
+
if (!getViewContainer()?.contains(el)) {
|
|
8429
|
+
setRootAriaHidden(true);
|
|
8430
|
+
}
|
|
8431
|
+
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
8432
|
+
};
|
|
8433
|
+
/**
|
|
8434
|
+
* Re-applies the root lock that `cleanupRootFocusTrapAccessibility()` released.
|
|
8435
|
+
* Call from `connectedCallback` when the overlay is still presented.
|
|
8436
|
+
*
|
|
8437
|
+
* A synchronous move keeps the overlay connected, so the lock survives. A
|
|
8438
|
+
* detach with a re-insert in a later task releases it, which is the shape a
|
|
8439
|
+
* framework produces when it takes a subtree out and puts it back.
|
|
8440
|
+
*/
|
|
8441
|
+
const restoreRootFocusTrapAccessibility = (overlayEl) => {
|
|
8442
|
+
if (typeof document === 'undefined') {
|
|
8443
|
+
return;
|
|
8444
|
+
}
|
|
8445
|
+
const el = overlayEl;
|
|
8446
|
+
if (!locksAppRoot(el)) {
|
|
8447
|
+
return;
|
|
8448
|
+
}
|
|
8449
|
+
applyRootLock(el);
|
|
8450
|
+
};
|
|
8411
8451
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
8412
8452
|
if (overlay.presented) {
|
|
8413
8453
|
return;
|
|
@@ -8424,15 +8464,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
8424
8464
|
restoreElementFocus(overlay.el);
|
|
8425
8465
|
}
|
|
8426
8466
|
/**
|
|
8427
|
-
*
|
|
8428
|
-
* focus traps.
|
|
8429
|
-
*
|
|
8430
|
-
* All other overlays should have focus traps to prevent
|
|
8431
|
-
* the keyboard focus from leaving the overlay unless
|
|
8432
|
-
* developers explicitly opt out (for example, sheet
|
|
8433
|
-
* modals that should permit background interaction).
|
|
8434
|
-
*
|
|
8435
|
-
* Note: Some apps move inline overlays to a specific container
|
|
8467
|
+
* Some apps move inline overlays to a specific container
|
|
8436
8468
|
* during the willPresent lifecycle (e.g., React portals via
|
|
8437
8469
|
* onWillPresent). Defer applying aria-hidden/inert to the app
|
|
8438
8470
|
* root until after willPresent so we can detect where the
|
|
@@ -8441,18 +8473,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
8441
8473
|
* to avoid disabling the overlay.
|
|
8442
8474
|
*/
|
|
8443
8475
|
const overlayEl = overlay.el;
|
|
8444
|
-
const
|
|
8445
|
-
const shouldLockRoot = shouldTrapFocus && isBackdropAlwaysBlocking(overlayEl);
|
|
8476
|
+
const shouldLockRoot = locksAppRoot(overlayEl);
|
|
8446
8477
|
overlay.presented = true;
|
|
8447
8478
|
overlay.willPresent.emit();
|
|
8448
8479
|
if (shouldLockRoot) {
|
|
8449
|
-
|
|
8450
|
-
const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
|
|
8451
|
-
const overlayInsideViewContainer = viewContainer ? viewContainer.contains(overlayEl) : false;
|
|
8452
|
-
if (!overlayInsideViewContainer) {
|
|
8453
|
-
setRootAriaHidden(true);
|
|
8454
|
-
}
|
|
8455
|
-
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
8480
|
+
applyRootLock(overlayEl);
|
|
8456
8481
|
}
|
|
8457
8482
|
overlay.willPresentShorthand?.emit();
|
|
8458
8483
|
const mode = getIonMode$1(overlay);
|
|
@@ -8578,12 +8603,9 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
8578
8603
|
* from the root element when the last focus-trapping overlay
|
|
8579
8604
|
* is dismissed.
|
|
8580
8605
|
*/
|
|
8581
|
-
const overlaysLockingRoot = presentedOverlays.filter((o) =>
|
|
8582
|
-
const el = o;
|
|
8583
|
-
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8584
|
-
});
|
|
8606
|
+
const overlaysLockingRoot = presentedOverlays.filter((o) => locksAppRoot(o));
|
|
8585
8607
|
const overlayEl = overlay.el;
|
|
8586
|
-
const locksRoot =
|
|
8608
|
+
const locksRoot = locksAppRoot(overlayEl);
|
|
8587
8609
|
/**
|
|
8588
8610
|
* If this is the last visible overlay that is trapping focus
|
|
8589
8611
|
* then we want to re-add the root to the accessibility tree.
|
|
@@ -10579,6 +10601,13 @@ class ActionSheet {
|
|
|
10579
10601
|
connectedCallback() {
|
|
10580
10602
|
prepareOverlay(this.el);
|
|
10581
10603
|
this.triggerChanged();
|
|
10604
|
+
// `componentDidLoad` only fires once per instance, so a reconnect has to
|
|
10605
|
+
// rebuild the gesture its disconnect destroyed.
|
|
10606
|
+
this.setupButtonActiveGesture();
|
|
10607
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
10608
|
+
if (this.presented) {
|
|
10609
|
+
restoreRootFocusTrapAccessibility(this.el);
|
|
10610
|
+
}
|
|
10582
10611
|
}
|
|
10583
10612
|
disconnectedCallback() {
|
|
10584
10613
|
if (this.gesture) {
|
|
@@ -10598,24 +10627,33 @@ class ActionSheet {
|
|
|
10598
10627
|
// Initialize activeRadioId for radio buttons
|
|
10599
10628
|
this.buttonsChanged();
|
|
10600
10629
|
}
|
|
10601
|
-
|
|
10602
|
-
|
|
10603
|
-
|
|
10604
|
-
|
|
10605
|
-
|
|
10606
|
-
|
|
10607
|
-
|
|
10608
|
-
|
|
10630
|
+
/**
|
|
10631
|
+
* Only create gesture if:
|
|
10632
|
+
* 1. A gesture does not already exist
|
|
10633
|
+
* 2. App is running in iOS mode
|
|
10634
|
+
* 3. A wrapper ref exists
|
|
10635
|
+
* 4. A group ref exists
|
|
10636
|
+
* 5. The host is still connected, since a reconnect can schedule this and
|
|
10637
|
+
* disconnect again before the task runs
|
|
10638
|
+
*/
|
|
10639
|
+
setupButtonActiveGesture() {
|
|
10609
10640
|
const { groupEl, wrapperEl } = this;
|
|
10610
|
-
if (
|
|
10611
|
-
|
|
10612
|
-
const isScrollable = groupEl.scrollHeight > groupEl.clientHeight;
|
|
10613
|
-
if (!isScrollable) {
|
|
10614
|
-
this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
|
|
10615
|
-
this.gesture.enable(true);
|
|
10616
|
-
}
|
|
10617
|
-
});
|
|
10641
|
+
if (getIonMode$1(this) !== 'ios' || !wrapperEl || !groupEl) {
|
|
10642
|
+
return;
|
|
10618
10643
|
}
|
|
10644
|
+
readTask(() => {
|
|
10645
|
+
// Bail if a call queued ahead of this one already built the gesture
|
|
10646
|
+
// (a second would orphan the first with its listeners still bound), if
|
|
10647
|
+
// the host disconnected while this task waited, or if the group scrolls.
|
|
10648
|
+
if (this.gesture || !this.el.isConnected || groupEl.scrollHeight > groupEl.clientHeight) {
|
|
10649
|
+
return;
|
|
10650
|
+
}
|
|
10651
|
+
this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
|
|
10652
|
+
this.gesture.enable(true);
|
|
10653
|
+
});
|
|
10654
|
+
}
|
|
10655
|
+
componentDidLoad() {
|
|
10656
|
+
this.setupButtonActiveGesture();
|
|
10619
10657
|
/**
|
|
10620
10658
|
* If action sheet was rendered with isOpen="true"
|
|
10621
10659
|
* then we should open action sheet immediately.
|
|
@@ -10708,17 +10746,17 @@ class ActionSheet {
|
|
|
10708
10746
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
10709
10747
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
10710
10748
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
10711
|
-
return (hAsync(Host, { key: '
|
|
10749
|
+
return (hAsync(Host, { key: '83b47ea6b81d4eec6582c1dcaae6f267c78ba634', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1", ...htmlAttributes, style: {
|
|
10712
10750
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
10713
10751
|
}, class: {
|
|
10714
10752
|
[mode]: true,
|
|
10715
10753
|
...getClassMap(this.cssClass),
|
|
10716
10754
|
'overlay-hidden': true,
|
|
10717
10755
|
'action-sheet-translucent': this.translucent,
|
|
10718
|
-
}, onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
10756
|
+
}, onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '3652793ec76adcfb87b814eb65d1260ae26f6910', tappable: this.backdropDismiss }), hAsync("div", { key: '7de3a51daf95b50e02734a2cc8eec6f55b1473f3', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '9b76bbf12901b956f7ee6d984f7f71e169bb5939', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: 'cb52c905275a46ff27810fb1b4748ab533a78c45', class: "action-sheet-container" }, hAsync("div", { key: '578c7194cfbcb65c1e41e15c390af41f179a2686', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: 'ee961307c25cb1fcb0c6bbf667a8ed76ab717860', id: headerID, class: {
|
|
10719
10757
|
'action-sheet-title': true,
|
|
10720
10758
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
10721
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
10759
|
+
} }, header, this.subHeader && hAsync("div", { key: '82d4016010db14d3f3b9911c276cb9a63b960ef4', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'a88fbfab194e13c6642a65f2e19a12299dd4ac23', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", { key: 'a232b8d23f1fc2efb7b37a605102b6994761a2f6', ...cancelButton.htmlAttributes, type: "button", class: buttonClass$2(cancelButton), onClick: () => this.buttonClick(cancelButton) }, hAsync("span", { key: '19a7d95d3428d78a56b7dacabdec8fc0b722d8c2', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '5f3f3cb996a48e6365a3a09ea72ddc68ac9ccb78', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '6e8fcb5f103ac19aa4b0682f19791cef0a147001' })))))), hAsync("div", { key: '36f63ab77949c88f662e2cf6bb18510cb9de6a9f', tabindex: "0", "aria-hidden": "true" })));
|
|
10722
10760
|
}
|
|
10723
10761
|
get el() { return getElement(this); }
|
|
10724
10762
|
static get watchers() { return {
|
|
@@ -11100,10 +11138,15 @@ class Alert {
|
|
|
11100
11138
|
this.triggerChanged();
|
|
11101
11139
|
/**
|
|
11102
11140
|
* If the alert was previously connected and is being reattached, the
|
|
11103
|
-
* ResizeObserver
|
|
11104
|
-
* instance, so re-establish
|
|
11141
|
+
* `ResizeObserver` and the button gesture were torn down. `componentDidLoad`
|
|
11142
|
+
* only fires once per instance, so re-establish both here on reconnect.
|
|
11105
11143
|
*/
|
|
11106
11144
|
this.setupButtonGroupResizeObserver();
|
|
11145
|
+
this.setupButtonActiveGesture();
|
|
11146
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
11147
|
+
if (this.presented) {
|
|
11148
|
+
restoreRootFocusTrapAccessibility(this.el);
|
|
11149
|
+
}
|
|
11107
11150
|
}
|
|
11108
11151
|
componentWillLoad() {
|
|
11109
11152
|
if (!this.htmlAttributes?.id) {
|
|
@@ -11125,17 +11168,20 @@ class Alert {
|
|
|
11125
11168
|
this.buttonGroupResizeObserver?.disconnect();
|
|
11126
11169
|
this.buttonGroupResizeObserver = undefined;
|
|
11127
11170
|
}
|
|
11128
|
-
|
|
11129
|
-
|
|
11130
|
-
|
|
11131
|
-
|
|
11132
|
-
|
|
11133
|
-
|
|
11134
|
-
|
|
11171
|
+
/**
|
|
11172
|
+
* Only create gesture if:
|
|
11173
|
+
* 1. A gesture does not already exist
|
|
11174
|
+
* 2. App is running in iOS mode
|
|
11175
|
+
* 3. A wrapper ref exists
|
|
11176
|
+
*/
|
|
11177
|
+
setupButtonActiveGesture() {
|
|
11135
11178
|
if (!this.gesture && getIonMode$1(this) === 'ios' && this.wrapperEl) {
|
|
11136
11179
|
this.gesture = createButtonActiveGesture(this.wrapperEl, (refEl) => refEl.classList.contains('alert-button'));
|
|
11137
11180
|
this.gesture.enable(true);
|
|
11138
11181
|
}
|
|
11182
|
+
}
|
|
11183
|
+
componentDidLoad() {
|
|
11184
|
+
this.setupButtonActiveGesture();
|
|
11139
11185
|
this.setupButtonGroupResizeObserver();
|
|
11140
11186
|
/**
|
|
11141
11187
|
* If alert was rendered with isOpen="true"
|
|
@@ -11456,14 +11502,14 @@ class Alert {
|
|
|
11456
11502
|
* If neither are defined, do not set aria-labelledby.
|
|
11457
11503
|
*/
|
|
11458
11504
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
11459
|
-
return (hAsync(Host, { key: '
|
|
11505
|
+
return (hAsync(Host, { key: '083b5250dc4c76e85240e0225abcb7ca2b66de2f', tabindex: "-1", style: {
|
|
11460
11506
|
zIndex: `${20000 + overlayIndex}`,
|
|
11461
11507
|
}, class: {
|
|
11462
11508
|
...getClassMap(this.cssClass),
|
|
11463
11509
|
[mode]: true,
|
|
11464
11510
|
'overlay-hidden': true,
|
|
11465
11511
|
'alert-translucent': this.translucent,
|
|
11466
|
-
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
11512
|
+
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '65c92a956d998ae9016396dd2a29c42ab7376d0e', tappable: this.backdropDismiss }), hAsync("div", { key: 'f2288fa0b7ef9d0bf031c168fe78c48422cf91c8', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'dbb109435c378f77c6b0231e58756f8a0467732d', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el), ...htmlAttributes }, hAsync("div", { key: '075597f94719673cf1f894a8566e1036849afa75', class: "alert-head" }, header && (hAsync("h2", { key: 'f96f4b1db8473c62040beed6e96108c733978d73', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: 'dbd824ef19a07bddde4eb928f11de7c7cadf98b8', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '4774fa13700dd23aec7930492acae80de3bdf5d1', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '5c728b7457e231f64294bbec821bdb547c6437dd', tabindex: "0", "aria-hidden": "true" })));
|
|
11467
11513
|
}
|
|
11468
11514
|
get el() { return getElement(this); }
|
|
11469
11515
|
static get watchers() { return {
|
|
@@ -22981,6 +23027,10 @@ class Loading {
|
|
|
22981
23027
|
connectedCallback() {
|
|
22982
23028
|
prepareOverlay(this.el);
|
|
22983
23029
|
this.triggerChanged();
|
|
23030
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
23031
|
+
if (this.presented) {
|
|
23032
|
+
restoreRootFocusTrapAccessibility(this.el);
|
|
23033
|
+
}
|
|
22984
23034
|
}
|
|
22985
23035
|
componentWillLoad() {
|
|
22986
23036
|
if (this.spinner === undefined) {
|
|
@@ -23081,14 +23131,14 @@ class Loading {
|
|
|
23081
23131
|
* Otherwise, don't set aria-labelledby.
|
|
23082
23132
|
*/
|
|
23083
23133
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
23084
|
-
return (hAsync(Host, { key: '
|
|
23134
|
+
return (hAsync(Host, { key: 'b4430bc66aedeca19d5645667cba73c169c4bd76', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1", ...htmlAttributes, style: {
|
|
23085
23135
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
23086
23136
|
}, onIonBackdropTap: this.onBackdropTap, class: {
|
|
23087
23137
|
...getClassMap(this.cssClass),
|
|
23088
23138
|
[mode]: true,
|
|
23089
23139
|
'overlay-hidden': true,
|
|
23090
23140
|
'loading-translucent': this.translucent,
|
|
23091
|
-
} }, hAsync("ion-backdrop", { key: '
|
|
23141
|
+
} }, hAsync("ion-backdrop", { key: 'dec0df942ae778c99ebd4dbf08d6c2a0a992639d', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '71b2d5fc259666225047fc901648ada1efcd5d4b', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '1d83dc3b57ee70c9e8c0f006c6fa576bd96ecded', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'd1cd127e044b8831e396b53122322c1db7e89904', class: "loading-spinner" }, hAsync("ion-spinner", { key: '38c2580cf5659da612872f01801a5fbdc2c023ba', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '90e5e32ffe0df2c691f364149f43374e676bfaa3', tabindex: "0", "aria-hidden": "true" })));
|
|
23092
23142
|
}
|
|
23093
23143
|
get el() { return getElement(this); }
|
|
23094
23144
|
static get watchers() { return {
|
|
@@ -26647,6 +26697,9 @@ class Modal {
|
|
|
26647
26697
|
this.inline = false;
|
|
26648
26698
|
// Whether or not modal is being dismissed via gesture
|
|
26649
26699
|
this.gestureAnimationDismissing = false;
|
|
26700
|
+
// True from the first safe-area write in `present()` until the enter
|
|
26701
|
+
// animation settles. A position-based read in that window is not the rest position.
|
|
26702
|
+
this.isPresenting = false;
|
|
26650
26703
|
this.presented = false;
|
|
26651
26704
|
/** @internal */
|
|
26652
26705
|
this.hasController = false;
|
|
@@ -26883,6 +26936,17 @@ class Modal {
|
|
|
26883
26936
|
const { el } = this;
|
|
26884
26937
|
prepareOverlay(el);
|
|
26885
26938
|
this.triggerChanged();
|
|
26939
|
+
// A disconnect tears down state this presentation still needs and cannot
|
|
26940
|
+
// tell a re-insert from a removal, so put it back.
|
|
26941
|
+
if (this.presented || this.isPresenting) {
|
|
26942
|
+
this.restoreSafeAreaOverrides();
|
|
26943
|
+
}
|
|
26944
|
+
// A relocation from `willPresent` reaches these before `present()` has
|
|
26945
|
+
// applied the lock, so they apply it instead. Both are idempotent.
|
|
26946
|
+
if (this.presented) {
|
|
26947
|
+
restoreRootFocusTrapAccessibility(el);
|
|
26948
|
+
this.initParentRemovalObserver();
|
|
26949
|
+
}
|
|
26886
26950
|
}
|
|
26887
26951
|
disconnectedCallback() {
|
|
26888
26952
|
this.triggerController.removeClickListener();
|
|
@@ -27060,25 +27124,33 @@ class Modal {
|
|
|
27060
27124
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
27061
27125
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
27062
27126
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
27063
|
-
|
|
27064
|
-
this.setInitialSafeAreaOverrides();
|
|
27127
|
+
this.isPresenting = true;
|
|
27065
27128
|
const hasCardModal = presentingElement !== undefined;
|
|
27066
|
-
|
|
27067
|
-
|
|
27068
|
-
|
|
27069
|
-
|
|
27070
|
-
|
|
27071
|
-
|
|
27072
|
-
|
|
27073
|
-
|
|
27074
|
-
|
|
27129
|
+
// Wrapped so a throw cannot strand `isPresenting`, which would suppress
|
|
27130
|
+
// the position-based correction for the life of this instance.
|
|
27131
|
+
try {
|
|
27132
|
+
// Set initial safe-area overrides before animation
|
|
27133
|
+
this.setInitialSafeAreaOverrides();
|
|
27134
|
+
/**
|
|
27135
|
+
* We need to change the status bar at the
|
|
27136
|
+
* start of the animation so that it completes
|
|
27137
|
+
* by the time the card animation is done.
|
|
27138
|
+
*/
|
|
27139
|
+
if (hasCardModal && getIonMode$1(this) === 'ios') {
|
|
27140
|
+
// Cache the original status bar color before the modal is presented
|
|
27141
|
+
this.statusBarStyle = await StatusBar.getStyle();
|
|
27142
|
+
setCardStatusBarDark();
|
|
27143
|
+
}
|
|
27144
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
27145
|
+
presentingEl: presentingElement,
|
|
27146
|
+
currentBreakpoint: this.initialBreakpoint,
|
|
27147
|
+
backdropBreakpoint: this.backdropBreakpoint,
|
|
27148
|
+
expandToScroll: this.expandToScroll,
|
|
27149
|
+
});
|
|
27150
|
+
}
|
|
27151
|
+
finally {
|
|
27152
|
+
this.isPresenting = false;
|
|
27075
27153
|
}
|
|
27076
|
-
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
27077
|
-
presentingEl: presentingElement,
|
|
27078
|
-
currentBreakpoint: this.initialBreakpoint,
|
|
27079
|
-
backdropBreakpoint: this.backdropBreakpoint,
|
|
27080
|
-
expandToScroll: this.expandToScroll,
|
|
27081
|
-
});
|
|
27082
27154
|
// Update safe-area based on actual position after animation
|
|
27083
27155
|
this.updateSafeAreaOverrides();
|
|
27084
27156
|
// Apply fullscreen safe-area padding if needed
|
|
@@ -27580,6 +27652,9 @@ class Modal {
|
|
|
27580
27652
|
this.cachedOriginalParent.tagName === 'ION-APP') {
|
|
27581
27653
|
return;
|
|
27582
27654
|
}
|
|
27655
|
+
// Both `present()` and a reconnect call this, so drop any existing
|
|
27656
|
+
// observer. Below the guards, so a call that bails cannot leave none.
|
|
27657
|
+
this.cleanupParentRemovalObserver();
|
|
27583
27658
|
this.parentRemovalObserver = new MutationObserver((mutations) => {
|
|
27584
27659
|
mutations.forEach((mutation) => {
|
|
27585
27660
|
if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
|
|
@@ -27658,6 +27733,9 @@ class Modal {
|
|
|
27658
27733
|
// Set the internal offset property with the resolved root safe-area-top value
|
|
27659
27734
|
if (context.isSheetModal) {
|
|
27660
27735
|
this.updateSheetOffsetTop();
|
|
27736
|
+
// A restore after a DOM move runs this a second time for the same
|
|
27737
|
+
// modal, so drop the previous subscription rather than stacking one.
|
|
27738
|
+
this.unsubscribeRootSafeAreaTop?.();
|
|
27661
27739
|
this.unsubscribeRootSafeAreaTop = onRootSafeAreaTopChange((safeAreaTop) => this.updateSheetOffsetTop(safeAreaTop));
|
|
27662
27740
|
}
|
|
27663
27741
|
}
|
|
@@ -27776,6 +27854,31 @@ class Modal {
|
|
|
27776
27854
|
const { contentEl } = this.findContentAndFooter();
|
|
27777
27855
|
this.clearContentSafeAreaPadding(contentEl);
|
|
27778
27856
|
}
|
|
27857
|
+
/**
|
|
27858
|
+
* Re-applies what `cleanupSafeAreaOverrides()` removed for a modal moved
|
|
27859
|
+
* while presented. Anything needing no measurement goes on synchronously so
|
|
27860
|
+
* the modal is never painted without safe-area. The position-based
|
|
27861
|
+
* correction waits a frame for the layout pass it reads.
|
|
27862
|
+
*/
|
|
27863
|
+
restoreSafeAreaOverrides() {
|
|
27864
|
+
this.setInitialSafeAreaOverrides();
|
|
27865
|
+
this.applyFullscreenSafeArea();
|
|
27866
|
+
raf(() => {
|
|
27867
|
+
// A dismiss or another move can land first, and a read before the enter
|
|
27868
|
+
// animation settles is not the rest position. `present()` redoes it.
|
|
27869
|
+
if (!this.presented || !this.el.isConnected || this.isPresenting) {
|
|
27870
|
+
return;
|
|
27871
|
+
}
|
|
27872
|
+
// A hidden subtree carries `display: none`, so there is no box and the
|
|
27873
|
+
// read would write the safe-area for a modal touching no edge. The
|
|
27874
|
+
// prediction applied above holds until the modal is shown again.
|
|
27875
|
+
const { width, height } = this.el.getBoundingClientRect();
|
|
27876
|
+
if (width === 0 && height === 0) {
|
|
27877
|
+
return;
|
|
27878
|
+
}
|
|
27879
|
+
this.updateSafeAreaOverrides();
|
|
27880
|
+
});
|
|
27881
|
+
}
|
|
27779
27882
|
render() {
|
|
27780
27883
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
27781
27884
|
const showHandle = handle !== false && isSheetModal;
|
|
@@ -27783,7 +27886,7 @@ class Modal {
|
|
|
27783
27886
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
27784
27887
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
27785
27888
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
27786
|
-
return (hAsync(Host, { key: '
|
|
27889
|
+
return (hAsync(Host, { key: '7c9c736052c5a788cf31040b6b2386dd9ea7454b', "no-router": true,
|
|
27787
27890
|
// Allow the modal to be navigable when the handle is focusable
|
|
27788
27891
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1, ...htmlAttributes, style: {
|
|
27789
27892
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
@@ -27796,7 +27899,7 @@ class Modal {
|
|
|
27796
27899
|
'overlay-hidden': true,
|
|
27797
27900
|
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
27798
27901
|
...getClassMap(this.cssClass),
|
|
27799
|
-
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, hAsync("ion-backdrop", { key: '
|
|
27902
|
+
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, hAsync("ion-backdrop", { key: '01b5b5765fb3a32393c736065c824bf760728823', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '40fa7727a0923f7d7461dd027f1511a6a148d84a', class: "modal-shadow" }), hAsync("div", { key: '9af934b607f60795bd5bff7bee6eacfc9b14fa35',
|
|
27800
27903
|
/*
|
|
27801
27904
|
role and aria-modal must be used on the
|
|
27802
27905
|
same element. They must also be set inside the
|
|
@@ -27809,9 +27912,9 @@ class Modal {
|
|
|
27809
27912
|
without the tabindex focus() would be a no-op and screen readers
|
|
27810
27913
|
may not properly announce the dialog and its content when it opens.
|
|
27811
27914
|
*/
|
|
27812
|
-
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (hAsync("button", { key: '
|
|
27915
|
+
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (hAsync("button", { key: 'df84a6806413b13efc5b03c862edde83151579a7', class: "modal-handle",
|
|
27813
27916
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
27814
|
-
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) })), hAsync("slot", { key: '
|
|
27917
|
+
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) })), hAsync("slot", { key: '072d3929ec6f25481946b184d8ac24219011e783', onSlotchange: this.onSlotChange }))));
|
|
27815
27918
|
}
|
|
27816
27919
|
get el() { return getElement(this); }
|
|
27817
27920
|
static get watchers() { return {
|
|
@@ -31411,6 +31514,13 @@ class Popover {
|
|
|
31411
31514
|
const { configureTriggerInteraction, el } = this;
|
|
31412
31515
|
prepareOverlay(el);
|
|
31413
31516
|
configureTriggerInteraction();
|
|
31517
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
31518
|
+
if (this.presented) {
|
|
31519
|
+
restoreRootFocusTrapAccessibility(el);
|
|
31520
|
+
// The disconnect tore down the header observer, and `present()` is its
|
|
31521
|
+
// only other caller, so a move mid-layout would lose the recalculation.
|
|
31522
|
+
this.recalculateContentOnHeaderReady();
|
|
31523
|
+
}
|
|
31414
31524
|
}
|
|
31415
31525
|
disconnectedCallback() {
|
|
31416
31526
|
const { destroyTriggerInteraction } = this;
|
|
@@ -31588,6 +31698,12 @@ class Popover {
|
|
|
31588
31698
|
if (!header || contentElements.length === 0) {
|
|
31589
31699
|
return;
|
|
31590
31700
|
}
|
|
31701
|
+
// Both `present()` and a reconnect call this, so drop any existing
|
|
31702
|
+
// observer. Below the guards, so a call that bails cannot leave none.
|
|
31703
|
+
if (this.headerResizeObserver) {
|
|
31704
|
+
this.headerResizeObserver.disconnect();
|
|
31705
|
+
this.headerResizeObserver = undefined;
|
|
31706
|
+
}
|
|
31591
31707
|
this.headerResizeObserver = new ResizeObserver(async () => {
|
|
31592
31708
|
if (header.offsetHeight > 0) {
|
|
31593
31709
|
this.headerResizeObserver?.disconnect();
|
|
@@ -31660,7 +31776,7 @@ class Popover {
|
|
|
31660
31776
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31661
31777
|
const desktop = isPlatform('desktop');
|
|
31662
31778
|
const enableArrow = arrow && !parentPopover;
|
|
31663
|
-
return (hAsync(Host, { key: '
|
|
31779
|
+
return (hAsync(Host, { key: 'b5e9c788f58397203976d5f8302dfb89e916efe1', "aria-modal": "true", "no-router": true, tabindex: "-1", ...htmlAttributes, style: {
|
|
31664
31780
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31665
31781
|
}, class: {
|
|
31666
31782
|
...getClassMap(this.cssClass),
|
|
@@ -31671,7 +31787,7 @@ class Popover {
|
|
|
31671
31787
|
[`popover-side-${side}`]: true,
|
|
31672
31788
|
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
31673
31789
|
'popover-nested': !!parentPopover,
|
|
31674
|
-
}, onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }, !parentPopover && hAsync("ion-backdrop", { key: '
|
|
31790
|
+
}, onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }, !parentPopover && hAsync("ion-backdrop", { key: 'f3977833c5b2c0087c286ee54363b478d69eb115', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '1059893d6fd2932ca8adcdf8d45a5d66f4794727', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '24d7988bdd95882ad77fcaa7112aeda55878bee4', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '4d6992e0a9d629f11763045f9199f9a77fa521ab', class: "popover-content", part: "content" }, hAsync("slot", { key: 'b29747419620a01a6c34e9e846cd529b0b210145' })))));
|
|
31675
31791
|
}
|
|
31676
31792
|
get el() { return getElement(this); }
|
|
31677
31793
|
static get watchers() { return {
|
|
@@ -42949,7 +43065,7 @@ var NAMESPACE = (
|
|
|
42949
43065
|
);
|
|
42950
43066
|
|
|
42951
43067
|
/*
|
|
42952
|
-
Stencil Hydrate Runner v4.44.
|
|
43068
|
+
Stencil Hydrate Runner v4.44.2 | MIT Licensed | https://stenciljs.com
|
|
42953
43069
|
*/
|
|
42954
43070
|
var __create = Object.create;
|
|
42955
43071
|
var __defProp = Object.defineProperty;
|