@ionic/core 9.0.1-dev.11787949960.1e63841c → 9.0.1-dev.11788285010.17561004
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/{dist/ionic/p-BpG7jkT9.js → components/p-66ogmUZU.js} +1 -1
- package/components/p-6Vp915Y7.js +4 -0
- package/components/{p-B2L09UOs.js → p-7PNwKFZi.js} +1 -1
- package/components/{p-C8mPeq0D.js → p-A8MJRBIY.js} +1 -1
- package/components/p-AQcCdH2_.js +4 -0
- package/components/{p-DkEb3SCT.js → p-B6x5_b9w.js} +1 -1
- package/components/{p-CDKY4TZ_.js → p-B8MQjdvk.js} +1 -1
- package/components/{p-CLZPNP7x.js → p-BA_4ZIEg.js} +1 -1
- package/components/{p-CyKlfXdt.js → p-BFtL8t1r.js} +1 -1
- package/components/{p-RRH-7cpd.js → p-BMfgF-Tv.js} +1 -1
- package/components/{p-l-zxxFre.js → p-BPDxVIRr.js} +1 -1
- package/{dist/ionic/p-BC17SPKH.js → components/p-BSARlp49.js} +1 -1
- package/components/p-BdwCtX8Y.js +4 -0
- package/components/p-Bg4OwDwb.js +4 -0
- package/components/{p-CBhGZ6rF.js → p-BgUIV8NQ.js} +1 -1
- package/components/{p-CxiXpCtB.js → p-Bnc0m4SW.js} +1 -1
- package/components/{p-7qDu1bID.js → p-BpLt_Ptn.js} +1 -1
- package/components/{p-C12SAK00.js → p-BqBDq1Ma.js} +1 -1
- package/components/{p-mXsQnyWB.js → p-BrFaQbGY.js} +1 -1
- package/{dist/ionic/p-CoEa7CiN.js → components/p-BuPAFTWI.js} +1 -1
- package/components/{p-CB06XtlF.js → p-Bx2saTHs.js} +1 -1
- package/components/p-BxhE2W85.js +4 -0
- package/components/p-CHswSpKy.js +4 -0
- package/components/p-CQAjyETU.js +4 -0
- package/components/p-CR9OgE6N.js +4 -0
- package/components/{p-CEkamjav.js → p-CWETxTjE.js} +1 -1
- package/components/p-CaZeZIL2.js +4 -0
- package/components/{p-CuS0-WwK.js → p-CaiZOhfC.js} +1 -1
- package/components/{p-BFwL2yyK.js → p-CgvDC7hC.js} +1 -1
- package/components/p-CqyGR9Aq.js +4 -0
- package/components/{p-DMkSsriG.js → p-D7ysFE2B.js} +1 -1
- package/components/p-DCWfzDM8.js +4 -0
- package/{dist/ionic/p-DA88iqXQ.js → components/p-DDdkefwf.js} +1 -1
- package/components/{p-CJTKYpZv.js → p-DEW7CnUc.js} +1 -1
- package/components/p-DQ1IPvZO.js +4 -0
- package/components/{p-BAJ7NctL.js → p-DcOH6-o5.js} +1 -1
- package/components/p-DfdYCsov.js +4 -0
- package/{dist/ionic/p-DoUx_N0R.js → components/p-DhOoEIAs.js} +1 -1
- package/components/p-Dl_7b_UJ.js +4 -0
- package/components/p-DqAI6tg7.js +4 -0
- package/components/p-DrehWDfv.js +4 -0
- package/components/{p-BWHBdLfY.js → p-DysqCsJu.js} +1 -1
- package/components/{p-BqE7e5gH.js → p-H1f2qsk4.js} +1 -1
- package/components/p-HVYBAhFx.js +4 -0
- package/components/{p-BE9noJ1O.js → p-Kmrg3Fed.js} +1 -1
- package/{dist/ionic/p-wdSUbx5C.js → components/p-RFfE9hF6.js} +1 -1
- package/components/{p-Bcm-GVQM.js → p-SR-LLqp_.js} +1 -1
- package/components/p-eFI3mtEX.js +4 -0
- package/components/{p-5rFO7X8J.js → p-gFwXiYC_.js} +1 -1
- package/components/{p-COxY7PLK.js → p-tX3UxCnU.js} +1 -1
- package/components/{p-VTfnz_8u.js → p-v2NpoOHp.js} +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{animation-ihPP_z2n.js → animation-D-OqR4a4.js} +1 -1
- package/dist/cjs/{app-globals-BlkzA410.js → app-globals-BzgwARwJ.js} +1 -1
- package/dist/cjs/{button-active-ItGBjzmO.js → button-active-BlWSD7uK.js} +1 -1
- package/dist/cjs/{format-CPIqtp4x.js → format-D7ig6Vm0.js} +1 -1
- package/dist/cjs/{framework-delegate-DhyWUPGg.js → framework-delegate-BZUx4TnE.js} +1 -1
- package/dist/cjs/{hardware-back-button-D5f_kASb.js → hardware-back-button-JOAEFSzc.js} +1 -1
- package/dist/cjs/{helpers-BCLkFTTd.js → helpers-Dj5o76mq.js} +1 -1
- package/dist/cjs/{index-CldjPPyP.js → index-2sO-zkZ2.js} +4 -4
- package/dist/cjs/{index-Bgz6BcKx.js → index-BrVMoqUk.js} +16 -50
- package/dist/cjs/{index-49DTLc_Z.js → index-C8zH6b3d.js} +2 -2
- package/dist/cjs/{index-BcyiqD6R.js → index-CZ6vzt_q.js} +5 -5
- package/dist/cjs/{index-xum7jdbq.js → index-Csue6G3m.js} +2 -2
- package/dist/cjs/{index-BocV_y-c.js → index-EJLjthTK.js} +1 -2
- package/dist/cjs/index.cjs.js +12 -12
- package/dist/cjs/{input-shims-Jisy7U7-.js → input-shims-Bh7bnt2v.js} +3 -3
- package/dist/cjs/{input.utils-BDTpGrfn.js → input.utils-Cq3g9uHy.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +29 -45
- package/dist/cjs/ion-alert.cjs.entry.js +21 -29
- package/dist/cjs/ion-app_8.cjs.entry.js +16 -38
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
- package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime.cjs.entry.js +24 -32
- package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-img.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-option_3.cjs.entry.js +15 -13
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +10 -14
- package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
- package/dist/cjs/ion-modal.cjs.entry.js +32 -85
- package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column.cjs.entry.js +46 -210
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +10 -23
- package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
- package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +10 -14
- package/dist/cjs/ion-select-modal.cjs.entry.js +8 -8
- package/dist/cjs/ion-select_3.cjs.entry.js +47 -57
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
- package/dist/cjs/ion-toast.cjs.entry.js +8 -8
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
- package/dist/cjs/{ionic-global-BMU-Us1Q.js → ionic-global-DvgIzM2F.js} +1 -1
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-OCcCN--B.js → ios.transition-zIgdoSYe.js} +4 -4
- package/dist/cjs/{item-multiple-inputs-BH9yPC66.js → item-multiple-inputs-DG-ZGm6j.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-D0o2IIbo.js → md.transition-CXeJ9rfh.js} +4 -4
- package/dist/cjs/{overlays-HN9joo1Z.js → overlays-Bg0auTQa.js} +34 -59
- package/dist/cjs/{select-option-render-BPjGDlsG.js → select-option-render-7m1WdFzF.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-IQ250LoG.js → slot-mutation-controller-BJEJzx_e.js} +1 -1
- package/dist/cjs/{status-tap-Bakl9czs.js → status-tap-DxbUM5XX.js} +3 -3
- package/dist/cjs/{swipe-back-Cv4OZVJ5.js → swipe-back-F_DBt-Aw.js} +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/action-sheet/action-sheet.js +20 -36
- package/dist/collection/components/alert/alert.js +12 -20
- package/dist/collection/components/content/content.js +4 -26
- package/dist/collection/components/datetime/datetime.js +17 -25
- package/dist/collection/components/item-sliding/item-sliding.js +12 -10
- package/dist/collection/components/loading/loading.js +3 -7
- package/dist/collection/components/modal/modal.ios.css +1 -12
- package/dist/collection/components/modal/modal.js +22 -75
- package/dist/collection/components/modal/modal.md.css +1 -12
- package/dist/collection/components/picker-column/picker-column.js +43 -207
- package/dist/collection/components/popover/popover.js +3 -16
- package/dist/collection/components/segment-button/segment-button.js +7 -11
- package/dist/collection/components/select/select.js +39 -49
- package/dist/collection/utils/overlays.js +29 -53
- package/dist/collection/utils/test/playwright/index.js +0 -1
- package/dist/docs.json +48 -279
- package/dist/esm/{animation-B6KGUJwl.js → animation-TxGPYeDn.js} +1 -1
- package/dist/esm/{app-globals-BvutUX8P.js → app-globals-Do8rJest.js} +1 -1
- package/dist/esm/{button-active-DRNebs9r.js → button-active-ChA4D-ml.js} +1 -1
- package/dist/esm/{format-BF3btM7P.js → format-CVk5e_GP.js} +1 -1
- package/dist/esm/{framework-delegate-60cEIAgt.js → framework-delegate-DaLWnISz.js} +1 -1
- package/dist/esm/{hardware-back-button-rhkwRNk2.js → hardware-back-button-D8W4L0JP.js} +1 -1
- package/dist/esm/{helpers-DLLANtRS.js → helpers-BIgoInJU.js} +1 -1
- package/dist/esm/{index-DOrtAUWV.js → index-BmOR8tCv.js} +2 -2
- package/dist/esm/{index-D_7MeuVD.js → index-C5ZdL0qp.js} +5 -5
- package/dist/esm/{index-BZHVn0iF.js → index-C8Dsa6li.js} +4 -4
- package/dist/esm/{index-h81G-QbJ.js → index-CKYcsw8f.js} +16 -50
- package/dist/esm/{index-Bl4BUvBL.js → index-DHw2lZxe.js} +2 -2
- package/dist/esm/{index-JgU5uTSY.js → index-elneMH8y.js} +2 -2
- package/dist/esm/index.js +12 -12
- package/dist/esm/{input-shims-C2ipc_XX.js → input-shims-09NN97kF.js} +3 -3
- package/dist/esm/{input.utils-D-qoPjqr.js → input.utils-BxyH9l1w.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +29 -45
- package/dist/esm/ion-alert.entry.js +21 -29
- package/dist/esm/ion-app_8.entry.js +16 -38
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +3 -3
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
- package/dist/esm/ion-button_2.entry.js +3 -3
- package/dist/esm/ion-card_5.entry.js +3 -3
- package/dist/esm/ion-checkbox.entry.js +4 -4
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +4 -4
- package/dist/esm/ion-datetime.entry.js +24 -32
- package/dist/esm/ion-fab_3.entry.js +3 -3
- package/dist/esm/ion-img.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
- package/dist/esm/ion-input-otp.entry.js +3 -3
- package/dist/esm/ion-input-password-toggle.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item-option_3.entry.js +15 -13
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +10 -14
- package/dist/esm/ion-menu_3.entry.js +8 -8
- package/dist/esm/ion-modal.entry.js +32 -85
- package/dist/esm/ion-nav_2.entry.js +6 -6
- package/dist/esm/ion-picker-column-option.entry.js +3 -3
- package/dist/esm/ion-picker-column.entry.js +47 -211
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +10 -23
- package/dist/esm/ion-progress-bar.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +6 -6
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +4 -4
- package/dist/esm/ion-searchbar.entry.js +3 -3
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +10 -14
- package/dist/esm/ion-select-modal.entry.js +8 -8
- package/dist/esm/ion-select_3.entry.js +47 -57
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +3 -3
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +5 -5
- package/dist/esm/ion-toast.entry.js +8 -8
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/{ionic-global-B7I1sdvg.js → ionic-global-lrowsHfi.js} +1 -1
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-C-6IaIxe.js → ios.transition-BQhADrk1.js} +4 -4
- package/dist/esm/{item-multiple-inputs-DI91syHS.js → item-multiple-inputs-D_N3fDkD.js} +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-dyqt0t0d.js → md.transition-D58NpmRa.js} +4 -4
- package/dist/esm/{overlays-Dz2cGX5q.js → overlays-BpnIFlXI.js} +35 -59
- package/dist/esm/{select-option-render-CUJpruSC.js → select-option-render-lIuu64EV.js} +2 -2
- package/dist/esm/{slot-mutation-controller-wFuztlVD.js → slot-mutation-controller-rS_T3FDR.js} +1 -1
- package/dist/esm/{status-tap-Dn_42wiy.js → status-tap-CpFQMLl6.js} +3 -3
- package/dist/esm/{swipe-back-CqOqrHW7.js → swipe-back-rmc7zeNW.js} +2 -2
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-025763b2.entry.js → p-05800a02.entry.js} +1 -1
- package/dist/ionic/p-0eb50dca.entry.js +4 -0
- package/dist/ionic/{p-0b52d921.entry.js → p-16e9f542.entry.js} +1 -1
- package/dist/ionic/p-18d532a3.entry.js +4 -0
- package/dist/ionic/{p-a2fccdaa.entry.js → p-1db2afb4.entry.js} +1 -1
- package/dist/ionic/{p-5ed60413.entry.js → p-1df75f9e.entry.js} +1 -1
- package/dist/ionic/{p-2ff12c8a.entry.js → p-295ff427.entry.js} +1 -1
- package/dist/ionic/p-34b9379b.entry.js +4 -0
- package/dist/ionic/{p-cc749877.entry.js → p-39a8d4e0.entry.js} +1 -1
- package/dist/ionic/p-4437015c.entry.js +4 -0
- package/dist/ionic/{p-53ba5651.entry.js → p-478035a7.entry.js} +1 -1
- package/dist/ionic/{p-1a20571c.entry.js → p-485fb218.entry.js} +1 -1
- package/dist/ionic/p-48c859fe.entry.js +4 -0
- package/dist/ionic/p-49b9d405.entry.js +4 -0
- package/dist/ionic/{p-d1539609.entry.js → p-56307aea.entry.js} +1 -1
- package/dist/ionic/{p-eeb65463.entry.js → p-5ee2d7b1.entry.js} +1 -1
- package/dist/ionic/{p-ca57763d.entry.js → p-5f216b79.entry.js} +1 -1
- package/dist/ionic/{p-fb4dabbb.entry.js → p-61c799d1.entry.js} +1 -1
- package/dist/ionic/{p-fe80ebb1.entry.js → p-63bbba8d.entry.js} +1 -1
- package/dist/ionic/p-68507e70.entry.js +4 -0
- package/dist/ionic/{p-43bae3f5.entry.js → p-6f048604.entry.js} +1 -1
- package/dist/ionic/{p-dadcb3d2.entry.js → p-70ee8888.entry.js} +1 -1
- package/dist/ionic/{p-7c859f42.entry.js → p-72ad7c64.entry.js} +1 -1
- package/dist/ionic/{p-90e06e60.entry.js → p-75887ee0.entry.js} +1 -1
- package/dist/ionic/{p-bdc01880.entry.js → p-873a315a.entry.js} +1 -1
- package/dist/ionic/{p-f0645c98.entry.js → p-881b6954.entry.js} +1 -1
- package/dist/ionic/p-886d9e66.entry.js +4 -0
- package/dist/ionic/{p-5dc53bdf.entry.js → p-8dd4c026.entry.js} +1 -1
- package/dist/ionic/{p-9f2d3987.entry.js → p-8e007f11.entry.js} +1 -1
- package/dist/ionic/p-8f464a8f.entry.js +4 -0
- package/dist/ionic/p-8f51110d.entry.js +4 -0
- package/dist/ionic/{p-1f66c230.entry.js → p-90ba736e.entry.js} +1 -1
- package/dist/ionic/{p-8d72244b.entry.js → p-959df5f8.entry.js} +1 -1
- package/dist/ionic/{p-8e388a30.entry.js → p-9e455875.entry.js} +1 -1
- package/{components/p-BcuLPPAE.js → dist/ionic/p-9wczfs_v.js} +1 -1
- package/dist/ionic/{p-C10K-FJg.js → p-B1Y7LZhV.js} +1 -1
- package/dist/ionic/p-B5RyLYvl.js +4 -0
- package/dist/ionic/p-BQv5i5Kf.js +4 -0
- package/dist/ionic/{p-CH8tk7Pr.js → p-BZVE25Gu.js} +1 -1
- package/{components/p-CdSLe3Q3.js → dist/ionic/p-BZxjcGRP.js} +1 -1
- package/dist/ionic/p-BnGA34Pd.js +4 -0
- package/dist/ionic/{p-Q9w8L_Sw.js → p-ByLaqOPm.js} +1 -1
- package/dist/ionic/p-C06QNN45.js +4 -0
- package/dist/ionic/{p-KJ5pLPiN.js → p-C4IBDDj6.js} +1 -1
- package/dist/ionic/p-CCVlNZ__.js +4 -0
- package/dist/ionic/{p-CTBfxfjC.js → p-CDBop-kz.js} +1 -1
- package/dist/ionic/p-CKYcsw8f.js +5 -0
- package/dist/ionic/p-CazSodad.js +4 -0
- package/dist/ionic/{p-S1shXW5M.js → p-ClrlQU2y.js} +1 -1
- package/{components/p-DG-dUCKp.js → dist/ionic/p-D0dfUysx.js} +1 -1
- package/dist/ionic/{p-C2BY_4Wp.js → p-D9yvytgv.js} +1 -1
- package/{components/p-DH0rRXjx.js → dist/ionic/p-DF_Uqql8.js} +1 -1
- package/dist/ionic/{p-DMj-M2c4.js → p-DXJgZWgi.js} +1 -1
- package/dist/ionic/p-DdhHqKj-.js +4 -0
- package/dist/ionic/{p-BRc8gq5v.js → p-De0eY881.js} +1 -1
- package/dist/ionic/p-DgUL3JbO.js +4 -0
- package/dist/ionic/{p-06ZcwRF5.js → p-RzUn7cKs.js} +1 -1
- package/dist/ionic/p-VquyMbjp.js +4 -0
- package/dist/ionic/{p-2aabd568.entry.js → p-a0fee899.entry.js} +1 -1
- package/dist/ionic/{p-9e688396.entry.js → p-a54bcd16.entry.js} +1 -1
- package/dist/ionic/{p-eaeac54e.entry.js → p-aebc4d69.entry.js} +1 -1
- package/dist/ionic/{p-9452849d.entry.js → p-b5f37106.entry.js} +1 -1
- package/dist/ionic/{p-082b8125.entry.js → p-b62bfce8.entry.js} +1 -1
- package/dist/ionic/p-b7a11b58.entry.js +4 -0
- package/dist/ionic/{p-546b1109.entry.js → p-bbf6878c.entry.js} +1 -1
- package/dist/ionic/{p-e93cc1e1.entry.js → p-c49165af.entry.js} +1 -1
- package/dist/ionic/{p-9eba0d8a.entry.js → p-cad4eccf.entry.js} +1 -1
- package/dist/ionic/{p-d1b888de.entry.js → p-cdc5115e.entry.js} +1 -1
- package/dist/ionic/{p-47b8b59a.entry.js → p-d3384a40.entry.js} +1 -1
- package/dist/ionic/{p-f607ad4f.entry.js → p-d8bae128.entry.js} +1 -1
- package/dist/ionic/{p-026e2e4c.entry.js → p-d8deff43.entry.js} +1 -1
- package/dist/ionic/{p-6d84fa9f.entry.js → p-ddfb7e5f.entry.js} +1 -1
- package/dist/ionic/{p-ecfc9c71.entry.js → p-e538f18d.entry.js} +1 -1
- package/dist/ionic/{p-83aa7d47.entry.js → p-f376876b.entry.js} +1 -1
- package/dist/ionic/p-f521b13c.entry.js +4 -0
- package/dist/ionic/{p-ac71362a.entry.js → p-fbd83d4c.entry.js} +1 -1
- package/dist/types/components/action-sheet/action-sheet.d.ts +0 -10
- package/dist/types/components/alert/alert.d.ts +0 -7
- package/dist/types/components/content/content.d.ts +0 -7
- package/dist/types/components/modal/modal.d.ts +0 -8
- package/dist/types/components/picker-column/picker-column.d.ts +0 -42
- package/dist/types/components.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +0 -12
- package/dist/types/utils/overlays.d.ts +0 -9
- package/dist/types/utils/test/playwright/index.d.ts +0 -1
- package/hydrate/index.js +213 -558
- package/hydrate/index.mjs +213 -558
- package/loader/index.d.ts +1 -1
- package/package.json +2 -2
- package/components/p-BhlP16sB.js +0 -4
- package/components/p-C8Tp0cQy.js +0 -4
- package/components/p-CFtAWaB6.js +0 -4
- package/components/p-CQxPXWNM.js +0 -4
- package/components/p-CRcX0EGs.js +0 -4
- package/components/p-CVNvmbDp.js +0 -4
- package/components/p-CXpy69Ei.js +0 -4
- package/components/p-CoGD-oMG.js +0 -4
- package/components/p-CpYeYl3u.js +0 -4
- package/components/p-D2XJVty5.js +0 -4
- package/components/p-DALTMT_o.js +0 -4
- package/components/p-Dr-rBSUW.js +0 -4
- package/components/p-MHpJ2A_m.js +0 -4
- package/components/p-N6lZFXYR.js +0 -4
- package/components/p-QgdyH-Zs.js +0 -4
- package/components/p-UKksD3f9.js +0 -4
- package/components/p-fP0QF3iG.js +0 -4
- package/components/p-ntAkt4Ra.js +0 -4
- package/components/p-ufB0gCSU.js +0 -4
- package/components/p-z-BF3clL.js +0 -4
- package/dist/collection/utils/test/late-props/late-props.js +0 -69
- package/dist/collection/utils/test/playwright/detach-reattach.js +0 -23
- package/dist/ionic/p-010601fe.entry.js +0 -4
- package/dist/ionic/p-0c2b3555.entry.js +0 -4
- package/dist/ionic/p-326e0d05.entry.js +0 -4
- package/dist/ionic/p-392079fa.entry.js +0 -4
- package/dist/ionic/p-4778b90f.entry.js +0 -4
- package/dist/ionic/p-639d3b55.entry.js +0 -4
- package/dist/ionic/p-7dec112e.entry.js +0 -4
- package/dist/ionic/p-9fef333a.entry.js +0 -4
- package/dist/ionic/p-BRa1Jjxr.js +0 -4
- package/dist/ionic/p-Cc-fFNy8.js +0 -4
- package/dist/ionic/p-Cc4w3fVf.js +0 -4
- package/dist/ionic/p-CvRL-Eju.js +0 -4
- package/dist/ionic/p-D_IgV7tz.js +0 -4
- package/dist/ionic/p-b8cd338d.entry.js +0 -4
- package/dist/ionic/p-d85e59b1.entry.js +0 -4
- package/dist/ionic/p-dad2f3e4.entry.js +0 -4
- package/dist/ionic/p-eab77a74.entry.js +0 -4
- package/dist/ionic/p-h81G-QbJ.js +0 -6
- package/dist/ionic/p-nxFQkv7U.js +0 -4
- package/dist/ionic/p-w3KTiug9.js +0 -4
- package/dist/types/utils/test/playwright/detach-reattach.d.ts +0 -13
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
var index$1 = require('./index-DkNv4J_i.js');
|
|
7
|
-
var helpers = require('./helpers-
|
|
8
|
-
var hardwareBackButton = require('./hardware-back-button-
|
|
9
|
-
var index = require('./index-
|
|
10
|
-
var ionicGlobal = require('./ionic-global-
|
|
11
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
7
|
+
var helpers = require('./helpers-Dj5o76mq.js');
|
|
8
|
+
var hardwareBackButton = require('./hardware-back-button-JOAEFSzc.js');
|
|
9
|
+
var index = require('./index-BrVMoqUk.js');
|
|
10
|
+
var ionicGlobal = require('./ionic-global-DvgIzM2F.js');
|
|
11
|
+
var frameworkDelegate = require('./framework-delegate-BZUx4TnE.js');
|
|
12
12
|
var gestureController = require('./gesture-controller-CeJslptU.js');
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -102,15 +102,6 @@ const activeAnimations = new WeakMap();
|
|
|
102
102
|
const isBackdropAlwaysBlocking = (el) => {
|
|
103
103
|
return el.showBackdrop !== false && !((el.backdropBreakpoint ?? 0) > 0);
|
|
104
104
|
};
|
|
105
|
-
/**
|
|
106
|
-
* Whether the overlay takes the app root out of the accessibility tree and
|
|
107
|
-
* blocks body scroll while presented. Toasts never do, modal and popover can
|
|
108
|
-
* opt out with `focusTrap={false}`, and a backdrop that does not block
|
|
109
|
-
* (`showBackdrop={false}`, or a `backdropBreakpoint` above 0) is excluded.
|
|
110
|
-
*/
|
|
111
|
-
const locksAppRoot = (el) => {
|
|
112
|
-
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
113
|
-
};
|
|
114
105
|
const createController = (tagName) => {
|
|
115
106
|
return {
|
|
116
107
|
create(options) {
|
|
@@ -481,13 +472,6 @@ const getPresentedOverlay = (doc, overlayTag, id) => {
|
|
|
481
472
|
// Otherwise, return the last overlay with the given id
|
|
482
473
|
return (id === undefined ? overlays : overlays.filter((o) => o.id === id)).slice(-1)[0];
|
|
483
474
|
};
|
|
484
|
-
/**
|
|
485
|
-
* The element an app nests its views under. Overlays hide this rather than the
|
|
486
|
-
* whole root, so the overlay itself (a sibling) stays reachable.
|
|
487
|
-
*/
|
|
488
|
-
const getViewContainer = () => {
|
|
489
|
-
return getAppRoot(document).querySelector('ion-router-outlet, #ion-view-container-root');
|
|
490
|
-
};
|
|
491
475
|
/**
|
|
492
476
|
* When an overlay is presented, the main
|
|
493
477
|
* focus is the overlay not the page content.
|
|
@@ -511,7 +495,8 @@ const getViewContainer = () => {
|
|
|
511
495
|
* for main content.
|
|
512
496
|
*/
|
|
513
497
|
const setRootAriaHidden = (hidden = false) => {
|
|
514
|
-
const
|
|
498
|
+
const root = getAppRoot(document);
|
|
499
|
+
const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
|
|
515
500
|
if (!viewContainer) {
|
|
516
501
|
return;
|
|
517
502
|
}
|
|
@@ -536,42 +521,15 @@ const cleanupRootFocusTrapAccessibility = () => {
|
|
|
536
521
|
return;
|
|
537
522
|
}
|
|
538
523
|
const remainingOverlays = getPresentedOverlays(document);
|
|
539
|
-
const hasRemainingLocking = remainingOverlays.some((o) =>
|
|
524
|
+
const hasRemainingLocking = remainingOverlays.some((o) => {
|
|
525
|
+
const el = o;
|
|
526
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
527
|
+
});
|
|
540
528
|
if (!hasRemainingLocking) {
|
|
541
529
|
setRootAriaHidden(false);
|
|
542
530
|
document.body.classList.remove(gestureController.BACKDROP_NO_SCROLL);
|
|
543
531
|
}
|
|
544
532
|
};
|
|
545
|
-
/**
|
|
546
|
-
* Applies the root lock itself: `aria-hidden` on the view container, and
|
|
547
|
-
* `backdrop-no-scroll` on the body. Shared by `present()` and the restore
|
|
548
|
-
* below, which have to stay in lockstep.
|
|
549
|
-
*/
|
|
550
|
-
const applyRootLock = (el) => {
|
|
551
|
-
// Hiding the container the overlay now sits in would hide the overlay too.
|
|
552
|
-
if (!getViewContainer()?.contains(el)) {
|
|
553
|
-
setRootAriaHidden(true);
|
|
554
|
-
}
|
|
555
|
-
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
556
|
-
};
|
|
557
|
-
/**
|
|
558
|
-
* Re-applies the root lock that `cleanupRootFocusTrapAccessibility()` released.
|
|
559
|
-
* Call from `connectedCallback` when the overlay is still presented.
|
|
560
|
-
*
|
|
561
|
-
* A synchronous move keeps the overlay connected, so the lock survives. A
|
|
562
|
-
* detach with a re-insert in a later task releases it, which is the shape a
|
|
563
|
-
* framework produces when it takes a subtree out and puts it back.
|
|
564
|
-
*/
|
|
565
|
-
const restoreRootFocusTrapAccessibility = (overlayEl) => {
|
|
566
|
-
if (typeof document === 'undefined') {
|
|
567
|
-
return;
|
|
568
|
-
}
|
|
569
|
-
const el = overlayEl;
|
|
570
|
-
if (!locksAppRoot(el)) {
|
|
571
|
-
return;
|
|
572
|
-
}
|
|
573
|
-
applyRootLock(el);
|
|
574
|
-
};
|
|
575
533
|
const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
|
|
576
534
|
if (overlay.presented) {
|
|
577
535
|
return;
|
|
@@ -588,7 +546,15 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
588
546
|
restoreElementFocus(overlay.el);
|
|
589
547
|
}
|
|
590
548
|
/**
|
|
591
|
-
*
|
|
549
|
+
* Due to accessibility guidelines, toasts do not have
|
|
550
|
+
* focus traps.
|
|
551
|
+
*
|
|
552
|
+
* All other overlays should have focus traps to prevent
|
|
553
|
+
* the keyboard focus from leaving the overlay unless
|
|
554
|
+
* developers explicitly opt out (for example, sheet
|
|
555
|
+
* modals that should permit background interaction).
|
|
556
|
+
*
|
|
557
|
+
* Note: Some apps move inline overlays to a specific container
|
|
592
558
|
* during the willPresent lifecycle (e.g., React portals via
|
|
593
559
|
* onWillPresent). Defer applying aria-hidden/inert to the app
|
|
594
560
|
* root until after willPresent so we can detect where the
|
|
@@ -597,11 +563,18 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
|
|
|
597
563
|
* to avoid disabling the overlay.
|
|
598
564
|
*/
|
|
599
565
|
const overlayEl = overlay.el;
|
|
600
|
-
const
|
|
566
|
+
const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
|
|
567
|
+
const shouldLockRoot = shouldTrapFocus && isBackdropAlwaysBlocking(overlayEl);
|
|
601
568
|
overlay.presented = true;
|
|
602
569
|
overlay.willPresent.emit();
|
|
603
570
|
if (shouldLockRoot) {
|
|
604
|
-
|
|
571
|
+
const root = getAppRoot(document);
|
|
572
|
+
const viewContainer = root.querySelector('ion-router-outlet, #ion-view-container-root');
|
|
573
|
+
const overlayInsideViewContainer = viewContainer ? viewContainer.contains(overlayEl) : false;
|
|
574
|
+
if (!overlayInsideViewContainer) {
|
|
575
|
+
setRootAriaHidden(true);
|
|
576
|
+
}
|
|
577
|
+
document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
|
|
605
578
|
}
|
|
606
579
|
overlay.willPresentShorthand?.emit();
|
|
607
580
|
const mode = ionicGlobal.getIonMode(overlay);
|
|
@@ -727,9 +700,12 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
727
700
|
* from the root element when the last focus-trapping overlay
|
|
728
701
|
* is dismissed.
|
|
729
702
|
*/
|
|
730
|
-
const overlaysLockingRoot = presentedOverlays.filter((o) =>
|
|
703
|
+
const overlaysLockingRoot = presentedOverlays.filter((o) => {
|
|
704
|
+
const el = o;
|
|
705
|
+
return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
|
|
706
|
+
});
|
|
731
707
|
const overlayEl = overlay.el;
|
|
732
|
-
const locksRoot =
|
|
708
|
+
const locksRoot = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false && isBackdropAlwaysBlocking(overlayEl);
|
|
733
709
|
/**
|
|
734
710
|
* If this is the last visible overlay that is trapping focus
|
|
735
711
|
* then we want to re-add the root to the accessibility tree.
|
|
@@ -996,7 +972,6 @@ exports.modalController = modalController;
|
|
|
996
972
|
exports.popoverController = popoverController;
|
|
997
973
|
exports.prepareOverlay = prepareOverlay;
|
|
998
974
|
exports.present = present;
|
|
999
|
-
exports.restoreRootFocusTrapAccessibility = restoreRootFocusTrapAccessibility;
|
|
1000
975
|
exports.safeCall = safeCall;
|
|
1001
976
|
exports.setOverlayId = setOverlayId;
|
|
1002
977
|
exports.toastController = toastController;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var index$1 = require('./index-
|
|
6
|
+
var index = require('./index-BrVMoqUk.js');
|
|
7
|
+
var index$1 = require('./index-EJLjthTK.js');
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Converts a DOM node into a Stencil VNode (or text string) so the
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var index$1 = require('./index-
|
|
8
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index = require('./index-BrVMoqUk.js');
|
|
7
|
+
var index$1 = require('./index-C8zH6b3d.js');
|
|
8
|
+
var helpers = require('./helpers-Dj5o76mq.js');
|
|
9
9
|
require('./dir-zwDPRE5K.js');
|
|
10
10
|
|
|
11
11
|
const startStatusTap = () => {
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var helpers = require('./helpers-
|
|
6
|
+
var helpers = require('./helpers-Dj5o76mq.js');
|
|
7
7
|
var dir = require('./dir-zwDPRE5K.js');
|
|
8
8
|
var index = require('./index-DRPqwSvU.js');
|
|
9
|
-
require('./index-
|
|
9
|
+
require('./index-BrVMoqUk.js');
|
|
10
10
|
require('./gesture-controller-CeJslptU.js');
|
|
11
11
|
|
|
12
12
|
const createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {
|
|
@@ -5,7 +5,7 @@ import { Host, h, readTask } from "@stencil/core";
|
|
|
5
5
|
import { createButtonActiveGesture } from "../../utils/gesture/button-active";
|
|
6
6
|
import { raf } from "../../utils/helpers";
|
|
7
7
|
import { createLockController } from "../../utils/lock-controller";
|
|
8
|
-
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present,
|
|
8
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
|
|
9
9
|
import { renderOptionLabel } from "../../utils/select-option-render";
|
|
10
10
|
import { getClassMap } from "../../utils/theme";
|
|
11
11
|
import { getIonMode } from "../../global/ionic-global";
|
|
@@ -277,13 +277,6 @@ export class ActionSheet {
|
|
|
277
277
|
connectedCallback() {
|
|
278
278
|
prepareOverlay(this.el);
|
|
279
279
|
this.triggerChanged();
|
|
280
|
-
// `componentDidLoad` only fires once per instance, so a reconnect has to
|
|
281
|
-
// rebuild the gesture its disconnect destroyed.
|
|
282
|
-
this.setupButtonActiveGesture();
|
|
283
|
-
// Re-apply the root lock if moved without dismiss() being called
|
|
284
|
-
if (this.presented) {
|
|
285
|
-
restoreRootFocusTrapAccessibility(this.el);
|
|
286
|
-
}
|
|
287
280
|
}
|
|
288
281
|
disconnectedCallback() {
|
|
289
282
|
if (this.gesture) {
|
|
@@ -303,33 +296,24 @@ export class ActionSheet {
|
|
|
303
296
|
// Initialize activeRadioId for radio buttons
|
|
304
297
|
this.buttonsChanged();
|
|
305
298
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
*/
|
|
315
|
-
setupButtonActiveGesture() {
|
|
299
|
+
componentDidLoad() {
|
|
300
|
+
/**
|
|
301
|
+
* Only create gesture if:
|
|
302
|
+
* 1. A gesture does not already exist
|
|
303
|
+
* 2. App is running in iOS mode
|
|
304
|
+
* 3. A wrapper ref exists
|
|
305
|
+
* 4. A group ref exists
|
|
306
|
+
*/
|
|
316
307
|
const { groupEl, wrapperEl } = this;
|
|
317
|
-
if (getIonMode(this)
|
|
318
|
-
|
|
308
|
+
if (!this.gesture && getIonMode(this) === 'ios' && wrapperEl && groupEl) {
|
|
309
|
+
readTask(() => {
|
|
310
|
+
const isScrollable = groupEl.scrollHeight > groupEl.clientHeight;
|
|
311
|
+
if (!isScrollable) {
|
|
312
|
+
this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
|
|
313
|
+
this.gesture.enable(true);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
319
316
|
}
|
|
320
|
-
readTask(() => {
|
|
321
|
-
// Bail if a call queued ahead of this one already built the gesture
|
|
322
|
-
// (a second would orphan the first with its listeners still bound), if
|
|
323
|
-
// the host disconnected while this task waited, or if the group scrolls.
|
|
324
|
-
if (this.gesture || !this.el.isConnected || groupEl.scrollHeight > groupEl.clientHeight) {
|
|
325
|
-
return;
|
|
326
|
-
}
|
|
327
|
-
this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
|
|
328
|
-
this.gesture.enable(true);
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
componentDidLoad() {
|
|
332
|
-
this.setupButtonActiveGesture();
|
|
333
317
|
/**
|
|
334
318
|
* If action sheet was rendered with isOpen="true"
|
|
335
319
|
* then we should open action sheet immediately.
|
|
@@ -422,17 +406,17 @@ export class ActionSheet {
|
|
|
422
406
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
423
407
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
424
408
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
425
|
-
return (h(Host, { key: '
|
|
409
|
+
return (h(Host, { key: '7685831da9a78b73473246a2cea95cefa79a53c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1", ...htmlAttributes, style: {
|
|
426
410
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
427
411
|
}, class: {
|
|
428
412
|
[mode]: true,
|
|
429
413
|
...getClassMap(this.cssClass),
|
|
430
414
|
'overlay-hidden': true,
|
|
431
415
|
'action-sheet-translucent': this.translucent,
|
|
432
|
-
}, onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '
|
|
416
|
+
}, onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: 'c70f00e401cac99b89412d1adb867f35bc855d57', tappable: this.backdropDismiss }), h("div", { key: '3332893ce3098f1435875480b1269b2821d41660', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'eb406b0a9e303d6f94c5c7aa99c6f4c089bfbd41', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '92ec855379f10e1e0bfce6ff68b45d3cda0c137c', class: "action-sheet-container" }, h("div", { key: 'bc88a396d75396f574961471bf7e6c4edb513353', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (h("div", { key: '33329e0193818888bdcaa443ff5ea301802e0787', id: headerID, class: {
|
|
433
417
|
'action-sheet-title': true,
|
|
434
418
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
435
|
-
} }, header, this.subHeader && h("div", { key: '
|
|
419
|
+
} }, header, this.subHeader && h("div", { key: '92ac5a9217a12b7417f7aca9c4fdb7bf6b051364', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (h("div", { key: '020463b830fa48fc3ae647ea64f2aaa4d0969305', class: "action-sheet-group action-sheet-group-cancel" }, h("button", { key: 'cefa9c70a2233f6652a81b1a2eae6e717712144d', ...cancelButton.htmlAttributes, type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h("span", { key: '56d7e2f8bfb3644e4476895164d334445fda9b2f', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: '6a4a49254ec5cd96f4e0dce9447f90d8cac81913', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: '7d3c6e8d70b0922ea0f75520856285ce1005c891' })))))), h("div", { key: '958fc43e603c6a7f5d1e649d3326fce0f163b5d0', tabindex: "0", "aria-hidden": "true" })));
|
|
436
420
|
}
|
|
437
421
|
static get is() { return "ion-action-sheet"; }
|
|
438
422
|
static get encapsulation() { return "scoped"; }
|
|
@@ -8,7 +8,7 @@ import { raf } from "../../utils/helpers";
|
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
10
|
import { getOverlayLabelJustify, getOverlayLabelPlacement } from "../../utils/overlay-control-label";
|
|
11
|
-
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present,
|
|
11
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
|
|
12
12
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
13
13
|
import { renderOptionLabel } from "../../utils/select-option-render";
|
|
14
14
|
import { getClassMap } from "../../utils/theme";
|
|
@@ -198,15 +198,10 @@ export class Alert {
|
|
|
198
198
|
this.triggerChanged();
|
|
199
199
|
/**
|
|
200
200
|
* If the alert was previously connected and is being reattached, the
|
|
201
|
-
*
|
|
202
|
-
*
|
|
201
|
+
* ResizeObserver was disconnected. componentDidLoad only fires once per
|
|
202
|
+
* instance, so re-establish the observer here on reconnect.
|
|
203
203
|
*/
|
|
204
204
|
this.setupButtonGroupResizeObserver();
|
|
205
|
-
this.setupButtonActiveGesture();
|
|
206
|
-
// Re-apply the root lock if moved without dismiss() being called
|
|
207
|
-
if (this.presented) {
|
|
208
|
-
restoreRootFocusTrapAccessibility(this.el);
|
|
209
|
-
}
|
|
210
205
|
}
|
|
211
206
|
componentWillLoad() {
|
|
212
207
|
if (!this.htmlAttributes?.id) {
|
|
@@ -228,20 +223,17 @@ export class Alert {
|
|
|
228
223
|
this.buttonGroupResizeObserver?.disconnect();
|
|
229
224
|
this.buttonGroupResizeObserver = undefined;
|
|
230
225
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
226
|
+
componentDidLoad() {
|
|
227
|
+
/**
|
|
228
|
+
* Only create gesture if:
|
|
229
|
+
* 1. A gesture does not already exist
|
|
230
|
+
* 2. App is running in iOS mode
|
|
231
|
+
* 3. A wrapper ref exists
|
|
232
|
+
*/
|
|
238
233
|
if (!this.gesture && getIonMode(this) === 'ios' && this.wrapperEl) {
|
|
239
234
|
this.gesture = createButtonActiveGesture(this.wrapperEl, (refEl) => refEl.classList.contains('alert-button'));
|
|
240
235
|
this.gesture.enable(true);
|
|
241
236
|
}
|
|
242
|
-
}
|
|
243
|
-
componentDidLoad() {
|
|
244
|
-
this.setupButtonActiveGesture();
|
|
245
237
|
this.setupButtonGroupResizeObserver();
|
|
246
238
|
/**
|
|
247
239
|
* If alert was rendered with isOpen="true"
|
|
@@ -564,14 +556,14 @@ export class Alert {
|
|
|
564
556
|
* If neither are defined, do not set aria-labelledby.
|
|
565
557
|
*/
|
|
566
558
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
567
|
-
return (h(Host, { key: '
|
|
559
|
+
return (h(Host, { key: '022f3463b8e6c52064b90ec304c524847c3d5ad3', tabindex: "-1", style: {
|
|
568
560
|
zIndex: `${20000 + overlayIndex}`,
|
|
569
561
|
}, class: {
|
|
570
562
|
...getClassMap(this.cssClass),
|
|
571
563
|
[mode]: true,
|
|
572
564
|
'overlay-hidden': true,
|
|
573
565
|
'alert-translucent': this.translucent,
|
|
574
|
-
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '
|
|
566
|
+
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: 'c3cd05738bc2834f54707edeb2fae06ec10d6fd2', tappable: this.backdropDismiss }), h("div", { key: 'b44fadd9ba7ddf073854c5035538d11ae8e66bc2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'fafea048141a6c7957e62aef31faa8041dd610c1', 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 }, h("div", { key: '3ad9d2d4b7cf425eab8293ddc12eff0fe8df1517', class: "alert-head" }, header && (h("h2", { key: '7d9154f5ee595b7e4da6ecf3a20871f104c1256e', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '1f891f38004be6964e9406b84dd580145c42516a', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '2ab4d344ecb7e384e8f6d3d3e59ee5a1bbcc832c', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '78a4ff09aa3aaafcd0dc2a42d036767d83b3cfa2', tabindex: "0", "aria-hidden": "true" })));
|
|
575
567
|
}
|
|
576
568
|
static get is() { return "ion-alert"; }
|
|
577
569
|
static get encapsulation() { return "scoped"; }
|
|
@@ -221,23 +221,6 @@ export class Content {
|
|
|
221
221
|
const mode = getIonMode(this);
|
|
222
222
|
return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
|
|
223
223
|
}
|
|
224
|
-
/**
|
|
225
|
-
* Whether this component should size itself to its contents height, which
|
|
226
|
-
* is the case inside any popover and inside a modal whose `--height` is a
|
|
227
|
-
* content-based value. Those overlays give the content no definite height
|
|
228
|
-
* to fill.
|
|
229
|
-
*/
|
|
230
|
-
shouldSizeToContent() {
|
|
231
|
-
if (hostContext('ion-popover', this.el)) {
|
|
232
|
-
return true;
|
|
233
|
-
}
|
|
234
|
-
const modal = this.el.closest('ion-modal');
|
|
235
|
-
if (modal === null) {
|
|
236
|
-
return false;
|
|
237
|
-
}
|
|
238
|
-
const height = getComputedStyle(modal).getPropertyValue('--height').trim();
|
|
239
|
-
return CONTENT_SIZED_HEIGHTS.includes(height);
|
|
240
|
-
}
|
|
241
224
|
resize() {
|
|
242
225
|
/**
|
|
243
226
|
* Only force update if the component is rendered in a browser context.
|
|
@@ -435,21 +418,21 @@ export class Content {
|
|
|
435
418
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
436
419
|
const transitionShadow = mode === 'ios';
|
|
437
420
|
this.resize();
|
|
438
|
-
return (h(Host, { key: '
|
|
421
|
+
return (h(Host, { key: '9551c759df407b10d809171641fc6e8f14d92219', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
|
|
439
422
|
[mode]: true,
|
|
440
423
|
'content-fullscreen': this.fullscreen,
|
|
441
|
-
'content-sizing': this.
|
|
424
|
+
'content-sizing': hostContext('ion-popover', this.el),
|
|
442
425
|
overscroll: forceOverscroll,
|
|
443
426
|
[`content-${rtl}`]: true,
|
|
444
427
|
}), style: {
|
|
445
428
|
'--offset-top': `${this.cTop}px`,
|
|
446
429
|
'--offset-bottom': `${this.cBottom}px`,
|
|
447
|
-
}, ...inheritedAttributes }, h("div", { key: '
|
|
430
|
+
}, ...inheritedAttributes }, h("div", { key: 'c6de8fd226f0d10a534eb107fe032ac155fbe68e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '082fc2936061360060b48221ecb1c864a3711fa0', class: {
|
|
448
431
|
'inner-scroll': true,
|
|
449
432
|
'scroll-x': scrollX,
|
|
450
433
|
'scroll-y': scrollY,
|
|
451
434
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
452
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '
|
|
435
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '0d2286206facb22696a9ca7e74a3f6b7d2397aab' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
|
|
453
436
|
}
|
|
454
437
|
static get is() { return "ion-content"; }
|
|
455
438
|
static get encapsulation() { return "shadow"; }
|
|
@@ -891,11 +874,6 @@ export class Content {
|
|
|
891
874
|
}];
|
|
892
875
|
}
|
|
893
876
|
}
|
|
894
|
-
/**
|
|
895
|
-
* `ion-modal` `--height` values that size the modal to its contents, leaving
|
|
896
|
-
* children an indefinite height to resolve against.
|
|
897
|
-
*/
|
|
898
|
-
const CONTENT_SIZED_HEIGHTS = ['auto', 'fit-content', 'min-content', 'max-content'];
|
|
899
877
|
const getParentElement = (el) => {
|
|
900
878
|
if (el.parentElement) {
|
|
901
879
|
// normal element with a parent element
|
|
@@ -1206,6 +1206,7 @@ export class Datetime {
|
|
|
1206
1206
|
}
|
|
1207
1207
|
renderCombinedDatePickerColumn() {
|
|
1208
1208
|
const { defaultParts, disabled, workingParts, locale, minParts, maxParts, todayParts, isDateEnabled } = this;
|
|
1209
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1209
1210
|
/**
|
|
1210
1211
|
* By default, generate a range of 3 months:
|
|
1211
1212
|
* Previous month, current month, and next month
|
|
@@ -1261,10 +1262,8 @@ export class Datetime {
|
|
|
1261
1262
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a date", class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
|
|
1262
1263
|
const { value } = ev.detail;
|
|
1263
1264
|
const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
|
|
1264
|
-
// Read live so parts a sibling column just committed are included.
|
|
1265
|
-
const activePart = this.getActivePartsWithFallback();
|
|
1266
1265
|
this.setWorkingParts({
|
|
1267
|
-
...
|
|
1266
|
+
...workingParts,
|
|
1268
1267
|
...findPart,
|
|
1269
1268
|
});
|
|
1270
1269
|
this.setActiveParts({
|
|
@@ -1341,12 +1340,11 @@ export class Datetime {
|
|
|
1341
1340
|
return [];
|
|
1342
1341
|
}
|
|
1343
1342
|
const { disabled, workingParts } = this;
|
|
1343
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1344
1344
|
const pickerColumnValue = (workingParts.day !== null ? workingParts.day : this.defaultParts.day) ?? undefined;
|
|
1345
1345
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a day", class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
|
|
1346
|
-
// Read live so parts a sibling column just committed are included.
|
|
1347
|
-
const activePart = this.getActivePartsWithFallback();
|
|
1348
1346
|
this.setWorkingParts({
|
|
1349
|
-
...
|
|
1347
|
+
...workingParts,
|
|
1350
1348
|
day: ev.detail.value,
|
|
1351
1349
|
});
|
|
1352
1350
|
this.setActiveParts({
|
|
@@ -1361,11 +1359,10 @@ export class Datetime {
|
|
|
1361
1359
|
return [];
|
|
1362
1360
|
}
|
|
1363
1361
|
const { disabled, workingParts } = this;
|
|
1362
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1364
1363
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a month", class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
|
|
1365
|
-
// Read live so parts a sibling column just committed are included.
|
|
1366
|
-
const activePart = this.getActivePartsWithFallback();
|
|
1367
1364
|
this.setWorkingParts({
|
|
1368
|
-
...
|
|
1365
|
+
...workingParts,
|
|
1369
1366
|
month: ev.detail.value,
|
|
1370
1367
|
});
|
|
1371
1368
|
// Month wheel is navigation-only in multi-select mode as a fix for https://github.com/ionic-team/ionic-framework/issues/29673
|
|
@@ -1383,11 +1380,10 @@ export class Datetime {
|
|
|
1383
1380
|
return [];
|
|
1384
1381
|
}
|
|
1385
1382
|
const { disabled, workingParts } = this;
|
|
1383
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1386
1384
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a year", class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
|
|
1387
|
-
// Read live so parts a sibling column just committed are included.
|
|
1388
|
-
const activePart = this.getActivePartsWithFallback();
|
|
1389
1385
|
this.setWorkingParts({
|
|
1390
|
-
...
|
|
1386
|
+
...workingParts,
|
|
1391
1387
|
year: ev.detail.value,
|
|
1392
1388
|
});
|
|
1393
1389
|
// Year wheel is navigation-only in multi-select mode as a fix for https://github.com/ionic-team/ionic-framework/issues/29673
|
|
@@ -1423,14 +1419,13 @@ export class Datetime {
|
|
|
1423
1419
|
];
|
|
1424
1420
|
}
|
|
1425
1421
|
renderHourPickerColumn(hoursData) {
|
|
1426
|
-
const { disabled } = this;
|
|
1422
|
+
const { disabled, workingParts } = this;
|
|
1427
1423
|
if (hoursData.length === 0)
|
|
1428
1424
|
return [];
|
|
1429
1425
|
const activePart = this.getActivePartsWithFallback();
|
|
1430
1426
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
|
|
1431
|
-
// Read live so parts a sibling column just committed are included.
|
|
1432
1427
|
this.setWorkingParts({
|
|
1433
|
-
...
|
|
1428
|
+
...workingParts,
|
|
1434
1429
|
hour: ev.detail.value,
|
|
1435
1430
|
});
|
|
1436
1431
|
this.setActiveParts({
|
|
@@ -1441,14 +1436,13 @@ export class Datetime {
|
|
|
1441
1436
|
} }, hoursData.map((hour) => (h("ion-picker-column-option", { color: this.color, part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
|
|
1442
1437
|
}
|
|
1443
1438
|
renderMinutePickerColumn(minutesData) {
|
|
1444
|
-
const { disabled } = this;
|
|
1439
|
+
const { disabled, workingParts } = this;
|
|
1445
1440
|
if (minutesData.length === 0)
|
|
1446
1441
|
return [];
|
|
1447
1442
|
const activePart = this.getActivePartsWithFallback();
|
|
1448
1443
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
|
|
1449
|
-
// Read live so parts a sibling column just committed are included.
|
|
1450
1444
|
this.setWorkingParts({
|
|
1451
|
-
...
|
|
1445
|
+
...workingParts,
|
|
1452
1446
|
minute: ev.detail.value,
|
|
1453
1447
|
});
|
|
1454
1448
|
this.setActiveParts({
|
|
@@ -1459,18 +1453,16 @@ export class Datetime {
|
|
|
1459
1453
|
} }, minutesData.map((minute) => (h("ion-picker-column-option", { color: this.color, part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
|
|
1460
1454
|
}
|
|
1461
1455
|
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1462
|
-
const { disabled } = this;
|
|
1456
|
+
const { disabled, workingParts } = this;
|
|
1463
1457
|
if (dayPeriodData.length === 0) {
|
|
1464
1458
|
return [];
|
|
1465
1459
|
}
|
|
1466
1460
|
const activePart = this.getActivePartsWithFallback();
|
|
1467
1461
|
const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
|
|
1468
1462
|
return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
|
|
1469
|
-
|
|
1470
|
-
const currentParts = this.workingParts;
|
|
1471
|
-
const hour = calculateHourFromAMPM(currentParts, ev.detail.value);
|
|
1463
|
+
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1472
1464
|
this.setWorkingParts({
|
|
1473
|
-
...
|
|
1465
|
+
...workingParts,
|
|
1474
1466
|
ampm: ev.detail.value,
|
|
1475
1467
|
hour,
|
|
1476
1468
|
});
|
|
@@ -1822,7 +1814,7 @@ export class Datetime {
|
|
|
1822
1814
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1823
1815
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1824
1816
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1825
|
-
return (h(Host, { key: '
|
|
1817
|
+
return (h(Host, { key: 'd8e6dfe5e3bffb1c38a3e37b63b3aec099f40d29', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: {
|
|
1826
1818
|
...createColorClasses(color, {
|
|
1827
1819
|
[mode]: true,
|
|
1828
1820
|
['datetime-readonly']: readonly,
|
|
@@ -1834,7 +1826,7 @@ export class Datetime {
|
|
|
1834
1826
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1835
1827
|
[`datetime-grid`]: isGridStyle,
|
|
1836
1828
|
}),
|
|
1837
|
-
} }, h("div", { key: '
|
|
1829
|
+
} }, h("div", { key: '20889d3c68dd5109633c0e214411a63d6f3025bb', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1838
1830
|
}
|
|
1839
1831
|
static get is() { return "ion-datetime"; }
|
|
1840
1832
|
static get encapsulation() { return "shadow"; }
|