@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.mjs
CHANGED
|
@@ -420,7 +420,7 @@ const appGlobalScript = initialize || (() => {});
|
|
|
420
420
|
const globalScripts = appGlobalScript;
|
|
421
421
|
|
|
422
422
|
/*
|
|
423
|
-
Stencil Hydrate Platform v4.44.
|
|
423
|
+
Stencil Hydrate Platform v4.44.2 | MIT Licensed | https://stenciljs.com
|
|
424
424
|
*/
|
|
425
425
|
var __create = Object.create;
|
|
426
426
|
var __defProp = Object.defineProperty;
|
|
@@ -3227,8 +3227,6 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
3227
3227
|
}
|
|
3228
3228
|
}
|
|
3229
3229
|
};
|
|
3230
|
-
|
|
3231
|
-
// src/runtime/proxy-component.ts
|
|
3232
3230
|
var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
3233
3231
|
var _a2;
|
|
3234
3232
|
const prototype = Cstr.prototype;
|
|
@@ -7980,6 +7978,15 @@ const activeAnimations = new WeakMap();
|
|
|
7980
7978
|
const isBackdropAlwaysBlocking = (el) => {
|
|
7981
7979
|
return el.showBackdrop !== false && !((el.backdropBreakpoint ?? 0) > 0);
|
|
7982
7980
|
};
|
|
7981
|
+
/**
|
|
7982
|
+
* Whether the overlay takes the app root out of the accessibility tree and
|
|
7983
|
+
* blocks body scroll while presented. Toasts never do, modal and popover can
|
|
7984
|
+
* opt out with `focusTrap={false}`, and a backdrop that does not block
|
|
7985
|
+
* (`showBackdrop={false}`, or a `backdropBreakpoint` above 0) is excluded.
|
|
7986
|
+
*/
|
|
7987
|
+
const locksAppRoot = (el) => {
|
|
7988
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
7989
|
+
};
|
|
7983
7990
|
const createController = (tagName) => {
|
|
7984
7991
|
return {
|
|
7985
7992
|
create(options) {
|
|
@@ -8348,6 +8355,13 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
|
|
|
8348
8355
|
// Otherwise, return the last overlay with the given id
|
|
8349
8356
|
return (id === undefined ? overlays : overlays.filter((o) => o.id === id)).slice(-1)[0];
|
|
8350
8357
|
};
|
|
8358
|
+
/**
|
|
8359
|
+
* The element an app nests its views under. Overlays hide this rather than the
|
|
8360
|
+
* whole root, so the overlay itself (a sibling) stays reachable.
|
|
8361
|
+
*/
|
|
8362
|
+
const getViewContainer = () => {
|
|
8363
|
+
return getAppRoot(document).querySelector('ion-router-outlet, #ion-view-container-root');
|
|
8364
|
+
};
|
|
8351
8365
|
/**
|
|
8352
8366
|
* When an overlay is presented, the main
|
|
8353
8367
|
* focus is the overlay not the page content.
|
|
@@ -8371,8 +8385,7 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
|
|
|
8371
8385
|
* for main content.
|
|
8372
8386
|
*/
|
|
8373
8387
|
const setRootAriaHidden = (hidden = false) => {
|
|
8374
|
-
const
|
|
8375
|
-
const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
|
|
8388
|
+
const viewContainer = getViewContainer();
|
|
8376
8389
|
if (!viewContainer) {
|
|
8377
8390
|
return;
|
|
8378
8391
|
}
|
|
@@ -8397,15 +8410,42 @@ const cleanupRootFocusTrapAccessibility = () => {
|
|
|
8397
8410
|
return;
|
|
8398
8411
|
}
|
|
8399
8412
|
const remainingOverlays = getPresentedOverlays(document);
|
|
8400
|
-
const hasRemainingLocking = remainingOverlays.some((o) =>
|
|
8401
|
-
const el = o;
|
|
8402
|
-
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8403
|
-
});
|
|
8413
|
+
const hasRemainingLocking = remainingOverlays.some((o) => locksAppRoot(o));
|
|
8404
8414
|
if (!hasRemainingLocking) {
|
|
8405
8415
|
setRootAriaHidden(false);
|
|
8406
8416
|
document.body.classList.remove(BACKDROP_NO_SCROLL);
|
|
8407
8417
|
}
|
|
8408
8418
|
};
|
|
8419
|
+
/**
|
|
8420
|
+
* Applies the root lock itself: `aria-hidden` on the view container, and
|
|
8421
|
+
* `backdrop-no-scroll` on the body. Shared by `present()` and the restore
|
|
8422
|
+
* below, which have to stay in lockstep.
|
|
8423
|
+
*/
|
|
8424
|
+
const applyRootLock = (el) => {
|
|
8425
|
+
// Hiding the container the overlay now sits in would hide the overlay too.
|
|
8426
|
+
if (!getViewContainer()?.contains(el)) {
|
|
8427
|
+
setRootAriaHidden(true);
|
|
8428
|
+
}
|
|
8429
|
+
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
8430
|
+
};
|
|
8431
|
+
/**
|
|
8432
|
+
* Re-applies the root lock that `cleanupRootFocusTrapAccessibility()` released.
|
|
8433
|
+
* Call from `connectedCallback` when the overlay is still presented.
|
|
8434
|
+
*
|
|
8435
|
+
* A synchronous move keeps the overlay connected, so the lock survives. A
|
|
8436
|
+
* detach with a re-insert in a later task releases it, which is the shape a
|
|
8437
|
+
* framework produces when it takes a subtree out and puts it back.
|
|
8438
|
+
*/
|
|
8439
|
+
const restoreRootFocusTrapAccessibility = (overlayEl) => {
|
|
8440
|
+
if (typeof document === 'undefined') {
|
|
8441
|
+
return;
|
|
8442
|
+
}
|
|
8443
|
+
const el = overlayEl;
|
|
8444
|
+
if (!locksAppRoot(el)) {
|
|
8445
|
+
return;
|
|
8446
|
+
}
|
|
8447
|
+
applyRootLock(el);
|
|
8448
|
+
};
|
|
8409
8449
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
8410
8450
|
if (overlay.presented) {
|
|
8411
8451
|
return;
|
|
@@ -8422,15 +8462,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
8422
8462
|
restoreElementFocus(overlay.el);
|
|
8423
8463
|
}
|
|
8424
8464
|
/**
|
|
8425
|
-
*
|
|
8426
|
-
* focus traps.
|
|
8427
|
-
*
|
|
8428
|
-
* All other overlays should have focus traps to prevent
|
|
8429
|
-
* the keyboard focus from leaving the overlay unless
|
|
8430
|
-
* developers explicitly opt out (for example, sheet
|
|
8431
|
-
* modals that should permit background interaction).
|
|
8432
|
-
*
|
|
8433
|
-
* Note: Some apps move inline overlays to a specific container
|
|
8465
|
+
* Some apps move inline overlays to a specific container
|
|
8434
8466
|
* during the willPresent lifecycle (e.g., React portals via
|
|
8435
8467
|
* onWillPresent). Defer applying aria-hidden/inert to the app
|
|
8436
8468
|
* root until after willPresent so we can detect where the
|
|
@@ -8439,18 +8471,11 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
8439
8471
|
* to avoid disabling the overlay.
|
|
8440
8472
|
*/
|
|
8441
8473
|
const overlayEl = overlay.el;
|
|
8442
|
-
const
|
|
8443
|
-
const shouldLockRoot = shouldTrapFocus && isBackdropAlwaysBlocking(overlayEl);
|
|
8474
|
+
const shouldLockRoot = locksAppRoot(overlayEl);
|
|
8444
8475
|
overlay.presented = true;
|
|
8445
8476
|
overlay.willPresent.emit();
|
|
8446
8477
|
if (shouldLockRoot) {
|
|
8447
|
-
|
|
8448
|
-
const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
|
|
8449
|
-
const overlayInsideViewContainer = viewContainer ? viewContainer.contains(overlayEl) : false;
|
|
8450
|
-
if (!overlayInsideViewContainer) {
|
|
8451
|
-
setRootAriaHidden(true);
|
|
8452
|
-
}
|
|
8453
|
-
document.body.classList.add(BACKDROP_NO_SCROLL);
|
|
8478
|
+
applyRootLock(overlayEl);
|
|
8454
8479
|
}
|
|
8455
8480
|
overlay.willPresentShorthand?.emit();
|
|
8456
8481
|
const mode = getIonMode$1(overlay);
|
|
@@ -8576,12 +8601,9 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
8576
8601
|
* from the root element when the last focus-trapping overlay
|
|
8577
8602
|
* is dismissed.
|
|
8578
8603
|
*/
|
|
8579
|
-
const overlaysLockingRoot = presentedOverlays.filter((o) =>
|
|
8580
|
-
const el = o;
|
|
8581
|
-
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
8582
|
-
});
|
|
8604
|
+
const overlaysLockingRoot = presentedOverlays.filter((o) => locksAppRoot(o));
|
|
8583
8605
|
const overlayEl = overlay.el;
|
|
8584
|
-
const locksRoot =
|
|
8606
|
+
const locksRoot = locksAppRoot(overlayEl);
|
|
8585
8607
|
/**
|
|
8586
8608
|
* If this is the last visible overlay that is trapping focus
|
|
8587
8609
|
* then we want to re-add the root to the accessibility tree.
|
|
@@ -10577,6 +10599,13 @@ class ActionSheet {
|
|
|
10577
10599
|
connectedCallback() {
|
|
10578
10600
|
prepareOverlay(this.el);
|
|
10579
10601
|
this.triggerChanged();
|
|
10602
|
+
// `componentDidLoad` only fires once per instance, so a reconnect has to
|
|
10603
|
+
// rebuild the gesture its disconnect destroyed.
|
|
10604
|
+
this.setupButtonActiveGesture();
|
|
10605
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
10606
|
+
if (this.presented) {
|
|
10607
|
+
restoreRootFocusTrapAccessibility(this.el);
|
|
10608
|
+
}
|
|
10580
10609
|
}
|
|
10581
10610
|
disconnectedCallback() {
|
|
10582
10611
|
if (this.gesture) {
|
|
@@ -10596,24 +10625,33 @@ class ActionSheet {
|
|
|
10596
10625
|
// Initialize activeRadioId for radio buttons
|
|
10597
10626
|
this.buttonsChanged();
|
|
10598
10627
|
}
|
|
10599
|
-
|
|
10600
|
-
|
|
10601
|
-
|
|
10602
|
-
|
|
10603
|
-
|
|
10604
|
-
|
|
10605
|
-
|
|
10606
|
-
|
|
10628
|
+
/**
|
|
10629
|
+
* Only create gesture if:
|
|
10630
|
+
* 1. A gesture does not already exist
|
|
10631
|
+
* 2. App is running in iOS mode
|
|
10632
|
+
* 3. A wrapper ref exists
|
|
10633
|
+
* 4. A group ref exists
|
|
10634
|
+
* 5. The host is still connected, since a reconnect can schedule this and
|
|
10635
|
+
* disconnect again before the task runs
|
|
10636
|
+
*/
|
|
10637
|
+
setupButtonActiveGesture() {
|
|
10607
10638
|
const { groupEl, wrapperEl } = this;
|
|
10608
|
-
if (
|
|
10609
|
-
|
|
10610
|
-
const isScrollable = groupEl.scrollHeight > groupEl.clientHeight;
|
|
10611
|
-
if (!isScrollable) {
|
|
10612
|
-
this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
|
|
10613
|
-
this.gesture.enable(true);
|
|
10614
|
-
}
|
|
10615
|
-
});
|
|
10639
|
+
if (getIonMode$1(this) !== 'ios' || !wrapperEl || !groupEl) {
|
|
10640
|
+
return;
|
|
10616
10641
|
}
|
|
10642
|
+
readTask(() => {
|
|
10643
|
+
// Bail if a call queued ahead of this one already built the gesture
|
|
10644
|
+
// (a second would orphan the first with its listeners still bound), if
|
|
10645
|
+
// the host disconnected while this task waited, or if the group scrolls.
|
|
10646
|
+
if (this.gesture || !this.el.isConnected || groupEl.scrollHeight > groupEl.clientHeight) {
|
|
10647
|
+
return;
|
|
10648
|
+
}
|
|
10649
|
+
this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
|
|
10650
|
+
this.gesture.enable(true);
|
|
10651
|
+
});
|
|
10652
|
+
}
|
|
10653
|
+
componentDidLoad() {
|
|
10654
|
+
this.setupButtonActiveGesture();
|
|
10617
10655
|
/**
|
|
10618
10656
|
* If action sheet was rendered with isOpen="true"
|
|
10619
10657
|
* then we should open action sheet immediately.
|
|
@@ -10706,17 +10744,17 @@ class ActionSheet {
|
|
|
10706
10744
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
10707
10745
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
10708
10746
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
10709
|
-
return (hAsync(Host, { key: '
|
|
10747
|
+
return (hAsync(Host, { key: '83b47ea6b81d4eec6582c1dcaae6f267c78ba634', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1", ...htmlAttributes, style: {
|
|
10710
10748
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
10711
10749
|
}, class: {
|
|
10712
10750
|
[mode]: true,
|
|
10713
10751
|
...getClassMap(this.cssClass),
|
|
10714
10752
|
'overlay-hidden': true,
|
|
10715
10753
|
'action-sheet-translucent': this.translucent,
|
|
10716
|
-
}, onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
10754
|
+
}, 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: {
|
|
10717
10755
|
'action-sheet-title': true,
|
|
10718
10756
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
10719
|
-
} }, header, this.subHeader && hAsync("div", { key: '
|
|
10757
|
+
} }, 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" })));
|
|
10720
10758
|
}
|
|
10721
10759
|
get el() { return getElement(this); }
|
|
10722
10760
|
static get watchers() { return {
|
|
@@ -11098,10 +11136,15 @@ class Alert {
|
|
|
11098
11136
|
this.triggerChanged();
|
|
11099
11137
|
/**
|
|
11100
11138
|
* If the alert was previously connected and is being reattached, the
|
|
11101
|
-
* ResizeObserver
|
|
11102
|
-
* instance, so re-establish
|
|
11139
|
+
* `ResizeObserver` and the button gesture were torn down. `componentDidLoad`
|
|
11140
|
+
* only fires once per instance, so re-establish both here on reconnect.
|
|
11103
11141
|
*/
|
|
11104
11142
|
this.setupButtonGroupResizeObserver();
|
|
11143
|
+
this.setupButtonActiveGesture();
|
|
11144
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
11145
|
+
if (this.presented) {
|
|
11146
|
+
restoreRootFocusTrapAccessibility(this.el);
|
|
11147
|
+
}
|
|
11105
11148
|
}
|
|
11106
11149
|
componentWillLoad() {
|
|
11107
11150
|
if (!this.htmlAttributes?.id) {
|
|
@@ -11123,17 +11166,20 @@ class Alert {
|
|
|
11123
11166
|
this.buttonGroupResizeObserver?.disconnect();
|
|
11124
11167
|
this.buttonGroupResizeObserver = undefined;
|
|
11125
11168
|
}
|
|
11126
|
-
|
|
11127
|
-
|
|
11128
|
-
|
|
11129
|
-
|
|
11130
|
-
|
|
11131
|
-
|
|
11132
|
-
|
|
11169
|
+
/**
|
|
11170
|
+
* Only create gesture if:
|
|
11171
|
+
* 1. A gesture does not already exist
|
|
11172
|
+
* 2. App is running in iOS mode
|
|
11173
|
+
* 3. A wrapper ref exists
|
|
11174
|
+
*/
|
|
11175
|
+
setupButtonActiveGesture() {
|
|
11133
11176
|
if (!this.gesture && getIonMode$1(this) === 'ios' && this.wrapperEl) {
|
|
11134
11177
|
this.gesture = createButtonActiveGesture(this.wrapperEl, (refEl) => refEl.classList.contains('alert-button'));
|
|
11135
11178
|
this.gesture.enable(true);
|
|
11136
11179
|
}
|
|
11180
|
+
}
|
|
11181
|
+
componentDidLoad() {
|
|
11182
|
+
this.setupButtonActiveGesture();
|
|
11137
11183
|
this.setupButtonGroupResizeObserver();
|
|
11138
11184
|
/**
|
|
11139
11185
|
* If alert was rendered with isOpen="true"
|
|
@@ -11454,14 +11500,14 @@ class Alert {
|
|
|
11454
11500
|
* If neither are defined, do not set aria-labelledby.
|
|
11455
11501
|
*/
|
|
11456
11502
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
11457
|
-
return (hAsync(Host, { key: '
|
|
11503
|
+
return (hAsync(Host, { key: '083b5250dc4c76e85240e0225abcb7ca2b66de2f', tabindex: "-1", style: {
|
|
11458
11504
|
zIndex: `${20000 + overlayIndex}`,
|
|
11459
11505
|
}, class: {
|
|
11460
11506
|
...getClassMap(this.cssClass),
|
|
11461
11507
|
[mode]: true,
|
|
11462
11508
|
'overlay-hidden': true,
|
|
11463
11509
|
'alert-translucent': this.translucent,
|
|
11464
|
-
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
11510
|
+
}, 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" })));
|
|
11465
11511
|
}
|
|
11466
11512
|
get el() { return getElement(this); }
|
|
11467
11513
|
static get watchers() { return {
|
|
@@ -22979,6 +23025,10 @@ class Loading {
|
|
|
22979
23025
|
connectedCallback() {
|
|
22980
23026
|
prepareOverlay(this.el);
|
|
22981
23027
|
this.triggerChanged();
|
|
23028
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
23029
|
+
if (this.presented) {
|
|
23030
|
+
restoreRootFocusTrapAccessibility(this.el);
|
|
23031
|
+
}
|
|
22982
23032
|
}
|
|
22983
23033
|
componentWillLoad() {
|
|
22984
23034
|
if (this.spinner === undefined) {
|
|
@@ -23079,14 +23129,14 @@ class Loading {
|
|
|
23079
23129
|
* Otherwise, don't set aria-labelledby.
|
|
23080
23130
|
*/
|
|
23081
23131
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
23082
|
-
return (hAsync(Host, { key: '
|
|
23132
|
+
return (hAsync(Host, { key: 'b4430bc66aedeca19d5645667cba73c169c4bd76', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1", ...htmlAttributes, style: {
|
|
23083
23133
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
23084
23134
|
}, onIonBackdropTap: this.onBackdropTap, class: {
|
|
23085
23135
|
...getClassMap(this.cssClass),
|
|
23086
23136
|
[mode]: true,
|
|
23087
23137
|
'overlay-hidden': true,
|
|
23088
23138
|
'loading-translucent': this.translucent,
|
|
23089
|
-
} }, hAsync("ion-backdrop", { key: '
|
|
23139
|
+
} }, 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" })));
|
|
23090
23140
|
}
|
|
23091
23141
|
get el() { return getElement(this); }
|
|
23092
23142
|
static get watchers() { return {
|
|
@@ -26645,6 +26695,9 @@ class Modal {
|
|
|
26645
26695
|
this.inline = false;
|
|
26646
26696
|
// Whether or not modal is being dismissed via gesture
|
|
26647
26697
|
this.gestureAnimationDismissing = false;
|
|
26698
|
+
// True from the first safe-area write in `present()` until the enter
|
|
26699
|
+
// animation settles. A position-based read in that window is not the rest position.
|
|
26700
|
+
this.isPresenting = false;
|
|
26648
26701
|
this.presented = false;
|
|
26649
26702
|
/** @internal */
|
|
26650
26703
|
this.hasController = false;
|
|
@@ -26881,6 +26934,17 @@ class Modal {
|
|
|
26881
26934
|
const { el } = this;
|
|
26882
26935
|
prepareOverlay(el);
|
|
26883
26936
|
this.triggerChanged();
|
|
26937
|
+
// A disconnect tears down state this presentation still needs and cannot
|
|
26938
|
+
// tell a re-insert from a removal, so put it back.
|
|
26939
|
+
if (this.presented || this.isPresenting) {
|
|
26940
|
+
this.restoreSafeAreaOverrides();
|
|
26941
|
+
}
|
|
26942
|
+
// A relocation from `willPresent` reaches these before `present()` has
|
|
26943
|
+
// applied the lock, so they apply it instead. Both are idempotent.
|
|
26944
|
+
if (this.presented) {
|
|
26945
|
+
restoreRootFocusTrapAccessibility(el);
|
|
26946
|
+
this.initParentRemovalObserver();
|
|
26947
|
+
}
|
|
26884
26948
|
}
|
|
26885
26949
|
disconnectedCallback() {
|
|
26886
26950
|
this.triggerController.removeClickListener();
|
|
@@ -27058,25 +27122,33 @@ class Modal {
|
|
|
27058
27122
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
27059
27123
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
27060
27124
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
27061
|
-
|
|
27062
|
-
this.setInitialSafeAreaOverrides();
|
|
27125
|
+
this.isPresenting = true;
|
|
27063
27126
|
const hasCardModal = presentingElement !== undefined;
|
|
27064
|
-
|
|
27065
|
-
|
|
27066
|
-
|
|
27067
|
-
|
|
27068
|
-
|
|
27069
|
-
|
|
27070
|
-
|
|
27071
|
-
|
|
27072
|
-
|
|
27127
|
+
// Wrapped so a throw cannot strand `isPresenting`, which would suppress
|
|
27128
|
+
// the position-based correction for the life of this instance.
|
|
27129
|
+
try {
|
|
27130
|
+
// Set initial safe-area overrides before animation
|
|
27131
|
+
this.setInitialSafeAreaOverrides();
|
|
27132
|
+
/**
|
|
27133
|
+
* We need to change the status bar at the
|
|
27134
|
+
* start of the animation so that it completes
|
|
27135
|
+
* by the time the card animation is done.
|
|
27136
|
+
*/
|
|
27137
|
+
if (hasCardModal && getIonMode$1(this) === 'ios') {
|
|
27138
|
+
// Cache the original status bar color before the modal is presented
|
|
27139
|
+
this.statusBarStyle = await StatusBar.getStyle();
|
|
27140
|
+
setCardStatusBarDark();
|
|
27141
|
+
}
|
|
27142
|
+
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
27143
|
+
presentingEl: presentingElement,
|
|
27144
|
+
currentBreakpoint: this.initialBreakpoint,
|
|
27145
|
+
backdropBreakpoint: this.backdropBreakpoint,
|
|
27146
|
+
expandToScroll: this.expandToScroll,
|
|
27147
|
+
});
|
|
27148
|
+
}
|
|
27149
|
+
finally {
|
|
27150
|
+
this.isPresenting = false;
|
|
27073
27151
|
}
|
|
27074
|
-
await present(this, 'modalEnter', iosEnterAnimation$2, mdEnterAnimation$2, {
|
|
27075
|
-
presentingEl: presentingElement,
|
|
27076
|
-
currentBreakpoint: this.initialBreakpoint,
|
|
27077
|
-
backdropBreakpoint: this.backdropBreakpoint,
|
|
27078
|
-
expandToScroll: this.expandToScroll,
|
|
27079
|
-
});
|
|
27080
27152
|
// Update safe-area based on actual position after animation
|
|
27081
27153
|
this.updateSafeAreaOverrides();
|
|
27082
27154
|
// Apply fullscreen safe-area padding if needed
|
|
@@ -27578,6 +27650,9 @@ class Modal {
|
|
|
27578
27650
|
this.cachedOriginalParent.tagName === 'ION-APP') {
|
|
27579
27651
|
return;
|
|
27580
27652
|
}
|
|
27653
|
+
// Both `present()` and a reconnect call this, so drop any existing
|
|
27654
|
+
// observer. Below the guards, so a call that bails cannot leave none.
|
|
27655
|
+
this.cleanupParentRemovalObserver();
|
|
27581
27656
|
this.parentRemovalObserver = new MutationObserver((mutations) => {
|
|
27582
27657
|
mutations.forEach((mutation) => {
|
|
27583
27658
|
if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
|
|
@@ -27656,6 +27731,9 @@ class Modal {
|
|
|
27656
27731
|
// Set the internal offset property with the resolved root safe-area-top value
|
|
27657
27732
|
if (context.isSheetModal) {
|
|
27658
27733
|
this.updateSheetOffsetTop();
|
|
27734
|
+
// A restore after a DOM move runs this a second time for the same
|
|
27735
|
+
// modal, so drop the previous subscription rather than stacking one.
|
|
27736
|
+
this.unsubscribeRootSafeAreaTop?.();
|
|
27659
27737
|
this.unsubscribeRootSafeAreaTop = onRootSafeAreaTopChange((safeAreaTop) => this.updateSheetOffsetTop(safeAreaTop));
|
|
27660
27738
|
}
|
|
27661
27739
|
}
|
|
@@ -27774,6 +27852,31 @@ class Modal {
|
|
|
27774
27852
|
const { contentEl } = this.findContentAndFooter();
|
|
27775
27853
|
this.clearContentSafeAreaPadding(contentEl);
|
|
27776
27854
|
}
|
|
27855
|
+
/**
|
|
27856
|
+
* Re-applies what `cleanupSafeAreaOverrides()` removed for a modal moved
|
|
27857
|
+
* while presented. Anything needing no measurement goes on synchronously so
|
|
27858
|
+
* the modal is never painted without safe-area. The position-based
|
|
27859
|
+
* correction waits a frame for the layout pass it reads.
|
|
27860
|
+
*/
|
|
27861
|
+
restoreSafeAreaOverrides() {
|
|
27862
|
+
this.setInitialSafeAreaOverrides();
|
|
27863
|
+
this.applyFullscreenSafeArea();
|
|
27864
|
+
raf(() => {
|
|
27865
|
+
// A dismiss or another move can land first, and a read before the enter
|
|
27866
|
+
// animation settles is not the rest position. `present()` redoes it.
|
|
27867
|
+
if (!this.presented || !this.el.isConnected || this.isPresenting) {
|
|
27868
|
+
return;
|
|
27869
|
+
}
|
|
27870
|
+
// A hidden subtree carries `display: none`, so there is no box and the
|
|
27871
|
+
// read would write the safe-area for a modal touching no edge. The
|
|
27872
|
+
// prediction applied above holds until the modal is shown again.
|
|
27873
|
+
const { width, height } = this.el.getBoundingClientRect();
|
|
27874
|
+
if (width === 0 && height === 0) {
|
|
27875
|
+
return;
|
|
27876
|
+
}
|
|
27877
|
+
this.updateSafeAreaOverrides();
|
|
27878
|
+
});
|
|
27879
|
+
}
|
|
27777
27880
|
render() {
|
|
27778
27881
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
27779
27882
|
const showHandle = handle !== false && isSheetModal;
|
|
@@ -27781,7 +27884,7 @@ class Modal {
|
|
|
27781
27884
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
27782
27885
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
27783
27886
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
27784
|
-
return (hAsync(Host, { key: '
|
|
27887
|
+
return (hAsync(Host, { key: '7c9c736052c5a788cf31040b6b2386dd9ea7454b', "no-router": true,
|
|
27785
27888
|
// Allow the modal to be navigable when the handle is focusable
|
|
27786
27889
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1, ...htmlAttributes, style: {
|
|
27787
27890
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
@@ -27794,7 +27897,7 @@ class Modal {
|
|
|
27794
27897
|
'overlay-hidden': true,
|
|
27795
27898
|
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
27796
27899
|
...getClassMap(this.cssClass),
|
|
27797
|
-
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, hAsync("ion-backdrop", { key: '
|
|
27900
|
+
}, 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',
|
|
27798
27901
|
/*
|
|
27799
27902
|
role and aria-modal must be used on the
|
|
27800
27903
|
same element. They must also be set inside the
|
|
@@ -27807,9 +27910,9 @@ class Modal {
|
|
|
27807
27910
|
without the tabindex focus() would be a no-op and screen readers
|
|
27808
27911
|
may not properly announce the dialog and its content when it opens.
|
|
27809
27912
|
*/
|
|
27810
|
-
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: '
|
|
27913
|
+
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",
|
|
27811
27914
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
27812
|
-
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: '
|
|
27915
|
+
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 }))));
|
|
27813
27916
|
}
|
|
27814
27917
|
get el() { return getElement(this); }
|
|
27815
27918
|
static get watchers() { return {
|
|
@@ -31409,6 +31512,13 @@ class Popover {
|
|
|
31409
31512
|
const { configureTriggerInteraction, el } = this;
|
|
31410
31513
|
prepareOverlay(el);
|
|
31411
31514
|
configureTriggerInteraction();
|
|
31515
|
+
// Re-apply the root lock if moved without dismiss() being called
|
|
31516
|
+
if (this.presented) {
|
|
31517
|
+
restoreRootFocusTrapAccessibility(el);
|
|
31518
|
+
// The disconnect tore down the header observer, and `present()` is its
|
|
31519
|
+
// only other caller, so a move mid-layout would lose the recalculation.
|
|
31520
|
+
this.recalculateContentOnHeaderReady();
|
|
31521
|
+
}
|
|
31412
31522
|
}
|
|
31413
31523
|
disconnectedCallback() {
|
|
31414
31524
|
const { destroyTriggerInteraction } = this;
|
|
@@ -31586,6 +31696,12 @@ class Popover {
|
|
|
31586
31696
|
if (!header || contentElements.length === 0) {
|
|
31587
31697
|
return;
|
|
31588
31698
|
}
|
|
31699
|
+
// Both `present()` and a reconnect call this, so drop any existing
|
|
31700
|
+
// observer. Below the guards, so a call that bails cannot leave none.
|
|
31701
|
+
if (this.headerResizeObserver) {
|
|
31702
|
+
this.headerResizeObserver.disconnect();
|
|
31703
|
+
this.headerResizeObserver = undefined;
|
|
31704
|
+
}
|
|
31589
31705
|
this.headerResizeObserver = new ResizeObserver(async () => {
|
|
31590
31706
|
if (header.offsetHeight > 0) {
|
|
31591
31707
|
this.headerResizeObserver?.disconnect();
|
|
@@ -31658,7 +31774,7 @@ class Popover {
|
|
|
31658
31774
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
31659
31775
|
const desktop = isPlatform('desktop');
|
|
31660
31776
|
const enableArrow = arrow && !parentPopover;
|
|
31661
|
-
return (hAsync(Host, { key: '
|
|
31777
|
+
return (hAsync(Host, { key: 'b5e9c788f58397203976d5f8302dfb89e916efe1', "aria-modal": "true", "no-router": true, tabindex: "-1", ...htmlAttributes, style: {
|
|
31662
31778
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
31663
31779
|
}, class: {
|
|
31664
31780
|
...getClassMap(this.cssClass),
|
|
@@ -31669,7 +31785,7 @@ class Popover {
|
|
|
31669
31785
|
[`popover-side-${side}`]: true,
|
|
31670
31786
|
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
31671
31787
|
'popover-nested': !!parentPopover,
|
|
31672
|
-
}, onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }, !parentPopover && hAsync("ion-backdrop", { key: '
|
|
31788
|
+
}, 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' })))));
|
|
31673
31789
|
}
|
|
31674
31790
|
get el() { return getElement(this); }
|
|
31675
31791
|
static get watchers() { return {
|
|
@@ -42947,7 +43063,7 @@ var NAMESPACE = (
|
|
|
42947
43063
|
);
|
|
42948
43064
|
|
|
42949
43065
|
/*
|
|
42950
|
-
Stencil Hydrate Runner v4.44.
|
|
43066
|
+
Stencil Hydrate Runner v4.44.2 | MIT Licensed | https://stenciljs.com
|
|
42951
43067
|
*/
|
|
42952
43068
|
var __create = Object.create;
|
|
42953
43069
|
var __defProp = Object.defineProperty;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ionic/core",
|
|
3
|
-
"version": "9.0.1
|
|
3
|
+
"version": "9.0.1",
|
|
4
4
|
"description": "Base components for Ionic",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">= 16"
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"loader/"
|
|
67
67
|
],
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@stencil/core": "^4.44.
|
|
69
|
+
"@stencil/core": "^4.44.2",
|
|
70
70
|
"ionicons": "^8.1.0",
|
|
71
71
|
"tslib": "^2.1.0"
|
|
72
72
|
},
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@stencil/angular-output-target": "^1.4.1",
|
|
87
87
|
"@stencil/react-output-target": "^1.6.2",
|
|
88
88
|
"@stencil/sass": "^3.0.9",
|
|
89
|
-
"@stencil/vue-output-target": "0.14.
|
|
89
|
+
"@stencil/vue-output-target": "0.14.2",
|
|
90
90
|
"@types/jest": "^29.5.6",
|
|
91
91
|
"@types/node": "^24.13.3",
|
|
92
92
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
package/components/p-CFtAWaB6.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import{c as t}from"./p-DG-dUCKp.js";import{g as a}from"./p-ntAkt4Ra.js";const o=(o,r)=>{const i="40px",n="back"===r.direction,s=r.leavingEl,e=a(r.enteringEl),c=e.querySelector("ion-toolbar"),p=t();if(p.addElement(e).fill("both").beforeRemoveClass("ion-page-invisible"),n?p.duration((r.duration??0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)"):p.duration((r.duration??0)||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform",`translateY(${i})`,"translateY(0px)").fromTo("opacity",.01,1),c){const a=t();a.addElement(c),p.addAnimation(a)}if(s&&n){p.duration((r.duration??0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)");const o=t();o.addElement(a(s)).onFinish((t=>{1===t&&o.elements.length>0&&o.elements[0].style.setProperty("display","none")})).fromTo("transform","translateY(0px)",`translateY(${i})`).fromTo("opacity",1,0),p.addAnimation(o)}return p};export{o as mdTransitionAnimation}
|
package/components/p-CRcX0EGs.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import"./p-CpYeYl3u.js";const t=(t,e,n=["item-multiple-inputs"])=>{const i=t.closest("ion-item");if(!i||"undefined"==typeof MutationObserver)return;const r=()=>n.map((t=>i.classList.contains(t))).join(",");let s=r();const o=new MutationObserver((()=>{const t=r();t!==s&&(s=t,e())}));return o.observe(i,{attributes:!0,attributeFilter:["class"]}),o};export{t as c}
|