@ionic/core 8.8.18-dev.11786355346.19605941 → 8.8.18-dev.11786385944.17aca7e5
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-legacy-column.js +1 -1
- package/components/ion-picker-legacy.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--JUspHvy.js +4 -0
- package/components/p-A3O24YmY.js +4 -0
- package/components/p-ABkNVeU9.js +4 -0
- package/{dist/ionic/p-Cm20lBQw.js → components/p-B-JJgYSG.js} +1 -1
- package/components/p-B9jFTlwE.js +4 -0
- package/components/p-BLmJ0zRm.js +4 -0
- package/components/p-BMI53wYL.js +4 -0
- package/components/p-BMaKgJFV.js +4 -0
- package/components/p-BSEgsdFI.js +4 -0
- package/{dist/ionic/p-Cipl19Qe.js → components/p-BkKAANMJ.js} +1 -1
- package/components/p-BlIAuGv2.js +4 -0
- package/components/p-BmVRXR1y.js +4 -0
- package/components/p-Bnsn6KaP.js +4 -0
- package/components/p-BsBCoGa-.js +4 -0
- package/components/p-BvmB20aD.js +4 -0
- package/components/p-Bz0dSlXZ.js +4 -0
- package/components/p-CHqRYvYm.js +4 -0
- package/components/p-CIGNaXM1.js +4 -0
- package/components/p-CO7fmmxt.js +4 -0
- package/components/p-CQGnMY3n.js +4 -0
- package/components/p-CSZf8_j0.js +4 -0
- package/components/{p-B_jBop0E.js → p-C_hpsif8.js} +1 -1
- package/components/p-C_xFdyXe.js +4 -0
- package/components/{p-BE21dB_a.js → p-Cf2jSDS8.js} +1 -1
- package/components/p-Cfx4M1Bn.js +4 -0
- package/components/{p-DWoO0801.js → p-ChIZKXUu.js} +1 -1
- package/components/p-CkMSOsFF.js +4 -0
- package/components/p-CmR5uXej.js +4 -0
- package/components/p-Cp4GRDqq.js +4 -0
- package/components/p-CsNJ1ULL.js +4 -0
- package/components/p-CtWGkNnJ.js +4 -0
- package/components/p-CzCbeKys.js +4 -0
- package/components/p-D-aHdMxW.js +4 -0
- package/components/p-D0d8qTwj.js +4 -0
- package/components/{p-D0fnq0lf.js → p-D13Eaw-8.js} +1 -1
- package/components/p-D3xo7hqU.js +4 -0
- package/components/p-D6Ynv7Xh.js +4 -0
- package/components/p-D7uN07a3.js +4 -0
- package/components/p-DCnGU1fF.js +4 -0
- package/components/p-DGvrK8dD.js +4 -0
- package/components/p-DJztqcrH.js +4 -0
- package/components/p-DOFCbuQR.js +4 -0
- package/components/p-DV5mPYQS.js +4 -0
- package/components/p-DWkAgceV.js +4 -0
- package/components/p-DiVJyqlX.js +4 -0
- package/components/{p-BZwQa9ey.js → p-DqLB8yFQ.js} +1 -1
- package/components/p-DqZAXv2t.js +4 -0
- package/components/{p-Bz4JFPmj.js → p-Osve4qkc.js} +1 -1
- package/components/p-R8zmRi4c.js +4 -0
- package/components/p-SLS1rDZM.js +4 -0
- package/components/p-ZjP4CjeZ.js +4 -0
- package/components/p-aJ6PBUvj.js +4 -0
- package/{dist/ionic/p-OkgYzj-7.js → components/p-cyNmxje6.js} +1 -1
- package/components/p-gAg0kXZp.js +4 -0
- package/components/p-j5IxBIan.js +4 -0
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/p-oD4kcBRX.js +4 -0
- package/components/p-rCa2eL0j.js +4 -0
- package/components/p-scxfI1Dd.js +4 -0
- package/components/p-vRBNsYbs.js +4 -0
- package/components/p-yzCsOZE2.js +4 -0
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/cjs/{animation-B3xfVcDO.js → animation-BJq0kcy2.js} +3 -3
- package/dist/cjs/{app-globals-3ZoCVkn-.js → app-globals-BlqrqKTN.js} +1 -1
- package/dist/cjs/{button-active-3tZKuPbT.js → button-active-0mPOKmV2.js} +2 -2
- package/dist/cjs/{capacitor-CQSg1uCo.js → capacitor-DmA66EwP.js} +3 -3
- package/dist/cjs/config-xninhj0J.js +201 -0
- package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
- package/dist/cjs/{format-BCIkDef_.js → format-PxvGiOik.js} +1 -1
- package/dist/cjs/{framework-delegate-DC5nq_NN.js → framework-delegate-BtICZDHr.js} +2 -4
- package/dist/cjs/{haptic-eix26ESE.js → haptic-ClPPQ_PS.js} +1 -1
- package/dist/cjs/hardware-back-button-iUuF_76h.js +121 -0
- package/dist/cjs/{helpers-DiOgV5hw.js → helpers-Cv23MFHM.js} +4 -71
- package/dist/cjs/{index-BaJ7_YbC.js → index-BERfRao3.js} +4 -4
- package/dist/cjs/{index-GZU9YrFc.js → index-Ct7gcRif.js} +4 -41
- package/dist/cjs/{index-bX3nz2vw.js → index-D81eLYUM.js} +8 -9
- package/dist/cjs/index-DkNv4J_i.js +10 -0
- package/dist/cjs/{index-CxDnX7hd.js → index-DqmRDbxg.js} +1 -3
- package/dist/cjs/{index-BxEZd5IE.js → index-Dqpns5vP.js} +34 -2
- package/dist/cjs/{index-DYRcC3bw.js → index-aC4x3Fk3.js} +15 -15
- package/dist/cjs/index.cjs.js +16 -16
- package/dist/cjs/{input-shims-BSEBw22J.js → input-shims-DpA1zUN9.js} +17 -18
- package/dist/cjs/{input.utils-D68wgI2Y.js → input.utils-DetjmtH2.js} +5 -5
- package/dist/cjs/ion-accordion_2.cjs.entry.js +29 -61
- package/dist/cjs/ion-action-sheet.cjs.entry.js +22 -41
- package/dist/cjs/ion-alert.cjs.entry.js +41 -78
- package/dist/cjs/ion-app_8.cjs.entry.js +194 -458
- package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -125
- package/dist/cjs/ion-back-button.cjs.entry.js +22 -31
- package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -54
- package/dist/cjs/ion-button_2.cjs.entry.js +24 -61
- package/dist/cjs/ion-card_5.cjs.entry.js +33 -55
- package/dist/cjs/ion-checkbox.cjs.entry.js +17 -34
- package/dist/cjs/ion-chip.cjs.entry.js +9 -50
- package/dist/cjs/ion-col_3.cjs.entry.js +57 -56
- package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -13
- package/dist/cjs/ion-datetime_3.cjs.entry.js +46 -121
- package/dist/cjs/ion-fab_3.cjs.entry.js +28 -44
- package/dist/cjs/ion-img.cjs.entry.js +4 -8
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -93
- package/dist/cjs/ion-input-otp.cjs.entry.js +9 -74
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -53
- package/dist/cjs/ion-input.cjs.entry.js +35 -146
- package/dist/cjs/ion-item-option_3.cjs.entry.js +52 -467
- package/dist/cjs/ion-item_8.cjs.entry.js +50 -121
- package/dist/cjs/ion-loading.cjs.entry.js +19 -22
- package/dist/cjs/ion-menu_3.cjs.entry.js +29 -47
- package/dist/cjs/ion-modal.cjs.entry.js +169 -303
- package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -12
- package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
- package/dist/cjs/ion-picker.cjs.entry.js +6 -10
- package/dist/cjs/ion-popover.cjs.entry.js +19 -21
- package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -27
- package/dist/cjs/ion-radio_2.cjs.entry.js +18 -36
- package/dist/cjs/ion-range.cjs.entry.js +13 -20
- package/dist/cjs/ion-refresher_2.cjs.entry.js +24 -43
- package/dist/cjs/ion-reorder_2.cjs.entry.js +14 -38
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
- package/dist/cjs/ion-route_4.cjs.entry.js +10 -11
- package/dist/cjs/ion-searchbar.cjs.entry.js +27 -160
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +3 -13
- package/dist/cjs/ion-segment_2.cjs.entry.js +16 -23
- package/dist/cjs/ion-select-modal.cjs.entry.js +38 -114
- package/dist/cjs/ion-select_3.cjs.entry.js +108 -557
- package/dist/cjs/ion-spinner.cjs.entry.js +8 -30
- package/dist/cjs/ion-split-pane.cjs.entry.js +9 -13
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +28 -150
- package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
- package/dist/cjs/ion-text.cjs.entry.js +7 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +23 -137
- package/dist/cjs/ion-toast.cjs.entry.js +46 -70
- package/dist/cjs/ion-toggle.cjs.entry.js +26 -82
- package/dist/cjs/ionic-global-B-cA6LkY.js +151 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-DpFQfFfT.js → ios.transition-BOSWOaiK.js} +5 -7
- package/dist/cjs/{item-multiple-inputs-BG9f5_eV.js → item-multiple-inputs-D-gyg57c.js} +1 -1
- package/dist/cjs/{keyboard-Bn0Ppim6.js → keyboard-UuAS4D_9.js} +1 -1
- package/dist/cjs/keyboard-controller-GXBiBRKS.js +167 -0
- package/dist/cjs/{keyboard-faZBQysj.js → keyboard-hHzlEQpk.js} +3 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-ChJcoZUH.js → md.transition-B8-wBZqt.js} +5 -6
- package/dist/cjs/{notch-controller-BO0UGB4F.js → notch-controller-18PzRGXd.js} +4 -4
- package/dist/cjs/{overlays-CFGbPUmE.js → overlays-DdtIYQUH.js} +18 -309
- package/dist/cjs/{status-tap-x2qDo5QR.js → status-tap-N1kaBbuk.js} +3 -4
- package/dist/cjs/{swipe-back-CvZt_4YX.js → swipe-back-C0GCB18x.js} +2 -3
- package/dist/cjs/{theme-IlOsGAz7.js → theme-CeDs6Hcv.js} +1 -25
- package/dist/cjs/validity-BpS37YFM.js +19 -0
- package/dist/collection/collection-manifest.json +1 -9
- package/dist/collection/components/accordion/accordion.ios.css +58 -73
- package/dist/collection/components/accordion/accordion.js +27 -41
- package/dist/collection/components/accordion/accordion.md.css +59 -67
- package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
- package/dist/collection/components/accordion-group/accordion-group.js +8 -44
- package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
- package/dist/collection/components/action-sheet/action-sheet.ios.css +11 -367
- package/dist/collection/components/action-sheet/action-sheet.js +13 -32
- package/dist/collection/components/action-sheet/action-sheet.md.css +10 -306
- package/dist/collection/components/alert/alert.ios.css +19 -481
- package/dist/collection/components/alert/alert.js +30 -67
- package/dist/collection/components/alert/alert.md.css +29 -464
- package/dist/collection/components/app/app.js +83 -15
- package/dist/collection/components/avatar/avatar.ios.css +33 -7
- package/dist/collection/components/avatar/avatar.js +4 -120
- package/dist/collection/components/avatar/avatar.md.css +0 -51
- package/dist/collection/components/back-button/back-button.ios.css +48 -60
- package/dist/collection/components/back-button/back-button.js +19 -27
- package/dist/collection/components/back-button/back-button.md.css +48 -60
- package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
- package/dist/collection/components/backdrop/backdrop.js +6 -12
- package/dist/collection/components/backdrop/backdrop.md.css +19 -56
- package/dist/collection/components/badge/badge.ios.css +12 -137
- package/dist/collection/components/badge/badge.js +9 -145
- package/dist/collection/components/badge/badge.md.css +12 -122
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
- package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
- package/dist/collection/components/button/button.ios.css +46 -154
- package/dist/collection/components/button/button.js +27 -63
- package/dist/collection/components/button/button.md.css +50 -150
- package/dist/collection/components/buttons/buttons.ios.css +7 -59
- package/dist/collection/components/buttons/buttons.js +9 -15
- package/dist/collection/components/buttons/buttons.md.css +3 -55
- package/dist/collection/components/card/card.ios.css +14 -65
- package/dist/collection/components/card/card.js +10 -41
- package/dist/collection/components/card/card.md.css +14 -65
- package/dist/collection/components/card-content/card-content.ios.css +35 -20
- package/dist/collection/components/card-content/card-content.js +10 -12
- package/dist/collection/components/card-content/card-content.md.css +35 -20
- package/dist/collection/components/card-header/card-header.ios.css +15 -27
- package/dist/collection/components/card-header/card-header.js +10 -13
- package/dist/collection/components/card-header/card-header.md.css +15 -27
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
- package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
- package/dist/collection/components/card-title/card-title.ios.css +0 -73
- package/dist/collection/components/card-title/card-title.js +8 -11
- package/dist/collection/components/card-title/card-title.md.css +0 -73
- package/dist/collection/components/checkbox/checkbox.ios.css +117 -242
- package/dist/collection/components/checkbox/checkbox.js +14 -69
- package/dist/collection/components/checkbox/checkbox.md.css +118 -243
- package/dist/collection/components/chip/chip.ios.css +14 -67
- package/dist/collection/components/chip/chip.js +8 -108
- package/dist/collection/components/chip/chip.md.css +14 -67
- package/dist/collection/components/col/col.css +4 -192
- package/dist/collection/components/col/col.js +61 -211
- package/dist/collection/components/content/content.css +2 -47
- package/dist/collection/components/content/content.js +11 -16
- package/dist/collection/components/datetime/datetime.ios.css +106 -302
- package/dist/collection/components/datetime/datetime.js +20 -97
- package/dist/collection/components/datetime/datetime.md.css +96 -293
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
- package/dist/collection/components/datetime-button/datetime-button.js +8 -11
- package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
- package/dist/collection/components/fab/fab.css +1 -25
- package/dist/collection/components/fab/fab.js +5 -9
- package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
- package/dist/collection/components/fab-button/fab-button.js +21 -36
- package/dist/collection/components/fab-button/fab-button.md.css +8 -20
- package/dist/collection/components/fab-list/fab-list.css +0 -12
- package/dist/collection/components/fab-list/fab-list.js +5 -9
- package/dist/collection/components/footer/footer.ios.css +6 -33
- package/dist/collection/components/footer/footer.js +25 -117
- package/dist/collection/components/footer/footer.md.css +0 -40
- package/dist/collection/components/grid/grid.css +0 -12
- package/dist/collection/components/grid/grid.js +5 -9
- package/dist/collection/components/header/header.ios.css +133 -178
- package/dist/collection/components/header/header.js +39 -181
- package/dist/collection/components/header/header.md.css +9 -199
- package/dist/collection/components/header/header.utils.js +13 -6
- package/dist/collection/components/img/img.js +2 -8
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
- package/dist/collection/components/input/input.ios.css +137 -224
- package/dist/collection/components/input/input.js +39 -172
- package/dist/collection/components/input/input.md.css +209 -194
- package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
- package/dist/collection/components/input-otp/input-otp.js +7 -74
- package/dist/collection/components/input-otp/input-otp.md.css +60 -105
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
- package/dist/collection/components/item/item.ios.css +80 -120
- package/dist/collection/components/item/item.js +21 -56
- package/dist/collection/components/item/item.md.css +79 -131
- package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
- package/dist/collection/components/item-divider/item-divider.js +8 -11
- package/dist/collection/components/item-divider/item-divider.md.css +0 -18
- package/dist/collection/components/item-group/item-group.ios.css +0 -12
- package/dist/collection/components/item-group/item-group.js +7 -13
- package/dist/collection/components/item-group/item-group.md.css +0 -12
- package/dist/collection/components/item-option/item-option.ios.css +29 -136
- package/dist/collection/components/item-option/item-option.js +9 -73
- package/dist/collection/components/item-option/item-option.md.css +29 -136
- package/dist/collection/components/item-options/item-options.ios.css +34 -77
- package/dist/collection/components/item-options/item-options.js +7 -13
- package/dist/collection/components/item-options/item-options.md.css +34 -77
- package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
- package/dist/collection/components/item-sliding/item-sliding.js +35 -421
- package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
- package/dist/collection/components/label/label.ios.css +0 -18
- package/dist/collection/components/label/label.js +8 -11
- package/dist/collection/components/label/label.md.css +0 -18
- package/dist/collection/components/list/list.ios.css +14 -54
- package/dist/collection/components/list/list.js +9 -48
- package/dist/collection/components/list/list.md.css +16 -56
- package/dist/collection/components/list-header/list-header.ios.css +38 -82
- package/dist/collection/components/list-header/list-header.js +8 -11
- package/dist/collection/components/list-header/list-header.md.css +38 -82
- package/dist/collection/components/loading/loading.ios.css +1 -13
- package/dist/collection/components/loading/loading.js +11 -14
- package/dist/collection/components/loading/loading.md.css +1 -13
- package/dist/collection/components/menu/menu.ios.css +3 -15
- package/dist/collection/components/menu/menu.js +7 -12
- package/dist/collection/components/menu/menu.md.css +3 -15
- package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
- package/dist/collection/components/menu-button/menu-button.js +10 -26
- package/dist/collection/components/menu-button/menu-button.md.css +15 -49
- package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
- package/dist/collection/components/modal/animations/sheet.js +2 -8
- package/dist/collection/components/modal/gestures/sheet.js +32 -102
- package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -32
- package/dist/collection/components/modal/gestures/utils.js +17 -0
- package/dist/collection/components/modal/modal.ios.css +70 -178
- package/dist/collection/components/modal/modal.js +22 -52
- package/dist/collection/components/modal/modal.md.css +70 -178
- package/dist/collection/components/nav/nav.css +1 -7
- package/dist/collection/components/nav/nav.js +5 -11
- package/dist/collection/components/nav-link/nav-link.js +1 -5
- package/dist/collection/components/note/note.ios.css +0 -12
- package/dist/collection/components/note/note.js +8 -11
- package/dist/collection/components/note/note.md.css +0 -12
- package/dist/collection/components/picker/picker.ios.css +3 -15
- package/dist/collection/components/picker/picker.js +5 -8
- package/dist/collection/components/picker/picker.md.css +3 -15
- package/dist/collection/components/picker-column/picker-column.css +2 -9
- package/dist/collection/components/picker-column/picker-column.js +7 -8
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
- package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
- package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
- package/dist/collection/components/picker-legacy/picker.js +6 -7
- package/dist/collection/components/picker-legacy/picker.md.css +1 -13
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
- package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
- package/dist/collection/components/popover/popover.ios.css +1 -29
- package/dist/collection/components/popover/popover.js +15 -18
- package/dist/collection/components/popover/popover.md.css +1 -29
- package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
- package/dist/collection/components/progress-bar/progress-bar.js +7 -43
- package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
- package/dist/collection/components/radio/radio.ios.css +102 -207
- package/dist/collection/components/radio/radio.js +9 -14
- package/dist/collection/components/radio/radio.md.css +102 -207
- package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
- package/dist/collection/components/radio-group/radio-group.js +7 -48
- package/dist/collection/components/radio-group/radio-group.md.css +19 -43
- package/dist/collection/components/range/range.ios.css +85 -128
- package/dist/collection/components/range/range.js +10 -16
- package/dist/collection/components/range/range.md.css +85 -128
- package/dist/collection/components/refresher/refresher.ios.css +1 -14
- package/dist/collection/components/refresher/refresher.js +10 -13
- package/dist/collection/components/refresher/refresher.md.css +2 -15
- package/dist/collection/components/refresher-content/refresher-content.js +7 -28
- package/dist/collection/components/reorder/reorder.ios.css +0 -6
- package/dist/collection/components/reorder/reorder.js +6 -33
- package/dist/collection/components/reorder/reorder.md.css +0 -6
- package/dist/collection/components/reorder-group/reorder-group.css +0 -6
- package/dist/collection/components/reorder-group/reorder-group.js +4 -8
- package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
- package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
- package/dist/collection/components/route/route.js +0 -4
- package/dist/collection/components/router/router.js +0 -4
- package/dist/collection/components/router-link/router-link.css +2 -8
- package/dist/collection/components/router-link/router-link.js +5 -9
- package/dist/collection/components/router-outlet/router-outlet.css +1 -7
- package/dist/collection/components/router-outlet/router-outlet.js +3 -6
- package/dist/collection/components/row/row.css +0 -16
- package/dist/collection/components/row/row.js +2 -9
- package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
- package/dist/collection/components/searchbar/searchbar.js +37 -205
- package/dist/collection/components/searchbar/searchbar.md.css +18 -56
- package/dist/collection/components/segment/segment.ios.css +2 -45
- package/dist/collection/components/segment/segment.js +8 -11
- package/dist/collection/components/segment/segment.md.css +2 -45
- package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
- package/dist/collection/components/segment-button/segment-button.js +8 -11
- package/dist/collection/components/segment-button/segment-button.md.css +107 -148
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
- package/dist/collection/components/segment-view/segment-view.js +4 -13
- package/dist/collection/components/segment-view/segment-view.md.css +0 -6
- package/dist/collection/components/select/select.ios.css +176 -348
- package/dist/collection/components/select/select.js +92 -521
- package/dist/collection/components/select/select.md.css +178 -364
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -466
- package/dist/collection/components/select-modal/select-modal.js +30 -126
- package/dist/collection/components/select-modal/select-modal.md.css +0 -394
- package/dist/collection/components/select-option/select-option.js +4 -72
- package/dist/collection/components/select-popover/select-popover.ios.css +20 -302
- package/dist/collection/components/select-popover/select-popover.js +29 -89
- package/dist/collection/components/select-popover/select-popover.md.css +0 -345
- package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
- package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
- package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
- package/dist/collection/components/spinner/spinner.js +6 -47
- package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
- package/dist/collection/components/split-pane/split-pane.js +8 -15
- package/dist/collection/components/split-pane/split-pane.md.css +2 -20
- package/dist/collection/components/tab/tab.js +2 -6
- package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -86
- package/dist/collection/components/tab-bar/tab-bar.js +15 -179
- package/dist/collection/components/tab-bar/tab-bar.md.css +43 -86
- package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
- package/dist/collection/components/tab-button/tab-button.js +9 -54
- package/dist/collection/components/tab-button/tab-button.md.css +93 -137
- package/dist/collection/components/tabs/tabs.css +1 -7
- package/dist/collection/components/tabs/tabs.js +1 -4
- package/dist/collection/components/text/text.css +0 -6
- package/dist/collection/components/text/text.js +6 -7
- package/dist/collection/components/textarea/textarea.ios.css +158 -298
- package/dist/collection/components/textarea/textarea.js +24 -162
- package/dist/collection/components/textarea/textarea.md.css +159 -312
- package/dist/collection/components/thumbnail/thumbnail.css +0 -6
- package/dist/collection/components/thumbnail/thumbnail.js +2 -9
- package/dist/collection/components/title/title.ios.css +4 -32
- package/dist/collection/components/title/title.js +7 -13
- package/dist/collection/components/title/title.md.css +4 -39
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ios.css +45 -84
- package/dist/collection/components/toast/toast.js +13 -76
- package/dist/collection/components/toast/toast.md.css +45 -84
- package/dist/collection/components/toggle/toggle.ios.css +127 -247
- package/dist/collection/components/toggle/toggle.js +18 -72
- package/dist/collection/components/toggle/toggle.md.css +127 -245
- package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
- package/dist/collection/components/toolbar/toolbar.js +13 -218
- package/dist/collection/components/toolbar/toolbar.md.css +47 -90
- package/dist/collection/global/ionic-global.js +13 -241
- package/dist/collection/utils/content/index.js +30 -0
- package/dist/collection/utils/focus-trap.js +2 -13
- package/dist/collection/utils/focus-visible.js +0 -22
- package/dist/collection/utils/forms/validity.js +0 -31
- package/dist/collection/utils/framework-delegate.js +1 -3
- package/dist/collection/utils/hardware-back-button.js +0 -15
- package/dist/collection/utils/helpers.js +3 -70
- package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
- package/dist/collection/utils/media.js +0 -1
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +1 -2
- package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
- package/dist/collection/utils/overlays.js +8 -290
- package/dist/collection/utils/sanitization/index.js +18 -274
- package/dist/collection/utils/test/playwright/drag-element.js +9 -32
- package/dist/collection/utils/test/playwright/generator.js +23 -48
- package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
- package/dist/collection/utils/theme.js +1 -25
- package/dist/collection/utils/transition/ios.transition.js +0 -1
- package/dist/docs.json +286 -9090
- package/dist/esm/{animation-B2qdQ_ou.js → animation-DLJpuoEz.js} +2 -2
- package/dist/esm/{app-globals-DZ-iIjxA.js → app-globals-D0C5S4hU.js} +1 -1
- package/dist/esm/{button-active-BmajAby6.js → button-active-BSpTQmS9.js} +2 -2
- package/dist/esm/{capacitor-CtQSWUU0.js → capacitor-CFERIeaU.js} +1 -1
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
- package/dist/esm/{format-2WlZcMvG.js → format-CAmvpAez.js} +1 -1
- package/dist/esm/{framework-delegate-DO2QXccA.js → framework-delegate-FnPGymXL.js} +2 -4
- package/dist/esm/{haptic-DFgKNCce.js → haptic-DzAMWJuk.js} +1 -1
- package/dist/esm/hardware-back-button-B93Gru0Y.js +115 -0
- package/dist/esm/{helpers-DfF5_wJc.js → helpers-HEqiOzXb.js} +5 -71
- package/dist/esm/{index-BjaaZqVY.js → index-BRHzoo00.js} +3 -4
- package/dist/esm/{index-BIUWGRUl.js → index-B_dQk_WE.js} +4 -4
- package/dist/esm/{index-B4Kq2YNk.js → index-DV3sJJW8.js} +2 -3
- package/dist/esm/{index-KxK0gcRp.js → index-Dw-wN0Ja.js} +33 -3
- package/dist/esm/{index-Di034G4O.js → index-Q6UPU0Ay.js} +11 -11
- package/dist/esm/index-ZjP4CjeZ.js +7 -0
- package/dist/esm/{index-C0EQceqV.js → index-tcQvqkiX.js} +4 -41
- package/dist/esm/index.js +14 -14
- package/dist/esm/{input-shims-DvNNw70a.js → input-shims-LXhI7LEx.js} +6 -7
- package/dist/esm/{input.utils-_LkBfBWt.js → input.utils-Y6NgW8bw.js} +3 -3
- package/dist/esm/ion-accordion_2.entry.js +29 -61
- package/dist/esm/ion-action-sheet.entry.js +22 -41
- package/dist/esm/ion-alert.entry.js +40 -77
- package/dist/esm/ion-app_8.entry.js +193 -457
- package/dist/esm/ion-avatar_3.entry.js +13 -125
- package/dist/esm/ion-back-button.entry.js +22 -31
- package/dist/esm/ion-backdrop.entry.js +7 -10
- package/dist/esm/ion-breadcrumb_2.entry.js +18 -54
- package/dist/esm/ion-button_2.entry.js +24 -61
- package/dist/esm/ion-card_5.entry.js +33 -55
- package/dist/esm/ion-checkbox.entry.js +17 -34
- package/dist/esm/ion-chip.entry.js +9 -50
- package/dist/esm/ion-col_3.entry.js +57 -56
- package/dist/esm/ion-datetime-button.entry.js +9 -13
- package/dist/esm/ion-datetime_3.entry.js +46 -121
- package/dist/esm/ion-fab_3.entry.js +28 -44
- package/dist/esm/ion-img.entry.js +4 -8
- package/dist/esm/ion-infinite-scroll_2.entry.js +16 -92
- package/dist/esm/ion-input-otp.entry.js +9 -74
- package/dist/esm/ion-input-password-toggle.entry.js +15 -53
- package/dist/esm/ion-input.entry.js +35 -146
- package/dist/esm/ion-item-option_3.entry.js +52 -467
- package/dist/esm/ion-item_8.entry.js +50 -121
- package/dist/esm/ion-loading.entry.js +18 -21
- package/dist/esm/ion-menu_3.entry.js +29 -47
- package/dist/esm/ion-modal.entry.js +135 -269
- package/dist/esm/ion-nav_2.entry.js +11 -14
- package/dist/esm/ion-picker-column-option.entry.js +8 -12
- package/dist/esm/ion-picker-column.entry.js +13 -13
- package/dist/esm/ion-picker.entry.js +6 -10
- package/dist/esm/ion-popover.entry.js +19 -21
- package/dist/esm/ion-progress-bar.entry.js +9 -27
- package/dist/esm/ion-radio_2.entry.js +18 -36
- package/dist/esm/ion-range.entry.js +13 -20
- package/dist/esm/ion-refresher_2.entry.js +22 -41
- package/dist/esm/ion-reorder_2.entry.js +14 -38
- package/dist/esm/ion-ripple-effect.entry.js +7 -15
- package/dist/esm/ion-route_4.entry.js +10 -11
- package/dist/esm/ion-searchbar.entry.js +27 -160
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +3 -13
- package/dist/esm/ion-segment_2.entry.js +16 -23
- package/dist/esm/ion-select-modal.entry.js +38 -114
- package/dist/esm/ion-select_3.entry.js +108 -557
- package/dist/esm/ion-spinner.entry.js +8 -30
- package/dist/esm/ion-split-pane.entry.js +9 -13
- package/dist/esm/ion-tab-bar_2.entry.js +27 -149
- package/dist/esm/ion-tab_2.entry.js +7 -8
- package/dist/esm/ion-text.entry.js +7 -7
- package/dist/esm/ion-textarea.entry.js +23 -137
- package/dist/esm/ion-toast.entry.js +21 -45
- package/dist/esm/ion-toggle.entry.js +26 -82
- package/dist/esm/ionic-global-Cp_eT4sZ.js +146 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-CgScDbsb.js → ios.transition-ClFrsIrS.js} +5 -7
- package/dist/esm/{item-multiple-inputs-C6onMFOo.js → item-multiple-inputs-DlNuqNJm.js} +1 -1
- package/dist/esm/{keyboard-CyyguLDw.js → keyboard-CUw4ekVy.js} +1 -1
- package/dist/esm/keyboard-controller-BaaVITYt.js +165 -0
- package/dist/esm/{keyboard-WJix-wcz.js → keyboard-ywgs5efA.js} +3 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-DThqYazt.js → md.transition-D0msQmzI.js} +5 -6
- package/dist/esm/{notch-controller-MTblRxjD.js → notch-controller-DKDjU_O7.js} +2 -2
- package/dist/esm/{overlays-tv6nLsmk.js → overlays-Dg0q2_tJ.js} +15 -306
- package/dist/esm/{status-tap-CoPI1M2q.js → status-tap-vO-6s4Yp.js} +3 -4
- package/dist/esm/{swipe-back-qmvTRnSq.js → swipe-back-DQ1q5MgD.js} +2 -3
- package/dist/esm/{theme-DaJxRxSQ.js → theme-DiVJyqlX.js} +1 -25
- package/dist/esm/validity-DJztqcrH.js +17 -0
- package/dist/html.html-data.json +160 -2699
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01f81ea5.entry.js +4 -0
- package/dist/ionic/p-06c232a4.entry.js +4 -0
- package/dist/ionic/p-0caa922c.entry.js +4 -0
- package/dist/ionic/p-0dc33652.entry.js +4 -0
- package/dist/ionic/p-0fa9c382.entry.js +4 -0
- package/dist/ionic/p-10e833ef.entry.js +4 -0
- package/dist/ionic/p-15c9319c.entry.js +4 -0
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2a05aa64.entry.js +4 -0
- package/dist/ionic/p-2b204c59.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/p-2fa58e80.entry.js +4 -0
- package/dist/ionic/p-3353c229.entry.js +4 -0
- package/dist/ionic/p-34586ead.entry.js +4 -0
- package/dist/ionic/p-37e720da.entry.js +4 -0
- package/dist/ionic/p-390ca786.entry.js +4 -0
- package/dist/ionic/p-3ae5f277.entry.js +4 -0
- package/dist/ionic/p-4654ae1c.entry.js +4 -0
- package/dist/ionic/p-4745f534.entry.js +4 -0
- package/dist/ionic/p-4858af1f.entry.js +4 -0
- package/dist/ionic/p-4baa5b82.entry.js +4 -0
- package/dist/ionic/p-4e92a11f.entry.js +4 -0
- package/dist/ionic/p-5018dfc8.entry.js +4 -0
- package/dist/ionic/p-50e1194a.entry.js +4 -0
- package/dist/ionic/p-5334df12.entry.js +4 -0
- package/dist/ionic/p-5d1da0a2.entry.js +4 -0
- package/dist/ionic/p-5eb8e86d.entry.js +4 -0
- package/dist/ionic/p-65ebdf1b.entry.js +4 -0
- package/dist/ionic/p-746fa988.entry.js +4 -0
- package/dist/ionic/p-75dc25ba.entry.js +4 -0
- package/dist/ionic/p-7c319341.entry.js +4 -0
- package/dist/ionic/p-829367ed.entry.js +4 -0
- package/dist/ionic/p-84d5ce05.entry.js +4 -0
- package/dist/ionic/p-874b4bd8.entry.js +4 -0
- package/dist/ionic/p-8eb8ee76.entry.js +4 -0
- package/dist/ionic/p-9eeaBrnk.js +4 -0
- package/dist/ionic/p-9f9db3a2.entry.js +4 -0
- package/dist/ionic/p-BGqMS-oh.js +4 -0
- package/dist/ionic/p-BUFIpxKM.js +4 -0
- package/dist/ionic/p-BmVRXR1y.js +4 -0
- package/dist/ionic/{p-7k7Q1A38.js → p-C0eMdTCW.js} +1 -1
- package/dist/ionic/p-CFlfIb2g.js +4 -0
- package/dist/ionic/p-CIGNaXM1.js +4 -0
- package/{components/p-BPxMDyfV.js → dist/ionic/p-CKvCXMs9.js} +1 -1
- package/dist/ionic/p-CmcFnK-B.js +4 -0
- package/dist/ionic/p-CtWGkNnJ.js +4 -0
- package/dist/ionic/p-Cx3IXROA.js +4 -0
- package/dist/ionic/p-D-3ycHmd.js +4 -0
- package/dist/ionic/{p-DQDmksdT.js → p-D13Eaw-8.js} +1 -1
- package/dist/ionic/p-D4uTWt4-.js +4 -0
- package/dist/ionic/p-DC3RagnA.js +4 -0
- package/dist/ionic/p-DIuEbVLu.js +4 -0
- package/dist/ionic/p-DJztqcrH.js +4 -0
- package/dist/ionic/p-DV3sJJW8.js +4 -0
- package/dist/ionic/p-DiVJyqlX.js +4 -0
- package/dist/ionic/p-DoJvtrbw.js +4 -0
- package/dist/ionic/p-DqN5EA2O.js +4 -0
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/p-KjNvRoEp.js +4 -0
- package/dist/ionic/p-Nqf6uvGh.js +4 -0
- package/dist/ionic/p-SNAkTDfm.js +4 -0
- package/{components/p-PCVpe9Tq.js → dist/ionic/p-VAemlbDS.js} +1 -1
- package/dist/ionic/p-ZjP4CjeZ.js +4 -0
- package/dist/ionic/p-a3bdcae6.entry.js +4 -0
- package/dist/ionic/p-aaeedb6b.entry.js +4 -0
- package/dist/ionic/p-af55a72f.entry.js +4 -0
- package/dist/ionic/p-b2020591.entry.js +4 -0
- package/dist/ionic/p-b9fadbfe.entry.js +4 -0
- package/dist/ionic/p-biz8zWmJ.js +4 -0
- package/dist/ionic/p-c0fb8edd.entry.js +4 -0
- package/dist/ionic/p-c38b648e.entry.js +4 -0
- package/dist/ionic/p-c4d8641b.entry.js +4 -0
- package/dist/ionic/p-c6e49f3f.entry.js +4 -0
- package/dist/ionic/p-ca2ab74d.entry.js +4 -0
- package/dist/ionic/p-d1aac015.entry.js +4 -0
- package/dist/ionic/p-d889ff6d.entry.js +4 -0
- package/dist/ionic/p-dfa8d673.entry.js +4 -0
- package/dist/ionic/p-ef4c3bee.entry.js +4 -0
- package/dist/ionic/p-f386f6ae.entry.js +4 -0
- package/dist/ionic/p-mjKAFv89.js +4 -0
- package/dist/ionic/p-tcQvqkiX.js +5 -0
- package/dist/ionic/p-uWtqTrG8.js +4 -0
- package/dist/ionic/p-viFHDgRs.js +4 -0
- package/dist/ionic/p-xWb6fgfq.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +3 -6
- package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
- package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
- package/dist/types/components/alert/alert-interface.d.ts +7 -3
- package/dist/types/components/alert/alert.d.ts +2 -3
- package/dist/types/components/app/app.d.ts +5 -4
- package/dist/types/components/avatar/avatar.d.ts +0 -32
- package/dist/types/components/back-button/back-button.d.ts +1 -2
- package/dist/types/components/backdrop/backdrop.d.ts +0 -4
- package/dist/types/components/badge/badge.d.ts +1 -34
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +8 -23
- package/dist/types/components/buttons/buttons.d.ts +1 -5
- package/dist/types/components/card/card.d.ts +1 -8
- package/dist/types/components/card-content/card-content.d.ts +1 -2
- package/dist/types/components/card-header/card-header.d.ts +2 -3
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
- package/dist/types/components/card-title/card-title.d.ts +1 -2
- package/dist/types/components/checkbox/checkbox.d.ts +4 -14
- package/dist/types/components/chip/chip.d.ts +1 -26
- package/dist/types/components/col/col.d.ts +5 -52
- package/dist/types/components/content/content.d.ts +0 -3
- package/dist/types/components/datetime/datetime.d.ts +1 -26
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
- package/dist/types/components/fab/fab.d.ts +0 -4
- package/dist/types/components/fab-button/fab-button.d.ts +3 -5
- package/dist/types/components/fab-list/fab-list.d.ts +0 -4
- package/dist/types/components/footer/footer.d.ts +3 -20
- package/dist/types/components/grid/grid.d.ts +0 -4
- package/dist/types/components/header/header.d.ts +3 -26
- package/dist/types/components/header/header.utils.d.ts +5 -4
- package/dist/types/components/img/img.d.ts +0 -3
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
- package/dist/types/components/input/input.d.ts +5 -37
- package/dist/types/components/input-otp/input-otp.d.ts +0 -37
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
- package/dist/types/components/item/item.d.ts +4 -11
- package/dist/types/components/item-divider/item-divider.d.ts +1 -2
- package/dist/types/components/item-group/item-group.d.ts +0 -4
- package/dist/types/components/item-option/item-option.d.ts +1 -18
- package/dist/types/components/item-options/item-options.d.ts +0 -4
- package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
- package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
- package/dist/types/components/label/label.d.ts +1 -2
- package/dist/types/components/list/list.d.ts +1 -15
- package/dist/types/components/list-header/list-header.d.ts +1 -2
- package/dist/types/components/loading/loading-interface.d.ts +7 -2
- package/dist/types/components/loading/loading.d.ts +2 -3
- package/dist/types/components/menu/menu.d.ts +0 -3
- package/dist/types/components/menu-button/menu-button.d.ts +1 -3
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
- package/dist/types/components/modal/gestures/sheet.d.ts +2 -1
- package/dist/types/components/modal/gestures/utils.d.ts +11 -0
- package/dist/types/components/modal/modal-interface.d.ts +7 -4
- package/dist/types/components/modal/modal.d.ts +2 -11
- package/dist/types/components/nav/nav-interface.d.ts +1 -9
- package/dist/types/components/nav/nav.d.ts +1 -5
- package/dist/types/components/nav-link/nav-link.d.ts +0 -4
- package/dist/types/components/note/note.d.ts +1 -2
- package/dist/types/components/picker/picker.d.ts +1 -2
- package/dist/types/components/picker-column/picker-column.d.ts +1 -2
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
- package/dist/types/components/picker-legacy/picker.d.ts +1 -2
- package/dist/types/components/popover/popover-interface.d.ts +6 -3
- package/dist/types/components/popover/popover.d.ts +5 -6
- package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
- package/dist/types/components/radio/radio.d.ts +1 -2
- package/dist/types/components/radio-group/radio-group.d.ts +0 -12
- package/dist/types/components/range/range.d.ts +1 -2
- package/dist/types/components/refresher/refresher.d.ts +1 -2
- package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
- package/dist/types/components/reorder/reorder.d.ts +0 -9
- package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
- package/dist/types/components/route/route.d.ts +0 -4
- package/dist/types/components/router/router.d.ts +0 -4
- package/dist/types/components/router-link/router-link.d.ts +0 -4
- package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
- package/dist/types/components/row/row.d.ts +0 -4
- package/dist/types/components/searchbar/searchbar.d.ts +10 -59
- package/dist/types/components/segment/segment.d.ts +1 -2
- package/dist/types/components/segment-button/segment-button.d.ts +1 -2
- package/dist/types/components/select/select-interface.d.ts +0 -31
- package/dist/types/components/select/select.d.ts +13 -66
- package/dist/types/components/select-modal/select-modal.d.ts +0 -8
- package/dist/types/components/select-option/select-option.d.ts +1 -45
- package/dist/types/components/select-popover/select-popover.d.ts +0 -3
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
- package/dist/types/components/spinner/spinner.d.ts +0 -15
- package/dist/types/components/split-pane/split-pane.d.ts +0 -4
- package/dist/types/components/tab/tab.d.ts +0 -4
- package/dist/types/components/tab-bar/tab-bar-interface.d.ts +0 -1
- package/dist/types/components/tab-bar/tab-bar.d.ts +3 -41
- package/dist/types/components/tab-button/tab-button.d.ts +1 -12
- package/dist/types/components/tabs/tabs.d.ts +0 -3
- package/dist/types/components/text/text.d.ts +1 -2
- package/dist/types/components/textarea/textarea.d.ts +4 -53
- package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
- package/dist/types/components/title/title.d.ts +0 -4
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +7 -3
- package/dist/types/components/toast/toast.d.ts +2 -19
- package/dist/types/components/toggle/toggle.d.ts +1 -15
- package/dist/types/components/toolbar/toolbar.d.ts +3 -43
- package/dist/types/components.d.ts +211 -1882
- package/dist/types/global/ionic-global.d.ts +2 -28
- package/dist/types/interface.d.ts +0 -3
- package/dist/types/utils/config.d.ts +2 -106
- package/dist/types/utils/content/index.d.ts +12 -0
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +0 -13
- package/dist/types/utils/forms/validity.d.ts +0 -7
- package/dist/types/utils/helpers.d.ts +0 -22
- package/dist/types/utils/overlays-interface.d.ts +1 -31
- package/dist/types/utils/overlays.d.ts +1 -1
- package/dist/types/utils/sanitization/index.d.ts +2 -58
- package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
- package/dist/types/utils/test/playwright/generator.d.ts +2 -31
- package/dist/types/utils/theme.d.ts +0 -9
- package/hydrate/index.js +1471 -6450
- package/hydrate/index.mjs +1471 -6450
- package/package.json +5 -9
- package/components/ion-divider.d.ts +0 -11
- package/components/ion-divider.js +0 -4
- package/components/ion-gallery-item.d.ts +0 -11
- package/components/ion-gallery-item.js +0 -4
- package/components/ion-gallery.d.ts +0 -11
- package/components/ion-gallery.js +0 -4
- package/components/p-3VXQGlP7.js +0 -4
- package/components/p-B2SvA6NE.js +0 -4
- package/components/p-B5krYTuW.js +0 -4
- package/components/p-B6a9IJZ0.js +0 -4
- package/components/p-BArGQkuV.js +0 -4
- package/components/p-BDqjX7Z_.js +0 -4
- package/components/p-BG-Q139o.js +0 -4
- package/components/p-BWH3I3Dl.js +0 -4
- package/components/p-BYSs-jZz.js +0 -4
- package/components/p-BbVhJs-a.js +0 -4
- package/components/p-Bc6odfwr.js +0 -4
- package/components/p-BjW8SOqw.js +0 -4
- package/components/p-BkWXBpOv.js +0 -4
- package/components/p-Bt9GDUv-.js +0 -4
- package/components/p-BvNVjXg4.js +0 -4
- package/components/p-BwKpO3Is.js +0 -4
- package/components/p-BwlU9cX_.js +0 -4
- package/components/p-CBxy8OYq.js +0 -4
- package/components/p-CGdeq57o.js +0 -4
- package/components/p-CHPdgLHZ.js +0 -4
- package/components/p-CMZlqiT7.js +0 -4
- package/components/p-CMzkbes2.js +0 -4
- package/components/p-CODBQrPj.js +0 -4
- package/components/p-COPA4jD9.js +0 -4
- package/components/p-CPnW-OVE.js +0 -4
- package/components/p-CRmBpp1v.js +0 -4
- package/components/p-CT3P-wjL.js +0 -4
- package/components/p-CVYFPBs-.js +0 -4
- package/components/p-CVqhQif1.js +0 -4
- package/components/p-Cc3oC60a.js +0 -4
- package/components/p-CjY4Hs1X.js +0 -4
- package/components/p-CrYjk-l3.js +0 -4
- package/components/p-CsUcWJuB.js +0 -4
- package/components/p-D0Iqw6OZ.js +0 -4
- package/components/p-D1kNlmYt.js +0 -4
- package/components/p-D1t981Ih.js +0 -4
- package/components/p-D9C5yWpF.js +0 -4
- package/components/p-DDNG-IsR.js +0 -4
- package/components/p-DJSp7Si8.js +0 -4
- package/components/p-DL5wyRub.js +0 -4
- package/components/p-DXKZXLjV.js +0 -4
- package/components/p-DaJxRxSQ.js +0 -4
- package/components/p-Dhi5xtNS.js +0 -4
- package/components/p-Do8qRv6r.js +0 -4
- package/components/p-Dt--PjSF.js +0 -4
- package/components/p-DylrHLJF.js +0 -4
- package/components/p-FCT_QxQG.js +0 -4
- package/components/p-OCde3AhO.js +0 -4
- package/components/p-OPFCgx0m.js +0 -4
- package/components/p-Rkm2AOZ2.js +0 -4
- package/components/p-WSZErkoI.js +0 -4
- package/components/p-bHSMZulH.js +0 -4
- package/components/p-fIOYmaqA.js +0 -4
- package/components/p-hNcst9K9.js +0 -4
- package/components/p-hW_3y-wm.js +0 -4
- package/components/p-nLMDgmzd.js +0 -4
- package/components/p-oI96rnOD.js +0 -4
- package/components/p-r_CFQBc1.js +0 -4
- package/components/p-vXpMhGrs.js +0 -4
- package/components/p-zBZRdRDd.js +0 -4
- package/css/ionic/bundle.ionic.css +0 -1
- package/css/ionic/bundle.ionic.css.map +0 -1
- package/css/ionic/core.ionic.css +0 -1
- package/css/ionic/core.ionic.css.map +0 -1
- package/css/ionic/global.bundle.ionic.css +0 -1
- package/css/ionic/global.bundle.ionic.css.map +0 -1
- package/css/ionic/ionic-swiper.ionic.css +0 -1
- package/css/ionic/ionic-swiper.ionic.css.map +0 -1
- package/css/ionic/link.ionic.css +0 -1
- package/css/ionic/link.ionic.css.map +0 -1
- package/css/ionic/structure.ionic.css +0 -1
- package/css/ionic/structure.ionic.css.map +0 -1
- package/css/ionic/typography.ionic.css +0 -1
- package/css/ionic/typography.ionic.css.map +0 -1
- package/css/ionic/utils.bundle.ionic.css +0 -1
- package/css/ionic/utils.bundle.ionic.css.map +0 -1
- package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
- package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
- package/dist/cjs/caret-right-CRCgv98E.js +0 -8
- package/dist/cjs/config-DWdFbSNK.js +0 -35
- package/dist/cjs/index-Bj07IRTB.js +0 -429
- package/dist/cjs/ion-divider.cjs.entry.js +0 -51
- package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -59
- package/dist/cjs/ion-gallery.cjs.entry.js +0 -607
- package/dist/cjs/ionic-global-QoUqobrQ.js +0 -519
- package/dist/cjs/list-a-7GSA6K.js +0 -8
- package/dist/cjs/overlay-control-label-DnRLQR1t.js +0 -52
- package/dist/cjs/scroll-hide-controller-G9HOmmhN.js +0 -345
- package/dist/cjs/select-option-render-DqBHEjDn.js +0 -124
- package/dist/cjs/validity-QmuwEptc.js +0 -51
- package/dist/cjs/x-BTF99yFH.js +0 -8
- package/dist/collection/components/accordion/accordion.ionic.css +0 -201
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
- package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -494
- package/dist/collection/components/alert/alert.ionic.css +0 -787
- package/dist/collection/components/avatar/avatar.ionic.css +0 -385
- package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
- package/dist/collection/components/badge/badge.ionic.css +0 -272
- package/dist/collection/components/button/button.ionic.css +0 -644
- package/dist/collection/components/buttons/buttons.ionic.css +0 -97
- package/dist/collection/components/card/card.ionic.css +0 -144
- package/dist/collection/components/card-content/card-content.ionic.css +0 -89
- package/dist/collection/components/card-header/card-header.ionic.css +0 -85
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
- package/dist/collection/components/checkbox/checkbox.ionic.css +0 -543
- package/dist/collection/components/chip/chip.ionic.css +0 -217
- package/dist/collection/components/datetime/datetime.ionic.css +0 -703
- package/dist/collection/components/divider/divider.ionic.css +0 -148
- package/dist/collection/components/divider/divider.ios.css +0 -87
- package/dist/collection/components/divider/divider.js +0 -94
- package/dist/collection/components/divider/divider.md.css +0 -87
- package/dist/collection/components/footer/footer-interface.js +0 -1
- package/dist/collection/components/gallery/gallery-constants.js +0 -12
- package/dist/collection/components/gallery/gallery-interface.js +0 -1
- package/dist/collection/components/gallery/gallery.css +0 -15
- package/dist/collection/components/gallery/gallery.js +0 -679
- package/dist/collection/components/gallery/test/utils.js +0 -100
- package/dist/collection/components/gallery-item/gallery-item.css +0 -49
- package/dist/collection/components/gallery-item/gallery-item.js +0 -99
- package/dist/collection/components/header/header-interface.js +0 -1
- package/dist/collection/components/header/header.ionic.css +0 -250
- package/dist/collection/components/input/input.ionic.css +0 -891
- package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
- package/dist/collection/components/item/item.ionic.css +0 -496
- package/dist/collection/components/item-option/item-option.ionic.css +0 -277
- package/dist/collection/components/item-options/item-options.ionic.css +0 -221
- package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
- package/dist/collection/components/list/list.ionic.css +0 -212
- package/dist/collection/components/list-header/list-header.ionic.css +0 -190
- package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
- package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
- package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
- package/dist/collection/components/modal/modal.ionic.css +0 -255
- package/dist/collection/components/popover/popover.ionic.css +0 -290
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
- package/dist/collection/components/radio/radio.ionic.css +0 -422
- package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
- package/dist/collection/components/range/range.ionic.css +0 -567
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
- package/dist/collection/components/searchbar/searchbar.ionic.css +0 -622
- package/dist/collection/components/segment/segment.ionic.css +0 -115
- package/dist/collection/components/segment-button/segment-button.ionic.css +0 -352
- package/dist/collection/components/select/select.ionic.css +0 -809
- package/dist/collection/components/select-modal/select-modal.ionic.css +0 -257
- package/dist/collection/components/select-popover/select-popover.ionic.css +0 -255
- package/dist/collection/components/spinner/spinner.native.css +0 -199
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -249
- package/dist/collection/components/tab-button/tab-button.ionic.css +0 -373
- package/dist/collection/components/textarea/textarea.ionic.css +0 -898
- package/dist/collection/components/title/title.ionic.css +0 -127
- package/dist/collection/components/toast/toast.ionic.css +0 -394
- package/dist/collection/components/toggle/toggle.ionic.css +0 -512
- package/dist/collection/components/toolbar/test/image.svg +0 -1
- package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
- package/dist/collection/utils/css-value-validation.js +0 -39
- package/dist/collection/utils/overlay-control-label.js +0 -47
- package/dist/collection/utils/scroll-hide-controller.js +0 -178
- package/dist/collection/utils/select-option-render.js +0 -119
- package/dist/esm/caret-down-D1t981Ih.js +0 -6
- package/dist/esm/caret-left-fIOYmaqA.js +0 -6
- package/dist/esm/caret-right-BYSs-jZz.js +0 -6
- package/dist/esm/config-BwKpO3Is.js +0 -31
- package/dist/esm/index-Mq5pCWmZ.js +0 -424
- package/dist/esm/ion-divider.entry.js +0 -49
- package/dist/esm/ion-gallery-item.entry.js +0 -57
- package/dist/esm/ion-gallery.entry.js +0 -605
- package/dist/esm/ionic-global-BpkTponr.js +0 -508
- package/dist/esm/list-Dhi5xtNS.js +0 -6
- package/dist/esm/overlay-control-label-CODBQrPj.js +0 -49
- package/dist/esm/scroll-hide-controller-CUNW7EpD.js +0 -342
- package/dist/esm/select-option-render-BlKZ2H83.js +0 -122
- package/dist/esm/validity-BjW8SOqw.js +0 -48
- package/dist/esm/x-BDqjX7Z_.js +0 -6
- package/dist/ionic/p--sroV-k-.js +0 -4
- package/dist/ionic/p-05ce9821.entry.js +0 -4
- package/dist/ionic/p-085b8cdf.entry.js +0 -4
- package/dist/ionic/p-0ef6bfc4.entry.js +0 -4
- package/dist/ionic/p-176d37f8.entry.js +0 -4
- package/dist/ionic/p-18b7771e.entry.js +0 -4
- package/dist/ionic/p-19f34fe5.entry.js +0 -4
- package/dist/ionic/p-1b6e3914.entry.js +0 -4
- package/dist/ionic/p-2740db6e.entry.js +0 -4
- package/dist/ionic/p-2a1abbb1.entry.js +0 -4
- package/dist/ionic/p-2d9c681b.entry.js +0 -4
- package/dist/ionic/p-2fba8f15.entry.js +0 -4
- package/dist/ionic/p-3886bfbe.entry.js +0 -4
- package/dist/ionic/p-3ab9c35a.entry.js +0 -4
- package/dist/ionic/p-3b4c5cb5.entry.js +0 -4
- package/dist/ionic/p-3cfb4ff2.entry.js +0 -4
- package/dist/ionic/p-41afaf15.entry.js +0 -4
- package/dist/ionic/p-47b9dac0.entry.js +0 -4
- package/dist/ionic/p-54419365.entry.js +0 -4
- package/dist/ionic/p-54b7972e.entry.js +0 -4
- package/dist/ionic/p-602cf876.entry.js +0 -4
- package/dist/ionic/p-678ee14a.entry.js +0 -4
- package/dist/ionic/p-679c1448.entry.js +0 -4
- package/dist/ionic/p-68ea8ed1.entry.js +0 -4
- package/dist/ionic/p-6e1ec775.entry.js +0 -4
- package/dist/ionic/p-745d6b2b.entry.js +0 -4
- package/dist/ionic/p-77254b78.entry.js +0 -4
- package/dist/ionic/p-89fedfda.entry.js +0 -4
- package/dist/ionic/p-8cf82b85.entry.js +0 -4
- package/dist/ionic/p-8d5fd199.entry.js +0 -4
- package/dist/ionic/p-9087119f.entry.js +0 -4
- package/dist/ionic/p-9c508a22.entry.js +0 -4
- package/dist/ionic/p-B4Kq2YNk.js +0 -4
- package/dist/ionic/p-BDSH5ckF.js +0 -4
- package/dist/ionic/p-BDqjX7Z_.js +0 -4
- package/dist/ionic/p-BFy_BK46.js +0 -4
- package/dist/ionic/p-BYSs-jZz.js +0 -4
- package/dist/ionic/p-BjW8SOqw.js +0 -4
- package/dist/ionic/p-BlZo7Gy-.js +0 -4
- package/dist/ionic/p-Bq8S4vhI.js +0 -4
- package/dist/ionic/p-BwKpO3Is.js +0 -4
- package/dist/ionic/p-C0EQceqV.js +0 -5
- package/dist/ionic/p-C1I_d964.js +0 -4
- package/dist/ionic/p-CB91Gr9M.js +0 -4
- package/dist/ionic/p-CEkwLb3L.js +0 -4
- package/dist/ionic/p-CJsJQPQD.js +0 -4
- package/dist/ionic/p-CODBQrPj.js +0 -4
- package/dist/ionic/p-Ch7MBNn_.js +0 -4
- package/dist/ionic/p-CnAWnbNK.js +0 -4
- package/dist/ionic/p-D1t981Ih.js +0 -4
- package/dist/ionic/p-D4MT1z4_.js +0 -4
- package/dist/ionic/p-D4veLKCq.js +0 -4
- package/dist/ionic/p-DF7ubVci.js +0 -4
- package/dist/ionic/p-DMaSfupH.js +0 -4
- package/dist/ionic/p-DTsDGZPd.js +0 -4
- package/dist/ionic/p-DaJxRxSQ.js +0 -4
- package/dist/ionic/p-DdCaKRle.js +0 -4
- package/dist/ionic/p-Dhi5xtNS.js +0 -4
- package/dist/ionic/p-Dy243NXW.js +0 -4
- package/dist/ionic/p-YIsE5bNG.js +0 -4
- package/dist/ionic/p-a4af8e39.entry.js +0 -4
- package/dist/ionic/p-b2368a93.entry.js +0 -4
- package/dist/ionic/p-b275f17e.entry.js +0 -4
- package/dist/ionic/p-c5635175.entry.js +0 -4
- package/dist/ionic/p-c76d57fb.entry.js +0 -4
- package/dist/ionic/p-ca3a07b5.entry.js +0 -4
- package/dist/ionic/p-ced3cda1.entry.js +0 -4
- package/dist/ionic/p-cf22e991.entry.js +0 -4
- package/dist/ionic/p-d0c1d21d.entry.js +0 -4
- package/dist/ionic/p-d0d42da6.entry.js +0 -4
- package/dist/ionic/p-d1de76b8.entry.js +0 -4
- package/dist/ionic/p-d33dfc12.entry.js +0 -4
- package/dist/ionic/p-d34bfb61.entry.js +0 -4
- package/dist/ionic/p-dbc08f67.entry.js +0 -4
- package/dist/ionic/p-dc8e0b91.entry.js +0 -4
- package/dist/ionic/p-df642ef5.entry.js +0 -4
- package/dist/ionic/p-e04d63e1.entry.js +0 -4
- package/dist/ionic/p-e3615478.entry.js +0 -4
- package/dist/ionic/p-f1810d29.entry.js +0 -4
- package/dist/ionic/p-f1a8aead.entry.js +0 -4
- package/dist/ionic/p-f69af9d3.entry.js +0 -4
- package/dist/ionic/p-f8001f8f.entry.js +0 -4
- package/dist/ionic/p-f8b63ebb.entry.js +0 -4
- package/dist/ionic/p-fIOYmaqA.js +0 -4
- package/dist/ionic/p-fc6d26ff.entry.js +0 -4
- package/dist/ionic/p-im8OkZlj.js +0 -4
- package/dist/ionic/p-lMb_45ax.js +0 -4
- package/dist/ionic/p-oUgyLDGL.js +0 -4
- package/dist/ionic/p-vXpMhGrs.js +0 -4
- package/dist/types/components/divider/divider.d.ts +0 -20
- package/dist/types/components/footer/footer-interface.d.ts +0 -1
- package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
- package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
- package/dist/types/components/gallery/gallery.d.ts +0 -218
- package/dist/types/components/gallery/test/utils.d.ts +0 -3
- package/dist/types/components/gallery-item/gallery-item.d.ts +0 -33
- package/dist/types/components/header/header-interface.d.ts +0 -1
- package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
- package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
- package/dist/types/utils/css-value-validation.d.ts +0 -21
- package/dist/types/utils/overlay-control-label.d.ts +0 -34
- package/dist/types/utils/scroll-hide-controller.d.ts +0 -56
- package/dist/types/utils/select-option-render.d.ts +0 -53
- /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-
|
|
5
|
-
import { f as
|
|
6
|
-
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-
|
|
7
|
-
import { g as getElementRoot, e as clamp, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-
|
|
4
|
+
import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
|
|
5
|
+
import { i as isIonContent, f as findRefresherInContent, a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY, b as findIonContent, p as printIonContentErrorMsg } from './index-Dw-wN0Ja.js';
|
|
6
|
+
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-FnPGymXL.js';
|
|
7
|
+
import { g as getElementRoot, e as clamp, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-HEqiOzXb.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-B-hirT0v.js';
|
|
9
|
-
import { g as getCapacitor } from './capacitor-
|
|
10
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-
|
|
11
|
-
import { g as getClassMap } from './theme-
|
|
12
|
-
import { e as deepReady, w as waitForMount } from './index-
|
|
13
|
-
import {
|
|
14
|
-
import { KEYBOARD_DID_OPEN } from './keyboard-
|
|
15
|
-
import { c as createAnimation } from './animation-
|
|
9
|
+
import { g as getCapacitor } from './capacitor-CFERIeaU.js';
|
|
10
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-Dg0q2_tJ.js';
|
|
11
|
+
import { g as getClassMap } from './theme-DiVJyqlX.js';
|
|
12
|
+
import { e as deepReady, w as waitForMount } from './index-B_dQk_WE.js';
|
|
13
|
+
import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
|
|
14
|
+
import { KEYBOARD_DID_OPEN } from './keyboard-ywgs5efA.js';
|
|
15
|
+
import { c as createAnimation } from './animation-DLJpuoEz.js';
|
|
16
16
|
import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
17
17
|
import { createGesture } from './index-CfgBF1SE.js';
|
|
18
|
-
import './
|
|
18
|
+
import { w as win } from './index-ZjP4CjeZ.js';
|
|
19
|
+
import './hardware-back-button-B93Gru0Y.js';
|
|
19
20
|
import './gesture-controller-BTEOs1at.js';
|
|
20
|
-
import './keyboard-
|
|
21
|
+
import './keyboard-CUw4ekVy.js';
|
|
21
22
|
|
|
22
23
|
var Style;
|
|
23
24
|
(function (Style) {
|
|
@@ -126,104 +127,21 @@ const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
|
126
127
|
StatusBar.setStyle({ style: defaultStyle });
|
|
127
128
|
};
|
|
128
129
|
|
|
129
|
-
const createSheetEnterAnimation = (opts) => {
|
|
130
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
|
|
131
|
-
/**
|
|
132
|
-
* If the backdropBreakpoint is undefined, then the backdrop
|
|
133
|
-
* should always fade in. If the backdropBreakpoint came before the
|
|
134
|
-
* current breakpoint, then the backdrop should be fading in.
|
|
135
|
-
*/
|
|
136
|
-
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
137
|
-
let initialBackdrop = '0';
|
|
138
|
-
if (staticBackdropOpacity) {
|
|
139
|
-
initialBackdrop = 'calc(var(--backdrop-opacity)';
|
|
140
|
-
}
|
|
141
|
-
else if (shouldShowBackdrop) {
|
|
142
|
-
initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
|
|
143
|
-
}
|
|
144
|
-
const backdropAnimation = createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
145
|
-
if (shouldShowBackdrop) {
|
|
146
|
-
backdropAnimation
|
|
147
|
-
.beforeStyles({
|
|
148
|
-
'pointer-events': 'none',
|
|
149
|
-
})
|
|
150
|
-
.afterClearStyles(['pointer-events']);
|
|
151
|
-
}
|
|
152
|
-
const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
|
|
153
|
-
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
154
|
-
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
155
|
-
]);
|
|
156
|
-
/**
|
|
157
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
158
|
-
*/
|
|
159
|
-
const contentAnimation = !expandToScroll
|
|
160
|
-
? createAnimation('contentAnimation').keyframes([
|
|
161
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
162
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
163
|
-
])
|
|
164
|
-
: undefined;
|
|
165
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
166
|
-
};
|
|
167
|
-
const createSheetLeaveAnimation = (opts) => {
|
|
168
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
169
|
-
/**
|
|
170
|
-
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
171
|
-
* is defined, so we need to account for that offset by figuring out
|
|
172
|
-
* what the current backdrop value should be.
|
|
173
|
-
*/
|
|
174
|
-
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
175
|
-
const defaultBackdrop = [
|
|
176
|
-
{ offset: 0, opacity: backdropValue },
|
|
177
|
-
{ offset: 1, opacity: 0 },
|
|
178
|
-
];
|
|
179
|
-
const customBackdrop = [
|
|
180
|
-
{ offset: 0, opacity: backdropValue },
|
|
181
|
-
{ offset: backdropBreakpoint, opacity: 0 },
|
|
182
|
-
{ offset: 1, opacity: 0 },
|
|
183
|
-
];
|
|
184
|
-
const backdropAnimation = createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
185
|
-
const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
|
|
186
|
-
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
187
|
-
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
188
|
-
]);
|
|
189
|
-
return { wrapperAnimation, backdropAnimation };
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
const createEnterAnimation$2 = () => {
|
|
193
|
-
const backdropAnimation = createAnimation()
|
|
194
|
-
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
195
|
-
.beforeStyles({
|
|
196
|
-
'pointer-events': 'none',
|
|
197
|
-
})
|
|
198
|
-
.afterClearStyles(['pointer-events']);
|
|
199
|
-
const wrapperAnimation = createAnimation().keyframes([
|
|
200
|
-
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
201
|
-
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
202
|
-
]);
|
|
203
|
-
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
204
|
-
};
|
|
205
130
|
/**
|
|
206
|
-
*
|
|
131
|
+
* Swiping is only possible when the content is scrolled to the top, so that we
|
|
132
|
+
* do not interfere with scrolling, and never on content with a refresher.
|
|
133
|
+
*
|
|
134
|
+
* Note: We cannot solve the refresher case with gesture priority as the iOS
|
|
135
|
+
* native refresh gesture uses a scroll listener in addition to a gesture.
|
|
136
|
+
*
|
|
137
|
+
* Note: Do not use `getScrollElement` here because we need this to be a
|
|
138
|
+
* synchronous operation, and `getScrollElement` is asynchronous.
|
|
207
139
|
*/
|
|
208
|
-
const
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
213
|
-
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
214
|
-
// The content animation is only added if scrolling is enabled for
|
|
215
|
-
// all the breakpoints.
|
|
216
|
-
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
217
|
-
backdropAnimation.duration(300).easing('ease-out');
|
|
218
|
-
wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
219
|
-
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
220
|
-
const baseAnimation = createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
|
|
221
|
-
if (contentAnimation) {
|
|
222
|
-
baseAnimation.addAnimation(contentAnimation);
|
|
223
|
-
}
|
|
224
|
-
return baseAnimation;
|
|
140
|
+
const canSwipeOnContent = (contentEl) => {
|
|
141
|
+
const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
142
|
+
const hasRefresherInContent = !!findRefresherInContent(contentEl);
|
|
143
|
+
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
225
144
|
};
|
|
226
|
-
|
|
227
145
|
const handleCanDismiss = async (el, animation) => {
|
|
228
146
|
/**
|
|
229
147
|
* If canDismiss is not a function
|
|
@@ -354,7 +272,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
354
272
|
let isOpen = false;
|
|
355
273
|
let canDismissBlocksGesture = false;
|
|
356
274
|
let contentEl = null;
|
|
357
|
-
let scrollEl = null;
|
|
358
275
|
const canDismissMaxStep = 0.2;
|
|
359
276
|
let initialScrollY = true;
|
|
360
277
|
let lastStep = 0;
|
|
@@ -377,12 +294,6 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
377
294
|
return true;
|
|
378
295
|
}
|
|
379
296
|
/**
|
|
380
|
-
* If we are swiping on the content,
|
|
381
|
-
* swiping should only be possible if
|
|
382
|
-
* the content is scrolled all the way
|
|
383
|
-
* to the top so that we do not interfere
|
|
384
|
-
* with scrolling.
|
|
385
|
-
*
|
|
386
297
|
* We cannot assume that the `ion-content`
|
|
387
298
|
* target will remain consistent between
|
|
388
299
|
* swipes. For example, when using
|
|
@@ -393,29 +304,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
393
304
|
*/
|
|
394
305
|
contentEl = findClosestIonContent(target);
|
|
395
306
|
if (contentEl) {
|
|
396
|
-
|
|
397
|
-
* The card should never swipe to close
|
|
398
|
-
* on the content with a refresher.
|
|
399
|
-
* Note: We cannot solve this by making the
|
|
400
|
-
* swipeToClose gesture have a higher priority
|
|
401
|
-
* than the refresher gesture as the iOS native
|
|
402
|
-
* refresh gesture uses a scroll listener in
|
|
403
|
-
* addition to a gesture.
|
|
404
|
-
*
|
|
405
|
-
* Note: Do not use getScrollElement here
|
|
406
|
-
* because we need this to be a synchronous
|
|
407
|
-
* operation, and getScrollElement is
|
|
408
|
-
* asynchronous.
|
|
409
|
-
*/
|
|
410
|
-
if (isIonContent(contentEl)) {
|
|
411
|
-
const root = getElementRoot(contentEl);
|
|
412
|
-
scrollEl = root.querySelector('.inner-scroll');
|
|
413
|
-
}
|
|
414
|
-
else {
|
|
415
|
-
scrollEl = contentEl;
|
|
416
|
-
}
|
|
417
|
-
const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
|
|
418
|
-
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
307
|
+
return canSwipeOnContent(contentEl);
|
|
419
308
|
}
|
|
420
309
|
/**
|
|
421
310
|
* Card should be swipeable on all
|
|
@@ -657,6 +546,63 @@ const calculateProgress = (el, deltaY) => {
|
|
|
657
546
|
return Math.max(0, Math.min(1, roundedProgress));
|
|
658
547
|
};
|
|
659
548
|
|
|
549
|
+
const createSheetEnterAnimation = (opts) => {
|
|
550
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
551
|
+
/**
|
|
552
|
+
* If the backdropBreakpoint is undefined, then the backdrop
|
|
553
|
+
* should always fade in. If the backdropBreakpoint came before the
|
|
554
|
+
* current breakpoint, then the backdrop should be fading in.
|
|
555
|
+
*/
|
|
556
|
+
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
557
|
+
const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
|
|
558
|
+
const backdropAnimation = createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
559
|
+
if (shouldShowBackdrop) {
|
|
560
|
+
backdropAnimation
|
|
561
|
+
.beforeStyles({
|
|
562
|
+
'pointer-events': 'none',
|
|
563
|
+
})
|
|
564
|
+
.afterClearStyles(['pointer-events']);
|
|
565
|
+
}
|
|
566
|
+
const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
|
|
567
|
+
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
568
|
+
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
569
|
+
]);
|
|
570
|
+
/**
|
|
571
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
572
|
+
*/
|
|
573
|
+
const contentAnimation = !expandToScroll
|
|
574
|
+
? createAnimation('contentAnimation').keyframes([
|
|
575
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
576
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
577
|
+
])
|
|
578
|
+
: undefined;
|
|
579
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
580
|
+
};
|
|
581
|
+
const createSheetLeaveAnimation = (opts) => {
|
|
582
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
583
|
+
/**
|
|
584
|
+
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
585
|
+
* is defined, so we need to account for that offset by figuring out
|
|
586
|
+
* what the current backdrop value should be.
|
|
587
|
+
*/
|
|
588
|
+
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
589
|
+
const defaultBackdrop = [
|
|
590
|
+
{ offset: 0, opacity: backdropValue },
|
|
591
|
+
{ offset: 1, opacity: 0 },
|
|
592
|
+
];
|
|
593
|
+
const customBackdrop = [
|
|
594
|
+
{ offset: 0, opacity: backdropValue },
|
|
595
|
+
{ offset: backdropBreakpoint, opacity: 0 },
|
|
596
|
+
{ offset: 1, opacity: 0 },
|
|
597
|
+
];
|
|
598
|
+
const backdropAnimation = createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
599
|
+
const wrapperAnimation = createAnimation('wrapperAnimation').keyframes([
|
|
600
|
+
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
601
|
+
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
602
|
+
]);
|
|
603
|
+
return { wrapperAnimation, backdropAnimation };
|
|
604
|
+
};
|
|
605
|
+
|
|
660
606
|
const createEnterAnimation$1 = () => {
|
|
661
607
|
const backdropAnimation = createAnimation()
|
|
662
608
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
@@ -1047,16 +993,17 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
1047
993
|
return baseAnimation;
|
|
1048
994
|
};
|
|
1049
995
|
|
|
1050
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange,
|
|
996
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
997
|
+
var _a;
|
|
1051
998
|
// Defaults for the sheet swipe animation
|
|
1052
999
|
const defaultBackdrop = [
|
|
1053
1000
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1054
|
-
{ offset: 1, opacity:
|
|
1001
|
+
{ offset: 1, opacity: 0.01 },
|
|
1055
1002
|
];
|
|
1056
1003
|
const customBackdrop = [
|
|
1057
1004
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1058
|
-
{ offset: 1 - backdropBreakpoint, opacity:
|
|
1059
|
-
{ offset: 1, opacity:
|
|
1005
|
+
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
1006
|
+
{ offset: 1, opacity: 0 },
|
|
1060
1007
|
];
|
|
1061
1008
|
const SheetDefaults = {
|
|
1062
1009
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1070,6 +1017,8 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1070
1017
|
],
|
|
1071
1018
|
};
|
|
1072
1019
|
const contentEl = baseEl.querySelector('ion-content');
|
|
1020
|
+
// Cache the initial value so the gesture restores it instead of forcing scrolling on.
|
|
1021
|
+
const initialContentScrollY = (_a = contentEl === null || contentEl === void 0 ? void 0 : contentEl.scrollY) !== null && _a !== void 0 ? _a : true;
|
|
1073
1022
|
const height = wrapperEl.clientHeight;
|
|
1074
1023
|
let currentBreakpoint = initialBreakpoint;
|
|
1075
1024
|
let offset = 0;
|
|
@@ -1230,9 +1179,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1230
1179
|
}
|
|
1231
1180
|
const canStart = (detail) => {
|
|
1232
1181
|
/**
|
|
1233
|
-
* If we are swiping on the content, swiping should only be possible if the content
|
|
1234
|
-
* is scrolled all the way to the top so that we do not interfere with scrolling.
|
|
1235
|
-
*
|
|
1236
1182
|
* We cannot assume that the `ion-content` target will remain consistent between swipes.
|
|
1237
1183
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1238
1184
|
* and then swipe again. The target content will not be the same between swipes.
|
|
@@ -1240,26 +1186,11 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1240
1186
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
1241
1187
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1242
1188
|
/**
|
|
1243
|
-
*
|
|
1244
|
-
*
|
|
1189
|
+
* Upwards swipes on the content cannot move the sheet anyway, so this only
|
|
1190
|
+
* blocks swiping the sheet down from the content.
|
|
1245
1191
|
*/
|
|
1246
|
-
if (!expandToScroll
|
|
1247
|
-
|
|
1248
|
-
return scrollEl.scrollTop === 0;
|
|
1249
|
-
}
|
|
1250
|
-
if (currentBreakpoint === 1 && contentEl) {
|
|
1251
|
-
/**
|
|
1252
|
-
* The modal should never swipe to close on the content with a refresher.
|
|
1253
|
-
* Note 1: We cannot solve this by making this gesture have a higher priority than
|
|
1254
|
-
* the refresher gesture as the iOS native refresh gesture uses a scroll listener in
|
|
1255
|
-
* addition to a gesture.
|
|
1256
|
-
*
|
|
1257
|
-
* Note 2: Do not use getScrollElement here because we need this to be a synchronous
|
|
1258
|
-
* operation, and getScrollElement is asynchronous.
|
|
1259
|
-
*/
|
|
1260
|
-
const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
1261
|
-
const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
|
|
1262
|
-
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
1192
|
+
if (contentEl && (!expandToScroll || currentBreakpoint === 1)) {
|
|
1193
|
+
return canSwipeOnContent(contentEl);
|
|
1263
1194
|
}
|
|
1264
1195
|
return true;
|
|
1265
1196
|
};
|
|
@@ -1386,9 +1317,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1386
1317
|
: step;
|
|
1387
1318
|
offset = clamp(0.0001, processedStep, maxStep);
|
|
1388
1319
|
animation.progressStep(offset);
|
|
1389
|
-
const snapBreakpoint =
|
|
1390
|
-
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1391
|
-
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1320
|
+
const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
1392
1321
|
const eventDetail = {
|
|
1393
1322
|
currentY: detail.currentY,
|
|
1394
1323
|
deltaY: detail.deltaY,
|
|
@@ -1399,9 +1328,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1399
1328
|
onDragMove(eventDetail);
|
|
1400
1329
|
};
|
|
1401
1330
|
const onEnd = (detail) => {
|
|
1402
|
-
const snapBreakpoint =
|
|
1403
|
-
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1404
|
-
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1331
|
+
const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
1405
1332
|
const eventDetail = {
|
|
1406
1333
|
currentY: detail.currentY,
|
|
1407
1334
|
deltaY: detail.deltaY,
|
|
@@ -1448,14 +1375,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1448
1375
|
*/
|
|
1449
1376
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
1450
1377
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
1451
|
-
/**
|
|
1452
|
-
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
1453
|
-
* the user released before crossing the threshold to a new breakpoint.
|
|
1454
|
-
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
1455
|
-
*/
|
|
1456
|
-
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
1457
|
-
const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
|
|
1458
|
-
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
1459
1378
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
1460
1379
|
currentBreakpoint = 0;
|
|
1461
1380
|
/**
|
|
@@ -1470,15 +1389,11 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1470
1389
|
backdropAnimation.keyframes([
|
|
1471
1390
|
{
|
|
1472
1391
|
offset: 0,
|
|
1473
|
-
opacity:
|
|
1474
|
-
? 'var(--backdrop-opacity)'
|
|
1475
|
-
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1392
|
+
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1476
1393
|
},
|
|
1477
1394
|
{
|
|
1478
1395
|
offset: 1,
|
|
1479
|
-
opacity:
|
|
1480
|
-
? 'var(--backdrop-opacity)'
|
|
1481
|
-
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1396
|
+
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1482
1397
|
},
|
|
1483
1398
|
]);
|
|
1484
1399
|
if (contentAnimation) {
|
|
@@ -1496,12 +1411,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1496
1411
|
}
|
|
1497
1412
|
animation.progressStep(0);
|
|
1498
1413
|
}
|
|
1499
|
-
/**
|
|
1500
|
-
* Apply the appropriate easing curve for this snap behavior.
|
|
1501
|
-
*/
|
|
1502
|
-
if (usePhysicsBasedGesture) {
|
|
1503
|
-
animation.easing(easing);
|
|
1504
|
-
}
|
|
1505
1414
|
/**
|
|
1506
1415
|
* Gesture should remain disabled until the
|
|
1507
1416
|
* snapping animation completes.
|
|
@@ -1514,14 +1423,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1514
1423
|
onDismiss();
|
|
1515
1424
|
}
|
|
1516
1425
|
/**
|
|
1517
|
-
*
|
|
1518
|
-
* or if it allows scrolling at any breakpoint. Without this, there would
|
|
1426
|
+
* Restores the content's scroll setting immediately if the sheet is about to
|
|
1427
|
+
* fully expand or if it allows scrolling at any breakpoint. Without this, there would
|
|
1519
1428
|
* be a ~500ms delay while the modal animation completes, causing a
|
|
1520
1429
|
* noticeable lag. Native iOS allows scrolling as soon as the gesture is
|
|
1521
1430
|
* released, so we align with that behavior.
|
|
1522
1431
|
*/
|
|
1523
1432
|
if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
|
|
1524
|
-
contentEl.scrollY =
|
|
1433
|
+
contentEl.scrollY = initialContentScrollY;
|
|
1525
1434
|
}
|
|
1526
1435
|
/**
|
|
1527
1436
|
* If expandToScroll is disabled and we're animating
|
|
@@ -1591,7 +1500,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1591
1500
|
* be added every time onEnd runs.
|
|
1592
1501
|
*/
|
|
1593
1502
|
}, { oneTimeCallback: true })
|
|
1594
|
-
.progressEnd(1, 0, animated ?
|
|
1503
|
+
.progressEnd(1, 0, animated ? 500 : 0);
|
|
1595
1504
|
});
|
|
1596
1505
|
};
|
|
1597
1506
|
/**
|
|
@@ -1602,7 +1511,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1602
1511
|
* @param deltaY The change in Y position since the gesture started.
|
|
1603
1512
|
* @returns The snap breakpoint value.
|
|
1604
1513
|
*/
|
|
1605
|
-
const
|
|
1514
|
+
const calculateSnapBreakpoint = (deltaY) => {
|
|
1606
1515
|
/**
|
|
1607
1516
|
* Calculates the real-time vertical position of the modal.
|
|
1608
1517
|
* We combine the wrapper's current bounding box position with the
|
|
@@ -1622,50 +1531,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1622
1531
|
});
|
|
1623
1532
|
return snapBreakpoint;
|
|
1624
1533
|
};
|
|
1625
|
-
/**
|
|
1626
|
-
* Calculates the snap breakpoint using velocity-based logic.
|
|
1627
|
-
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
1628
|
-
*
|
|
1629
|
-
* Rules:
|
|
1630
|
-
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
1631
|
-
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
1632
|
-
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
1633
|
-
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
1634
|
-
*
|
|
1635
|
-
* @param deltaY The change in Y position since gesture started
|
|
1636
|
-
* @param velocityY The velocity in pixels per millisecond
|
|
1637
|
-
* @param currentY The current Y position of the gesture
|
|
1638
|
-
* @returns The snap breakpoint value
|
|
1639
|
-
*/
|
|
1640
|
-
const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
1641
|
-
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
1642
|
-
const velocityYPerSecond = velocityY * 1000;
|
|
1643
|
-
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
1644
|
-
const currentProgress = calculateProgress(currentY);
|
|
1645
|
-
// Rule 1: Fast downward flick always dismisses
|
|
1646
|
-
if (velocityYPerSecond > 500) {
|
|
1647
|
-
return minBreakpoint;
|
|
1648
|
-
}
|
|
1649
|
-
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
1650
|
-
if (velocityYPerSecond < -400) {
|
|
1651
|
-
// Find next breakpoint above current position
|
|
1652
|
-
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
1653
|
-
// If no breakpoint above, stay at max breakpoint
|
|
1654
|
-
return nextBreakpoint !== null && nextBreakpoint !== void 0 ? nextBreakpoint : maxBreakpoint;
|
|
1655
|
-
}
|
|
1656
|
-
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
1657
|
-
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
1658
|
-
// Calculate how far we've moved below the current snap point
|
|
1659
|
-
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
1660
|
-
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
1661
|
-
// If dragged more than 40% below and not flicking up, dismiss
|
|
1662
|
-
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
1663
|
-
return 0;
|
|
1664
|
-
}
|
|
1665
|
-
}
|
|
1666
|
-
// Rule 4: Fallback to position-based snap (existing logic)
|
|
1667
|
-
return calculatePositionSnapBreakpoint(deltaY);
|
|
1668
|
-
};
|
|
1669
1534
|
/**
|
|
1670
1535
|
* Calculates the progress of the swipe gesture.
|
|
1671
1536
|
*
|
|
@@ -1747,9 +1612,20 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1747
1612
|
onMove,
|
|
1748
1613
|
onEnd,
|
|
1749
1614
|
});
|
|
1615
|
+
/**
|
|
1616
|
+
* Puts the content back the way the app declared it. A sheet can dismiss
|
|
1617
|
+
* without going through moveSheetToBreakpoint, and an inline modal reuses
|
|
1618
|
+
* the same element on the next present.
|
|
1619
|
+
*/
|
|
1620
|
+
const resetContentScroll = () => {
|
|
1621
|
+
if (contentEl) {
|
|
1622
|
+
contentEl.scrollY = initialContentScrollY;
|
|
1623
|
+
}
|
|
1624
|
+
};
|
|
1750
1625
|
return {
|
|
1751
1626
|
gesture,
|
|
1752
1627
|
moveSheetToBreakpoint,
|
|
1628
|
+
resetContentScroll,
|
|
1753
1629
|
};
|
|
1754
1630
|
};
|
|
1755
1631
|
|
|
@@ -1939,11 +1815,9 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1939
1815
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1940
1816
|
};
|
|
1941
1817
|
|
|
1942
|
-
const
|
|
1818
|
+
const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
|
|
1943
1819
|
|
|
1944
|
-
const
|
|
1945
|
-
|
|
1946
|
-
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-width:0;--border-style:none;--border-color:transparent;--box-shadow:none;right:0;left:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}.modal-handle{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;cursor:pointer;z-index:11}.modal-handle::before{position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--background:var(--ion-background-color, #fff);--border-radius:0;--backdrop-opacity:0;color:var(--ion-text-color, #000)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{right:0px;left:0px;top:5px;border-radius:8px;width:36px;height:5px;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be))}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;width:36px;height:5px}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
|
|
1820
|
+
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
|
|
1947
1821
|
|
|
1948
1822
|
const Modal = class {
|
|
1949
1823
|
constructor(hostRef) {
|
|
@@ -2383,12 +2257,11 @@ const Modal = class {
|
|
|
2383
2257
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2384
2258
|
setCardStatusBarDark();
|
|
2385
2259
|
}
|
|
2386
|
-
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation,
|
|
2260
|
+
await present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, {
|
|
2387
2261
|
presentingEl: presentingElement,
|
|
2388
2262
|
currentBreakpoint: this.initialBreakpoint,
|
|
2389
2263
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2390
2264
|
expandToScroll: this.expandToScroll,
|
|
2391
|
-
staticBackdropOpacity: getIonTheme(this) === 'ionic',
|
|
2392
2265
|
});
|
|
2393
2266
|
// Update safe-area based on actual position after animation
|
|
2394
2267
|
this.updateSafeAreaOverrides();
|
|
@@ -2471,17 +2344,17 @@ const Modal = class {
|
|
|
2471
2344
|
currentBreakpoint: initialBreakpoint,
|
|
2472
2345
|
backdropBreakpoint,
|
|
2473
2346
|
expandToScroll: this.expandToScroll,
|
|
2474
|
-
staticBackdropOpacity: getIonTheme(this) === 'ionic',
|
|
2475
2347
|
}));
|
|
2476
2348
|
ani.progressStart(true, 1);
|
|
2477
|
-
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
2349
|
+
const { gesture, moveSheetToBreakpoint, resetContentScroll } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
2478
2350
|
if (this.currentBreakpoint !== breakpoint) {
|
|
2479
2351
|
this.currentBreakpoint = breakpoint;
|
|
2480
2352
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2481
2353
|
}
|
|
2482
|
-
},
|
|
2354
|
+
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2483
2355
|
this.gesture = gesture;
|
|
2484
2356
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2357
|
+
this.resetSheetContentScroll = resetContentScroll;
|
|
2485
2358
|
this.gesture.enable(true);
|
|
2486
2359
|
/**
|
|
2487
2360
|
* When backdrop interaction is allowed, nested router outlets from child routes
|
|
@@ -2613,7 +2486,7 @@ const Modal = class {
|
|
|
2613
2486
|
* For example, `cancel` or `backdrop`.
|
|
2614
2487
|
*/
|
|
2615
2488
|
async dismiss(data, role) {
|
|
2616
|
-
var _a;
|
|
2489
|
+
var _a, _b;
|
|
2617
2490
|
if (this.gestureAnimationDismissing && role !== GESTURE) {
|
|
2618
2491
|
return false;
|
|
2619
2492
|
}
|
|
@@ -2672,6 +2545,13 @@ const Modal = class {
|
|
|
2672
2545
|
if (this.gesture) {
|
|
2673
2546
|
this.gesture.destroy();
|
|
2674
2547
|
}
|
|
2548
|
+
/**
|
|
2549
|
+
* The sheet gesture turns content scrolling off while the sheet sits below
|
|
2550
|
+
* the top breakpoint. Inline modals reuse the same content on the next
|
|
2551
|
+
* present, so hand it back before the gesture goes away.
|
|
2552
|
+
*/
|
|
2553
|
+
(_b = this.resetSheetContentScroll) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
2554
|
+
this.resetSheetContentScroll = undefined;
|
|
2675
2555
|
this.cleanupViewTransitionListener();
|
|
2676
2556
|
this.cleanupParentRemovalObserver();
|
|
2677
2557
|
this.cleanupSafeAreaOverrides();
|
|
@@ -2751,18 +2631,6 @@ const Modal = class {
|
|
|
2751
2631
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2752
2632
|
return true;
|
|
2753
2633
|
}
|
|
2754
|
-
getShape() {
|
|
2755
|
-
const theme = getIonTheme(this);
|
|
2756
|
-
const { shape } = this;
|
|
2757
|
-
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2758
|
-
if (theme !== 'ionic') {
|
|
2759
|
-
return undefined;
|
|
2760
|
-
}
|
|
2761
|
-
if (shape === undefined) {
|
|
2762
|
-
return 'round';
|
|
2763
|
-
}
|
|
2764
|
-
return shape;
|
|
2765
|
-
}
|
|
2766
2634
|
initViewTransitionListener() {
|
|
2767
2635
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2768
2636
|
if (getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -3096,16 +2964,15 @@ const Modal = class {
|
|
|
3096
2964
|
render() {
|
|
3097
2965
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
3098
2966
|
const showHandle = handle !== false && isSheetModal;
|
|
3099
|
-
const
|
|
3100
|
-
const isCardModal = presentingElement !== undefined &&
|
|
2967
|
+
const mode = getIonMode(this);
|
|
2968
|
+
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
3101
2969
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3102
|
-
const shape = this.getShape();
|
|
3103
2970
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
3104
|
-
return (h(Host, Object.assign({ key: '
|
|
2971
|
+
return (h(Host, Object.assign({ key: '09f09a10d858e976bc2a989f30db925348a7784c', "no-router": true,
|
|
3105
2972
|
// Allow the modal to be navigable when the handle is focusable
|
|
3106
2973
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
3107
2974
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
3108
|
-
}, class: Object.assign({ [
|
|
2975
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: 'b197319bdddf0b979ccacdb63dbceccfd9bf2560', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'c848ff6a10e9092cdb10a6f21c9a299a72b17ca9', class: "modal-shadow" }), h("div", Object.assign({ key: 'e7c8e67807d49098aba63dce69a1bbf9647bbab6',
|
|
3109
2976
|
/*
|
|
3110
2977
|
role and aria-modal must be used on the
|
|
3111
2978
|
same element. They must also be set inside the
|
|
@@ -3118,9 +2985,9 @@ const Modal = class {
|
|
|
3118
2985
|
without the tabindex focus() would be a no-op and screen readers
|
|
3119
2986
|
may not properly announce the dialog and its content when it opens.
|
|
3120
2987
|
*/
|
|
3121
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
2988
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '0851cc75ee7367e13d1993a9c4d8b1b4de1d3bf0', class: "modal-handle",
|
|
3122
2989
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
3123
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle",
|
|
2990
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'b4d9bc13dc0867e858db8e1c7277bd09b7fce44c', onSlotchange: this.onSlotChange }))));
|
|
3124
2991
|
}
|
|
3125
2992
|
get el() { return getElement(this); }
|
|
3126
2993
|
static get watchers() { return {
|
|
@@ -3142,7 +3009,6 @@ const LIFECYCLE_MAP = {
|
|
|
3142
3009
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
3143
3010
|
};
|
|
3144
3011
|
Modal.style = {
|
|
3145
|
-
ionic: modalIonicCss(),
|
|
3146
3012
|
ios: modalIosCss(),
|
|
3147
3013
|
md: modalMdCss()
|
|
3148
3014
|
};
|