@ionic/core 9.0.6-dev.11790615145.1d8c56a2 → 9.0.6-dev.11790776272.1d27d1bd
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-divider.d.ts +11 -0
- package/components/ion-divider.js +4 -0
- 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-gallery-item.d.ts +11 -0
- package/components/ion-gallery-item.js +4 -0
- package/components/ion-gallery.d.ts +11 -0
- package/components/ion-gallery.js +4 -0
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-0rXxxCTt.js +4 -0
- package/components/p-37X-8Gly.js +4 -0
- package/components/p-62jMqk_2.js +4 -0
- package/components/p-6bixixDn.js +4 -0
- package/components/p-8_oeT3pA.js +4 -0
- package/components/p-8n1_MTzx.js +4 -0
- package/components/{p-DWGgvN5e.js → p-A6ucUP3n.js} +1 -1
- package/components/{p-Bu6O-veK.js → p-B2N-uaer.js} +1 -1
- package/components/p-B6hzlC5j.js +4 -0
- package/components/p-B93Ra6bA.js +4 -0
- package/components/p-BNmpijWM.js +4 -0
- package/components/p-BUF_V-Kg.js +4 -0
- package/components/p-BYk20Mf5.js +4 -0
- package/components/{p-yjLe0sN2.js → p-Bdobqe7h.js} +1 -1
- package/components/p-BfDzKnZ-.js +4 -0
- package/components/p-BhahBl_4.js +4 -0
- package/components/p-BiYiyBQx.js +4 -0
- package/components/p-BrOe3-hG.js +4 -0
- package/components/{p-fFx6WCTj.js → p-BxmCDJGo.js} +1 -1
- package/components/p-BzTxsQy7.js +4 -0
- package/components/p-C1_1oiK1.js +4 -0
- package/components/{p-CVVUo4J1.js → p-CDgG2plB.js} +1 -1
- package/components/p-CG2KwvX8.js +4 -0
- package/components/p-CJgEqVkU.js +4 -0
- package/components/p-CODBQrPj.js +4 -0
- package/components/p-CO_NfcFI.js +4 -0
- package/components/p-COpUROd5.js +4 -0
- package/components/p-CU58nYdK.js +4 -0
- package/components/p-CfVt2cSa.js +4 -0
- package/components/p-CqJjxXhD.js +4 -0
- package/components/{p-Ctw69DyZ.js → p-CscIqeFa.js} +1 -1
- package/components/p-Cw238cJK.js +4 -0
- package/components/p-CzIKYlnt.js +4 -0
- package/components/p-D4qU_GAV.js +4 -0
- package/components/p-D5DnKj9A.js +4 -0
- package/components/{p-Dlr7b3_2.js → p-D5ld1tBr.js} +1 -1
- package/components/{p-C9ioHZq-.js → p-DGbHpbI3.js} +1 -1
- package/components/p-DI6CUKfX.js +4 -0
- package/components/p-DJHoSlfB.js +4 -0
- package/components/p-DKq6UKi0.js +4 -0
- package/components/{p-BKeulLTJ.js → p-DSXoSdmA.js} +1 -1
- package/components/p-D__93Idk.js +4 -0
- package/components/p-DdxgOJke.js +4 -0
- package/components/p-DfcwW1aR.js +4 -0
- package/components/p-DgFAwQsK.js +4 -0
- package/components/{p-T2dnrBya.js → p-Dgl8Vd2X.js} +1 -1
- package/components/{p-C_NQIzjP.js → p-Dk28-cNx.js} +1 -1
- package/components/p-DkiPZ_fu.js +4 -0
- package/components/p-ESP4CxsW.js +4 -0
- package/components/p-FyJJr6na.js +4 -0
- package/components/p-NcQUGze-.js +4 -0
- package/components/p-S3RGszMg.js +4 -0
- package/components/p-XNCy3pzc.js +4 -0
- package/components/p-YaCudw3M.js +4 -0
- package/components/p-YzlvZhlS.js +4 -0
- package/components/p-Z0yxDpWf.js +4 -0
- package/components/p-ZJCq7HeA.js +4 -0
- package/components/p-jQFnlcKd.js +4 -0
- package/components/p-yscb8Luf.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/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- 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-BFKyYY11.js → animation-DGhvrwaP.js} +3 -3
- package/dist/cjs/{app-globals-BLTzqkrC.js → app-globals--knHahIC.js} +1 -1
- package/dist/cjs/{attribute-controller-CXIeB0Mn.js → attribute-controller-DqubM70Y.js} +3 -2
- package/dist/cjs/{button-active-CEQaiV9N.js → button-active-DJu01UHp.js} +2 -2
- package/dist/cjs/{capacitor-BMzmHhwe.js → capacitor-DmA66EwP.js} +3 -3
- package/dist/cjs/clear-button-press-controller-C6PTS3jC.js +45 -0
- package/dist/cjs/focus-visible-DGPRKkcx.js +151 -0
- package/dist/cjs/{format-CdRlDqPs.js → format-UTEj7kb_.js} +1 -1
- package/dist/cjs/{framework-delegate-DTLbqaaO.js → framework-delegate-Dc-OOm7D.js} +4 -2
- package/dist/cjs/{haptic-CJVUv_GB.js → haptic-Ch-X4gRx.js} +1 -1
- package/dist/cjs/{helpers-Crluoxqu.js → helpers-CLJM7hT0.js} +88 -10
- package/dist/cjs/{index-CElfU-dK.js → index-BzL2o7TC.js} +16 -14
- package/dist/cjs/{index-wOmugbdg.js → index-CxDnX7hd.js} +2 -0
- package/dist/cjs/{index-CgXTRA_-.js → index-DHE2MAbY.js} +4 -4
- package/dist/cjs/{index-BAM4223M.js → index-DKcBQZY9.js} +2 -2
- package/dist/cjs/{index-BKpybYNI.js → index-DaYKwu0A.js} +9 -7
- package/dist/cjs/index-DkNv4J_i.js +10 -0
- package/dist/cjs/{index-BSD7toMO.js → index-Dy4VfNzX.js} +1 -1
- package/dist/cjs/{index-SAR1xwtW.js → index-sCX9078m.js} +53 -4
- package/dist/cjs/index.cjs.js +20 -18
- package/dist/cjs/{input-shims-CHghGZe-.js → input-shims-BMQzAjOD.js} +18 -16
- package/dist/cjs/{input.utils-BBZr0wjw.js → input.utils-BrmvFLnI.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +57 -29
- package/dist/cjs/ion-action-sheet.cjs.entry.js +42 -37
- package/dist/cjs/ion-alert.cjs.entry.js +50 -45
- package/dist/cjs/ion-app_8.cjs.entry.js +457 -195
- package/dist/cjs/ion-avatar_3.cjs.entry.js +124 -13
- package/dist/cjs/ion-back-button.cjs.entry.js +31 -23
- package/dist/cjs/ion-backdrop.cjs.entry.js +11 -7
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +42 -18
- package/dist/cjs/ion-button_2.cjs.entry.js +61 -23
- package/dist/cjs/ion-card_5.cjs.entry.js +57 -34
- package/dist/cjs/ion-checkbox.cjs.entry.js +43 -17
- package/dist/cjs/ion-chip.cjs.entry.js +51 -9
- package/dist/cjs/ion-col_3.cjs.entry.js +57 -62
- package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -9
- package/dist/cjs/ion-datetime.cjs.entry.js +75 -33
- package/dist/cjs/ion-divider.cjs.entry.js +52 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +40 -28
- package/dist/cjs/ion-gallery-item.cjs.entry.js +59 -0
- package/dist/cjs/ion-gallery.cjs.entry.js +608 -0
- package/dist/cjs/ion-img.cjs.entry.js +9 -4
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
- package/dist/cjs/ion-input-otp.cjs.entry.js +74 -9
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +42 -14
- package/dist/cjs/ion-input.cjs.entry.js +143 -38
- package/dist/cjs/ion-item-option_3.cjs.entry.js +466 -52
- package/dist/cjs/ion-item_8.cjs.entry.js +118 -51
- package/dist/cjs/ion-loading.cjs.entry.js +33 -28
- package/dist/cjs/ion-menu_3.cjs.entry.js +53 -35
- package/dist/cjs/ion-modal.cjs.entry.js +285 -157
- package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +13 -8
- package/dist/cjs/ion-picker-column.cjs.entry.js +17 -15
- package/dist/cjs/ion-picker.cjs.entry.js +11 -6
- package/dist/cjs/ion-popover.cjs.entry.js +33 -28
- package/dist/cjs/ion-progress-bar.cjs.entry.js +28 -9
- package/dist/cjs/ion-radio_2.cjs.entry.js +37 -18
- package/dist/cjs/ion-range.cjs.entry.js +21 -13
- package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -20
- package/dist/cjs/ion-reorder_2.cjs.entry.js +31 -13
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +16 -7
- package/dist/cjs/ion-route_4.cjs.entry.js +12 -10
- package/dist/cjs/ion-searchbar.cjs.entry.js +118 -32
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +13 -3
- package/dist/cjs/ion-segment_2.cjs.entry.js +24 -16
- package/dist/cjs/ion-select-modal.cjs.entry.js +54 -25
- package/dist/cjs/ion-select_3.cjs.entry.js +199 -81
- package/dist/cjs/ion-spinner.cjs.entry.js +31 -8
- package/dist/cjs/ion-split-pane.cjs.entry.js +14 -9
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +150 -27
- package/dist/cjs/ion-tab_2.cjs.entry.js +9 -7
- package/dist/cjs/ion-text.cjs.entry.js +8 -7
- package/dist/cjs/ion-textarea.cjs.entry.js +242 -33
- package/dist/cjs/ion-toast.cjs.entry.js +86 -57
- package/dist/cjs/ion-toggle.cjs.entry.js +67 -25
- package/dist/cjs/ionic-global-BKBeko9D.js +518 -0
- package/dist/cjs/ionic.cjs.js +5 -4
- package/dist/cjs/{ios.transition-YFSxiyP_.js → ios.transition-EQ8LtRHj.js} +7 -4
- package/dist/cjs/{item-multiple-inputs-h2PyAFzG.js → item-multiple-inputs-Wc71a2xi.js} +1 -1
- package/dist/cjs/{keyboard-Cv-LNReK.js → keyboard-Cix5TVkD.js} +3 -5
- package/dist/cjs/{keyboard-C-C7xMKk.js → keyboard-cHxZlTyz.js} +1 -1
- package/dist/cjs/loader.cjs.js +5 -4
- package/dist/cjs/{md.transition-Cm8yg0UK.js → md.transition-By9Fre6y.js} +6 -4
- package/dist/cjs/{overlay-control-label-D2sdL2O8.js → overlay-control-label-DnRLQR1t.js} +13 -11
- package/dist/cjs/{overlays-C68wNDWY.js → overlays-Ch6nAoha.js} +309 -138
- package/dist/cjs/scroll-hide-controller-BwW-NV0Z.js +345 -0
- package/dist/cjs/{select-option-render-C-Yh9yZG.js → select-option-render-BmpnIokj.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-zixZ5LyH.js → slot-mutation-controller-C7nTDVzj.js} +5 -4
- package/dist/cjs/{status-tap-C3frTJ4c.js → status-tap-Dw87jmOD.js} +5 -3
- package/dist/cjs/{swipe-back-BigumsQ1.js → swipe-back-BXYzN9QG.js} +4 -2
- package/dist/cjs/{theme-Bw0rpaNN.js → theme-Cy4joHPt.js} +25 -1
- package/dist/cjs/validity-CoPMWggj.js +51 -0
- package/dist/collection/collection-manifest.json +8 -0
- package/dist/collection/components/accordion/accordion.ionic.css +199 -0
- package/dist/collection/components/accordion/accordion.ios.css +73 -58
- package/dist/collection/components/accordion/accordion.js +36 -27
- package/dist/collection/components/accordion/accordion.md.css +67 -59
- package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
- package/dist/collection/components/accordion-group/accordion-group.js +44 -8
- package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
- package/dist/collection/components/action-sheet/action-sheet.ionic.css +490 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +184 -54
- package/dist/collection/components/action-sheet/action-sheet.js +16 -13
- package/dist/collection/components/action-sheet/action-sheet.md.css +179 -55
- package/dist/collection/components/alert/alert.ionic.css +779 -0
- package/dist/collection/components/alert/alert.ios.css +247 -54
- package/dist/collection/components/alert/alert.js +22 -19
- package/dist/collection/components/alert/alert.md.css +243 -56
- package/dist/collection/components/app/app.js +15 -83
- package/dist/collection/components/avatar/avatar.ionic.css +379 -0
- package/dist/collection/components/avatar/avatar.ios.css +7 -33
- package/dist/collection/components/avatar/avatar.js +120 -4
- package/dist/collection/components/avatar/avatar.md.css +51 -0
- package/dist/collection/components/back-button/back-button.ios.css +60 -48
- package/dist/collection/components/back-button/back-button.js +26 -20
- package/dist/collection/components/back-button/back-button.md.css +60 -48
- package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
- package/dist/collection/components/backdrop/backdrop.js +12 -6
- package/dist/collection/components/backdrop/backdrop.md.css +56 -19
- package/dist/collection/components/badge/badge.ionic.css +269 -0
- package/dist/collection/components/badge/badge.ios.css +137 -12
- package/dist/collection/components/badge/badge.js +143 -9
- package/dist/collection/components/badge/badge.md.css +122 -12
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js +31 -11
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
- package/dist/collection/components/button/button.ionic.css +640 -0
- package/dist/collection/components/button/button.ios.css +154 -46
- package/dist/collection/components/button/button.js +63 -27
- package/dist/collection/components/button/button.md.css +150 -50
- package/dist/collection/components/buttons/buttons.ionic.css +97 -0
- package/dist/collection/components/buttons/buttons.ios.css +59 -7
- package/dist/collection/components/buttons/buttons.js +15 -9
- package/dist/collection/components/buttons/buttons.md.css +55 -3
- package/dist/collection/components/card/card.ionic.css +144 -0
- package/dist/collection/components/card/card.ios.css +65 -14
- package/dist/collection/components/card/card.js +41 -10
- package/dist/collection/components/card/card.md.css +65 -14
- package/dist/collection/components/card-content/card-content.ionic.css +88 -0
- package/dist/collection/components/card-content/card-content.ios.css +20 -35
- package/dist/collection/components/card-content/card-content.js +12 -10
- package/dist/collection/components/card-content/card-content.md.css +20 -35
- package/dist/collection/components/card-header/card-header.ionic.css +85 -0
- package/dist/collection/components/card-header/card-header.ios.css +27 -15
- package/dist/collection/components/card-header/card-header.js +13 -10
- package/dist/collection/components/card-header/card-header.md.css +27 -15
- package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +143 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
- package/dist/collection/components/card-title/card-title.ios.css +73 -0
- package/dist/collection/components/card-title/card-title.js +11 -8
- package/dist/collection/components/card-title/card-title.md.css +73 -0
- package/dist/collection/components/checkbox/checkbox.ionic.css +535 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +244 -115
- package/dist/collection/components/checkbox/checkbox.js +80 -15
- package/dist/collection/components/checkbox/checkbox.md.css +245 -116
- package/dist/collection/components/chip/chip.ionic.css +216 -0
- package/dist/collection/components/chip/chip.ios.css +67 -14
- package/dist/collection/components/chip/chip.js +108 -8
- package/dist/collection/components/chip/chip.md.css +67 -14
- package/dist/collection/components/col/col.css +192 -4
- package/dist/collection/components/col/col.js +211 -66
- package/dist/collection/components/content/content.css +47 -2
- package/dist/collection/components/content/content.js +16 -11
- package/dist/collection/components/datetime/datetime.ionic.css +697 -0
- package/dist/collection/components/datetime/datetime.ios.css +305 -114
- package/dist/collection/components/datetime/datetime.js +61 -20
- package/dist/collection/components/datetime/datetime.md.css +295 -103
- package/dist/collection/components/datetime/utils/data.js +5 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
- package/dist/collection/components/datetime-button/datetime-button.js +11 -8
- package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
- package/dist/collection/components/divider/divider.ionic.css +148 -0
- package/dist/collection/components/divider/divider.ios.css +87 -0
- package/dist/collection/components/divider/divider.js +94 -0
- package/dist/collection/components/divider/divider.md.css +87 -0
- package/dist/collection/components/fab/fab.css +25 -1
- package/dist/collection/components/fab/fab.js +9 -5
- package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
- package/dist/collection/components/fab-button/fab-button.js +31 -21
- package/dist/collection/components/fab-button/fab-button.md.css +20 -8
- package/dist/collection/components/fab-list/fab-list.css +12 -0
- package/dist/collection/components/fab-list/fab-list.js +9 -5
- package/dist/collection/components/footer/footer-interface.js +1 -0
- package/dist/collection/components/footer/footer.ios.css +33 -6
- package/dist/collection/components/footer/footer.js +117 -25
- package/dist/collection/components/footer/footer.md.css +40 -0
- package/dist/collection/components/gallery/gallery-constants.js +12 -0
- package/dist/collection/components/gallery/gallery-interface.js +1 -0
- package/dist/collection/components/gallery/gallery.css +15 -0
- package/dist/collection/components/gallery/gallery.js +678 -0
- package/dist/collection/components/gallery/test/utils.js +100 -0
- package/dist/collection/components/gallery-item/gallery-item.css +49 -0
- package/dist/collection/components/gallery-item/gallery-item.js +98 -0
- package/dist/collection/components/grid/grid.css +12 -0
- package/dist/collection/components/grid/grid.js +9 -5
- package/dist/collection/components/header/header-interface.js +1 -0
- package/dist/collection/components/header/header.ionic.css +286 -0
- package/dist/collection/components/header/header.ios.css +178 -133
- package/dist/collection/components/header/header.js +180 -39
- package/dist/collection/components/header/header.md.css +199 -9
- package/dist/collection/components/header/header.utils.js +5 -13
- package/dist/collection/components/img/img.js +7 -2
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +99 -5
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
- package/dist/collection/components/input/input.ionic.css +957 -0
- package/dist/collection/components/input/input.ios.css +254 -160
- package/dist/collection/components/input/input.js +168 -44
- package/dist/collection/components/input/input.md.css +224 -232
- package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
- package/dist/collection/components/input-otp/input-otp.ios.css +105 -60
- package/dist/collection/components/input-otp/input-otp.js +73 -7
- package/dist/collection/components/input-otp/input-otp.md.css +105 -60
- package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +37 -10
- package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
- package/dist/collection/components/item/item.ionic.css +495 -0
- package/dist/collection/components/item/item.ios.css +120 -80
- package/dist/collection/components/item/item.js +51 -21
- package/dist/collection/components/item/item.md.css +131 -79
- package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
- package/dist/collection/components/item-divider/item-divider.js +11 -8
- package/dist/collection/components/item-divider/item-divider.md.css +18 -0
- package/dist/collection/components/item-group/item-group.ios.css +12 -0
- package/dist/collection/components/item-group/item-group.js +13 -7
- package/dist/collection/components/item-group/item-group.md.css +12 -0
- package/dist/collection/components/item-option/item-option.ionic.css +276 -0
- package/dist/collection/components/item-option/item-option.ios.css +136 -29
- package/dist/collection/components/item-option/item-option.js +73 -9
- package/dist/collection/components/item-option/item-option.md.css +136 -29
- package/dist/collection/components/item-options/item-options.ionic.css +221 -0
- package/dist/collection/components/item-options/item-options.ios.css +77 -34
- package/dist/collection/components/item-options/item-options.js +13 -7
- package/dist/collection/components/item-options/item-options.md.css +77 -34
- package/dist/collection/components/item-sliding/item-sliding.ionic.css +211 -0
- package/dist/collection/components/item-sliding/item-sliding.js +419 -35
- package/dist/collection/components/item-sliding/{item-sliding.css → item-sliding.native.css} +84 -9
- package/dist/collection/components/item-sliding/test/test.utils.js +13 -0
- package/dist/collection/components/label/label.ios.css +18 -0
- package/dist/collection/components/label/label.js +11 -8
- package/dist/collection/components/label/label.md.css +18 -0
- package/dist/collection/components/list/list.ionic.css +212 -0
- package/dist/collection/components/list/list.ios.css +54 -14
- package/dist/collection/components/list/list.js +48 -9
- package/dist/collection/components/list/list.md.css +56 -16
- package/dist/collection/components/list-header/list-header.ionic.css +189 -0
- package/dist/collection/components/list-header/list-header.ios.css +82 -38
- package/dist/collection/components/list-header/list-header.js +11 -8
- package/dist/collection/components/list-header/list-header.md.css +82 -38
- package/dist/collection/components/loading/loading.ios.css +13 -1
- package/dist/collection/components/loading/loading.js +15 -12
- package/dist/collection/components/loading/loading.md.css +13 -1
- package/dist/collection/components/menu/menu.ios.css +15 -3
- package/dist/collection/components/menu/menu.js +12 -7
- package/dist/collection/components/menu/menu.md.css +15 -3
- package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
- package/dist/collection/components/menu-button/menu-button.js +23 -10
- package/dist/collection/components/menu-button/menu-button.md.css +49 -15
- package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
- package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
- package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
- package/dist/collection/components/modal/animations/sheet.js +8 -2
- package/dist/collection/components/modal/gestures/sheet.js +76 -10
- package/dist/collection/components/modal/modal.ionic.css +266 -0
- package/dist/collection/components/modal/modal.ios.css +178 -70
- package/dist/collection/components/modal/modal.js +52 -13
- package/dist/collection/components/modal/modal.md.css +178 -70
- package/dist/collection/components/nav/nav.css +7 -1
- package/dist/collection/components/nav/nav.js +10 -4
- package/dist/collection/components/nav-link/nav-link.js +5 -1
- package/dist/collection/components/note/note.ios.css +12 -0
- package/dist/collection/components/note/note.js +11 -8
- package/dist/collection/components/note/note.md.css +12 -0
- package/dist/collection/components/picker/picker.ios.css +15 -3
- package/dist/collection/components/picker/picker.js +8 -5
- package/dist/collection/components/picker/picker.md.css +15 -3
- package/dist/collection/components/picker-column/picker-column.css +9 -2
- package/dist/collection/components/picker-column/picker-column.js +8 -7
- package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
- package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
- package/dist/collection/components/popover/popover.ionic.css +289 -0
- package/dist/collection/components/popover/popover.ios.css +13 -1
- package/dist/collection/components/popover/popover.js +19 -16
- package/dist/collection/components/popover/popover.md.css +13 -1
- package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
- package/dist/collection/components/progress-bar/progress-bar.js +43 -7
- package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
- package/dist/collection/components/radio/radio.ionic.css +421 -0
- package/dist/collection/components/radio/radio.ios.css +207 -102
- package/dist/collection/components/radio/radio.js +14 -9
- package/dist/collection/components/radio/radio.md.css +207 -102
- package/dist/collection/components/radio-group/radio-group.ionic.css +118 -0
- package/dist/collection/components/radio-group/radio-group.ios.css +43 -19
- package/dist/collection/components/radio-group/radio-group.js +48 -7
- package/dist/collection/components/radio-group/radio-group.md.css +43 -19
- package/dist/collection/components/range/range.ionic.css +566 -0
- package/dist/collection/components/range/range.ios.css +128 -85
- package/dist/collection/components/range/range.js +16 -10
- package/dist/collection/components/range/range.md.css +128 -85
- package/dist/collection/components/refresher/refresher.ios.css +14 -1
- package/dist/collection/components/refresher/refresher.js +11 -8
- package/dist/collection/components/refresher/refresher.md.css +15 -2
- package/dist/collection/components/refresher-content/refresher-content.js +34 -7
- package/dist/collection/components/reorder/reorder.ios.css +6 -0
- package/dist/collection/components/reorder/reorder.js +25 -6
- package/dist/collection/components/reorder/reorder.md.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.css +6 -0
- package/dist/collection/components/reorder-group/reorder-group.js +8 -4
- package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
- package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
- package/dist/collection/components/route/route.js +4 -0
- package/dist/collection/components/router/router.js +4 -0
- package/dist/collection/components/router-link/router-link.css +8 -2
- package/dist/collection/components/router-link/router-link.js +9 -5
- package/dist/collection/components/router-outlet/router-outlet.css +7 -1
- package/dist/collection/components/router-outlet/router-outlet.js +6 -3
- package/dist/collection/components/row/row.css +16 -0
- package/dist/collection/components/row/row.js +9 -2
- package/dist/collection/components/searchbar/searchbar.ionic.css +621 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
- package/dist/collection/components/searchbar/searchbar.js +164 -42
- package/dist/collection/components/searchbar/searchbar.md.css +56 -18
- package/dist/collection/components/segment/segment.ionic.css +115 -0
- package/dist/collection/components/segment/segment.ios.css +45 -2
- package/dist/collection/components/segment/segment.js +11 -8
- package/dist/collection/components/segment/segment.md.css +45 -2
- package/dist/collection/components/segment-button/segment-button.ionic.css +351 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
- package/dist/collection/components/segment-button/segment-button.js +11 -8
- package/dist/collection/components/segment-button/segment-button.md.css +148 -107
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
- package/dist/collection/components/segment-view/segment-view.js +13 -4
- package/dist/collection/components/segment-view/segment-view.md.css +6 -0
- package/dist/collection/components/select/select.ionic.css +972 -0
- package/dist/collection/components/select/select.ios.css +300 -148
- package/dist/collection/components/select/select.js +228 -82
- package/dist/collection/components/select/select.md.css +316 -150
- package/dist/collection/components/select-modal/select-modal.ionic.css +254 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +293 -45
- package/dist/collection/components/select-modal/select-modal.js +63 -15
- package/dist/collection/components/select-modal/select-modal.md.css +273 -43
- package/dist/collection/components/select-option/select-option.js +8 -4
- package/dist/collection/components/select-popover/select-popover.ionic.css +253 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +188 -124
- package/dist/collection/components/select-popover/select-popover.js +17 -9
- package/dist/collection/components/select-popover/select-popover.md.css +228 -47
- package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
- package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +78 -10
- package/dist/collection/components/spinner/spinner.js +47 -6
- package/dist/collection/components/spinner/spinner.native.css +199 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
- package/dist/collection/components/split-pane/split-pane.js +15 -8
- package/dist/collection/components/split-pane/split-pane.md.css +20 -2
- package/dist/collection/components/tab/tab.js +6 -2
- package/dist/collection/components/tab-bar/tab-bar.ionic.css +249 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +86 -43
- package/dist/collection/components/tab-bar/tab-bar.js +178 -15
- package/dist/collection/components/tab-bar/tab-bar.md.css +86 -43
- package/dist/collection/components/tab-button/tab-button.ionic.css +372 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
- package/dist/collection/components/tab-button/tab-button.js +54 -9
- package/dist/collection/components/tab-button/tab-button.md.css +137 -93
- package/dist/collection/components/tabs/tabs.css +7 -1
- package/dist/collection/components/tabs/tabs.js +4 -1
- package/dist/collection/components/text/text.css +6 -0
- package/dist/collection/components/text/text.js +7 -6
- package/dist/collection/components/textarea/textarea.ionic.css +989 -0
- package/dist/collection/components/textarea/textarea.ios.css +318 -170
- package/dist/collection/components/textarea/textarea.js +270 -45
- package/dist/collection/components/textarea/textarea.md.css +332 -171
- package/dist/collection/components/thumbnail/thumbnail.css +6 -0
- package/dist/collection/components/thumbnail/thumbnail.js +9 -2
- package/dist/collection/components/title/title.ionic.css +125 -0
- package/dist/collection/components/title/title.ios.css +32 -4
- package/dist/collection/components/title/title.js +13 -7
- package/dist/collection/components/title/title.md.css +39 -4
- package/dist/collection/components/toast/animations/utils.js +1 -1
- package/dist/collection/components/toast/toast.ionic.css +391 -0
- package/dist/collection/components/toast/toast.ios.css +84 -45
- package/dist/collection/components/toast/toast.js +79 -13
- package/dist/collection/components/toast/toast.md.css +84 -45
- package/dist/collection/components/toggle/toggle.ionic.css +510 -0
- package/dist/collection/components/toggle/toggle.ios.css +247 -127
- package/dist/collection/components/toggle/toggle.js +58 -18
- package/dist/collection/components/toggle/toggle.md.css +245 -127
- package/dist/collection/components/toolbar/test/image.svg +1 -0
- package/dist/collection/components/toolbar/toolbar.ionic.css +249 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
- package/dist/collection/components/toolbar/toolbar.js +216 -14
- package/dist/collection/components/toolbar/toolbar.md.css +90 -47
- package/dist/collection/global/ionic-global.js +239 -13
- package/dist/collection/utils/css-value-validation.js +39 -0
- package/dist/collection/utils/focus-trap.js +15 -4
- package/dist/collection/utils/focus-visible.js +73 -2
- package/dist/collection/utils/forms/clear-button-press-controller.js +40 -0
- package/dist/collection/utils/forms/index.js +1 -0
- package/dist/collection/utils/forms/validity.js +31 -0
- package/dist/collection/utils/framework-delegate.js +3 -1
- package/dist/collection/utils/hardware-back-button.js +15 -0
- package/dist/collection/utils/helpers.js +84 -3
- package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
- package/dist/collection/utils/media.js +1 -0
- package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
- package/dist/collection/utils/menu-controller/animations/push.js +2 -1
- package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
- package/dist/collection/utils/overlay-control-label.js +13 -11
- package/dist/collection/utils/overlays.js +289 -10
- package/dist/collection/utils/scroll-hide-controller.js +178 -0
- package/dist/collection/utils/test/playwright/drag-element.js +32 -9
- package/dist/collection/utils/test/playwright/field-geometry.js +34 -0
- package/dist/collection/utils/test/playwright/generator.js +48 -23
- package/dist/collection/utils/test/playwright/index.js +1 -0
- package/dist/collection/utils/test/playwright/page/utils/goto.js +10 -1
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +26 -3
- package/dist/collection/utils/theme.js +25 -1
- package/dist/collection/utils/transition/ios.transition.js +1 -0
- package/dist/docs.json +8890 -300
- package/dist/esm/{animation-CFd8Olt3.js → animation-BYhTNLb0.js} +2 -2
- package/dist/esm/{app-globals-7GHLBkwd.js → app-globals-DwKMi0nT.js} +1 -1
- package/dist/esm/{attribute-controller-Cn665x42.js → attribute-controller-DSgMe9D8.js} +2 -1
- package/dist/esm/{button-active-DMuYeDQN.js → button-active-z7D6HahS.js} +2 -2
- package/dist/esm/{capacitor-CoEgIpR9.js → capacitor-CFERIeaU.js} +1 -1
- package/dist/esm/clear-button-press-controller-6ph4kKYn.js +43 -0
- package/dist/esm/focus-visible-BYk20Mf5.js +146 -0
- package/dist/esm/{format-C9zPmwKU.js → format-Bzx6ja8X.js} +1 -1
- package/dist/esm/{framework-delegate-DeT5pmPB.js → framework-delegate-1jBLyhBr.js} +4 -2
- package/dist/esm/{haptic-Dxm7ZmT5.js → haptic-Cq4UAeka.js} +1 -1
- package/dist/esm/{helpers-B54ynME_.js → helpers-DxiyEiQq.js} +86 -8
- package/dist/esm/{index-D_xZtbw6.js → index-3qJiaSN_.js} +4 -2
- package/dist/esm/{index-D4ZMZz_3.js → index-BOBjcNAK.js} +1 -1
- package/dist/esm/{index-BvabGprD.js → index-BkJpfpXI.js} +2 -1
- package/dist/esm/{index-B8iieOdw.js → index-BrTerDOH.js} +4 -4
- package/dist/esm/{index-D9OR05yj.js → index-CsxpVq9f.js} +53 -4
- package/dist/esm/{index--21qeSt0.js → index-D0-93AmS.js} +2 -2
- package/dist/esm/{index-B9jhwvmO.js → index-LPo3JBab.js} +12 -10
- package/dist/esm/index-ZjP4CjeZ.js +7 -0
- package/dist/esm/index.js +14 -12
- package/dist/esm/{input-shims-MCrhq67U.js → input-shims-HqimWtEw.js} +7 -5
- package/dist/esm/{input.utils-B-IIWrwT.js → input.utils-BQE7ESFW.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +57 -29
- package/dist/esm/ion-action-sheet.entry.js +27 -22
- package/dist/esm/ion-alert.entry.js +34 -29
- package/dist/esm/ion-app_8.entry.js +455 -193
- package/dist/esm/ion-avatar_3.entry.js +124 -13
- package/dist/esm/ion-back-button.entry.js +31 -23
- package/dist/esm/ion-backdrop.entry.js +11 -7
- package/dist/esm/ion-breadcrumb_2.entry.js +42 -18
- package/dist/esm/ion-button_2.entry.js +61 -23
- package/dist/esm/ion-card_5.entry.js +57 -34
- package/dist/esm/ion-checkbox.entry.js +43 -17
- package/dist/esm/ion-chip.entry.js +51 -9
- package/dist/esm/ion-col_3.entry.js +57 -62
- package/dist/esm/ion-datetime-button.entry.js +14 -9
- package/dist/esm/ion-datetime.entry.js +74 -32
- package/dist/esm/ion-divider.entry.js +50 -0
- package/dist/esm/ion-fab_3.entry.js +40 -28
- package/dist/esm/ion-gallery-item.entry.js +57 -0
- package/dist/esm/ion-gallery.entry.js +606 -0
- package/dist/esm/ion-img.entry.js +9 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
- package/dist/esm/ion-input-otp.entry.js +74 -9
- package/dist/esm/ion-input-password-toggle.entry.js +42 -14
- package/dist/esm/ion-input.entry.js +143 -38
- package/dist/esm/ion-item-option_3.entry.js +466 -52
- package/dist/esm/ion-item_8.entry.js +118 -51
- package/dist/esm/ion-loading.entry.js +22 -17
- package/dist/esm/ion-menu_3.entry.js +45 -27
- package/dist/esm/ion-modal.entry.js +218 -90
- package/dist/esm/ion-nav_2.entry.js +14 -10
- package/dist/esm/ion-picker-column-option.entry.js +13 -8
- package/dist/esm/ion-picker-column.entry.js +14 -12
- package/dist/esm/ion-picker.entry.js +11 -6
- package/dist/esm/ion-popover.entry.js +23 -18
- package/dist/esm/ion-progress-bar.entry.js +28 -9
- package/dist/esm/ion-radio_2.entry.js +37 -18
- package/dist/esm/ion-range.entry.js +21 -13
- package/dist/esm/ion-refresher_2.entry.js +45 -20
- package/dist/esm/ion-reorder_2.entry.js +31 -13
- package/dist/esm/ion-ripple-effect.entry.js +16 -7
- package/dist/esm/ion-route_4.entry.js +12 -10
- package/dist/esm/ion-searchbar.entry.js +118 -32
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +13 -3
- package/dist/esm/ion-segment_2.entry.js +24 -16
- package/dist/esm/ion-select-modal.entry.js +53 -24
- package/dist/esm/ion-select_3.entry.js +194 -76
- package/dist/esm/ion-spinner.entry.js +31 -8
- package/dist/esm/ion-split-pane.entry.js +14 -9
- package/dist/esm/ion-tab-bar_2.entry.js +149 -26
- package/dist/esm/ion-tab_2.entry.js +9 -7
- package/dist/esm/ion-text.entry.js +8 -7
- package/dist/esm/ion-textarea.entry.js +242 -33
- package/dist/esm/ion-toast.entry.js +48 -19
- package/dist/esm/ion-toggle.entry.js +67 -25
- package/dist/esm/ionic-global-BAIaPRGU.js +509 -0
- package/dist/esm/ionic.js +6 -5
- package/dist/esm/{ios.transition-CRfGj4Mo.js → ios.transition-BN0AUjKH.js} +7 -4
- package/dist/esm/{item-multiple-inputs-BSD9wGHO.js → item-multiple-inputs-f3Vz153y.js} +1 -1
- package/dist/esm/{keyboard-DDw62P0D.js → keyboard-Cj8mLJeq.js} +3 -5
- package/dist/esm/{keyboard-ly3M0GO7.js → keyboard-DAF8GNJ9.js} +1 -1
- package/dist/esm/loader.js +6 -5
- package/dist/esm/{md.transition-wqThNy_C.js → md.transition-BZ3TWMK6.js} +6 -4
- package/dist/esm/{overlay-control-label-BSQPZ79H.js → overlay-control-label-CODBQrPj.js} +13 -11
- package/dist/esm/{overlays-BQnV0HAU.js → overlays-CLqEprTi.js} +307 -133
- package/dist/esm/scroll-hide-controller-m-39_CyK.js +342 -0
- package/dist/esm/{select-option-render-CGxPejmz.js → select-option-render-CDyG_Ujc.js} +2 -2
- package/dist/esm/{slot-mutation-controller-C3s4-_YN.js → slot-mutation-controller-DXsogmcJ.js} +2 -1
- package/dist/esm/{status-tap-DRx9wSD_.js → status-tap-BzPUcwpI.js} +5 -3
- package/dist/esm/{swipe-back-Ch3UU_US.js → swipe-back-D8sqbjOf.js} +4 -2
- package/dist/esm/{theme-byZM6qHV.js → theme-BUF_V-Kg.js} +25 -1
- package/dist/esm/validity-NcQUGze-.js +48 -0
- package/dist/html.html-data.json +2631 -150
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-00e5052e.entry.js +4 -0
- package/dist/ionic/p-0cb3bf40.entry.js +4 -0
- package/dist/ionic/p-0cb9a213.entry.js +4 -0
- package/dist/ionic/p-10d11d15.entry.js +4 -0
- package/dist/ionic/p-1c2af758.entry.js +4 -0
- package/dist/ionic/p-1cd8acc1.entry.js +4 -0
- package/dist/ionic/p-1e11cfe6.entry.js +4 -0
- package/dist/ionic/p-1e13dfa6.entry.js +4 -0
- package/dist/ionic/p-2da8417a.entry.js +4 -0
- package/dist/ionic/p-30643dd0.entry.js +4 -0
- package/dist/ionic/p-3246c8db.entry.js +4 -0
- package/dist/ionic/p-335f6ac5.entry.js +4 -0
- package/dist/ionic/p-3636e449.entry.js +4 -0
- package/dist/ionic/p-3c073e44.entry.js +4 -0
- package/dist/ionic/p-3f78fbb9.entry.js +4 -0
- package/dist/ionic/p-473f56d0.entry.js +4 -0
- package/dist/ionic/p-4ce892d6.entry.js +4 -0
- package/dist/ionic/p-4d824bdd.entry.js +4 -0
- package/dist/ionic/p-57a084b1.entry.js +4 -0
- package/dist/ionic/p-5dfc15b7.entry.js +4 -0
- package/dist/ionic/p-5e4eec2e.entry.js +4 -0
- package/dist/ionic/p-67d0f149.entry.js +4 -0
- package/dist/ionic/p-6d48ce72.entry.js +4 -0
- package/dist/ionic/p-78963796.entry.js +4 -0
- package/dist/ionic/p-8201e3a4.entry.js +4 -0
- package/dist/ionic/p-8675912f.entry.js +4 -0
- package/dist/ionic/p-8c8001d1.entry.js +4 -0
- package/dist/ionic/p-96ef4bc4.entry.js +4 -0
- package/dist/ionic/p-978335f1.entry.js +4 -0
- package/dist/ionic/{p-PkaVMJga.js → p-B1XKnjaF.js} +1 -1
- package/dist/ionic/{p-DNxEB9-T.js → p-B3KpQBCL.js} +1 -1
- package/dist/ionic/p-BCYG0ntp.js +4 -0
- package/dist/ionic/p-BI5taije.js +4 -0
- package/dist/ionic/{p-DxvRP6ld.js → p-BMPN55of.js} +1 -1
- package/dist/ionic/p-BPZc3Ck-.js +4 -0
- package/dist/ionic/p-BSH8IzpI.js +4 -0
- package/dist/ionic/p-BUF_V-Kg.js +4 -0
- package/dist/ionic/p-BVTltcXo.js +4 -0
- package/dist/ionic/p-BYk20Mf5.js +4 -0
- package/dist/ionic/p-BfDzKnZ-.js +4 -0
- package/dist/ionic/p-BjQlYdiZ.js +4 -0
- package/dist/ionic/p-BkJpfpXI.js +4 -0
- package/dist/ionic/p-Bo9gphwB.js +4 -0
- package/dist/ionic/p-BsFwDB3d.js +4 -0
- package/dist/ionic/{p-BhMQahM6.js → p-BsSAvQwi.js} +1 -1
- package/dist/ionic/{p-BUB5OrpU.js → p-C0TTjAkK.js} +1 -1
- package/dist/ionic/p-CIGNaXM1.js +4 -0
- package/dist/ionic/p-CODBQrPj.js +4 -0
- package/dist/ionic/{p-CVwXN07G.js → p-CcJ1m8ij.js} +1 -1
- package/dist/ionic/p-CsxpVq9f.js +6 -0
- package/dist/ionic/p-CvHTFTlP.js +4 -0
- package/dist/ionic/{p-CCik51Nv.js → p-D1Dp9g6Y.js} +1 -1
- package/dist/ionic/p-D5I40TIB.js +4 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/{components/p-C7rB-0-1.js → dist/ionic/p-DN4HuOWQ.js} +1 -1
- package/dist/ionic/p-DbnqpMyu.js +4 -0
- package/dist/ionic/p-DlhQjMCJ.js +4 -0
- package/dist/ionic/{p-kKvGoaEe.js → p-Due7p-3G.js} +1 -1
- package/dist/ionic/p-NcQUGze-.js +4 -0
- package/dist/ionic/{p-BCgqWm-V.js → p-T71k3C35.js} +1 -1
- package/dist/ionic/p-U8dpZ2Zp.js +4 -0
- package/dist/ionic/p-ZjP4CjeZ.js +4 -0
- package/dist/ionic/p-a13d8dbd.entry.js +4 -0
- package/dist/ionic/p-a60ab478.entry.js +4 -0
- package/dist/ionic/p-ac35ffde.entry.js +4 -0
- package/dist/ionic/p-b397988a.entry.js +4 -0
- package/dist/ionic/p-bb125f13.entry.js +4 -0
- package/dist/ionic/p-bb69e27a.entry.js +4 -0
- package/dist/ionic/p-bd6dbe7c.entry.js +4 -0
- package/dist/ionic/p-c3775482.entry.js +4 -0
- package/dist/ionic/p-c5978136.entry.js +4 -0
- package/dist/ionic/p-c649b0c8.entry.js +4 -0
- package/dist/ionic/p-c80d354e.entry.js +4 -0
- package/dist/ionic/p-cc47e975.entry.js +4 -0
- package/dist/ionic/p-d0d6727a.entry.js +4 -0
- package/dist/ionic/p-d3a427d2.entry.js +4 -0
- package/dist/ionic/p-da25ac49.entry.js +4 -0
- package/dist/ionic/p-dc063e74.entry.js +4 -0
- package/dist/ionic/p-e022d624.entry.js +4 -0
- package/dist/ionic/p-e43deed1.entry.js +4 -0
- package/dist/ionic/p-e4bb0618.entry.js +4 -0
- package/dist/ionic/p-e5bff83e.entry.js +4 -0
- package/dist/ionic/p-ea10456b.entry.js +4 -0
- package/dist/ionic/p-ea80809c.entry.js +4 -0
- package/dist/ionic/p-f10b7057.entry.js +4 -0
- package/dist/ionic/p-f336761a.entry.js +4 -0
- package/dist/ionic/p-f6df1e51.entry.js +4 -0
- package/dist/ionic/p-fbbef443.entry.js +4 -0
- package/dist/ionic/p-ox5nzV5F.js +4 -0
- package/dist/ionic/p-s_fyA5w3.js +4 -0
- package/dist/ionic/p-xGKwMcE6.js +4 -0
- package/dist/types/components/accordion/accordion.d.ts +12 -3
- package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
- package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
- package/dist/types/components/alert/alert-interface.d.ts +3 -7
- package/dist/types/components/alert/alert.d.ts +3 -2
- package/dist/types/components/app/app.d.ts +4 -5
- package/dist/types/components/avatar/avatar.d.ts +32 -0
- package/dist/types/components/back-button/back-button.d.ts +10 -3
- package/dist/types/components/backdrop/backdrop.d.ts +4 -0
- package/dist/types/components/badge/badge.d.ts +34 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +14 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +23 -8
- package/dist/types/components/buttons/buttons.d.ts +5 -1
- package/dist/types/components/card/card.d.ts +8 -1
- package/dist/types/components/card-content/card-content.d.ts +2 -1
- package/dist/types/components/card-header/card-header.d.ts +3 -2
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
- package/dist/types/components/card-title/card-title.d.ts +2 -1
- package/dist/types/components/checkbox/checkbox.d.ts +26 -5
- package/dist/types/components/chip/chip.d.ts +26 -1
- package/dist/types/components/col/col.d.ts +52 -5
- package/dist/types/components/content/content.d.ts +3 -0
- package/dist/types/components/datetime/datetime.d.ts +26 -1
- package/dist/types/components/datetime/utils/data.d.ts +5 -5
- package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
- package/dist/types/components/divider/divider.d.ts +20 -0
- package/dist/types/components/fab/fab.d.ts +4 -0
- package/dist/types/components/fab-button/fab-button.d.ts +11 -3
- package/dist/types/components/fab-list/fab-list.d.ts +4 -0
- package/dist/types/components/footer/footer-interface.d.ts +1 -0
- package/dist/types/components/footer/footer.d.ts +20 -3
- package/dist/types/components/gallery/gallery-constants.d.ts +9 -0
- package/dist/types/components/gallery/gallery-interface.d.ts +10 -0
- package/dist/types/components/gallery/gallery.d.ts +218 -0
- package/dist/types/components/gallery/test/utils.d.ts +3 -0
- package/dist/types/components/gallery-item/gallery-item.d.ts +33 -0
- package/dist/types/components/grid/grid.d.ts +4 -0
- package/dist/types/components/header/header-interface.d.ts +1 -0
- package/dist/types/components/header/header.d.ts +26 -3
- package/dist/types/components/header/header.utils.d.ts +4 -5
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +45 -5
- package/dist/types/components/input-otp/input-otp.d.ts +37 -0
- package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +14 -0
- package/dist/types/components/item/item.d.ts +17 -4
- package/dist/types/components/item-divider/item-divider.d.ts +2 -1
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +18 -1
- package/dist/types/components/item-options/item-options.d.ts +4 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +47 -1
- package/dist/types/components/item-sliding/test/test.utils.d.ts +13 -0
- package/dist/types/components/label/label.d.ts +2 -1
- package/dist/types/components/list/list.d.ts +15 -1
- package/dist/types/components/list-header/list-header.d.ts +2 -1
- package/dist/types/components/loading/loading-interface.d.ts +2 -7
- package/dist/types/components/loading/loading.d.ts +3 -2
- package/dist/types/components/menu/menu.d.ts +3 -0
- package/dist/types/components/menu-button/menu-button.d.ts +8 -1
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
- package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
- package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +4 -7
- package/dist/types/components/modal/modal.d.ts +11 -1
- package/dist/types/components/nav/nav-interface.d.ts +9 -1
- package/dist/types/components/nav/nav.d.ts +5 -1
- package/dist/types/components/nav-link/nav-link.d.ts +4 -0
- package/dist/types/components/note/note.d.ts +2 -1
- package/dist/types/components/picker/picker.d.ts +2 -1
- package/dist/types/components/picker-column/picker-column.d.ts +2 -1
- package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
- package/dist/types/components/popover/popover-interface.d.ts +3 -6
- package/dist/types/components/popover/popover.d.ts +6 -5
- package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
- package/dist/types/components/radio/radio.d.ts +2 -1
- package/dist/types/components/radio-group/radio-group.d.ts +12 -0
- package/dist/types/components/range/range.d.ts +2 -1
- package/dist/types/components/refresher/refresher.d.ts +2 -1
- package/dist/types/components/refresher-content/refresher-content.d.ts +10 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
- package/dist/types/components/route/route.d.ts +4 -0
- package/dist/types/components/router/router.d.ts +4 -0
- package/dist/types/components/router-link/router-link.d.ts +4 -0
- package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar.d.ts +56 -10
- package/dist/types/components/segment/segment.d.ts +2 -1
- package/dist/types/components/segment-button/segment-button.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +59 -15
- package/dist/types/components/select-modal/select-modal.d.ts +13 -0
- package/dist/types/components/select-option/select-option.d.ts +7 -4
- package/dist/types/components/select-popover/select-popover.d.ts +3 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
- package/dist/types/components/spinner/spinner.d.ts +15 -0
- package/dist/types/components/split-pane/split-pane.d.ts +4 -0
- package/dist/types/components/tab/tab.d.ts +4 -0
- package/dist/types/components/tab-bar/tab-bar-interface.d.ts +1 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +41 -3
- package/dist/types/components/tab-button/tab-button.d.ts +12 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -0
- package/dist/types/components/text/text.d.ts +2 -1
- package/dist/types/components/textarea/textarea.d.ts +85 -10
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +4 -0
- package/dist/types/components/toast/animations/utils.d.ts +2 -2
- package/dist/types/components/toast/toast-interface.d.ts +3 -7
- package/dist/types/components/toast/toast.d.ts +19 -2
- package/dist/types/components/toggle/toggle.d.ts +18 -1
- package/dist/types/components/toolbar/toolbar.d.ts +43 -3
- package/dist/types/components.d.ts +1839 -211
- package/dist/types/global/ionic-global.d.ts +28 -2
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/utils/config.d.ts +128 -4
- package/dist/types/utils/css-value-validation.d.ts +21 -0
- package/dist/types/utils/focus-trap.d.ts +1 -1
- package/dist/types/utils/focus-visible.d.ts +33 -0
- package/dist/types/utils/forms/clear-button-press-controller.d.ts +20 -0
- package/dist/types/utils/forms/index.d.ts +1 -0
- package/dist/types/utils/forms/validity.d.ts +7 -0
- package/dist/types/utils/helpers.d.ts +29 -0
- package/dist/types/utils/overlay-control-label.d.ts +11 -9
- package/dist/types/utils/overlays-interface.d.ts +31 -1
- package/dist/types/utils/overlays.d.ts +1 -1
- package/dist/types/utils/scroll-hide-controller.d.ts +56 -0
- package/dist/types/utils/test/playwright/drag-element.d.ts +16 -3
- package/dist/types/utils/test/playwright/field-geometry.d.ts +13 -0
- package/dist/types/utils/test/playwright/generator.d.ts +31 -2
- package/dist/types/utils/test/playwright/index.d.ts +1 -0
- package/dist/types/utils/theme.d.ts +9 -0
- package/hydrate/index.js +5409 -1229
- package/hydrate/index.mjs +5409 -1229
- package/package.json +9 -6
- package/components/p-6sKRBFnK.js +0 -4
- package/components/p-B8HBLiYi.js +0 -4
- package/components/p-BEiYs-sz.js +0 -4
- package/components/p-BKxLivx4.js +0 -4
- package/components/p-BLjEwM6v.js +0 -4
- package/components/p-BNnmwjuy.js +0 -4
- package/components/p-BSJriPuC.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BUVGbkSc.js +0 -4
- package/components/p-B_tZQKpS.js +0 -4
- package/components/p-BhamHSw3.js +0 -4
- package/components/p-BinR4_P7.js +0 -4
- package/components/p-BmVRXR1y.js +0 -4
- package/components/p-BrOSQhkA.js +0 -4
- package/components/p-BriaEJK8.js +0 -4
- package/components/p-BsLM9eQu.js +0 -4
- package/components/p-CAQG0btC.js +0 -4
- package/components/p-CHHkdXfP.js +0 -4
- package/components/p-CJgshb3W.js +0 -4
- package/components/p-CQjNc-Pz.js +0 -4
- package/components/p-CTUMJM0R.js +0 -4
- package/components/p-CXy2v7GI.js +0 -4
- package/components/p-Canp1qah.js +0 -4
- package/components/p-CcQQ8oRo.js +0 -4
- package/components/p-CiFFeRH9.js +0 -4
- package/components/p-CiXOsJF2.js +0 -4
- package/components/p-CvzE7FFp.js +0 -4
- package/components/p-CzykzqAO.js +0 -4
- package/components/p-D0jSx7rE.js +0 -4
- package/components/p-D4NOsSCE.js +0 -4
- package/components/p-DGLuPe1e.js +0 -4
- package/components/p-DGUed0uX.js +0 -4
- package/components/p-DJztqcrH.js +0 -4
- package/components/p-DM2jMsSO.js +0 -4
- package/components/p-DPyjiKOq.js +0 -4
- package/components/p-DSmHJ2DH.js +0 -4
- package/components/p-DlUdjUlf.js +0 -4
- package/components/p-LH1I_Zhd.js +0 -4
- package/components/p-LpMHEu3v.js +0 -4
- package/components/p-PPagT42x.js +0 -4
- package/components/p-RJT5zTbD.js +0 -4
- package/components/p-WMQuK_Tj.js +0 -4
- package/components/p-byZM6qHV.js +0 -4
- package/components/p-eJpG4UbM.js +0 -4
- package/components/p-q2WJ5Igc.js +0 -4
- package/components/p-y7Nhe3de.js +0 -4
- package/dist/cjs/focus-visible-CCvKiLh3.js +0 -77
- package/dist/cjs/ionic-global-C1h8Yi_K.js +0 -156
- package/dist/cjs/keyboard-controller-CLcFxSnb.js +0 -167
- package/dist/cjs/validity-BpS37YFM.js +0 -19
- package/dist/esm/focus-visible-BmVRXR1y.js +0 -75
- package/dist/esm/ionic-global-B-G43ddm.js +0 -151
- package/dist/esm/keyboard-controller-Dzjet5wD.js +0 -165
- package/dist/esm/validity-DJztqcrH.js +0 -17
- package/dist/ionic/p-0517aec4.entry.js +0 -4
- package/dist/ionic/p-083b1119.entry.js +0 -4
- package/dist/ionic/p-0ab133d6.entry.js +0 -4
- package/dist/ionic/p-1110da0d.entry.js +0 -4
- package/dist/ionic/p-1213b719.entry.js +0 -4
- package/dist/ionic/p-150f350e.entry.js +0 -4
- package/dist/ionic/p-20d1ac29.entry.js +0 -4
- package/dist/ionic/p-24b0a961.entry.js +0 -4
- package/dist/ionic/p-28f506ce.entry.js +0 -4
- package/dist/ionic/p-2e6e933d.entry.js +0 -4
- package/dist/ionic/p-30dcf43b.entry.js +0 -4
- package/dist/ionic/p-378341d1.entry.js +0 -4
- package/dist/ionic/p-37f46670.entry.js +0 -4
- package/dist/ionic/p-3a5faaa8.entry.js +0 -4
- package/dist/ionic/p-3bd7e5df.entry.js +0 -4
- package/dist/ionic/p-3c4b0ba7.entry.js +0 -4
- package/dist/ionic/p-42b2a992.entry.js +0 -4
- package/dist/ionic/p-52dc3309.entry.js +0 -4
- package/dist/ionic/p-58f914ee.entry.js +0 -4
- package/dist/ionic/p-5b9666be.entry.js +0 -4
- package/dist/ionic/p-5c19330c.entry.js +0 -4
- package/dist/ionic/p-61b304c8.entry.js +0 -4
- package/dist/ionic/p-624f2fa8.entry.js +0 -4
- package/dist/ionic/p-636349e2.entry.js +0 -4
- package/dist/ionic/p-6865f0e1.entry.js +0 -4
- package/dist/ionic/p-7441ed2b.entry.js +0 -4
- package/dist/ionic/p-76309bab.entry.js +0 -4
- package/dist/ionic/p-83448626.entry.js +0 -4
- package/dist/ionic/p-834afcf7.entry.js +0 -4
- package/dist/ionic/p-93cd738b.entry.js +0 -4
- package/dist/ionic/p-9b78fedf.entry.js +0 -4
- package/dist/ionic/p-9dd9788c.entry.js +0 -4
- package/dist/ionic/p-B4ELlbJE.js +0 -4
- package/dist/ionic/p-B4wzg4z4.js +0 -4
- package/dist/ionic/p-B4xjg_Qu.js +0 -4
- package/dist/ionic/p-BChRVdVv.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BVEsh7-M.js +0 -4
- package/dist/ionic/p-Ba6ZV-qU.js +0 -4
- package/dist/ionic/p-BmVRXR1y.js +0 -4
- package/dist/ionic/p-BtHAx8im.js +0 -4
- package/dist/ionic/p-Bv-6401R.js +0 -4
- package/dist/ionic/p-BvabGprD.js +0 -4
- package/dist/ionic/p-CTmJSZcs.js +0 -4
- package/dist/ionic/p-CTrwMl44.js +0 -4
- package/dist/ionic/p-CgQdInM0.js +0 -4
- package/dist/ionic/p-CrAPHbJ3.js +0 -4
- package/dist/ionic/p-CsWrz1c2.js +0 -4
- package/dist/ionic/p-D5akOqD0.js +0 -4
- package/dist/ionic/p-D9OR05yj.js +0 -6
- package/dist/ionic/p-DHf9V6zI.js +0 -4
- package/dist/ionic/p-DJztqcrH.js +0 -4
- package/dist/ionic/p-DZUqAr_6.js +0 -4
- package/dist/ionic/p-Dzew6Qv7.js +0 -4
- package/dist/ionic/p-b0a3dd1a.entry.js +0 -4
- package/dist/ionic/p-b1164028.entry.js +0 -4
- package/dist/ionic/p-b710b4b8.entry.js +0 -4
- package/dist/ionic/p-b9659d21.entry.js +0 -4
- package/dist/ionic/p-ba7bd621.entry.js +0 -4
- package/dist/ionic/p-byZM6qHV.js +0 -4
- package/dist/ionic/p-daaecea3.entry.js +0 -4
- package/dist/ionic/p-e05073f6.entry.js +0 -4
- package/dist/ionic/p-e137f724.entry.js +0 -4
- package/dist/ionic/p-e1969fd1.entry.js +0 -4
- package/dist/ionic/p-e338693a.entry.js +0 -4
- package/dist/ionic/p-e4c3f17f.entry.js +0 -4
- package/dist/ionic/p-e7414c33.entry.js +0 -4
- package/dist/ionic/p-eb762f80.entry.js +0 -4
- package/dist/ionic/p-edcb63e5.entry.js +0 -4
- package/dist/ionic/p-efa00ce5.entry.js +0 -4
- package/dist/ionic/p-f19e50f8.entry.js +0 -4
- package/dist/ionic/p-f20b6a9b.entry.js +0 -4
- package/dist/ionic/p-f9057f70.entry.js +0 -4
- package/dist/ionic/p-f99cf5aa.entry.js +0 -4
- package/dist/ionic/p-fee863dc.entry.js +0 -4
- package/dist/ionic/p-tXpzvta8.js +0 -4
- package/dist/ionic/p-vPo3vRFc.js +0 -4
- /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
|
@@ -3,23 +3,25 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index$
|
|
7
|
-
var index = require('./index-
|
|
8
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
9
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index$3 = require('./index-sCX9078m.js');
|
|
7
|
+
var index$1 = require('./index-DKcBQZY9.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-Dc-OOm7D.js');
|
|
9
|
+
var helpers = require('./helpers-CLJM7hT0.js');
|
|
10
10
|
var lockController = require('./lock-controller-aDB9wrEf.js');
|
|
11
|
-
var capacitor = require('./capacitor-
|
|
12
|
-
var
|
|
13
|
-
var theme = require('./theme-
|
|
14
|
-
var index$
|
|
15
|
-
var ionicGlobal = require('./ionic-global-
|
|
16
|
-
var keyboard = require('./keyboard-
|
|
17
|
-
var animation = require('./animation-
|
|
11
|
+
var capacitor = require('./capacitor-DmA66EwP.js');
|
|
12
|
+
var overlays = require('./overlays-Ch6nAoha.js');
|
|
13
|
+
var theme = require('./theme-Cy4joHPt.js');
|
|
14
|
+
var index$4 = require('./index-DHE2MAbY.js');
|
|
15
|
+
var ionicGlobal = require('./ionic-global-BKBeko9D.js');
|
|
16
|
+
var keyboard = require('./keyboard-Cix5TVkD.js');
|
|
17
|
+
var animation = require('./animation-DGhvrwaP.js');
|
|
18
|
+
var index = require('./index-DkNv4J_i.js');
|
|
18
19
|
var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
|
|
19
|
-
var index$
|
|
20
|
+
var index$2 = require('./index-DRPqwSvU.js');
|
|
21
|
+
require('./focus-visible-DGPRKkcx.js');
|
|
20
22
|
require('./dir-zwDPRE5K.js');
|
|
21
23
|
require('./gesture-controller-CeJslptU.js');
|
|
22
|
-
require('./keyboard-
|
|
24
|
+
require('./keyboard-cHxZlTyz.js');
|
|
23
25
|
|
|
24
26
|
var Style;
|
|
25
27
|
(function (Style) {
|
|
@@ -116,13 +118,13 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
|
|
|
116
118
|
*
|
|
117
119
|
*/
|
|
118
120
|
const setCardStatusBarDark = () => {
|
|
119
|
-
if (!
|
|
121
|
+
if (!index.win || index.win.innerWidth >= 768) {
|
|
120
122
|
return;
|
|
121
123
|
}
|
|
122
124
|
StatusBar.setStyle({ style: Style.Dark });
|
|
123
125
|
};
|
|
124
126
|
const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
|
|
125
|
-
if (!
|
|
127
|
+
if (!index.win || index.win.innerWidth >= 768) {
|
|
126
128
|
return;
|
|
127
129
|
}
|
|
128
130
|
StatusBar.setStyle({ style: defaultStyle });
|
|
@@ -134,6 +136,104 @@ const onModalHeightChange = (hostEl, callback) => {
|
|
|
134
136
|
return helpers.onCustomPropertyChange(hostEl, '--height', () => callback());
|
|
135
137
|
};
|
|
136
138
|
|
|
139
|
+
const createSheetEnterAnimation = (opts) => {
|
|
140
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll, staticBackdropOpacity } = opts;
|
|
141
|
+
/**
|
|
142
|
+
* If the backdropBreakpoint is undefined, then the backdrop
|
|
143
|
+
* should always fade in. If the backdropBreakpoint came before the
|
|
144
|
+
* current breakpoint, then the backdrop should be fading in.
|
|
145
|
+
*/
|
|
146
|
+
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
147
|
+
let initialBackdrop = '0';
|
|
148
|
+
if (staticBackdropOpacity) {
|
|
149
|
+
initialBackdrop = 'calc(var(--backdrop-opacity)';
|
|
150
|
+
}
|
|
151
|
+
else if (shouldShowBackdrop) {
|
|
152
|
+
initialBackdrop = `calc(var(--backdrop-opacity) * ${currentBreakpoint})`;
|
|
153
|
+
}
|
|
154
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
155
|
+
if (shouldShowBackdrop) {
|
|
156
|
+
backdropAnimation
|
|
157
|
+
.beforeStyles({
|
|
158
|
+
'pointer-events': 'none',
|
|
159
|
+
})
|
|
160
|
+
.afterClearStyles(['pointer-events']);
|
|
161
|
+
}
|
|
162
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
163
|
+
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
164
|
+
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
165
|
+
]);
|
|
166
|
+
/**
|
|
167
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
168
|
+
*/
|
|
169
|
+
const contentAnimation = !expandToScroll
|
|
170
|
+
? animation.createAnimation('contentAnimation').keyframes([
|
|
171
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
172
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
173
|
+
])
|
|
174
|
+
: undefined;
|
|
175
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
176
|
+
};
|
|
177
|
+
const createSheetLeaveAnimation = (opts) => {
|
|
178
|
+
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
179
|
+
/**
|
|
180
|
+
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
181
|
+
* is defined, so we need to account for that offset by figuring out
|
|
182
|
+
* what the current backdrop value should be.
|
|
183
|
+
*/
|
|
184
|
+
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
185
|
+
const defaultBackdrop = [
|
|
186
|
+
{ offset: 0, opacity: backdropValue },
|
|
187
|
+
{ offset: 1, opacity: 0 },
|
|
188
|
+
];
|
|
189
|
+
const customBackdrop = [
|
|
190
|
+
{ offset: 0, opacity: backdropValue },
|
|
191
|
+
{ offset: backdropBreakpoint, opacity: 0 },
|
|
192
|
+
{ offset: 1, opacity: 0 },
|
|
193
|
+
];
|
|
194
|
+
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
195
|
+
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
196
|
+
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
197
|
+
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
198
|
+
]);
|
|
199
|
+
return { wrapperAnimation, backdropAnimation };
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const createEnterAnimation$2 = () => {
|
|
203
|
+
const backdropAnimation = animation.createAnimation()
|
|
204
|
+
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
205
|
+
.beforeStyles({
|
|
206
|
+
'pointer-events': 'none',
|
|
207
|
+
})
|
|
208
|
+
.afterClearStyles(['pointer-events']);
|
|
209
|
+
const wrapperAnimation = animation.createAnimation().keyframes([
|
|
210
|
+
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
211
|
+
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
212
|
+
]);
|
|
213
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Ionic Modal Enter Animation
|
|
217
|
+
*/
|
|
218
|
+
const ionicEnterAnimation = (baseEl, opts) => {
|
|
219
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
220
|
+
const root = helpers.getElementRoot(baseEl);
|
|
221
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$2();
|
|
222
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
223
|
+
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
224
|
+
// The content animation is only added if scrolling is enabled for
|
|
225
|
+
// all the breakpoints.
|
|
226
|
+
!expandToScroll && contentAnimation?.addElement(baseEl.querySelector('.ion-page'));
|
|
227
|
+
backdropAnimation.duration(300).easing('ease-out');
|
|
228
|
+
wrapperAnimation.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
229
|
+
contentAnimation?.duration(400).easing('cubic-bezier(0.32, 0.68, 0, 1)');
|
|
230
|
+
const baseAnimation = animation.createAnimation().addElement(baseEl).addAnimation([backdropAnimation, wrapperAnimation]);
|
|
231
|
+
if (contentAnimation) {
|
|
232
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
233
|
+
}
|
|
234
|
+
return baseAnimation;
|
|
235
|
+
};
|
|
236
|
+
|
|
137
237
|
/**
|
|
138
238
|
* Swiping is only possible when the content is scrolled to the top, so that we
|
|
139
239
|
* do not interfere with scrolling, and never on content with a refresher.
|
|
@@ -145,8 +245,8 @@ const onModalHeightChange = (hostEl, callback) => {
|
|
|
145
245
|
* synchronous operation, and `getScrollElement` is asynchronous.
|
|
146
246
|
*/
|
|
147
247
|
const canSwipeOnContent = (contentEl) => {
|
|
148
|
-
const scrollEl = index.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
149
|
-
const hasRefresherInContent = !!index.findRefresherInContent(contentEl);
|
|
248
|
+
const scrollEl = index$1.isIonContent(contentEl) ? helpers.getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
249
|
+
const hasRefresherInContent = !!index$1.findRefresherInContent(contentEl);
|
|
150
250
|
return !hasRefresherInContent && scrollEl.scrollTop === 0;
|
|
151
251
|
};
|
|
152
252
|
const handleCanDismiss = async (el, animation) => {
|
|
@@ -166,7 +266,7 @@ const handleCanDismiss = async (el, animation) => {
|
|
|
166
266
|
* If the function returns `true`,
|
|
167
267
|
* then we can proceed with dismiss.
|
|
168
268
|
*/
|
|
169
|
-
const shouldDismiss = await el.canDismiss(undefined,
|
|
269
|
+
const shouldDismiss = await el.canDismiss(undefined, overlays.GESTURE);
|
|
170
270
|
if (!shouldDismiss) {
|
|
171
271
|
return;
|
|
172
272
|
}
|
|
@@ -283,7 +383,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
283
383
|
let initialScrollY = true;
|
|
284
384
|
let lastStep = 0;
|
|
285
385
|
const getScrollY = () => {
|
|
286
|
-
if (contentEl && index.isIonContent(contentEl)) {
|
|
386
|
+
if (contentEl && index$1.isIonContent(contentEl)) {
|
|
287
387
|
return contentEl.scrollY;
|
|
288
388
|
/**
|
|
289
389
|
* Custom scroll containers are intended to be
|
|
@@ -309,7 +409,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
309
409
|
* swipe again. The target content will not
|
|
310
410
|
* be the same between swipes.
|
|
311
411
|
*/
|
|
312
|
-
contentEl = index.findClosestIonContent(target);
|
|
412
|
+
contentEl = index$1.findClosestIonContent(target);
|
|
313
413
|
if (contentEl) {
|
|
314
414
|
return canSwipeOnContent(contentEl);
|
|
315
415
|
}
|
|
@@ -353,7 +453,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
353
453
|
* happen at the same time as the gesture.
|
|
354
454
|
*/
|
|
355
455
|
if (deltaY > 0 && contentEl) {
|
|
356
|
-
index.disableContentScrollY(contentEl);
|
|
456
|
+
index$1.disableContentScrollY(contentEl);
|
|
357
457
|
}
|
|
358
458
|
animation.progressStart(true, isOpen ? 1 : 0);
|
|
359
459
|
onDragStart();
|
|
@@ -367,7 +467,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
367
467
|
* happen at the same time as the gesture.
|
|
368
468
|
*/
|
|
369
469
|
if (deltaY > 0 && contentEl) {
|
|
370
|
-
index.disableContentScrollY(contentEl);
|
|
470
|
+
index$1.disableContentScrollY(contentEl);
|
|
371
471
|
}
|
|
372
472
|
/**
|
|
373
473
|
* If we are swiping on the content
|
|
@@ -462,7 +562,7 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
462
562
|
isOpen = shouldComplete;
|
|
463
563
|
gesture.enable(false);
|
|
464
564
|
if (contentEl) {
|
|
465
|
-
index.resetContentScrollY(contentEl, initialScrollY);
|
|
565
|
+
index$1.resetContentScrollY(contentEl, initialScrollY);
|
|
466
566
|
}
|
|
467
567
|
animation
|
|
468
568
|
.onFinish(() => {
|
|
@@ -510,10 +610,10 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
510
610
|
};
|
|
511
611
|
onDragEnd(eventDetail);
|
|
512
612
|
};
|
|
513
|
-
const gesture = index$
|
|
613
|
+
const gesture = index$2.createGesture({
|
|
514
614
|
el,
|
|
515
615
|
gestureName: 'modalSwipeToClose',
|
|
516
|
-
gesturePriority:
|
|
616
|
+
gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
|
|
517
617
|
direction: 'y',
|
|
518
618
|
threshold: 10,
|
|
519
619
|
canStart,
|
|
@@ -565,63 +665,6 @@ const calculateProgress = (el, deltaY) => {
|
|
|
565
665
|
return Math.max(0, Math.min(1, roundedProgress));
|
|
566
666
|
};
|
|
567
667
|
|
|
568
|
-
const createSheetEnterAnimation = (opts) => {
|
|
569
|
-
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
570
|
-
/**
|
|
571
|
-
* If the backdropBreakpoint is undefined, then the backdrop
|
|
572
|
-
* should always fade in. If the backdropBreakpoint came before the
|
|
573
|
-
* current breakpoint, then the backdrop should be fading in.
|
|
574
|
-
*/
|
|
575
|
-
const shouldShowBackdrop = backdropBreakpoint === undefined || backdropBreakpoint < currentBreakpoint;
|
|
576
|
-
const initialBackdrop = shouldShowBackdrop ? `calc(var(--backdrop-opacity) * ${currentBreakpoint})` : '0';
|
|
577
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').fromTo('opacity', 0, initialBackdrop);
|
|
578
|
-
if (shouldShowBackdrop) {
|
|
579
|
-
backdropAnimation
|
|
580
|
-
.beforeStyles({
|
|
581
|
-
'pointer-events': 'none',
|
|
582
|
-
})
|
|
583
|
-
.afterClearStyles(['pointer-events']);
|
|
584
|
-
}
|
|
585
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
586
|
-
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
587
|
-
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
588
|
-
]);
|
|
589
|
-
/**
|
|
590
|
-
* This allows the content to be scrollable at any breakpoint.
|
|
591
|
-
*/
|
|
592
|
-
const contentAnimation = !expandToScroll
|
|
593
|
-
? animation.createAnimation('contentAnimation').keyframes([
|
|
594
|
-
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
595
|
-
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
596
|
-
])
|
|
597
|
-
: undefined;
|
|
598
|
-
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
599
|
-
};
|
|
600
|
-
const createSheetLeaveAnimation = (opts) => {
|
|
601
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
602
|
-
/**
|
|
603
|
-
* Backdrop does not always fade in from 0 to 1 if backdropBreakpoint
|
|
604
|
-
* is defined, so we need to account for that offset by figuring out
|
|
605
|
-
* what the current backdrop value should be.
|
|
606
|
-
*/
|
|
607
|
-
const backdropValue = `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(currentBreakpoint, backdropBreakpoint)})`;
|
|
608
|
-
const defaultBackdrop = [
|
|
609
|
-
{ offset: 0, opacity: backdropValue },
|
|
610
|
-
{ offset: 1, opacity: 0 },
|
|
611
|
-
];
|
|
612
|
-
const customBackdrop = [
|
|
613
|
-
{ offset: 0, opacity: backdropValue },
|
|
614
|
-
{ offset: backdropBreakpoint, opacity: 0 },
|
|
615
|
-
{ offset: 1, opacity: 0 },
|
|
616
|
-
];
|
|
617
|
-
const backdropAnimation = animation.createAnimation('backdropAnimation').keyframes(backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop);
|
|
618
|
-
const wrapperAnimation = animation.createAnimation('wrapperAnimation').keyframes([
|
|
619
|
-
{ offset: 0, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
620
|
-
{ offset: 1, opacity: 1, transform: `translateY(100%)` },
|
|
621
|
-
]);
|
|
622
|
-
return { wrapperAnimation, backdropAnimation };
|
|
623
|
-
};
|
|
624
|
-
|
|
625
668
|
const createEnterAnimation$1 = () => {
|
|
626
669
|
const backdropAnimation = animation.createAnimation()
|
|
627
670
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
@@ -1012,16 +1055,16 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
1012
1055
|
return baseAnimation;
|
|
1013
1056
|
};
|
|
1014
1057
|
|
|
1015
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
1058
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, usePhysicsBasedGesture, onDragStart, onDragMove, onDragEnd) => {
|
|
1016
1059
|
// Defaults for the sheet swipe animation
|
|
1017
1060
|
const defaultBackdrop = [
|
|
1018
1061
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1019
|
-
{ offset: 1, opacity: 0.01 },
|
|
1062
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0.01 },
|
|
1020
1063
|
];
|
|
1021
1064
|
const customBackdrop = [
|
|
1022
1065
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
1023
|
-
{ offset: 1 - backdropBreakpoint, opacity: 0 },
|
|
1024
|
-
{ offset: 1, opacity: 0 },
|
|
1066
|
+
{ offset: 1 - backdropBreakpoint, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1067
|
+
{ offset: 1, opacity: usePhysicsBasedGesture ? 'var(--backdrop-opacity)' : 0 },
|
|
1025
1068
|
];
|
|
1026
1069
|
const SheetDefaults = {
|
|
1027
1070
|
WRAPPER_KEYFRAMES: [
|
|
@@ -1065,7 +1108,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1065
1108
|
* as inputs should not be focusable outside
|
|
1066
1109
|
* the sheet.
|
|
1067
1110
|
*/
|
|
1068
|
-
baseEl.classList.remove(
|
|
1111
|
+
baseEl.classList.remove(overlays.FOCUS_TRAP_DISABLE_CLASS);
|
|
1069
1112
|
};
|
|
1070
1113
|
const disableBackdrop = () => {
|
|
1071
1114
|
baseEl.style.setProperty('pointer-events', 'none');
|
|
@@ -1077,7 +1120,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1077
1120
|
* Adding this class disables focus trapping
|
|
1078
1121
|
* for the sheet temporarily.
|
|
1079
1122
|
*/
|
|
1080
|
-
baseEl.classList.add(
|
|
1123
|
+
baseEl.classList.add(overlays.FOCUS_TRAP_DISABLE_CLASS);
|
|
1081
1124
|
};
|
|
1082
1125
|
/**
|
|
1083
1126
|
* Toggles the footer to an absolute position while moving to prevent
|
|
@@ -1201,7 +1244,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1201
1244
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
|
1202
1245
|
* and then swipe again. The target content will not be the same between swipes.
|
|
1203
1246
|
*/
|
|
1204
|
-
const contentEl = index.findClosestIonContent(detail.event.target);
|
|
1247
|
+
const contentEl = index$1.findClosestIonContent(detail.event.target);
|
|
1205
1248
|
currentBreakpoint = getCurrentBreakpoint();
|
|
1206
1249
|
/**
|
|
1207
1250
|
* Upwards swipes on the content cannot move the sheet anyway, so this only
|
|
@@ -1238,9 +1281,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1238
1281
|
* which would impact performance significantly.
|
|
1239
1282
|
*/
|
|
1240
1283
|
if (!expandToScroll) {
|
|
1241
|
-
const targetEl = index.findClosestIonContent(detail.event.target);
|
|
1284
|
+
const targetEl = index$1.findClosestIonContent(detail.event.target);
|
|
1242
1285
|
cachedScrollEl =
|
|
1243
|
-
targetEl && index.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1286
|
+
targetEl && index$1.isIonContent(targetEl) ? helpers.getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
|
|
1244
1287
|
}
|
|
1245
1288
|
/**
|
|
1246
1289
|
* If expandToScroll is disabled, we need to swap
|
|
@@ -1334,7 +1377,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1334
1377
|
: step;
|
|
1335
1378
|
offset = helpers.clamp(0.0001, processedStep, maxStep);
|
|
1336
1379
|
animation.progressStep(offset);
|
|
1337
|
-
const snapBreakpoint =
|
|
1380
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1381
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1382
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1338
1383
|
const eventDetail = {
|
|
1339
1384
|
currentY: detail.currentY,
|
|
1340
1385
|
deltaY: detail.deltaY,
|
|
@@ -1345,7 +1390,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1345
1390
|
onDragMove(eventDetail);
|
|
1346
1391
|
};
|
|
1347
1392
|
const onEnd = (detail) => {
|
|
1348
|
-
const snapBreakpoint =
|
|
1393
|
+
const snapBreakpoint = usePhysicsBasedGesture
|
|
1394
|
+
? calculateVelocitySnapBreakpoint(detail.deltaY, detail.velocityY, detail.currentY)
|
|
1395
|
+
: calculatePositionSnapBreakpoint(detail.deltaY);
|
|
1349
1396
|
/**
|
|
1350
1397
|
* `snapBreakpoint === 0` is not enough on its own. `canDismiss: false`
|
|
1351
1398
|
* snaps to 0 but never dismisses, since `handleCanDismiss` returns early
|
|
@@ -1406,6 +1453,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1406
1453
|
*/
|
|
1407
1454
|
const shouldPreventDismiss = canDismiss && breakpoint === 0;
|
|
1408
1455
|
const snapToBreakpoint = shouldPreventDismiss ? currentBreakpoint : breakpoint;
|
|
1456
|
+
/**
|
|
1457
|
+
* Detect snap-back behavior: when the snap target is the same as the current breakpoint,
|
|
1458
|
+
* the user released before crossing the threshold to a new breakpoint.
|
|
1459
|
+
* Apply different timing and easing for snap-back vs. snap-to-new.
|
|
1460
|
+
*/
|
|
1461
|
+
const isSnapBack = snapToBreakpoint === currentBreakpoint;
|
|
1462
|
+
const duration = usePhysicsBasedGesture ? (isSnapBack ? 300 : 400) : 500;
|
|
1463
|
+
const easing = isSnapBack ? 'cubic-bezier(0.34, 1.4, 0.64, 1)' : 'cubic-bezier(0.32, 0.68, 0, 1)';
|
|
1409
1464
|
const shouldRemainOpen = snapToBreakpoint !== 0;
|
|
1410
1465
|
currentBreakpoint = 0;
|
|
1411
1466
|
/**
|
|
@@ -1420,11 +1475,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1420
1475
|
backdropAnimation.keyframes([
|
|
1421
1476
|
{
|
|
1422
1477
|
offset: 0,
|
|
1423
|
-
opacity:
|
|
1478
|
+
opacity: usePhysicsBasedGesture
|
|
1479
|
+
? 'var(--backdrop-opacity)'
|
|
1480
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(1 - breakpointOffset, backdropBreakpoint)})`,
|
|
1424
1481
|
},
|
|
1425
1482
|
{
|
|
1426
1483
|
offset: 1,
|
|
1427
|
-
opacity:
|
|
1484
|
+
opacity: usePhysicsBasedGesture
|
|
1485
|
+
? 'var(--backdrop-opacity)'
|
|
1486
|
+
: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
1428
1487
|
},
|
|
1429
1488
|
]);
|
|
1430
1489
|
if (contentAnimation) {
|
|
@@ -1442,6 +1501,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1442
1501
|
}
|
|
1443
1502
|
animation.progressStep(0);
|
|
1444
1503
|
}
|
|
1504
|
+
/**
|
|
1505
|
+
* Apply the appropriate easing curve for this snap behavior.
|
|
1506
|
+
*/
|
|
1507
|
+
if (usePhysicsBasedGesture) {
|
|
1508
|
+
animation.easing(easing);
|
|
1509
|
+
}
|
|
1445
1510
|
/**
|
|
1446
1511
|
* Gesture should remain disabled until the
|
|
1447
1512
|
* snapping animation completes.
|
|
@@ -1531,7 +1596,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1531
1596
|
* be added every time onEnd runs.
|
|
1532
1597
|
*/
|
|
1533
1598
|
}, { oneTimeCallback: true })
|
|
1534
|
-
.progressEnd(1, 0, animated ?
|
|
1599
|
+
.progressEnd(1, 0, animated ? duration : 0);
|
|
1535
1600
|
});
|
|
1536
1601
|
};
|
|
1537
1602
|
/**
|
|
@@ -1542,7 +1607,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1542
1607
|
* @param deltaY The change in Y position since the gesture started.
|
|
1543
1608
|
* @returns The snap breakpoint value.
|
|
1544
1609
|
*/
|
|
1545
|
-
const
|
|
1610
|
+
const calculatePositionSnapBreakpoint = (deltaY) => {
|
|
1546
1611
|
/**
|
|
1547
1612
|
* Calculates the real-time vertical position of the modal.
|
|
1548
1613
|
* We combine the wrapper's current bounding box position with the
|
|
@@ -1562,6 +1627,50 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1562
1627
|
});
|
|
1563
1628
|
return snapBreakpoint;
|
|
1564
1629
|
};
|
|
1630
|
+
/**
|
|
1631
|
+
* Calculates the snap breakpoint using velocity-based logic.
|
|
1632
|
+
* This provides a more intuitive and responsive sheet behavior for the Ionic theme.
|
|
1633
|
+
*
|
|
1634
|
+
* Rules:
|
|
1635
|
+
* 1. Fast downward flick (> 500 px/s) always dismisses, regardless of position
|
|
1636
|
+
* 2. Fast upward flick (> 400 px/s) snaps to the next breakpoint above
|
|
1637
|
+
* 3. If dragged 40% below current snap point without fast upward flick, dismisses
|
|
1638
|
+
* 4. Otherwise, falls back to position-based snap (closest breakpoint)
|
|
1639
|
+
*
|
|
1640
|
+
* @param deltaY The change in Y position since gesture started
|
|
1641
|
+
* @param velocityY The velocity in pixels per millisecond
|
|
1642
|
+
* @param currentY The current Y position of the gesture
|
|
1643
|
+
* @returns The snap breakpoint value
|
|
1644
|
+
*/
|
|
1645
|
+
const calculateVelocitySnapBreakpoint = (deltaY, velocityY, currentY) => {
|
|
1646
|
+
// Convert velocity from px/ms to px/s for easier threshold comparison
|
|
1647
|
+
const velocityYPerSecond = velocityY * 1000;
|
|
1648
|
+
// Calculate current progress (0 = fully closed, 1 = fully expanded)
|
|
1649
|
+
const currentProgress = calculateProgress(currentY);
|
|
1650
|
+
// Rule 1: Fast downward flick always dismisses
|
|
1651
|
+
if (velocityYPerSecond > 500) {
|
|
1652
|
+
return minBreakpoint;
|
|
1653
|
+
}
|
|
1654
|
+
// Rule 2: Fast upward flick moves to next breakpoint above
|
|
1655
|
+
if (velocityYPerSecond < -400) {
|
|
1656
|
+
// Find next breakpoint above current position
|
|
1657
|
+
const nextBreakpoint = breakpoints.find((bp) => bp > currentProgress);
|
|
1658
|
+
// If no breakpoint above, stay at max breakpoint
|
|
1659
|
+
return nextBreakpoint ?? maxBreakpoint;
|
|
1660
|
+
}
|
|
1661
|
+
// Rule 3: 40% dismissal rule (only if not flicking up and 0 breakpoint exists)
|
|
1662
|
+
if (minBreakpoint === 0 && currentBreakpoint > 0) {
|
|
1663
|
+
// Calculate how far we've moved below the current snap point
|
|
1664
|
+
const distanceBelowSnap = currentBreakpoint - currentProgress;
|
|
1665
|
+
const percentageBelowSnap = distanceBelowSnap / currentBreakpoint;
|
|
1666
|
+
// If dragged more than 40% below and not flicking up, dismiss
|
|
1667
|
+
if (percentageBelowSnap > 0.4 && velocityYPerSecond <= 400) {
|
|
1668
|
+
return 0;
|
|
1669
|
+
}
|
|
1670
|
+
}
|
|
1671
|
+
// Rule 4: Fallback to position-based snap (existing logic)
|
|
1672
|
+
return calculatePositionSnapBreakpoint(deltaY);
|
|
1673
|
+
};
|
|
1565
1674
|
/**
|
|
1566
1675
|
* Calculates the progress of the swipe gesture.
|
|
1567
1676
|
*
|
|
@@ -1632,7 +1741,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1632
1741
|
*/
|
|
1633
1742
|
return viewportBottom - activeHeight;
|
|
1634
1743
|
};
|
|
1635
|
-
const gesture = index$
|
|
1744
|
+
const gesture = index$2.createGesture({
|
|
1636
1745
|
el: wrapperEl,
|
|
1637
1746
|
gestureName: 'modalSheet',
|
|
1638
1747
|
gesturePriority: 40,
|
|
@@ -1678,7 +1787,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1678
1787
|
if (cachedRootSafeAreaTop !== null) {
|
|
1679
1788
|
return cachedRootSafeAreaTop;
|
|
1680
1789
|
}
|
|
1681
|
-
const doc =
|
|
1790
|
+
const doc = index.win?.document;
|
|
1682
1791
|
if (!doc?.body) {
|
|
1683
1792
|
return 0;
|
|
1684
1793
|
}
|
|
@@ -1704,7 +1813,7 @@ const getRootSafeAreaTop = () => {
|
|
|
1704
1813
|
* that read and the observer starting is still reported.
|
|
1705
1814
|
*/
|
|
1706
1815
|
const onRootSafeAreaTopChange = (callback) => {
|
|
1707
|
-
return helpers.onCustomPropertyChange(
|
|
1816
|
+
return helpers.onCustomPropertyChange(index.win?.document?.body, '--ion-safe-area-top', callback, getRootSafeAreaTop());
|
|
1708
1817
|
};
|
|
1709
1818
|
/**
|
|
1710
1819
|
* Determines which viewport axes the modal spans so safe-area requirements
|
|
@@ -1721,8 +1830,8 @@ const onRootSafeAreaTopChange = (callback) => {
|
|
|
1721
1830
|
*/
|
|
1722
1831
|
const getModalCoveredAxes = (hostEl) => {
|
|
1723
1832
|
const styles = getComputedStyle(hostEl);
|
|
1724
|
-
const width =
|
|
1725
|
-
const height =
|
|
1833
|
+
const width = overlays.getOverlaySizeType(styles.getPropertyValue('--width'));
|
|
1834
|
+
const height = overlays.getOverlaySizeType(styles.getPropertyValue('--height'));
|
|
1726
1835
|
if (width === 'fullscreen' && height === 'fullscreen') {
|
|
1727
1836
|
return { vertical: true, horizontal: true };
|
|
1728
1837
|
}
|
|
@@ -1742,7 +1851,7 @@ const getModalCoveredAxes = (hostEl) => {
|
|
|
1742
1851
|
*/
|
|
1743
1852
|
const measureCoveredAxes = (hostEl) => {
|
|
1744
1853
|
const wrapperEl = hostEl.shadowRoot?.querySelector('.modal-wrapper');
|
|
1745
|
-
if (wrapperEl == null ||
|
|
1854
|
+
if (wrapperEl == null || index.win === undefined) {
|
|
1746
1855
|
return { vertical: false, horizontal: false };
|
|
1747
1856
|
}
|
|
1748
1857
|
const wasHidden = hostEl.classList.contains('overlay-hidden');
|
|
@@ -1754,8 +1863,8 @@ const measureCoveredAxes = (hostEl) => {
|
|
|
1754
1863
|
hostEl.classList.add('overlay-hidden');
|
|
1755
1864
|
}
|
|
1756
1865
|
return {
|
|
1757
|
-
vertical: height >=
|
|
1758
|
-
horizontal: width >=
|
|
1866
|
+
vertical: height >= index.win.innerHeight - EDGE_THRESHOLD,
|
|
1867
|
+
horizontal: width >= index.win.innerWidth - EDGE_THRESHOLD,
|
|
1759
1868
|
};
|
|
1760
1869
|
};
|
|
1761
1870
|
/**
|
|
@@ -1824,8 +1933,8 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1824
1933
|
*/
|
|
1825
1934
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1826
1935
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1827
|
-
const vh =
|
|
1828
|
-
const vw =
|
|
1936
|
+
const vh = index.win?.innerHeight ?? 0;
|
|
1937
|
+
const vw = index.win?.innerWidth ?? 0;
|
|
1829
1938
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1830
1939
|
return {
|
|
1831
1940
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1858,28 +1967,30 @@ const clearSafeAreaOverrides = (hostEl) => {
|
|
|
1858
1967
|
hostEl.style.removeProperty('--ion-safe-area-right');
|
|
1859
1968
|
};
|
|
1860
1969
|
|
|
1861
|
-
const
|
|
1970
|
+
const modalIonicCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--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{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--box-shadow:var(--token-elevation-3, var(--token-shadow-offset-0, 0px) var(--token-shadow-offset-6, 6px) var(--token-shadow-blur-32, 32px) var(--token-shadow-spread-0, 0px) var(--token-shadow-6, rgba(0, 0, 0, 0.1607843137)), var(--token-shadow-offset-0, 0px) var(--token-shadow-offset-2, 2px) var(--token-shadow-blur-7, 7px) var(--token-shadow-spread-0, 0px) var(--token-shadow-2, rgba(0, 0, 0, 0.0509803922)));--backdrop-opacity:0.7;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242528))}:host(.modal-round){--border-radius:var(--token-border-radius-1000, var(--token-scale-1000, 40px))}:host(.modal-soft){--border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}:host(.modal-rectangular){--border-radius:var(--token-border-radius-0, var(--token-scale-0, 0px))}:host(.select-modal.modal-default){--max-height:45%;--max-width:calc(100% - (var(--token-space-400, var(--token-scale-400, 16px)) * 2));--min-height:340px}.modal-handle{right:0px;left:0px;top:var(--token-space-300, var(--token-scale-300, 12px));border-radius:var(--token-border-radius-100, var(--token-scale-100, 4px));width:var(--token-scale-1100, 44px);height:var(--token-scale-100, 4px);background-color:var(--token-primitives-neutral-300, #e6eaee)}.modal-handle::before{-webkit-padding-start:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-start:var(--token-space-100, var(--token-scale-100, 4px));-webkit-padding-end:var(--token-space-100, var(--token-scale-100, 4px));padding-inline-end:var(--token-space-100, var(--token-scale-100, 4px));padding-top:var(--token-space-100, var(--token-scale-100, 4px));padding-bottom:var(--token-space-100, var(--token-scale-100, 4px))}: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}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + var(--token-scale-250, 10px)))}`;
|
|
1862
1971
|
|
|
1863
|
-
const
|
|
1972
|
+
const modalIosCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--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{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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.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}`;
|
|
1973
|
+
|
|
1974
|
+
const modalMdCss = () => `:host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:100%;--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{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;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}`;
|
|
1864
1975
|
|
|
1865
1976
|
const Modal = class {
|
|
1866
1977
|
constructor(hostRef) {
|
|
1867
|
-
index$
|
|
1868
|
-
this.didPresent = index$
|
|
1869
|
-
this.willPresent = index$
|
|
1870
|
-
this.willDismiss = index$
|
|
1871
|
-
this.didDismiss = index$
|
|
1872
|
-
this.ionBreakpointDidChange = index$
|
|
1873
|
-
this.didPresentShorthand = index$
|
|
1874
|
-
this.willPresentShorthand = index$
|
|
1875
|
-
this.willDismissShorthand = index$
|
|
1876
|
-
this.didDismissShorthand = index$
|
|
1877
|
-
this.ionMount = index$
|
|
1878
|
-
this.ionDragStart = index$
|
|
1879
|
-
this.ionDragMove = index$
|
|
1880
|
-
this.ionDragEnd = index$
|
|
1978
|
+
index$3.registerInstance(this, hostRef);
|
|
1979
|
+
this.didPresent = index$3.createEvent(this, "ionModalDidPresent", 7);
|
|
1980
|
+
this.willPresent = index$3.createEvent(this, "ionModalWillPresent", 7);
|
|
1981
|
+
this.willDismiss = index$3.createEvent(this, "ionModalWillDismiss", 7);
|
|
1982
|
+
this.didDismiss = index$3.createEvent(this, "ionModalDidDismiss", 7);
|
|
1983
|
+
this.ionBreakpointDidChange = index$3.createEvent(this, "ionBreakpointDidChange", 7);
|
|
1984
|
+
this.didPresentShorthand = index$3.createEvent(this, "didPresent", 7);
|
|
1985
|
+
this.willPresentShorthand = index$3.createEvent(this, "willPresent", 7);
|
|
1986
|
+
this.willDismissShorthand = index$3.createEvent(this, "willDismiss", 7);
|
|
1987
|
+
this.didDismissShorthand = index$3.createEvent(this, "didDismiss", 7);
|
|
1988
|
+
this.ionMount = index$3.createEvent(this, "ionMount", 7);
|
|
1989
|
+
this.ionDragStart = index$3.createEvent(this, "ionDragStart", 7);
|
|
1990
|
+
this.ionDragMove = index$3.createEvent(this, "ionDragMove", 7);
|
|
1991
|
+
this.ionDragEnd = index$3.createEvent(this, "ionDragEnd", 7);
|
|
1881
1992
|
this.lockController = lockController.createLockController();
|
|
1882
|
-
this.triggerController =
|
|
1993
|
+
this.triggerController = overlays.createTriggerController();
|
|
1883
1994
|
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
1884
1995
|
this.isSheetModal = false;
|
|
1885
1996
|
this.inheritedAttributes = {};
|
|
@@ -2025,7 +2136,7 @@ const Modal = class {
|
|
|
2025
2136
|
*/
|
|
2026
2137
|
return;
|
|
2027
2138
|
}
|
|
2028
|
-
this.dismiss(undefined,
|
|
2139
|
+
this.dismiss(undefined, overlays.BACKDROP);
|
|
2029
2140
|
};
|
|
2030
2141
|
this.onLifecycle = (modalEvent) => {
|
|
2031
2142
|
const el = this.usersElement;
|
|
@@ -2123,7 +2234,7 @@ const Modal = class {
|
|
|
2123
2234
|
}
|
|
2124
2235
|
connectedCallback() {
|
|
2125
2236
|
const { el } = this;
|
|
2126
|
-
|
|
2237
|
+
overlays.prepareOverlay(el);
|
|
2127
2238
|
this.triggerChanged();
|
|
2128
2239
|
// A disconnect tears down state this presentation still needs and cannot
|
|
2129
2240
|
// tell a re-insert from a removal, so put it back.
|
|
@@ -2133,7 +2244,7 @@ const Modal = class {
|
|
|
2133
2244
|
// A relocation from `willPresent` reaches these before `present()` has
|
|
2134
2245
|
// applied the lock, so they apply it instead. Both are idempotent.
|
|
2135
2246
|
if (this.presented) {
|
|
2136
|
-
|
|
2247
|
+
overlays.restoreRootFocusTrapAccessibility(el);
|
|
2137
2248
|
this.initParentRemovalObserver();
|
|
2138
2249
|
}
|
|
2139
2250
|
}
|
|
@@ -2146,7 +2257,7 @@ const Modal = class {
|
|
|
2146
2257
|
this.cleanupSafeAreaOverrides();
|
|
2147
2258
|
// Clean up aria-hidden if removed without dismiss() being called
|
|
2148
2259
|
if (this.presented) {
|
|
2149
|
-
|
|
2260
|
+
overlays.cleanupRootFocusTrapAccessibility();
|
|
2150
2261
|
}
|
|
2151
2262
|
}
|
|
2152
2263
|
componentWillLoad() {
|
|
@@ -2196,10 +2307,10 @@ const Modal = class {
|
|
|
2196
2307
|
this.currentBreakpoint = this.initialBreakpoint;
|
|
2197
2308
|
}
|
|
2198
2309
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2199
|
-
index$
|
|
2310
|
+
index$3.printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2200
2311
|
}
|
|
2201
2312
|
if (!this.htmlAttributes?.id) {
|
|
2202
|
-
|
|
2313
|
+
overlays.setOverlayId(this.el);
|
|
2203
2314
|
}
|
|
2204
2315
|
}
|
|
2205
2316
|
componentDidLoad() {
|
|
@@ -2296,7 +2407,7 @@ const Modal = class {
|
|
|
2296
2407
|
* get the transition incorrect.
|
|
2297
2408
|
*/
|
|
2298
2409
|
if (helpers.hasLazyBuild(el)) {
|
|
2299
|
-
await index$
|
|
2410
|
+
await index$4.deepReady(this.usersElement);
|
|
2300
2411
|
/**
|
|
2301
2412
|
* If keepContentsMounted="true" then the
|
|
2302
2413
|
* JS Framework has already mounted the inner
|
|
@@ -2307,9 +2418,9 @@ const Modal = class {
|
|
|
2307
2418
|
*/
|
|
2308
2419
|
}
|
|
2309
2420
|
else if (!this.keepContentsMounted) {
|
|
2310
|
-
await index$
|
|
2421
|
+
await index$4.waitForMount();
|
|
2311
2422
|
}
|
|
2312
|
-
index$
|
|
2423
|
+
index$3.writeTask(() => this.el.classList.add('show-modal'));
|
|
2313
2424
|
// Recalculate isSheetModal before safe-area setup because framework
|
|
2314
2425
|
// bindings (e.g., Angular) may not have been applied when componentWillLoad ran.
|
|
2315
2426
|
this.isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
@@ -2330,11 +2441,12 @@ const Modal = class {
|
|
|
2330
2441
|
this.statusBarStyle = await StatusBar.getStyle();
|
|
2331
2442
|
setCardStatusBarDark();
|
|
2332
2443
|
}
|
|
2333
|
-
await
|
|
2444
|
+
await overlays.present(this, 'modalEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
|
|
2334
2445
|
presentingEl: presentingElement,
|
|
2335
2446
|
currentBreakpoint: this.initialBreakpoint,
|
|
2336
2447
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2337
2448
|
expandToScroll: this.expandToScroll,
|
|
2449
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2338
2450
|
});
|
|
2339
2451
|
}
|
|
2340
2452
|
finally {
|
|
@@ -2395,14 +2507,14 @@ const Modal = class {
|
|
|
2395
2507
|
// All of the elements needed for the swipe gesture
|
|
2396
2508
|
// should be in the DOM and referenced by now, except
|
|
2397
2509
|
// for the presenting el
|
|
2398
|
-
const animationBuilder = this.leaveAnimation || index$
|
|
2510
|
+
const animationBuilder = this.leaveAnimation || index$3.config.get('modalLeave', iosLeaveAnimation);
|
|
2399
2511
|
const ani = (this.animation = animationBuilder(el, {
|
|
2400
2512
|
presentingEl: this.presentingElement,
|
|
2401
2513
|
expandToScroll: this.expandToScroll,
|
|
2402
2514
|
}));
|
|
2403
|
-
const contentEl = index.findIonContent(el);
|
|
2515
|
+
const contentEl = index$1.findIonContent(el);
|
|
2404
2516
|
if (!contentEl) {
|
|
2405
|
-
index.printIonContentErrorMsg(el);
|
|
2517
|
+
index$1.printIonContentErrorMsg(el);
|
|
2406
2518
|
return;
|
|
2407
2519
|
}
|
|
2408
2520
|
const statusBarStyle = this.statusBarStyle ?? Style.Default;
|
|
@@ -2414,12 +2526,13 @@ const Modal = class {
|
|
|
2414
2526
|
if (!wrapperEl || initialBreakpoint === undefined) {
|
|
2415
2527
|
return;
|
|
2416
2528
|
}
|
|
2417
|
-
const animationBuilder = this.enterAnimation || index$
|
|
2529
|
+
const animationBuilder = this.enterAnimation || index$3.config.get('modalEnter', iosEnterAnimation);
|
|
2418
2530
|
const ani = (this.animation = animationBuilder(this.el, {
|
|
2419
2531
|
presentingEl: this.presentingElement,
|
|
2420
2532
|
currentBreakpoint: initialBreakpoint,
|
|
2421
2533
|
backdropBreakpoint,
|
|
2422
2534
|
expandToScroll: this.expandToScroll,
|
|
2535
|
+
staticBackdropOpacity: ionicGlobal.getIonTheme(this) === 'ionic',
|
|
2423
2536
|
}));
|
|
2424
2537
|
ani.progressStart(true, 1);
|
|
2425
2538
|
const { gesture, moveSheetToBreakpoint, resetContentScroll } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => this.currentBreakpoint ?? 0, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
@@ -2427,7 +2540,7 @@ const Modal = class {
|
|
|
2427
2540
|
this.currentBreakpoint = breakpoint;
|
|
2428
2541
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
2429
2542
|
}
|
|
2430
|
-
}, () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2543
|
+
}, ionicGlobal.getIonTheme(this) === 'ionic', () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2431
2544
|
this.gesture = gesture;
|
|
2432
2545
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
2433
2546
|
this.resetSheetContentScroll = resetContentScroll;
|
|
@@ -2517,7 +2630,7 @@ const Modal = class {
|
|
|
2517
2630
|
this.animation.onFinish(async () => {
|
|
2518
2631
|
this.currentBreakpoint = 0;
|
|
2519
2632
|
this.ionBreakpointDidChange.emit({ breakpoint: this.currentBreakpoint });
|
|
2520
|
-
await this.dismiss(undefined,
|
|
2633
|
+
await this.dismiss(undefined, overlays.GESTURE);
|
|
2521
2634
|
this.gestureAnimationDismissing = false;
|
|
2522
2635
|
});
|
|
2523
2636
|
}
|
|
@@ -2543,7 +2656,7 @@ const Modal = class {
|
|
|
2543
2656
|
*/
|
|
2544
2657
|
setCardStatusBarDefault(this.statusBarStyle);
|
|
2545
2658
|
this.animation.onFinish(async () => {
|
|
2546
|
-
await this.dismiss(undefined,
|
|
2659
|
+
await this.dismiss(undefined, overlays.GESTURE);
|
|
2547
2660
|
this.gestureAnimationDismissing = false;
|
|
2548
2661
|
});
|
|
2549
2662
|
}
|
|
@@ -2558,7 +2671,7 @@ const Modal = class {
|
|
|
2558
2671
|
* For example, `cancel` or `backdrop`.
|
|
2559
2672
|
*/
|
|
2560
2673
|
async dismiss(data, role) {
|
|
2561
|
-
if (this.gestureAnimationDismissing && role !==
|
|
2674
|
+
if (this.gestureAnimationDismissing && role !== overlays.GESTURE) {
|
|
2562
2675
|
return false;
|
|
2563
2676
|
}
|
|
2564
2677
|
// Cancel any pending resize timeout to prevent stale updates during dismiss
|
|
@@ -2600,7 +2713,7 @@ const Modal = class {
|
|
|
2600
2713
|
window.removeEventListener(keyboard.KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
2601
2714
|
this.keyboardOpenCallback = undefined;
|
|
2602
2715
|
}
|
|
2603
|
-
const dismissed = await
|
|
2716
|
+
const dismissed = await overlays.dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
2604
2717
|
presentingEl: presentingElement,
|
|
2605
2718
|
currentBreakpoint: this.currentBreakpoint ?? this.initialBreakpoint,
|
|
2606
2719
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
@@ -2609,7 +2722,7 @@ const Modal = class {
|
|
|
2609
2722
|
if (dismissed) {
|
|
2610
2723
|
const { delegate } = this.getDelegate();
|
|
2611
2724
|
await frameworkDelegate.detachComponent(delegate, this.usersElement);
|
|
2612
|
-
index$
|
|
2725
|
+
index$3.writeTask(() => this.el.classList.remove('show-modal'));
|
|
2613
2726
|
if (this.animation) {
|
|
2614
2727
|
this.animation.destroy();
|
|
2615
2728
|
}
|
|
@@ -2637,13 +2750,13 @@ const Modal = class {
|
|
|
2637
2750
|
* Returns a promise that resolves when the modal did dismiss.
|
|
2638
2751
|
*/
|
|
2639
2752
|
onDidDismiss() {
|
|
2640
|
-
return
|
|
2753
|
+
return overlays.eventMethod(this.el, 'ionModalDidDismiss');
|
|
2641
2754
|
}
|
|
2642
2755
|
/**
|
|
2643
2756
|
* Returns a promise that resolves when the modal will dismiss.
|
|
2644
2757
|
*/
|
|
2645
2758
|
onWillDismiss() {
|
|
2646
|
-
return
|
|
2759
|
+
return overlays.eventMethod(this.el, 'ionModalWillDismiss');
|
|
2647
2760
|
}
|
|
2648
2761
|
/**
|
|
2649
2762
|
* Move a sheet style modal to a specific breakpoint.
|
|
@@ -2653,11 +2766,11 @@ const Modal = class {
|
|
|
2653
2766
|
*/
|
|
2654
2767
|
async setCurrentBreakpoint(breakpoint) {
|
|
2655
2768
|
if (!this.isSheetModal) {
|
|
2656
|
-
index$
|
|
2769
|
+
index$3.printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
|
|
2657
2770
|
return;
|
|
2658
2771
|
}
|
|
2659
2772
|
if (!this.breakpoints.includes(breakpoint)) {
|
|
2660
|
-
index$
|
|
2773
|
+
index$3.printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
|
|
2661
2774
|
return;
|
|
2662
2775
|
}
|
|
2663
2776
|
const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
|
|
@@ -2702,6 +2815,18 @@ const Modal = class {
|
|
|
2702
2815
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2703
2816
|
return true;
|
|
2704
2817
|
}
|
|
2818
|
+
getShape() {
|
|
2819
|
+
const theme = ionicGlobal.getIonTheme(this);
|
|
2820
|
+
const { shape } = this;
|
|
2821
|
+
// TODO(ROU-11167): Remove theme check when shapes are defined for all themes.
|
|
2822
|
+
if (theme !== 'ionic') {
|
|
2823
|
+
return undefined;
|
|
2824
|
+
}
|
|
2825
|
+
if (shape === undefined) {
|
|
2826
|
+
return 'round';
|
|
2827
|
+
}
|
|
2828
|
+
return shape;
|
|
2829
|
+
}
|
|
2705
2830
|
initViewTransitionListener() {
|
|
2706
2831
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2707
2832
|
if (ionicGlobal.getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -3094,24 +3219,26 @@ const Modal = class {
|
|
|
3094
3219
|
render() {
|
|
3095
3220
|
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
3096
3221
|
const showHandle = handle !== false && isSheetModal;
|
|
3097
|
-
const
|
|
3098
|
-
const isCardModal = presentingElement !== undefined &&
|
|
3222
|
+
const theme$1 = ionicGlobal.getIonTheme(this);
|
|
3223
|
+
const isCardModal = presentingElement !== undefined && theme$1 === 'ios';
|
|
3099
3224
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3225
|
+
const shape = this.getShape();
|
|
3100
3226
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
3101
|
-
return (index$
|
|
3227
|
+
return (index$3.h(index$3.Host, { key: 'd7d9e9f103fb1ac669da34819e6f460316cffa48', "no-router": true,
|
|
3102
3228
|
// Allow the modal to be navigable when the handle is focusable
|
|
3103
3229
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1, ...htmlAttributes, style: {
|
|
3104
3230
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
3105
3231
|
}, class: {
|
|
3106
|
-
[
|
|
3232
|
+
[theme$1]: true,
|
|
3107
3233
|
['modal-default']: !isCardModal && !isSheetModal,
|
|
3108
3234
|
[`modal-card`]: isCardModal,
|
|
3109
3235
|
[`modal-sheet`]: isSheetModal,
|
|
3236
|
+
[`modal-${shape}`]: shape !== undefined,
|
|
3110
3237
|
[`modal-no-expand-scroll`]: isSheetModal && !expandToScroll,
|
|
3111
3238
|
'overlay-hidden': true,
|
|
3112
|
-
[
|
|
3239
|
+
[overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
3113
3240
|
...theme.getClassMap(this.cssClass),
|
|
3114
|
-
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, index$
|
|
3241
|
+
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, index$3.h("ion-backdrop", { key: '030d13dadaef45a24fd694478cf6583a637b9e9e', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme$1 === 'ios' && index$3.h("div", { key: '111f4df167615ee37f6db3f1000f6bd1a6b25fee', class: "modal-shadow" }), index$3.h("div", { key: '2720518be4e2701a5641f31e3f13336778f2fdbb',
|
|
3115
3242
|
/*
|
|
3116
3243
|
role and aria-modal must be used on the
|
|
3117
3244
|
same element. They must also be set inside the
|
|
@@ -3124,11 +3251,11 @@ const Modal = class {
|
|
|
3124
3251
|
without the tabindex focus() would be a no-op and screen readers
|
|
3125
3252
|
may not properly announce the dialog and its content when it opens.
|
|
3126
3253
|
*/
|
|
3127
|
-
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (index$
|
|
3254
|
+
role: "dialog", ...inheritedAttributes, "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }, showHandle && (index$3.h("button", { key: '7b8d765349e94315383e15c59ae55bbf92b7834a', class: "modal-handle",
|
|
3128
3255
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
3129
|
-
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) })), index$
|
|
3256
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", "data-focus-order": "1", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: 'fb952f2216991352c002b796933d3dbee1397051', onSlotchange: this.onSlotChange }))));
|
|
3130
3257
|
}
|
|
3131
|
-
get el() { return index$
|
|
3258
|
+
get el() { return index$3.getElement(this); }
|
|
3132
3259
|
static get watchers() { return {
|
|
3133
3260
|
"isOpen": [{
|
|
3134
3261
|
"onIsOpenChange": 0
|
|
@@ -3148,6 +3275,7 @@ const LIFECYCLE_MAP = {
|
|
|
3148
3275
|
ionModalDidDismiss: 'ionViewDidLeave',
|
|
3149
3276
|
};
|
|
3150
3277
|
Modal.style = {
|
|
3278
|
+
ionic: modalIonicCss(),
|
|
3151
3279
|
ios: modalIosCss(),
|
|
3152
3280
|
md: modalMdCss()
|
|
3153
3281
|
};
|