@ionic/core 8.8.19-dev.11787076261.138d5922 → 8.8.19-dev.11787084784.17cf25cf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- 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-DV85C0e0.js → p--JUspHvy.js} +1 -1
- package/components/p-A3O24YmY.js +4 -0
- package/components/p-ABkNVeU9.js +4 -0
- package/components/p-B-JJgYSG.js +4 -0
- package/components/p-B9jFTlwE.js +4 -0
- package/components/p-BLmJ0zRm.js +4 -0
- package/components/p-BMI53wYL.js +4 -0
- package/components/p-BSEgsdFI.js +4 -0
- package/components/p-BTEOs1at.js +4 -0
- package/components/{p-DwpKZ6rl.js → p-BkKAANMJ.js} +1 -1
- package/components/p-BlIAuGv2.js +4 -0
- package/components/p-Bnsn6KaP.js +4 -0
- package/components/p-BsBCoGa-.js +4 -0
- package/components/p-Bz0dSlXZ.js +4 -0
- package/components/p-C53feagD.js +4 -0
- package/components/p-CHqRYvYm.js +4 -0
- package/components/p-CQGnMY3n.js +4 -0
- package/components/p-CSZf8_j0.js +4 -0
- package/components/{p-30_sZS2V.js → p-C_hpsif8.js} +1 -1
- package/components/p-C_xFdyXe.js +4 -0
- package/components/p-Cf2jSDS8.js +4 -0
- package/components/p-Cfx4M1Bn.js +4 -0
- package/components/{p-J-p0EtHR.js → p-ChIZKXUu.js} +1 -1
- package/components/p-CkMSOsFF.js +4 -0
- package/components/p-Cl0B-RWe.js +4 -0
- package/components/p-CmR5uXej.js +4 -0
- package/components/p-Cp4GRDqq.js +4 -0
- package/components/p-CsNJ1ULL.js +4 -0
- package/components/p-CtWGkNnJ.js +4 -0
- package/components/p-CzCbeKys.js +4 -0
- package/components/p-D-aHdMxW.js +4 -0
- package/components/p-D0d8qTwj.js +4 -0
- package/components/p-D13Eaw-8.js +4 -0
- package/components/{p-BpG8kBfD.js → p-D3xo7hqU.js} +1 -1
- package/components/p-D6Ynv7Xh.js +4 -0
- package/components/{p-_0JhwClE.js → p-D7uN07a3.js} +1 -1
- package/components/p-DCnGU1fF.js +4 -0
- package/components/p-DGvrK8dD.js +4 -0
- package/components/p-DOFCbuQR.js +4 -0
- package/components/p-DRxvM2Ic.js +4 -0
- package/components/p-DV5mPYQS.js +4 -0
- package/components/p-DWkAgceV.js +4 -0
- package/components/p-DiVJyqlX.js +4 -0
- package/components/{p-ryyf_ItD.js → p-DqLB8yFQ.js} +1 -1
- package/components/p-DqZAXv2t.js +4 -0
- package/components/p-Osve4qkc.js +4 -0
- package/components/p-R8zmRi4c.js +4 -0
- package/components/p-SLS1rDZM.js +4 -0
- package/components/p-aJ6PBUvj.js +4 -0
- package/components/p-cyNmxje6.js +4 -0
- package/components/p-gAg0kXZp.js +4 -0
- package/components/p-gYiraiT_.js +4 -0
- package/components/p-j5IxBIan.js +4 -0
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/p-oD4kcBRX.js +4 -0
- package/components/p-rCa2eL0j.js +4 -0
- package/components/p-vRBNsYbs.js +4 -0
- package/components/p-yEQxMl70.js +4 -0
- package/components/p-yzCsOZE2.js +4 -0
- package/dist/cjs/{animation-C0mOHzej.js → animation-Ch16T-Nb.js} +4 -4
- package/dist/cjs/{app-globals-BREG4twP.js → app-globals-Dd89e0MR.js} +1 -1
- package/dist/cjs/{button-active-BKj1rdFx.js → button-active-COnxOe4X.js} +3 -3
- package/dist/cjs/config-D6C-KlA9.js +201 -0
- package/dist/cjs/{dir-Brx7VkvP.js → dir-Cn0z1rJH.js} +1 -1
- package/dist/cjs/{format-pp0Du3K-.js → format-BUFWn4Bn.js} +30 -40
- package/dist/cjs/{framework-delegate-NTLQ5YzV.js → framework-delegate-BgU6U9Ez.js} +7 -5
- package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
- package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-ClPPQ_PS.js} +3 -2
- package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-CXmUnTJC.js} +4 -4
- package/dist/cjs/{helpers-CaLhEmTE.js → helpers-gntk8bfm.js} +3 -3
- package/dist/cjs/{index-Ck9advCT.js → index-BS2uhvhT.js} +5 -5
- package/dist/cjs/{index-uvry__L4.js → index-BfaXsATC.js} +14 -31
- package/dist/cjs/{index-BlshL9ib.js → index-BhhuJ1Yx.js} +2 -2
- package/dist/cjs/{index-D48vawBq.js → index-BiRrzGDi.js} +2 -2
- package/dist/cjs/{index-P1nQxrpZ.js → index-CAvQ7Tka.js} +4 -10
- package/dist/cjs/{index-wOmugbdg.js → index-DqmRDbxg.js} +1 -1
- package/dist/cjs/{index-D2X6b92x.js → index-ooS8B4p9.js} +7 -6
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{input-shims-DvHAFqiP.js → input-shims-Bn1cXfCM.js} +11 -9
- package/dist/cjs/input.utils-BwhxZooW.js +150 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +340 -368
- package/dist/cjs/ion-action-sheet.cjs.entry.js +76 -187
- package/dist/cjs/ion-alert.cjs.entry.js +111 -273
- package/dist/cjs/ion-app_8.cjs.entry.js +190 -307
- package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -10
- package/dist/cjs/ion-back-button.cjs.entry.js +23 -47
- package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +121 -199
- package/dist/cjs/ion-button_2.cjs.entry.js +66 -138
- package/dist/cjs/ion-card_5.cjs.entry.js +30 -82
- package/dist/cjs/ion-checkbox.cjs.entry.js +101 -152
- package/dist/cjs/ion-chip.cjs.entry.js +11 -17
- package/dist/cjs/ion-col_3.cjs.entry.js +10 -134
- package/dist/cjs/ion-datetime-button.cjs.entry.js +241 -253
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3167 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +81 -139
- package/dist/cjs/ion-img.cjs.entry.js +12 -34
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +72 -100
- package/dist/cjs/ion-input-otp.cjs.entry.js +372 -435
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +22 -36
- package/dist/cjs/ion-input.cjs.entry.js +211 -343
- package/dist/cjs/ion-item-option_3.cjs.entry.js +54 -94
- package/dist/cjs/ion-item_8.cjs.entry.js +92 -191
- package/dist/cjs/ion-loading.cjs.entry.js +60 -146
- package/dist/cjs/ion-menu_3.cjs.entry.js +106 -168
- package/dist/cjs/ion-modal.cjs.entry.js +261 -455
- package/dist/cjs/ion-nav_2.cjs.entry.js +158 -101
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +33 -37
- package/dist/cjs/ion-picker-column.cjs.entry.js +405 -417
- package/dist/cjs/ion-picker.cjs.entry.js +392 -401
- package/dist/cjs/ion-popover.cjs.entry.js +205 -319
- package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -31
- package/dist/cjs/ion-radio_2.cjs.entry.js +134 -207
- package/dist/cjs/ion-range.cjs.entry.js +245 -302
- package/dist/cjs/ion-refresher_2.cjs.entry.js +93 -165
- package/dist/cjs/ion-reorder_2.cjs.entry.js +23 -53
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
- package/dist/cjs/ion-route_4.cjs.entry.js +71 -175
- package/dist/cjs/ion-searchbar.cjs.entry.js +200 -291
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +17 -28
- package/dist/cjs/ion-segment_2.cjs.entry.js +126 -169
- package/dist/cjs/ion-select-modal.cjs.entry.js +48 -104
- package/dist/cjs/ion-select_3.cjs.entry.js +260 -787
- package/dist/cjs/ion-spinner.cjs.entry.js +10 -24
- package/dist/cjs/ion-split-pane.cjs.entry.js +16 -29
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +41 -100
- package/dist/cjs/ion-tab_2.cjs.entry.js +27 -53
- package/dist/cjs/ion-text.cjs.entry.js +5 -11
- package/dist/cjs/ion-textarea.cjs.entry.js +188 -296
- package/dist/cjs/ion-toast.cjs.entry.js +117 -236
- package/dist/cjs/ion-toggle.cjs.entry.js +122 -175
- package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-BerQGEpE.js} +8 -13
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-KvuRAe2W.js → ios.transition-IMJRwn29.js} +17 -13
- package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-jOJZE_I0.js} +1 -1
- package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-UuAS4D_9.js} +2 -2
- package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-GXBiBRKS.js} +6 -6
- package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-hHzlEQpk.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-Bjl5Ozph.js → md.transition-CgQZxcoT.js} +8 -7
- package/dist/cjs/notch-controller-_SwR025y.js +155 -0
- package/dist/cjs/{overlays-IlP4H2Gn.js → overlays-DuSEMhIW.js} +33 -48
- package/dist/cjs/{status-tap-BR_ujYHg.js → status-tap-CSvBT7FV.js} +3 -3
- package/dist/cjs/{swipe-back-DzQKEl5g.js → swipe-back-CuIiziaa.js} +5 -5
- package/dist/cjs/{theme-Bw0rpaNN.js → theme-CeDs6Hcv.js} +1 -6
- package/dist/collection/collection-manifest.json +10 -6
- package/dist/collection/components/accordion/accordion.js +312 -315
- package/dist/collection/components/accordion-group/accordion-group.js +25 -48
- package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -228
- package/dist/collection/components/action-sheet/action-sheet.js +64 -173
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -174
- package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
- package/dist/collection/components/alert/alert.ios.css +10 -279
- package/dist/collection/components/alert/alert.js +97 -257
- package/dist/collection/components/alert/alert.md.css +20 -268
- package/dist/collection/components/app/app.js +0 -3
- package/dist/collection/components/back-button/back-button.js +19 -42
- package/dist/collection/components/backdrop/backdrop.js +14 -16
- package/dist/collection/components/badge/badge.js +0 -6
- package/dist/collection/components/breadcrumb/breadcrumb.js +30 -91
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +88 -103
- package/dist/collection/components/button/button.js +61 -132
- package/dist/collection/components/buttons/buttons.js +15 -13
- package/dist/collection/components/card/card.js +21 -54
- package/dist/collection/components/card-header/card-header.js +8 -12
- package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
- package/dist/collection/components/card-title/card-title.js +0 -6
- package/dist/collection/components/checkbox/checkbox.js +97 -147
- package/dist/collection/components/chip/chip.js +10 -14
- package/dist/collection/components/col/col.js +3 -127
- package/dist/collection/components/content/content.js +64 -93
- package/dist/collection/components/datetime/datetime.ios.css +2 -42
- package/dist/collection/components/datetime/datetime.js +816 -1051
- package/dist/collection/components/datetime/datetime.md.css +1 -42
- package/dist/collection/components/datetime/utils/data.js +14 -13
- package/dist/collection/components/datetime/utils/format.js +11 -21
- package/dist/collection/components/datetime/utils/manipulation.js +8 -8
- package/dist/collection/components/datetime/utils/parse.js +10 -10
- package/dist/collection/components/datetime/utils/state.js +2 -8
- package/dist/collection/components/datetime/utils/validate.js +5 -4
- package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -5
- package/dist/collection/components/datetime-button/datetime-button.js +237 -247
- package/dist/collection/components/datetime-button/datetime-button.md.css +0 -5
- package/dist/collection/components/fab/fab.js +13 -20
- package/dist/collection/components/fab-button/fab-button.js +55 -104
- package/dist/collection/components/fab-list/fab-list.js +11 -10
- package/dist/collection/components/footer/footer.js +44 -50
- package/dist/collection/components/grid/grid.js +6 -4
- package/dist/collection/components/header/header.js +25 -35
- package/dist/collection/components/img/img.js +10 -34
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
- package/dist/collection/components/input/input.ios.css +26 -57
- package/dist/collection/components/input/input.js +206 -336
- package/dist/collection/components/input/input.md.css +43 -79
- package/dist/collection/components/input-otp/input-otp.js +368 -430
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +19 -32
- package/dist/collection/components/item/item.js +53 -99
- package/dist/collection/components/item-divider/item-divider.js +12 -17
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +22 -50
- package/dist/collection/components/item-options/item-options.js +8 -11
- package/dist/collection/components/item-sliding/item-sliding.js +21 -27
- package/dist/collection/components/label/label.js +6 -26
- package/dist/collection/components/list/list.js +8 -11
- package/dist/collection/components/list-header/list-header.js +2 -12
- package/dist/collection/components/loading/loading.js +51 -135
- package/dist/collection/components/menu/menu.js +61 -103
- package/dist/collection/components/menu-button/menu-button.js +21 -30
- package/dist/collection/components/menu-toggle/menu-toggle.js +15 -22
- package/dist/collection/components/modal/animations/ios.enter.js +1 -1
- package/dist/collection/components/modal/animations/md.enter.js +1 -1
- package/dist/collection/components/modal/gestures/sheet.js +10 -22
- package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
- package/dist/collection/components/modal/modal.js +228 -398
- package/dist/collection/components/modal/safe-area-utils.js +7 -6
- package/dist/collection/components/modal/test/fixtures.js +0 -3
- package/dist/collection/components/nav/nav.js +247 -69
- package/dist/collection/components/nav/view-controller.js +1 -7
- package/dist/collection/components/nav-link/nav-link.js +10 -21
- package/dist/collection/components/note/note.js +2 -8
- package/dist/collection/components/picker/picker.js +390 -398
- package/dist/collection/components/picker-column/picker-column.css +0 -3
- package/dist/collection/components/picker-column/picker-column.js +404 -414
- package/dist/collection/components/picker-column-option/picker-column-option.js +31 -33
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +1 -6
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
- package/dist/collection/components/picker-legacy/picker.js +890 -0
- package/dist/collection/components/picker-legacy/picker.md.css +287 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/animations/ios.enter.js +2 -1
- package/dist/collection/components/popover/animations/md.enter.js +2 -1
- package/dist/collection/components/popover/popover.ios.css +0 -15
- package/dist/collection/components/popover/popover.js +185 -302
- package/dist/collection/components/popover/popover.md.css +0 -15
- package/dist/collection/components/popover/test/fixture.js +0 -1
- package/dist/collection/components/popover/utils.js +6 -4
- package/dist/collection/components/progress-bar/progress-bar.js +23 -27
- package/dist/collection/components/radio/radio.js +66 -102
- package/dist/collection/components/radio-group/radio-group.js +66 -101
- package/dist/collection/components/radio-group/test/fixtures.js +0 -2
- package/dist/collection/components/range/range.js +240 -296
- package/dist/collection/components/refresher/refresher.js +78 -110
- package/dist/collection/components/refresher-content/refresher-content.js +4 -41
- package/dist/collection/components/reorder/reorder.js +1 -2
- package/dist/collection/components/reorder-group/reorder-group.js +15 -44
- package/dist/collection/components/ripple-effect/ripple-effect.js +13 -12
- package/dist/collection/components/route/route.js +10 -39
- package/dist/collection/components/route-redirect/route-redirect.js +0 -31
- package/dist/collection/components/router/router.js +33 -37
- package/dist/collection/components/router/utils/dom.js +7 -25
- package/dist/collection/components/router/utils/matching.js +9 -7
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +1 -0
- package/dist/collection/components/router-link/router-link.js +12 -37
- package/dist/collection/components/router-outlet/router-outlet.js +21 -82
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +199 -289
- package/dist/collection/components/segment/segment.js +85 -120
- package/dist/collection/components/segment-button/segment-button.js +37 -43
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +16 -26
- package/dist/collection/components/select/select.ios.css +69 -96
- package/dist/collection/components/select/select.js +213 -629
- package/dist/collection/components/select/select.md.css +85 -118
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -218
- package/dist/collection/components/select-modal/select-modal.js +38 -92
- package/dist/collection/components/select-modal/select-modal.md.css +0 -164
- package/dist/collection/components/select-modal/test/fixtures.js +1 -8
- package/dist/collection/components/select-option/select-option.js +9 -110
- package/dist/collection/components/select-popover/select-popover.ios.css +0 -218
- package/dist/collection/components/select-popover/select-popover.js +36 -103
- package/dist/collection/components/select-popover/select-popover.md.css +0 -164
- package/dist/collection/components/select-popover/test/fixtures.js +1 -8
- package/dist/collection/components/skeleton-text/skeleton-text.js +8 -12
- package/dist/collection/components/spinner/spinner.js +9 -21
- package/dist/collection/components/split-pane/split-pane.js +15 -27
- package/dist/collection/components/tab/tab.js +6 -17
- package/dist/collection/components/tab-bar/tab-bar.js +14 -32
- package/dist/collection/components/tab-button/tab-button.js +23 -62
- package/dist/collection/components/tabs/tabs.js +20 -33
- package/dist/collection/components/text/text.js +2 -8
- package/dist/collection/components/textarea/textarea.ios.css +62 -94
- package/dist/collection/components/textarea/textarea.js +181 -287
- package/dist/collection/components/textarea/textarea.md.css +77 -103
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -18
- package/dist/collection/components/toast/toast.js +106 -223
- package/dist/collection/components/toggle/toggle.js +115 -167
- package/dist/collection/components/toolbar/toolbar.js +7 -15
- package/dist/collection/global/config.js +6 -4
- package/dist/collection/global/ionic-global.js +2 -8
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +4 -5
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +3 -3
- package/dist/collection/utils/forms/index.js +0 -1
- package/dist/collection/utils/framework-delegate.js +6 -4
- package/dist/collection/utils/gesture/gesture-controller.js +8 -15
- package/dist/collection/utils/gesture/index.js +2 -10
- package/dist/collection/utils/gesture/listener.js +1 -1
- package/dist/collection/utils/hardware-back-button.js +3 -3
- package/dist/collection/utils/helpers.js +2 -2
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
- package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +4 -23
- package/dist/collection/utils/menu-controller/index.js +2 -1
- package/dist/collection/utils/native/haptic.js +3 -2
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlays.js +23 -38
- package/dist/collection/utils/platform.js +5 -4
- package/dist/collection/utils/rtl/dir.js +1 -1
- package/dist/collection/utils/sanitization/index.js +20 -276
- package/dist/collection/utils/slot-mutation-controller.js +2 -1
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/drag-element.js +3 -2
- package/dist/collection/utils/test/playwright/generator.js +4 -3
- package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
- package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -4
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
- package/dist/collection/utils/test/press-keys.js +17 -10
- package/dist/collection/utils/theme.js +1 -6
- package/dist/collection/utils/transition/ios.transition.js +13 -9
- package/dist/collection/utils/transition/md.transition.js +4 -3
- package/dist/docs.json +1256 -556
- package/dist/esm/{animation-CGFdmGk9.js → animation-DLJpuoEz.js} +4 -4
- package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-D0C5S4hU.js} +1 -1
- package/dist/esm/{button-active--80YqSHA.js → button-active-BSpTQmS9.js} +3 -3
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/esm/{dir-B-FxiyeI.js → dir-C53feagD.js} +1 -1
- package/dist/esm/{format-Dcwga61t.js → format-CAmvpAez.js} +31 -41
- package/dist/esm/{framework-delegate--ajhSeKH.js → framework-delegate-FnPGymXL.js} +7 -5
- package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
- package/dist/esm/{haptic-Cq4UAeka.js → haptic-DzAMWJuk.js} +3 -2
- package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-B93Gru0Y.js} +4 -4
- package/dist/esm/{helpers-DexiPLIC.js → helpers-HEqiOzXb.js} +3 -3
- package/dist/esm/{index-BCgUwrV0.js → index-BRHzoo00.js} +2 -2
- package/dist/esm/{index-8s8kZKJ7.js → index-B_dQk_WE.js} +5 -5
- package/dist/esm/{index-DppOcPFQ.js → index-CfgBF1SE.js} +4 -10
- package/dist/esm/{index-BvabGprD.js → index-DV3sJJW8.js} +2 -2
- package/dist/esm/{index-_Za5VB9w.js → index-Dw-wN0Ja.js} +2 -2
- package/dist/esm/{index-CumkqGQF.js → index-Q6UPU0Ay.js} +7 -6
- package/dist/esm/{index-ChhhtsGZ.js → index-tcQvqkiX.js} +15 -32
- package/dist/esm/index.js +15 -16
- package/dist/esm/{input-shims-BB0AKb_k.js → input-shims-LXhI7LEx.js} +11 -9
- package/dist/esm/input.utils-Y6NgW8bw.js +147 -0
- package/dist/esm/ion-accordion_2.entry.js +340 -368
- package/dist/esm/ion-action-sheet.entry.js +76 -187
- package/dist/esm/ion-alert.entry.js +110 -272
- package/dist/esm/ion-app_8.entry.js +190 -307
- package/dist/esm/ion-avatar_3.entry.js +4 -10
- package/dist/esm/ion-back-button.entry.js +23 -47
- package/dist/esm/ion-backdrop.entry.js +14 -18
- package/dist/esm/ion-breadcrumb_2.entry.js +121 -199
- package/dist/esm/ion-button_2.entry.js +66 -138
- package/dist/esm/ion-card_5.entry.js +30 -82
- package/dist/esm/ion-checkbox.entry.js +101 -152
- package/dist/esm/ion-chip.entry.js +11 -17
- package/dist/esm/ion-col_3.entry.js +10 -134
- package/dist/esm/ion-datetime-button.entry.js +241 -253
- package/dist/esm/ion-datetime_3.entry.js +3163 -0
- package/dist/esm/ion-fab_3.entry.js +81 -139
- package/dist/esm/ion-img.entry.js +12 -34
- package/dist/esm/ion-infinite-scroll_2.entry.js +71 -99
- package/dist/esm/ion-input-otp.entry.js +372 -435
- package/dist/esm/ion-input-password-toggle.entry.js +22 -36
- package/dist/esm/ion-input.entry.js +209 -341
- package/dist/esm/ion-item-option_3.entry.js +54 -94
- package/dist/esm/ion-item_8.entry.js +92 -191
- package/dist/esm/ion-loading.entry.js +59 -145
- package/dist/esm/ion-menu_3.entry.js +106 -168
- package/dist/esm/ion-modal.entry.js +261 -455
- package/dist/esm/ion-nav_2.entry.js +158 -101
- package/dist/esm/ion-picker-column-option.entry.js +33 -37
- package/dist/esm/ion-picker-column.entry.js +405 -417
- package/dist/esm/ion-picker.entry.js +392 -401
- package/dist/esm/ion-popover.entry.js +205 -319
- package/dist/esm/ion-progress-bar.entry.js +25 -31
- package/dist/esm/ion-radio_2.entry.js +134 -207
- package/dist/esm/ion-range.entry.js +245 -302
- package/dist/esm/ion-refresher_2.entry.js +91 -163
- package/dist/esm/ion-reorder_2.entry.js +23 -53
- package/dist/esm/ion-ripple-effect.entry.js +14 -14
- package/dist/esm/ion-route_4.entry.js +71 -175
- package/dist/esm/ion-searchbar.entry.js +200 -291
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +17 -28
- package/dist/esm/ion-segment_2.entry.js +126 -169
- package/dist/esm/ion-select-modal.entry.js +48 -104
- package/dist/esm/ion-select_3.entry.js +260 -787
- package/dist/esm/ion-spinner.entry.js +10 -24
- package/dist/esm/ion-split-pane.entry.js +16 -29
- package/dist/esm/ion-tab-bar_2.entry.js +41 -100
- package/dist/esm/ion-tab_2.entry.js +27 -53
- package/dist/esm/ion-text.entry.js +5 -11
- package/dist/esm/ion-textarea.entry.js +187 -295
- package/dist/esm/ion-toast.entry.js +116 -235
- package/dist/esm/ion-toggle.entry.js +122 -175
- package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-Cp_eT4sZ.js} +8 -13
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-BdhybwLl.js → ios.transition-ClFrsIrS.js} +17 -13
- package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-DlNuqNJm.js} +1 -1
- package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-CUw4ekVy.js} +2 -2
- package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-BaaVITYt.js} +6 -6
- package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-ywgs5efA.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-B5lqKGCs.js → md.transition-D0msQmzI.js} +8 -7
- package/dist/esm/notch-controller-DKDjU_O7.js +153 -0
- package/dist/esm/{overlays-CjWwtvf1.js → overlays-Dg0q2_tJ.js} +33 -48
- package/dist/esm/{status-tap-DpLhkDWs.js → status-tap-vO-6s4Yp.js} +3 -3
- package/dist/esm/{swipe-back-cz4-lyG3.js → swipe-back-DQ1q5MgD.js} +5 -5
- package/dist/esm/{theme-byZM6qHV.js → theme-DiVJyqlX.js} +1 -6
- package/dist/html.html-data.json +80 -52
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01f81ea5.entry.js +4 -0
- package/dist/ionic/p-06c232a4.entry.js +4 -0
- package/dist/ionic/p-0caa922c.entry.js +4 -0
- package/dist/ionic/p-0dc33652.entry.js +4 -0
- package/dist/ionic/p-0fa9c382.entry.js +4 -0
- package/dist/ionic/p-10e833ef.entry.js +4 -0
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2a05aa64.entry.js +4 -0
- package/dist/ionic/p-2b204c59.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/p-2fa58e80.entry.js +4 -0
- package/dist/ionic/p-3353c229.entry.js +4 -0
- package/dist/ionic/p-34586ead.entry.js +4 -0
- package/dist/ionic/p-37e720da.entry.js +4 -0
- package/dist/ionic/p-390ca786.entry.js +4 -0
- package/dist/ionic/p-3ae5f277.entry.js +4 -0
- package/dist/ionic/p-4654ae1c.entry.js +4 -0
- package/dist/ionic/p-4745f534.entry.js +4 -0
- package/dist/ionic/p-4858af1f.entry.js +4 -0
- package/dist/ionic/p-4baa5b82.entry.js +4 -0
- package/dist/ionic/p-4e92a11f.entry.js +4 -0
- package/dist/ionic/p-50e1194a.entry.js +4 -0
- package/dist/ionic/p-5d1da0a2.entry.js +4 -0
- package/dist/ionic/p-5e2f73ee.entry.js +4 -0
- package/dist/ionic/p-5eb8e86d.entry.js +4 -0
- package/dist/ionic/p-65ebdf1b.entry.js +4 -0
- package/dist/ionic/p-696bdcf6.entry.js +4 -0
- package/dist/ionic/p-746fa988.entry.js +4 -0
- package/dist/ionic/p-75dc25ba.entry.js +4 -0
- package/dist/ionic/p-7c319341.entry.js +4 -0
- package/dist/ionic/p-829367ed.entry.js +4 -0
- package/dist/ionic/p-84d5ce05.entry.js +4 -0
- package/dist/ionic/p-874b4bd8.entry.js +4 -0
- package/dist/ionic/p-8eb8ee76.entry.js +4 -0
- package/dist/ionic/p-9eeaBrnk.js +4 -0
- package/dist/ionic/p-9f9db3a2.entry.js +4 -0
- package/dist/ionic/p-9fa3c405.entry.js +4 -0
- package/dist/ionic/p-BGqMS-oh.js +4 -0
- package/dist/ionic/p-BTEOs1at.js +4 -0
- package/dist/ionic/p-BUFIpxKM.js +4 -0
- package/dist/ionic/p-C0eMdTCW.js +4 -0
- package/dist/ionic/p-C53feagD.js +4 -0
- package/dist/ionic/p-CFlfIb2g.js +4 -0
- package/dist/ionic/p-CKvCXMs9.js +4 -0
- package/dist/ionic/p-Cl0B-RWe.js +4 -0
- package/dist/ionic/p-CmcFnK-B.js +4 -0
- package/dist/ionic/p-CtWGkNnJ.js +4 -0
- package/dist/ionic/p-Cx3IXROA.js +4 -0
- package/dist/ionic/p-D-3ycHmd.js +4 -0
- package/dist/ionic/p-D13Eaw-8.js +4 -0
- package/dist/ionic/p-D4uTWt4-.js +4 -0
- package/dist/ionic/p-DC3RagnA.js +4 -0
- package/dist/ionic/{p-CKUuSnDR.js → p-DIuEbVLu.js} +1 -1
- package/dist/ionic/{p-BvabGprD.js → p-DV3sJJW8.js} +1 -1
- package/dist/ionic/p-DiVJyqlX.js +4 -0
- package/dist/ionic/p-DoJvtrbw.js +4 -0
- package/dist/ionic/p-DqN5EA2O.js +4 -0
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/{p-I3In7hMC.js → p-KjNvRoEp.js} +1 -1
- package/dist/ionic/p-Nqf6uvGh.js +4 -0
- package/dist/ionic/p-SNAkTDfm.js +4 -0
- package/dist/ionic/p-VAemlbDS.js +4 -0
- package/dist/ionic/p-a3bdcae6.entry.js +4 -0
- package/dist/ionic/p-aaeedb6b.entry.js +4 -0
- package/dist/ionic/p-af55a72f.entry.js +4 -0
- package/dist/ionic/p-b2020591.entry.js +4 -0
- package/dist/ionic/p-b9fadbfe.entry.js +4 -0
- package/dist/ionic/{p-CQ_4TirR.js → p-biz8zWmJ.js} +1 -1
- package/dist/ionic/p-c0fb8edd.entry.js +4 -0
- package/dist/ionic/p-c38b648e.entry.js +4 -0
- package/dist/ionic/p-c4d8641b.entry.js +4 -0
- package/dist/ionic/{p-40424a88.entry.js → p-c6e49f3f.entry.js} +1 -1
- package/dist/ionic/p-ca2ab74d.entry.js +4 -0
- package/dist/ionic/p-d889ff6d.entry.js +4 -0
- package/dist/ionic/p-dfa8d673.entry.js +4 -0
- package/dist/ionic/p-ea56626d.entry.js +4 -0
- package/dist/ionic/p-ef4c3bee.entry.js +4 -0
- package/dist/ionic/p-f386f6ae.entry.js +4 -0
- package/dist/ionic/p-mjKAFv89.js +4 -0
- package/dist/ionic/p-tcQvqkiX.js +5 -0
- package/dist/ionic/p-uWtqTrG8.js +4 -0
- package/dist/ionic/p-viFHDgRs.js +4 -0
- package/dist/ionic/p-xWb6fgfq.js +4 -0
- package/dist/types/components/img/img.d.ts +0 -2
- package/dist/types/components/input/input.d.ts +6 -12
- package/dist/types/components/modal/modal-interface.d.ts +0 -9
- package/dist/types/components/modal/modal.d.ts +4 -11
- package/dist/types/components/nav/nav-interface.d.ts +1 -0
- package/dist/types/components/nav/nav.d.ts +22 -2
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/range/range.d.ts +1 -0
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +0 -31
- package/dist/types/components/select/select.d.ts +6 -30
- package/dist/types/components/select-option/select-option.d.ts +1 -42
- package/dist/types/components/textarea/textarea.d.ts +5 -12
- package/dist/types/components.d.ts +311 -74
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/config.d.ts +8 -1
- package/dist/types/utils/forms/index.d.ts +0 -1
- package/dist/types/utils/logging/index.d.ts +1 -2
- package/dist/types/utils/overlays.d.ts +9 -11
- package/dist/types/utils/sanitization/index.d.ts +2 -58
- package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
- package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
- package/hydrate/index.js +7322 -10670
- package/hydrate/index.mjs +7322 -10670
- package/package.json +12 -55
- package/components/p--m5cCjbK.js +0 -4
- package/components/p-8FN7p701.js +0 -4
- package/components/p-B-FxiyeI.js +0 -4
- package/components/p-B4uHHhPK.js +0 -4
- package/components/p-BMPN55of.js +0 -4
- package/components/p-BMS4t-kJ.js +0 -4
- package/components/p-BOvLNVKq.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BWBigMsI.js +0 -4
- package/components/p-BZ4-QTes.js +0 -4
- package/components/p-BhamHSw3.js +0 -4
- package/components/p-BjluhQMI.js +0 -4
- package/components/p-BlsIikdZ.js +0 -4
- package/components/p-Blug1Vxu.js +0 -4
- package/components/p-BqPNzJf6.js +0 -4
- package/components/p-C5KYjZWD.js +0 -4
- package/components/p-C91npEel.js +0 -4
- package/components/p-C9BGR5fy.js +0 -4
- package/components/p-CD4fmpem.js +0 -4
- package/components/p-CEW4RXZO.js +0 -4
- package/components/p-CKhiNOEg.js +0 -4
- package/components/p-CO2zzh3W.js +0 -4
- package/components/p-CVb3x_r3.js +0 -4
- package/components/p-CWLrHG8Y.js +0 -4
- package/components/p-CbhUdtjf.js +0 -4
- package/components/p-CejmQs3h.js +0 -4
- package/components/p-CfnNZz_d.js +0 -4
- package/components/p-CmKf4pgI.js +0 -4
- package/components/p-Cs5f-uOS.js +0 -4
- package/components/p-D7-vHX0A.js +0 -4
- package/components/p-DKrhJJV0.js +0 -4
- package/components/p-DRfgH82D.js +0 -4
- package/components/p-DSzSbVP2.js +0 -4
- package/components/p-DVKS-ovH.js +0 -4
- package/components/p-DWCzVL3Y.js +0 -4
- package/components/p-Dd8ajo9a.js +0 -4
- package/components/p-DdnhY_oj.js +0 -4
- package/components/p-DgZOZQjJ.js +0 -4
- package/components/p-Dmd2xqCe.js +0 -4
- package/components/p-G0TxqHfe.js +0 -4
- package/components/p-GG5GhznE.js +0 -4
- package/components/p-LXu5-6Ti.js +0 -4
- package/components/p-TXPDHL13.js +0 -4
- package/components/p-UQSiXX2Z.js +0 -4
- package/components/p-UuPYCOZE.js +0 -4
- package/components/p-WeeS7GvC.js +0 -4
- package/components/p-_IKFD3ID.js +0 -4
- package/components/p-byZM6qHV.js +0 -4
- package/components/p-hh7qIC-X.js +0 -4
- package/components/p-idq4JFo2.js +0 -4
- package/components/p-qT1szVjw.js +0 -4
- package/components/p-wzAhIh03.js +0 -4
- package/components/p-ypuYdSDB.js +0 -4
- package/components/p-yuj4Nkm_.js +0 -4
- package/dist/cjs/config-CjUbvdPW.js +0 -36
- package/dist/cjs/index-B7zJsYWS.js +0 -429
- package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
- package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
- package/dist/cjs/select-option-render-pULCGldr.js +0 -123
- package/dist/cjs/slot-mutation-controller-CgTGFqlW.js +0 -397
- package/dist/collection/utils/forms/start-container-controller.js +0 -132
- package/dist/collection/utils/overlay-control-label.js +0 -45
- package/dist/collection/utils/select-option-render.js +0 -118
- package/dist/esm/config-DWCzVL3Y.js +0 -32
- package/dist/esm/index-CKM1DdGm.js +0 -424
- package/dist/esm/input.utils-B1ValN_N.js +0 -33
- package/dist/esm/ion-datetime.entry.js +0 -2768
- package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
- package/dist/esm/select-option-render-C4m76VGH.js +0 -121
- package/dist/esm/slot-mutation-controller-u741eD3Z.js +0 -393
- package/dist/ionic/p-06533d51.entry.js +0 -4
- package/dist/ionic/p-08443c08.entry.js +0 -4
- package/dist/ionic/p-0FNc80PN.js +0 -4
- package/dist/ionic/p-141f5b47.entry.js +0 -4
- package/dist/ionic/p-14a5e8f5.entry.js +0 -4
- package/dist/ionic/p-19269e04.entry.js +0 -4
- package/dist/ionic/p-19abbc33.entry.js +0 -4
- package/dist/ionic/p-1edf0573.entry.js +0 -4
- package/dist/ionic/p-4204184c.entry.js +0 -4
- package/dist/ionic/p-4bc3ecdb.entry.js +0 -4
- package/dist/ionic/p-4eOQC00Z.js +0 -4
- package/dist/ionic/p-4eed9ca1.entry.js +0 -4
- package/dist/ionic/p-53bac1c9.entry.js +0 -4
- package/dist/ionic/p-5506caeb.entry.js +0 -4
- package/dist/ionic/p-5521dc1f.entry.js +0 -4
- package/dist/ionic/p-5993a77f.entry.js +0 -4
- package/dist/ionic/p-5c3626de.entry.js +0 -4
- package/dist/ionic/p-5d3b411c.entry.js +0 -4
- package/dist/ionic/p-60576951.entry.js +0 -4
- package/dist/ionic/p-7116e558.entry.js +0 -4
- package/dist/ionic/p-711a8319.entry.js +0 -4
- package/dist/ionic/p-71419a55.entry.js +0 -4
- package/dist/ionic/p-79325ffe.entry.js +0 -4
- package/dist/ionic/p-7bb3e957.entry.js +0 -4
- package/dist/ionic/p-82525fb0.entry.js +0 -4
- package/dist/ionic/p-84a38904.entry.js +0 -4
- package/dist/ionic/p-865fa114.entry.js +0 -4
- package/dist/ionic/p-8e1d9e3a.entry.js +0 -4
- package/dist/ionic/p-8f204f1e.entry.js +0 -4
- package/dist/ionic/p-9055e897.entry.js +0 -4
- package/dist/ionic/p-9658e083.entry.js +0 -4
- package/dist/ionic/p-988baee1.entry.js +0 -4
- package/dist/ionic/p-9nmHvEvw.js +0 -4
- package/dist/ionic/p-B-FxiyeI.js +0 -4
- package/dist/ionic/p-BB0LlG4y.js +0 -4
- package/dist/ionic/p-BMPN55of.js +0 -4
- package/dist/ionic/p-BQ8oNV0v.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BhamHSw3.js +0 -4
- package/dist/ionic/p-BjvtSsVI.js +0 -4
- package/dist/ionic/p-BkfAWuv6.js +0 -4
- package/dist/ionic/p-BwIp10KV.js +0 -4
- package/dist/ionic/p-C-94tAim.js +0 -4
- package/dist/ionic/p-C6eME8Ey.js +0 -4
- package/dist/ionic/p-CMRtMbJc.js +0 -4
- package/dist/ionic/p-CPcPmkGv.js +0 -4
- package/dist/ionic/p-CaRuIadB.js +0 -4
- package/dist/ionic/p-Cdjxf_yg.js +0 -4
- package/dist/ionic/p-ChhhtsGZ.js +0 -5
- package/dist/ionic/p-CmKf4pgI.js +0 -4
- package/dist/ionic/p-D5t_-oMk.js +0 -4
- package/dist/ionic/p-D94b61er.js +0 -4
- package/dist/ionic/p-DAztxQR0.js +0 -4
- package/dist/ionic/p-DCI3rXQo.js +0 -4
- package/dist/ionic/p-DDhtUaaA.js +0 -4
- package/dist/ionic/p-DWCzVL3Y.js +0 -4
- package/dist/ionic/p-DkUB-ROc.js +0 -4
- package/dist/ionic/p-Dn0mqQ_R.js +0 -4
- package/dist/ionic/p-T71k3C35.js +0 -4
- package/dist/ionic/p-TXPDHL13.js +0 -4
- package/dist/ionic/p-a71232d6.entry.js +0 -4
- package/dist/ionic/p-a73d8742.entry.js +0 -4
- package/dist/ionic/p-a8421d18.entry.js +0 -4
- package/dist/ionic/p-a8c2c343.entry.js +0 -4
- package/dist/ionic/p-acf0a6af.entry.js +0 -4
- package/dist/ionic/p-ad98e3ff.entry.js +0 -4
- package/dist/ionic/p-af5166f5.entry.js +0 -4
- package/dist/ionic/p-bc2bad5f.entry.js +0 -4
- package/dist/ionic/p-be08d500.entry.js +0 -4
- package/dist/ionic/p-be9a4f51.entry.js +0 -4
- package/dist/ionic/p-byZM6qHV.js +0 -4
- package/dist/ionic/p-ccc5044d.entry.js +0 -4
- package/dist/ionic/p-ce32912b.entry.js +0 -4
- package/dist/ionic/p-ded69ceb.entry.js +0 -4
- package/dist/ionic/p-e0c6e31e.entry.js +0 -4
- package/dist/ionic/p-e1e5b507.entry.js +0 -4
- package/dist/ionic/p-e8c3e08a.entry.js +0 -4
- package/dist/ionic/p-ed5d540d.entry.js +0 -4
- package/dist/ionic/p-f046aa37.entry.js +0 -4
- package/dist/ionic/p-f2802440.entry.js +0 -4
- package/dist/ionic/p-f402f5a4.entry.js +0 -4
- package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
- package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
- package/dist/types/utils/overlay-control-label.d.ts +0 -32
- package/dist/types/utils/select-option-render.d.ts +0 -53
- /package/components/{p-LpMHEu3v.js → p-CO7fmmxt.js} +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent,
|
|
5
|
-
import { i as isIonContent, f as findRefresherInContent, a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY, b as findIonContent, p as printIonContentErrorMsg } from './index-
|
|
6
|
-
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate
|
|
7
|
-
import { g as getElementRoot, e as clamp, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-
|
|
4
|
+
import { r as registerInstance, c as createEvent, f as printIonWarning, w as writeTask, e as config, h, d as Host, g as getElement } from './index-tcQvqkiX.js';
|
|
5
|
+
import { i as isIonContent, f as findRefresherInContent, a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY, b as findIonContent, p as printIonContentErrorMsg } from './index-Dw-wN0Ja.js';
|
|
6
|
+
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-FnPGymXL.js';
|
|
7
|
+
import { g as getElementRoot, e as clamp, r as raf, b as inheritAttributes, h as hasLazyBuild } from './helpers-HEqiOzXb.js';
|
|
8
8
|
import { c as createLockController } from './lock-controller-B-hirT0v.js';
|
|
9
9
|
import { g as getCapacitor } from './capacitor-CFERIeaU.js';
|
|
10
|
-
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS,
|
|
11
|
-
import { g as getClassMap } from './theme-
|
|
12
|
-
import { e as deepReady, w as waitForMount } from './index-
|
|
13
|
-
import { b as getIonMode } from './ionic-global-
|
|
14
|
-
import { KEYBOARD_DID_OPEN } from './keyboard-
|
|
15
|
-
import { c as createAnimation } from './animation-
|
|
10
|
+
import { G as GESTURE, O as OVERLAY_GESTURE_PRIORITY, F as FOCUS_TRAP_DISABLE_CLASS, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod } from './overlays-Dg0q2_tJ.js';
|
|
11
|
+
import { g as getClassMap } from './theme-DiVJyqlX.js';
|
|
12
|
+
import { e as deepReady, w as waitForMount } from './index-B_dQk_WE.js';
|
|
13
|
+
import { b as getIonMode } from './ionic-global-Cp_eT4sZ.js';
|
|
14
|
+
import { KEYBOARD_DID_OPEN } from './keyboard-ywgs5efA.js';
|
|
15
|
+
import { c as createAnimation } from './animation-DLJpuoEz.js';
|
|
16
16
|
import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
17
|
-
import { createGesture } from './index-
|
|
17
|
+
import { createGesture } from './index-CfgBF1SE.js';
|
|
18
18
|
import { w as win } from './index-ZjP4CjeZ.js';
|
|
19
|
-
import './hardware-back-button-
|
|
20
|
-
import './gesture-controller-
|
|
21
|
-
import './keyboard-
|
|
19
|
+
import './hardware-back-button-B93Gru0Y.js';
|
|
20
|
+
import './gesture-controller-BTEOs1at.js';
|
|
21
|
+
import './keyboard-CUw4ekVy.js';
|
|
22
22
|
|
|
23
23
|
var Style;
|
|
24
24
|
(function (Style) {
|
|
@@ -29,7 +29,7 @@ var Style;
|
|
|
29
29
|
const StatusBar = {
|
|
30
30
|
getEngine() {
|
|
31
31
|
const capacitor = getCapacitor();
|
|
32
|
-
if (capacitor
|
|
32
|
+
if (capacitor === null || capacitor === void 0 ? void 0 : capacitor.isPluginAvailable('StatusBar')) {
|
|
33
33
|
return capacitor.Plugins.StatusBar;
|
|
34
34
|
}
|
|
35
35
|
return undefined;
|
|
@@ -317,13 +317,14 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
317
317
|
return false;
|
|
318
318
|
};
|
|
319
319
|
const onStart = (detail) => {
|
|
320
|
+
var _a;
|
|
320
321
|
const { deltaY } = detail;
|
|
321
322
|
/**
|
|
322
323
|
* Firefox automatically selects the header text during drag
|
|
323
324
|
* due to the focusable wrapper (tabindex="-1"). Remove any
|
|
324
325
|
* selection that may have occurred.
|
|
325
326
|
*/
|
|
326
|
-
window.getSelection()
|
|
327
|
+
(_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
|
|
327
328
|
/**
|
|
328
329
|
* Get the initial scrollY value so
|
|
329
330
|
* that we can correctly reset the scrollY
|
|
@@ -476,30 +477,17 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
|
|
|
476
477
|
* check canDismiss. 25% was chosen
|
|
477
478
|
* to avoid accidental swipes.
|
|
478
479
|
*/
|
|
479
|
-
|
|
480
|
-
if (isAttemptingCanDismiss) {
|
|
480
|
+
if (isAttemptingDismissWithCanDismiss && clampedStep > maxStep / 4) {
|
|
481
481
|
handleCanDismiss(el, animation);
|
|
482
482
|
}
|
|
483
483
|
else if (shouldComplete) {
|
|
484
484
|
onDismiss();
|
|
485
485
|
}
|
|
486
|
-
/**
|
|
487
|
-
* `shouldComplete` is not enough on its own, since it is always `false`
|
|
488
|
-
* when canDismiss blocks the gesture. `canDismiss: false` blocks it and
|
|
489
|
-
* never dismisses, because `handleCanDismiss` returns early when
|
|
490
|
-
* canDismiss is not a function. A canDismiss function dismisses through
|
|
491
|
-
* `handleCanDismiss`, which awaits the callback, so the outcome is not
|
|
492
|
-
* known when this event is emitted.
|
|
493
|
-
*/
|
|
494
|
-
const isDismissing = isAttemptingDismissWithCanDismiss
|
|
495
|
-
? isAttemptingCanDismiss && typeof el.canDismiss === 'function'
|
|
496
|
-
: shouldComplete;
|
|
497
486
|
const eventDetail = {
|
|
498
487
|
currentY: detail.currentY,
|
|
499
488
|
deltaY: detail.deltaY,
|
|
500
489
|
velocityY: detail.velocityY,
|
|
501
490
|
progress: calculateProgress(el, detail.deltaY),
|
|
502
|
-
isDismissing,
|
|
503
491
|
};
|
|
504
492
|
onDragEnd(eventDetail);
|
|
505
493
|
};
|
|
@@ -636,7 +624,7 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
|
636
624
|
wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
|
|
637
625
|
// The content animation is only added if scrolling is enabled for
|
|
638
626
|
// all the breakpoints.
|
|
639
|
-
!expandToScroll && contentAnimation
|
|
627
|
+
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
640
628
|
const baseAnimation = createAnimation('entering-base')
|
|
641
629
|
.addElement(baseEl)
|
|
642
630
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
@@ -969,7 +957,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
|
969
957
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
970
958
|
// The content animation is only added if scrolling is enabled for
|
|
971
959
|
// all the breakpoints.
|
|
972
|
-
!expandToScroll && contentAnimation
|
|
960
|
+
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
973
961
|
const baseAnimation = createAnimation()
|
|
974
962
|
.addElement(baseEl)
|
|
975
963
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
|
@@ -1006,6 +994,7 @@ const mdLeaveAnimation = (baseEl, opts) => {
|
|
|
1006
994
|
};
|
|
1007
995
|
|
|
1008
996
|
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange, onDragStart, onDragMove, onDragEnd) => {
|
|
997
|
+
var _a;
|
|
1009
998
|
// Defaults for the sheet swipe animation
|
|
1010
999
|
const defaultBackdrop = [
|
|
1011
1000
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -1029,7 +1018,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1029
1018
|
};
|
|
1030
1019
|
const contentEl = baseEl.querySelector('ion-content');
|
|
1031
1020
|
// Cache the initial value so the gesture restores it instead of forcing scrolling on.
|
|
1032
|
-
const initialContentScrollY = contentEl
|
|
1021
|
+
const initialContentScrollY = (_a = contentEl === null || contentEl === void 0 ? void 0 : contentEl.scrollY) !== null && _a !== void 0 ? _a : true;
|
|
1033
1022
|
const height = wrapperEl.clientHeight;
|
|
1034
1023
|
let currentBreakpoint = initialBreakpoint;
|
|
1035
1024
|
let offset = 0;
|
|
@@ -1095,9 +1084,9 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1095
1084
|
cachedFooterEl.style.removeProperty('height');
|
|
1096
1085
|
cachedFooterEl.style.removeProperty('top');
|
|
1097
1086
|
cachedFooterEl.style.removeProperty('left');
|
|
1098
|
-
page
|
|
1087
|
+
page === null || page === void 0 ? void 0 : page.style.removeProperty('padding-bottom');
|
|
1099
1088
|
// Move to page
|
|
1100
|
-
page
|
|
1089
|
+
page === null || page === void 0 ? void 0 : page.appendChild(cachedFooterEl);
|
|
1101
1090
|
});
|
|
1102
1091
|
}
|
|
1103
1092
|
else {
|
|
@@ -1141,7 +1130,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1141
1130
|
// when the footer is positioned absolutely. This has to be done before we
|
|
1142
1131
|
// make the footer absolutely positioned or we may accidentally cause the
|
|
1143
1132
|
// sheet to scroll.
|
|
1144
|
-
page
|
|
1133
|
+
page === null || page === void 0 ? void 0 : page.style.setProperty('padding-bottom', `${footerHeights}px`);
|
|
1145
1134
|
// Apply positioning styles to keep footer at bottom
|
|
1146
1135
|
cachedFooterEl.classList.add('modal-footer-moving');
|
|
1147
1136
|
// Apply our preserved styles to pin the footer
|
|
@@ -1166,7 +1155,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1166
1155
|
if (wrapperAnimation && backdropAnimation) {
|
|
1167
1156
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
1168
1157
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1169
|
-
contentAnimation
|
|
1158
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
1170
1159
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
1171
1160
|
/**
|
|
1172
1161
|
* If backdrop is not enabled, then content
|
|
@@ -1206,12 +1195,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1206
1195
|
return true;
|
|
1207
1196
|
};
|
|
1208
1197
|
const onStart = (detail) => {
|
|
1198
|
+
var _a;
|
|
1209
1199
|
/**
|
|
1210
1200
|
* Firefox automatically selects the header text during drag
|
|
1211
1201
|
* due to the focusable wrapper (tabindex="-1"). Remove any
|
|
1212
1202
|
* selection that may have occurred.
|
|
1213
1203
|
*/
|
|
1214
|
-
window.getSelection()
|
|
1204
|
+
(_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
|
|
1215
1205
|
/**
|
|
1216
1206
|
* If canDismiss is anything other than `true`
|
|
1217
1207
|
* then users should be able to swipe down
|
|
@@ -1339,22 +1329,12 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1339
1329
|
};
|
|
1340
1330
|
const onEnd = (detail) => {
|
|
1341
1331
|
const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
|
|
1342
|
-
/**
|
|
1343
|
-
* `snapBreakpoint === 0` is not enough on its own. `canDismiss: false`
|
|
1344
|
-
* snaps to 0 but never dismisses, since `handleCanDismiss` returns early
|
|
1345
|
-
* when canDismiss is not a function. A canDismiss function dismisses
|
|
1346
|
-
* through `handleCanDismiss`, which awaits the callback, so the outcome
|
|
1347
|
-
* is not known when this event is emitted.
|
|
1348
|
-
*/
|
|
1349
|
-
const shouldPreventDismiss = canDismissBlocksGesture && snapBreakpoint === 0;
|
|
1350
|
-
const isDismissing = shouldPreventDismiss ? typeof baseEl.canDismiss === 'function' : snapBreakpoint === 0;
|
|
1351
1332
|
const eventDetail = {
|
|
1352
1333
|
currentY: detail.currentY,
|
|
1353
1334
|
deltaY: detail.deltaY,
|
|
1354
1335
|
velocityY: detail.velocityY,
|
|
1355
1336
|
progress: calculateProgress(detail.currentY),
|
|
1356
1337
|
snapBreakpoint,
|
|
1357
|
-
isDismissing,
|
|
1358
1338
|
};
|
|
1359
1339
|
/**
|
|
1360
1340
|
* If expandToScroll is disabled, we should not allow the moveSheetToBreakpoint
|
|
@@ -1370,11 +1350,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1370
1350
|
* swap to moving on drag and if we don't swap back here then the footer will get stuck.
|
|
1371
1351
|
*/
|
|
1372
1352
|
swapFooterPosition('stationary');
|
|
1373
|
-
|
|
1374
|
-
* The sheet does not move in this case, so the gesture
|
|
1375
|
-
* never dismisses the modal.
|
|
1376
|
-
*/
|
|
1377
|
-
onDragEnd({ ...eventDetail, isDismissing: false });
|
|
1353
|
+
onDragEnd(eventDetail);
|
|
1378
1354
|
return;
|
|
1379
1355
|
}
|
|
1380
1356
|
moveSheetToBreakpoint({
|
|
@@ -1489,7 +1465,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
1489
1465
|
raf(() => {
|
|
1490
1466
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
1491
1467
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
1492
|
-
contentAnimation
|
|
1468
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
1493
1469
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
1494
1470
|
currentBreakpoint = snapToBreakpoint;
|
|
1495
1471
|
onBreakpointChange(currentBreakpoint);
|
|
@@ -1699,8 +1675,8 @@ const getRootSafeAreaTop = () => {
|
|
|
1699
1675
|
if (cachedRootSafeAreaTop !== null) {
|
|
1700
1676
|
return cachedRootSafeAreaTop;
|
|
1701
1677
|
}
|
|
1702
|
-
const doc = win
|
|
1703
|
-
if (!doc
|
|
1678
|
+
const doc = win === null || win === void 0 ? void 0 : win.document;
|
|
1679
|
+
if (!(doc === null || doc === void 0 ? void 0 : doc.body)) {
|
|
1704
1680
|
return 0;
|
|
1705
1681
|
}
|
|
1706
1682
|
const el = doc.createElement('div');
|
|
@@ -1725,8 +1701,8 @@ const getRootSafeAreaTop = () => {
|
|
|
1725
1701
|
* a change to it becomes a size change the observer can see.
|
|
1726
1702
|
*/
|
|
1727
1703
|
const onRootSafeAreaTopChange = (callback) => {
|
|
1728
|
-
const doc = win
|
|
1729
|
-
if (!doc
|
|
1704
|
+
const doc = win === null || win === void 0 ? void 0 : win.document;
|
|
1705
|
+
if (!(doc === null || doc === void 0 ? void 0 : doc.body) || typeof ResizeObserver === 'undefined') {
|
|
1730
1706
|
return () => undefined;
|
|
1731
1707
|
}
|
|
1732
1708
|
const probe = doc.createElement('div');
|
|
@@ -1838,9 +1814,10 @@ const getInitialSafeAreaConfig = (context) => {
|
|
|
1838
1814
|
* @returns SafeAreaConfig based on position
|
|
1839
1815
|
*/
|
|
1840
1816
|
const getPositionBasedSafeAreaConfig = (wrapperEl) => {
|
|
1817
|
+
var _a, _b;
|
|
1841
1818
|
const rect = wrapperEl.getBoundingClientRect();
|
|
1842
|
-
const vh = win
|
|
1843
|
-
const vw = win
|
|
1819
|
+
const vh = (_a = win === null || win === void 0 ? void 0 : win.innerHeight) !== null && _a !== void 0 ? _a : 0;
|
|
1820
|
+
const vw = (_b = win === null || win === void 0 ? void 0 : win.innerWidth) !== null && _b !== void 0 ? _b : 0;
|
|
1844
1821
|
// Only apply safe-area to sides where modal overlaps with screen edge
|
|
1845
1822
|
return {
|
|
1846
1823
|
top: rect.top <= EDGE_THRESHOLD ? 'inherit' : '0px',
|
|
@@ -1893,178 +1870,195 @@ const Modal = class {
|
|
|
1893
1870
|
this.ionDragStart = createEvent(this, "ionDragStart", 7);
|
|
1894
1871
|
this.ionDragMove = createEvent(this, "ionDragMove", 7);
|
|
1895
1872
|
this.ionDragEnd = createEvent(this, "ionDragEnd", 7);
|
|
1873
|
+
this.lockController = createLockController();
|
|
1874
|
+
this.triggerController = createTriggerController();
|
|
1875
|
+
this.coreDelegate = CoreDelegate();
|
|
1876
|
+
this.isSheetModal = false;
|
|
1877
|
+
this.inheritedAttributes = {};
|
|
1878
|
+
this.inline = false;
|
|
1879
|
+
// Whether or not modal is being dismissed via gesture
|
|
1880
|
+
this.gestureAnimationDismissing = false;
|
|
1881
|
+
this.presented = false;
|
|
1882
|
+
/** @internal */
|
|
1883
|
+
this.hasController = false;
|
|
1884
|
+
/**
|
|
1885
|
+
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
1886
|
+
*/
|
|
1887
|
+
this.keyboardClose = true;
|
|
1888
|
+
/**
|
|
1889
|
+
* Controls whether scrolling or dragging within the sheet modal expands
|
|
1890
|
+
* it to a larger breakpoint. This only takes effect when `breakpoints`
|
|
1891
|
+
* and `initialBreakpoint` are set.
|
|
1892
|
+
*
|
|
1893
|
+
* If `true`, scrolling or dragging anywhere in the modal will first expand
|
|
1894
|
+
* it to the next breakpoint. Once fully expanded, scrolling will affect the
|
|
1895
|
+
* content.
|
|
1896
|
+
* If `false`, scrolling will always affect the content. The modal will
|
|
1897
|
+
* only expand when dragging the header or handle. The modal will close when
|
|
1898
|
+
* dragging the header or handle. It can also be closed when dragging the
|
|
1899
|
+
* content, but only if the content is scrolled to the top.
|
|
1900
|
+
*/
|
|
1901
|
+
this.expandToScroll = true;
|
|
1902
|
+
/**
|
|
1903
|
+
* A decimal value between 0 and 1 that indicates the
|
|
1904
|
+
* point after which the backdrop will begin to fade in
|
|
1905
|
+
* when using a sheet modal. Prior to this point, the
|
|
1906
|
+
* backdrop will be hidden and the content underneath
|
|
1907
|
+
* the sheet can be interacted with. This value is exclusive
|
|
1908
|
+
* meaning the backdrop will become active after the value
|
|
1909
|
+
* specified.
|
|
1910
|
+
*/
|
|
1911
|
+
this.backdropBreakpoint = 0;
|
|
1912
|
+
/**
|
|
1913
|
+
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
1914
|
+
*
|
|
1915
|
+
* Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
|
|
1916
|
+
* Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
|
|
1917
|
+
*
|
|
1918
|
+
* Handle behavior is unavailable when the `handle` property is set to `false` or
|
|
1919
|
+
* when the `breakpoints` property is not set (using a fullscreen or card modal).
|
|
1920
|
+
*/
|
|
1921
|
+
this.handleBehavior = 'none';
|
|
1922
|
+
/**
|
|
1923
|
+
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
1924
|
+
*/
|
|
1925
|
+
this.backdropDismiss = true;
|
|
1926
|
+
/**
|
|
1927
|
+
* If `true`, a backdrop will be displayed behind the modal.
|
|
1928
|
+
* This property controls whether or not the backdrop
|
|
1929
|
+
* darkens the screen when the modal is presented.
|
|
1930
|
+
* It does not control whether or not the backdrop
|
|
1931
|
+
* is active or present in the DOM.
|
|
1932
|
+
*/
|
|
1933
|
+
this.showBackdrop = true;
|
|
1934
|
+
/**
|
|
1935
|
+
* If `true`, the modal will animate.
|
|
1936
|
+
*/
|
|
1937
|
+
this.animated = true;
|
|
1938
|
+
/**
|
|
1939
|
+
* If `true`, the modal will open. If `false`, the modal will close.
|
|
1940
|
+
* Use this if you need finer grained control over presentation, otherwise
|
|
1941
|
+
* just use the modalController or the `trigger` property.
|
|
1942
|
+
* Note: `isOpen` will not automatically be set back to `false` when
|
|
1943
|
+
* the modal dismisses. You will need to do that in your code.
|
|
1944
|
+
*/
|
|
1945
|
+
this.isOpen = false;
|
|
1946
|
+
/**
|
|
1947
|
+
* If `true`, the component passed into `ion-modal` will
|
|
1948
|
+
* automatically be mounted when the modal is created. The
|
|
1949
|
+
* component will remain mounted even when the modal is dismissed.
|
|
1950
|
+
* However, the component will be destroyed when the modal is
|
|
1951
|
+
* destroyed. This property is not reactive and should only be
|
|
1952
|
+
* used when initially creating a modal.
|
|
1953
|
+
*
|
|
1954
|
+
* Note: This feature only applies to inline modals in JavaScript
|
|
1955
|
+
* frameworks such as Angular, React, and Vue.
|
|
1956
|
+
*/
|
|
1957
|
+
this.keepContentsMounted = false;
|
|
1958
|
+
/**
|
|
1959
|
+
* If `true`, focus will not be allowed to move outside of this overlay.
|
|
1960
|
+
* If `false`, focus will be allowed to move outside of the overlay.
|
|
1961
|
+
*
|
|
1962
|
+
* In most scenarios this property should remain set to `true`. Setting
|
|
1963
|
+
* this property to `false` can cause severe accessibility issues as users
|
|
1964
|
+
* relying on assistive technologies may be able to move focus into
|
|
1965
|
+
* a confusing state. We recommend only setting this to `false` when
|
|
1966
|
+
* absolutely necessary.
|
|
1967
|
+
*
|
|
1968
|
+
* Developers may want to consider disabling focus trapping if this
|
|
1969
|
+
* overlay presents a non-Ionic overlay from a 3rd party library.
|
|
1970
|
+
* Developers would disable focus trapping on the Ionic overlay
|
|
1971
|
+
* when presenting the 3rd party overlay and then re-enable
|
|
1972
|
+
* focus trapping when dismissing the 3rd party overlay and moving
|
|
1973
|
+
* focus back to the Ionic overlay.
|
|
1974
|
+
*/
|
|
1975
|
+
this.focusTrap = true;
|
|
1976
|
+
/**
|
|
1977
|
+
* Determines whether or not a modal can dismiss
|
|
1978
|
+
* when calling the `dismiss` method.
|
|
1979
|
+
*
|
|
1980
|
+
* If the value is `true` or the value's function returns `true`, the modal will close when trying to dismiss.
|
|
1981
|
+
* If the value is `false` or the value's function returns `false`, the modal will not close when trying to dismiss.
|
|
1982
|
+
*
|
|
1983
|
+
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
1984
|
+
* if you need to access `this` from within the callback.
|
|
1985
|
+
*/
|
|
1986
|
+
this.canDismiss = true;
|
|
1987
|
+
this.onHandleClick = () => {
|
|
1988
|
+
const { sheetTransition, handleBehavior } = this;
|
|
1989
|
+
if (handleBehavior !== 'cycle' || sheetTransition !== undefined) {
|
|
1990
|
+
/**
|
|
1991
|
+
* The sheet modal should not advance to the next breakpoint
|
|
1992
|
+
* if the handle behavior is not `cycle` or if the handle
|
|
1993
|
+
* is clicked while the sheet is moving to a breakpoint.
|
|
1994
|
+
*/
|
|
1995
|
+
return;
|
|
1996
|
+
}
|
|
1997
|
+
this.moveToNextBreakpoint();
|
|
1998
|
+
};
|
|
1999
|
+
this.onBackdropTap = () => {
|
|
2000
|
+
const { sheetTransition } = this;
|
|
2001
|
+
if (sheetTransition !== undefined) {
|
|
2002
|
+
/**
|
|
2003
|
+
* When the handle is double clicked at the largest breakpoint,
|
|
2004
|
+
* it will start to move to the first breakpoint. While transitioning,
|
|
2005
|
+
* the backdrop will often receive the second click. We prevent the
|
|
2006
|
+
* backdrop from dismissing the modal while moving between breakpoints.
|
|
2007
|
+
*/
|
|
2008
|
+
return;
|
|
2009
|
+
}
|
|
2010
|
+
this.dismiss(undefined, BACKDROP);
|
|
2011
|
+
};
|
|
2012
|
+
this.onLifecycle = (modalEvent) => {
|
|
2013
|
+
const el = this.usersElement;
|
|
2014
|
+
const name = LIFECYCLE_MAP[modalEvent.type];
|
|
2015
|
+
if (el && name) {
|
|
2016
|
+
const ev = new CustomEvent(name, {
|
|
2017
|
+
bubbles: false,
|
|
2018
|
+
cancelable: false,
|
|
2019
|
+
detail: modalEvent.detail,
|
|
2020
|
+
});
|
|
2021
|
+
el.dispatchEvent(ev);
|
|
2022
|
+
}
|
|
2023
|
+
};
|
|
2024
|
+
/**
|
|
2025
|
+
* When the modal receives focus directly, pass focus to the handle
|
|
2026
|
+
* if it exists and is focusable, otherwise let the focus trap handle it.
|
|
2027
|
+
*/
|
|
2028
|
+
this.onModalFocus = (ev) => {
|
|
2029
|
+
var _a;
|
|
2030
|
+
const { dragHandleEl, el } = this;
|
|
2031
|
+
/**
|
|
2032
|
+
* Shadow DOM focus is retargeted to the host, so `ev.target === el` is also
|
|
2033
|
+
* true when a shadow child (the dialog wrapper present() focuses) is focused.
|
|
2034
|
+
* shadowRoot's activeElement is null only when the host was focused directly,
|
|
2035
|
+
* so redirect to the handle only then and leave present()'s wrapper focus intact.
|
|
2036
|
+
*/
|
|
2037
|
+
if (ev.target === el && ((_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) == null && dragHandleEl && dragHandleEl.tabIndex !== -1) {
|
|
2038
|
+
dragHandleEl.focus();
|
|
2039
|
+
}
|
|
2040
|
+
};
|
|
2041
|
+
/**
|
|
2042
|
+
* When the slot changes, we need to find all the modals in the slot
|
|
2043
|
+
* and set the data-parent-ion-modal attribute on them so we can find them
|
|
2044
|
+
* and dismiss them when we get dismissed.
|
|
2045
|
+
* We need to do it this way because when a modal is opened, it's moved to
|
|
2046
|
+
* the end of the body and is no longer an actual child of the modal.
|
|
2047
|
+
*/
|
|
2048
|
+
this.onSlotChange = ({ target }) => {
|
|
2049
|
+
const slot = target;
|
|
2050
|
+
slot.assignedElements().forEach((el) => {
|
|
2051
|
+
el.querySelectorAll('ion-modal').forEach((childModal) => {
|
|
2052
|
+
// We don't need to write to the DOM if the modal is already tagged
|
|
2053
|
+
// If this is a deeply nested modal, this effect should cascade so we don't
|
|
2054
|
+
// need to worry about another modal claiming the same child.
|
|
2055
|
+
if (childModal.getAttribute('data-parent-ion-modal') === null) {
|
|
2056
|
+
childModal.setAttribute('data-parent-ion-modal', this.el.id);
|
|
2057
|
+
}
|
|
2058
|
+
});
|
|
2059
|
+
});
|
|
2060
|
+
};
|
|
1896
2061
|
}
|
|
1897
|
-
lockController = createLockController();
|
|
1898
|
-
triggerController = createTriggerController();
|
|
1899
|
-
gesture;
|
|
1900
|
-
coreDelegate = CoreDelegate();
|
|
1901
|
-
sheetTransition;
|
|
1902
|
-
isSheetModal = false;
|
|
1903
|
-
/**
|
|
1904
|
-
* The breakpoint value that has been committed for a sheet modal.
|
|
1905
|
-
* This represents the modal's resting state when it is not being dragged
|
|
1906
|
-
* or animating toward a new position.
|
|
1907
|
-
*/
|
|
1908
|
-
currentBreakpoint;
|
|
1909
|
-
wrapperEl;
|
|
1910
|
-
backdropEl;
|
|
1911
|
-
dragHandleEl;
|
|
1912
|
-
sortedBreakpoints;
|
|
1913
|
-
keyboardOpenCallback;
|
|
1914
|
-
moveSheetToBreakpoint;
|
|
1915
|
-
resetSheetContentScroll;
|
|
1916
|
-
inheritedAttributes = {};
|
|
1917
|
-
statusBarStyle;
|
|
1918
|
-
inline = false;
|
|
1919
|
-
workingDelegate;
|
|
1920
|
-
// Reference to the user's provided modal content
|
|
1921
|
-
usersElement;
|
|
1922
|
-
// Whether or not modal is being dismissed via gesture
|
|
1923
|
-
gestureAnimationDismissing = false;
|
|
1924
|
-
// View transition properties for handling portrait/landscape switches
|
|
1925
|
-
currentViewIsPortrait;
|
|
1926
|
-
viewTransitionAnimation;
|
|
1927
|
-
resizeTimeout;
|
|
1928
|
-
unsubscribeRootSafeAreaTop;
|
|
1929
|
-
// Mutation observer to watch for parent removal
|
|
1930
|
-
parentRemovalObserver;
|
|
1931
|
-
// Cached original parent from before modal is moved to body during presentation
|
|
1932
|
-
cachedOriginalParent;
|
|
1933
|
-
// Cached ion-page ancestor for child route passthrough
|
|
1934
|
-
cachedPageParent;
|
|
1935
|
-
lastFocus;
|
|
1936
|
-
animation;
|
|
1937
|
-
presented = false;
|
|
1938
|
-
get el() { return getElement(this); }
|
|
1939
|
-
/** @internal */
|
|
1940
|
-
hasController = false;
|
|
1941
|
-
/** @internal */
|
|
1942
|
-
overlayIndex;
|
|
1943
|
-
/** @internal */
|
|
1944
|
-
delegate;
|
|
1945
|
-
/**
|
|
1946
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
1947
|
-
*/
|
|
1948
|
-
keyboardClose = true;
|
|
1949
|
-
/**
|
|
1950
|
-
* Animation to use when the modal is presented.
|
|
1951
|
-
*/
|
|
1952
|
-
enterAnimation;
|
|
1953
|
-
/**
|
|
1954
|
-
* Animation to use when the modal is dismissed.
|
|
1955
|
-
*/
|
|
1956
|
-
leaveAnimation;
|
|
1957
|
-
/**
|
|
1958
|
-
* The breakpoints to use when creating a sheet modal. Each value in the
|
|
1959
|
-
* array must be a decimal between 0 and 1 where 0 indicates the modal is fully
|
|
1960
|
-
* closed and 1 indicates the modal is fully open. Values are relative
|
|
1961
|
-
* to the height of the modal, not the height of the screen. One of the values in this
|
|
1962
|
-
* array must be the value of the `initialBreakpoint` property.
|
|
1963
|
-
* For example: [0, .25, .5, 1]
|
|
1964
|
-
*/
|
|
1965
|
-
breakpoints;
|
|
1966
|
-
/**
|
|
1967
|
-
* Controls whether scrolling or dragging within the sheet modal expands
|
|
1968
|
-
* it to a larger breakpoint. This only takes effect when `breakpoints`
|
|
1969
|
-
* and `initialBreakpoint` are set.
|
|
1970
|
-
*
|
|
1971
|
-
* If `true`, scrolling or dragging anywhere in the modal will first expand
|
|
1972
|
-
* it to the next breakpoint. Once fully expanded, scrolling will affect the
|
|
1973
|
-
* content.
|
|
1974
|
-
* If `false`, scrolling will always affect the content. The modal will
|
|
1975
|
-
* only expand when dragging the header or handle. The modal will close when
|
|
1976
|
-
* dragging the header or handle. It can also be closed when dragging the
|
|
1977
|
-
* content, but only if the content is scrolled to the top.
|
|
1978
|
-
*/
|
|
1979
|
-
expandToScroll = true;
|
|
1980
|
-
/**
|
|
1981
|
-
* A decimal value between 0 and 1 that indicates the
|
|
1982
|
-
* initial point the modal will open at when creating a
|
|
1983
|
-
* sheet modal. This value must also be listed in the
|
|
1984
|
-
* `breakpoints` array.
|
|
1985
|
-
*/
|
|
1986
|
-
initialBreakpoint;
|
|
1987
|
-
/**
|
|
1988
|
-
* A decimal value between 0 and 1 that indicates the
|
|
1989
|
-
* point after which the backdrop will begin to fade in
|
|
1990
|
-
* when using a sheet modal. Prior to this point, the
|
|
1991
|
-
* backdrop will be hidden and the content underneath
|
|
1992
|
-
* the sheet can be interacted with. This value is exclusive
|
|
1993
|
-
* meaning the backdrop will become active after the value
|
|
1994
|
-
* specified.
|
|
1995
|
-
*/
|
|
1996
|
-
backdropBreakpoint = 0;
|
|
1997
|
-
/**
|
|
1998
|
-
* The horizontal line that displays at the top of a sheet modal. It is `true` by default when
|
|
1999
|
-
* setting the `breakpoints` and `initialBreakpoint` properties.
|
|
2000
|
-
*/
|
|
2001
|
-
handle;
|
|
2002
|
-
/**
|
|
2003
|
-
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
2004
|
-
*
|
|
2005
|
-
* Handle behavior is unavailable when the `handle` property is set to
|
|
2006
|
-
* `false` or when the `breakpoints` property is not set (using a
|
|
2007
|
-
* fullscreen or card modal).
|
|
2008
|
-
*
|
|
2009
|
-
* Set to `"cycle"` to make the handle focusable and let the sheet modal
|
|
2010
|
-
* cycle between available breakpoints when pressed. This keeps the sheet
|
|
2011
|
-
* operable with assistive technology.
|
|
2012
|
-
*
|
|
2013
|
-
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
2014
|
-
* removed from the tab order.
|
|
2015
|
-
*
|
|
2016
|
-
* Defaults to `"cycle"`.
|
|
2017
|
-
*/
|
|
2018
|
-
handleBehavior = 'cycle';
|
|
2019
|
-
/**
|
|
2020
|
-
* The component to display inside of the modal.
|
|
2021
|
-
* @internal
|
|
2022
|
-
*/
|
|
2023
|
-
component;
|
|
2024
|
-
/**
|
|
2025
|
-
* The data to pass to the modal component.
|
|
2026
|
-
* @internal
|
|
2027
|
-
*/
|
|
2028
|
-
componentProps;
|
|
2029
|
-
/**
|
|
2030
|
-
* Additional classes to apply for custom CSS. If multiple classes are
|
|
2031
|
-
* provided they should be separated by spaces.
|
|
2032
|
-
* @internal
|
|
2033
|
-
*/
|
|
2034
|
-
cssClass;
|
|
2035
|
-
/**
|
|
2036
|
-
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
2037
|
-
*/
|
|
2038
|
-
backdropDismiss = true;
|
|
2039
|
-
/**
|
|
2040
|
-
* If `true`, a backdrop will be displayed behind the modal.
|
|
2041
|
-
* This property controls whether or not the backdrop
|
|
2042
|
-
* darkens the screen when the modal is presented.
|
|
2043
|
-
* It does not control whether or not the backdrop
|
|
2044
|
-
* is active or present in the DOM.
|
|
2045
|
-
*/
|
|
2046
|
-
showBackdrop = true;
|
|
2047
|
-
/**
|
|
2048
|
-
* If `true`, the modal will animate.
|
|
2049
|
-
*/
|
|
2050
|
-
animated = true;
|
|
2051
|
-
/**
|
|
2052
|
-
* The element that presented the modal. This is used for card presentation effects
|
|
2053
|
-
* and for stacking multiple modals on top of each other. Only applies in iOS mode.
|
|
2054
|
-
*/
|
|
2055
|
-
presentingElement;
|
|
2056
|
-
/**
|
|
2057
|
-
* Additional attributes to pass to the modal.
|
|
2058
|
-
*/
|
|
2059
|
-
htmlAttributes;
|
|
2060
|
-
/**
|
|
2061
|
-
* If `true`, the modal will open. If `false`, the modal will close.
|
|
2062
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
2063
|
-
* just use the modalController or the `trigger` property.
|
|
2064
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
2065
|
-
* the modal dismisses. You will need to do that in your code.
|
|
2066
|
-
*/
|
|
2067
|
-
isOpen = false;
|
|
2068
2062
|
onIsOpenChange(newValue, oldValue) {
|
|
2069
2063
|
if (newValue === true && oldValue === false) {
|
|
2070
2064
|
this.present();
|
|
@@ -2073,11 +2067,6 @@ const Modal = class {
|
|
|
2073
2067
|
this.dismiss();
|
|
2074
2068
|
}
|
|
2075
2069
|
}
|
|
2076
|
-
/**
|
|
2077
|
-
* An ID corresponding to the trigger element that
|
|
2078
|
-
* causes the modal to open when clicked.
|
|
2079
|
-
*/
|
|
2080
|
-
trigger;
|
|
2081
2070
|
triggerChanged() {
|
|
2082
2071
|
const { trigger, el, triggerController } = this;
|
|
2083
2072
|
if (trigger) {
|
|
@@ -2110,108 +2099,6 @@ const Modal = class {
|
|
|
2110
2099
|
}
|
|
2111
2100
|
}, 50); // Debounce to avoid excessive calls during active resizing
|
|
2112
2101
|
}
|
|
2113
|
-
/**
|
|
2114
|
-
* If `true`, the component passed into `ion-modal` will
|
|
2115
|
-
* automatically be mounted when the modal is created. The
|
|
2116
|
-
* component will remain mounted even when the modal is dismissed.
|
|
2117
|
-
* However, the component will be destroyed when the modal is
|
|
2118
|
-
* destroyed. This property is not reactive and should only be
|
|
2119
|
-
* used when initially creating a modal.
|
|
2120
|
-
*
|
|
2121
|
-
* Note: This feature only applies to inline modals in JavaScript
|
|
2122
|
-
* frameworks such as Angular, React, and Vue.
|
|
2123
|
-
*/
|
|
2124
|
-
keepContentsMounted = false;
|
|
2125
|
-
/**
|
|
2126
|
-
* If `true`, focus will not be allowed to move outside of this overlay.
|
|
2127
|
-
* If `false`, focus will be allowed to move outside of the overlay.
|
|
2128
|
-
*
|
|
2129
|
-
* In most scenarios this property should remain set to `true`. Setting
|
|
2130
|
-
* this property to `false` can cause severe accessibility issues as users
|
|
2131
|
-
* relying on assistive technologies may be able to move focus into
|
|
2132
|
-
* a confusing state. We recommend only setting this to `false` when
|
|
2133
|
-
* absolutely necessary.
|
|
2134
|
-
*
|
|
2135
|
-
* Developers may want to consider disabling focus trapping if this
|
|
2136
|
-
* overlay presents a non-Ionic overlay from a 3rd party library.
|
|
2137
|
-
* Developers would disable focus trapping on the Ionic overlay
|
|
2138
|
-
* when presenting the 3rd party overlay and then re-enable
|
|
2139
|
-
* focus trapping when dismissing the 3rd party overlay and moving
|
|
2140
|
-
* focus back to the Ionic overlay.
|
|
2141
|
-
*/
|
|
2142
|
-
focusTrap = true;
|
|
2143
|
-
/**
|
|
2144
|
-
* Determines whether or not a modal can dismiss
|
|
2145
|
-
* when calling the `dismiss` method.
|
|
2146
|
-
*
|
|
2147
|
-
* If the value is `true` or the value's function returns `true`, the modal will close when trying to dismiss.
|
|
2148
|
-
* If the value is `false` or the value's function returns `false`, the modal will not close when trying to dismiss.
|
|
2149
|
-
*
|
|
2150
|
-
* See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
|
|
2151
|
-
* if you need to access `this` from within the callback.
|
|
2152
|
-
*/
|
|
2153
|
-
canDismiss = true;
|
|
2154
|
-
/**
|
|
2155
|
-
* Emitted after the modal has presented.
|
|
2156
|
-
*/
|
|
2157
|
-
didPresent;
|
|
2158
|
-
/**
|
|
2159
|
-
* Emitted before the modal has presented.
|
|
2160
|
-
*/
|
|
2161
|
-
willPresent;
|
|
2162
|
-
/**
|
|
2163
|
-
* Emitted before the modal has dismissed.
|
|
2164
|
-
*/
|
|
2165
|
-
willDismiss;
|
|
2166
|
-
/**
|
|
2167
|
-
* Emitted after the modal has dismissed.
|
|
2168
|
-
*/
|
|
2169
|
-
didDismiss;
|
|
2170
|
-
/**
|
|
2171
|
-
* Emitted after the modal breakpoint has changed.
|
|
2172
|
-
*/
|
|
2173
|
-
ionBreakpointDidChange;
|
|
2174
|
-
/**
|
|
2175
|
-
* Emitted after the modal has presented.
|
|
2176
|
-
* Shorthand for ionModalDidPresent.
|
|
2177
|
-
*/
|
|
2178
|
-
didPresentShorthand;
|
|
2179
|
-
/**
|
|
2180
|
-
* Emitted before the modal has presented.
|
|
2181
|
-
* Shorthand for ionModalWillPresent.
|
|
2182
|
-
*/
|
|
2183
|
-
willPresentShorthand;
|
|
2184
|
-
/**
|
|
2185
|
-
* Emitted before the modal has dismissed.
|
|
2186
|
-
* Shorthand for ionModalWillDismiss.
|
|
2187
|
-
*/
|
|
2188
|
-
willDismissShorthand;
|
|
2189
|
-
/**
|
|
2190
|
-
* Emitted after the modal has dismissed.
|
|
2191
|
-
* Shorthand for ionModalDidDismiss.
|
|
2192
|
-
*/
|
|
2193
|
-
didDismissShorthand;
|
|
2194
|
-
/**
|
|
2195
|
-
* Emitted before the modal has presented, but after the component
|
|
2196
|
-
* has been mounted in the DOM.
|
|
2197
|
-
* This event exists so iOS can run the entering
|
|
2198
|
-
* transition properly
|
|
2199
|
-
*
|
|
2200
|
-
* @internal
|
|
2201
|
-
*/
|
|
2202
|
-
ionMount;
|
|
2203
|
-
/**
|
|
2204
|
-
* Event that is emitted when the sheet modal or card modal gesture starts.
|
|
2205
|
-
*/
|
|
2206
|
-
ionDragStart;
|
|
2207
|
-
/**
|
|
2208
|
-
* Event that is emitted when the sheet modal or card modal gesture moves.
|
|
2209
|
-
*/
|
|
2210
|
-
ionDragMove;
|
|
2211
|
-
/**
|
|
2212
|
-
* Event that is emitted when the sheet modal or card modal gesture ends.
|
|
2213
|
-
*/
|
|
2214
|
-
ionDragEnd;
|
|
2215
2102
|
breakpointsChanged(breakpoints) {
|
|
2216
2103
|
if (breakpoints !== undefined) {
|
|
2217
2104
|
this.sortedBreakpoints = breakpoints.sort((a, b) => a - b);
|
|
@@ -2229,12 +2116,9 @@ const Modal = class {
|
|
|
2229
2116
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
2230
2117
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
2231
2118
|
this.cleanupSafeAreaOverrides();
|
|
2232
|
-
// Clean up aria-hidden if removed without dismiss() being called
|
|
2233
|
-
if (this.presented) {
|
|
2234
|
-
cleanupRootFocusTrapAccessibility();
|
|
2235
|
-
}
|
|
2236
2119
|
}
|
|
2237
2120
|
componentWillLoad() {
|
|
2121
|
+
var _a;
|
|
2238
2122
|
const { breakpoints, initialBreakpoint, el, htmlAttributes } = this;
|
|
2239
2123
|
const isSheetModal = (this.isSheetModal = breakpoints !== undefined && initialBreakpoint !== undefined);
|
|
2240
2124
|
const attributesToInherit = ['aria-label', 'role'];
|
|
@@ -2269,10 +2153,7 @@ const Modal = class {
|
|
|
2269
2153
|
* htmlAttributes wins, but that's not a pattern that we recommend.
|
|
2270
2154
|
* The only time you'd need htmlAttributes is when using modalController.
|
|
2271
2155
|
*/
|
|
2272
|
-
this.inheritedAttributes = {
|
|
2273
|
-
...this.inheritedAttributes,
|
|
2274
|
-
[attribute]: htmlAttributes[attribute],
|
|
2275
|
-
};
|
|
2156
|
+
this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { [attribute]: htmlAttributes[attribute] });
|
|
2276
2157
|
delete htmlAttributes[attribute];
|
|
2277
2158
|
}
|
|
2278
2159
|
});
|
|
@@ -2283,7 +2164,7 @@ const Modal = class {
|
|
|
2283
2164
|
if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
|
|
2284
2165
|
printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
|
|
2285
2166
|
}
|
|
2286
|
-
if (!this.htmlAttributes
|
|
2167
|
+
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
2287
2168
|
setOverlayId(this.el);
|
|
2288
2169
|
}
|
|
2289
2170
|
}
|
|
@@ -2465,6 +2346,7 @@ const Modal = class {
|
|
|
2465
2346
|
unlock();
|
|
2466
2347
|
}
|
|
2467
2348
|
initSwipeToClose() {
|
|
2349
|
+
var _a;
|
|
2468
2350
|
if (getIonMode(this) !== 'ios') {
|
|
2469
2351
|
return;
|
|
2470
2352
|
}
|
|
@@ -2482,7 +2364,7 @@ const Modal = class {
|
|
|
2482
2364
|
printIonContentErrorMsg(el);
|
|
2483
2365
|
return;
|
|
2484
2366
|
}
|
|
2485
|
-
const statusBarStyle = this.statusBarStyle
|
|
2367
|
+
const statusBarStyle = (_a = this.statusBarStyle) !== null && _a !== void 0 ? _a : Style.Default;
|
|
2486
2368
|
this.gesture = createSwipeToCloseGesture(el, ani, statusBarStyle, () => this.cardOnDismiss(), () => this.onDragStart(), (detail) => this.onDragMove(detail), (detail) => this.onDragEnd(detail));
|
|
2487
2369
|
this.gesture.enable(true);
|
|
2488
2370
|
}
|
|
@@ -2499,7 +2381,7 @@ const Modal = class {
|
|
|
2499
2381
|
expandToScroll: this.expandToScroll,
|
|
2500
2382
|
}));
|
|
2501
2383
|
ani.progressStart(true, 1);
|
|
2502
|
-
const { gesture, moveSheetToBreakpoint, resetContentScroll } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => this.currentBreakpoint
|
|
2384
|
+
const { gesture, moveSheetToBreakpoint, resetContentScroll } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
2503
2385
|
if (this.currentBreakpoint !== breakpoint) {
|
|
2504
2386
|
this.currentBreakpoint = breakpoint;
|
|
2505
2387
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
@@ -2525,6 +2407,7 @@ const Modal = class {
|
|
|
2525
2407
|
* passthrough on child route page wrappers and nested router outlets.
|
|
2526
2408
|
*/
|
|
2527
2409
|
setupChildRoutePassthrough() {
|
|
2410
|
+
var _a;
|
|
2528
2411
|
// Cache the page parent for cleanup
|
|
2529
2412
|
this.cachedPageParent = this.getOriginalPageParent();
|
|
2530
2413
|
const pageParent = this.cachedPageParent;
|
|
@@ -2532,11 +2415,14 @@ const Modal = class {
|
|
|
2532
2415
|
if (!pageParent || pageParent.tagName === 'ION-APP') {
|
|
2533
2416
|
return;
|
|
2534
2417
|
}
|
|
2535
|
-
const hasVisibleContent = Array.from(pageParent.children).some((child) =>
|
|
2536
|
-
|
|
2537
|
-
child
|
|
2538
|
-
|
|
2539
|
-
|
|
2418
|
+
const hasVisibleContent = Array.from(pageParent.children).some((child) => {
|
|
2419
|
+
var _a;
|
|
2420
|
+
return child !== this.el &&
|
|
2421
|
+
!(child instanceof HTMLElement && window.getComputedStyle(child).display === 'none') &&
|
|
2422
|
+
child.tagName !== 'TEMPLATE' &&
|
|
2423
|
+
child.tagName !== 'SLOT' &&
|
|
2424
|
+
!(child.nodeType === Node.TEXT_NODE && !((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()));
|
|
2425
|
+
});
|
|
2540
2426
|
if (hasVisibleContent) {
|
|
2541
2427
|
return;
|
|
2542
2428
|
}
|
|
@@ -2544,7 +2430,7 @@ const Modal = class {
|
|
|
2544
2430
|
pageParent.classList.add('ion-page-overlay-passthrough');
|
|
2545
2431
|
// Also make nested router outlets passthrough
|
|
2546
2432
|
const routerOutlet = pageParent.parentElement;
|
|
2547
|
-
if (routerOutlet
|
|
2433
|
+
if ((routerOutlet === null || routerOutlet === void 0 ? void 0 : routerOutlet.tagName) === 'ION-ROUTER-OUTLET' && ((_a = routerOutlet.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) !== 'ION-APP') {
|
|
2548
2434
|
routerOutlet.style.setProperty('pointer-events', 'none');
|
|
2549
2435
|
routerOutlet.setAttribute('data-overlay-passthrough', 'true');
|
|
2550
2436
|
}
|
|
@@ -2572,7 +2458,7 @@ const Modal = class {
|
|
|
2572
2458
|
}
|
|
2573
2459
|
pageParent.classList.remove('ion-page-overlay-passthrough');
|
|
2574
2460
|
const routerOutlet = pageParent.parentElement;
|
|
2575
|
-
if (routerOutlet
|
|
2461
|
+
if (routerOutlet === null || routerOutlet === void 0 ? void 0 : routerOutlet.hasAttribute('data-overlay-passthrough')) {
|
|
2576
2462
|
routerOutlet.style.removeProperty('pointer-events');
|
|
2577
2463
|
routerOutlet.removeAttribute('data-overlay-passthrough');
|
|
2578
2464
|
}
|
|
@@ -2635,6 +2521,7 @@ const Modal = class {
|
|
|
2635
2521
|
* For example, `cancel` or `backdrop`.
|
|
2636
2522
|
*/
|
|
2637
2523
|
async dismiss(data, role) {
|
|
2524
|
+
var _a, _b;
|
|
2638
2525
|
if (this.gestureAnimationDismissing && role !== GESTURE) {
|
|
2639
2526
|
return false;
|
|
2640
2527
|
}
|
|
@@ -2679,7 +2566,7 @@ const Modal = class {
|
|
|
2679
2566
|
}
|
|
2680
2567
|
const dismissed = await dismiss(this, data, role, 'modalLeave', iosLeaveAnimation, mdLeaveAnimation, {
|
|
2681
2568
|
presentingEl: presentingElement,
|
|
2682
|
-
currentBreakpoint: this.currentBreakpoint
|
|
2569
|
+
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
2683
2570
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
2684
2571
|
expandToScroll: this.expandToScroll,
|
|
2685
2572
|
});
|
|
@@ -2698,7 +2585,7 @@ const Modal = class {
|
|
|
2698
2585
|
* the top breakpoint. Inline modals reuse the same content on the next
|
|
2699
2586
|
* present, so hand it back before the gesture goes away.
|
|
2700
2587
|
*/
|
|
2701
|
-
this.resetSheetContentScroll
|
|
2588
|
+
(_b = this.resetSheetContentScroll) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
2702
2589
|
this.resetSheetContentScroll = undefined;
|
|
2703
2590
|
this.cleanupViewTransitionListener();
|
|
2704
2591
|
this.cleanupParentRemovalObserver();
|
|
@@ -2779,59 +2666,6 @@ const Modal = class {
|
|
|
2779
2666
|
await this.setCurrentBreakpoint(nextBreakpoint);
|
|
2780
2667
|
return true;
|
|
2781
2668
|
}
|
|
2782
|
-
onHandleClick = () => {
|
|
2783
|
-
const { sheetTransition, handleBehavior } = this;
|
|
2784
|
-
if (handleBehavior !== 'cycle' || sheetTransition !== undefined) {
|
|
2785
|
-
/**
|
|
2786
|
-
* The sheet modal should not advance to the next breakpoint
|
|
2787
|
-
* if the handle behavior is not `cycle` or if the handle
|
|
2788
|
-
* is clicked while the sheet is moving to a breakpoint.
|
|
2789
|
-
*/
|
|
2790
|
-
return;
|
|
2791
|
-
}
|
|
2792
|
-
this.moveToNextBreakpoint();
|
|
2793
|
-
};
|
|
2794
|
-
onBackdropTap = () => {
|
|
2795
|
-
const { sheetTransition } = this;
|
|
2796
|
-
if (sheetTransition !== undefined) {
|
|
2797
|
-
/**
|
|
2798
|
-
* When the handle is double clicked at the largest breakpoint,
|
|
2799
|
-
* it will start to move to the first breakpoint. While transitioning,
|
|
2800
|
-
* the backdrop will often receive the second click. We prevent the
|
|
2801
|
-
* backdrop from dismissing the modal while moving between breakpoints.
|
|
2802
|
-
*/
|
|
2803
|
-
return;
|
|
2804
|
-
}
|
|
2805
|
-
this.dismiss(undefined, BACKDROP);
|
|
2806
|
-
};
|
|
2807
|
-
onLifecycle = (modalEvent) => {
|
|
2808
|
-
const el = this.usersElement;
|
|
2809
|
-
const name = LIFECYCLE_MAP[modalEvent.type];
|
|
2810
|
-
if (el && name) {
|
|
2811
|
-
const ev = new CustomEvent(name, {
|
|
2812
|
-
bubbles: false,
|
|
2813
|
-
cancelable: false,
|
|
2814
|
-
detail: modalEvent.detail,
|
|
2815
|
-
});
|
|
2816
|
-
el.dispatchEvent(ev);
|
|
2817
|
-
}
|
|
2818
|
-
};
|
|
2819
|
-
/**
|
|
2820
|
-
* When the modal receives focus directly, pass focus to the handle
|
|
2821
|
-
* if it exists and is focusable, otherwise let the focus trap handle it.
|
|
2822
|
-
*/
|
|
2823
|
-
onModalFocus = (ev) => {
|
|
2824
|
-
const { dragHandleEl, el } = this;
|
|
2825
|
-
/**
|
|
2826
|
-
* Shadow DOM focus is retargeted to the host, so `ev.target === el` is also
|
|
2827
|
-
* true when a shadow child (the dialog wrapper present() focuses) is focused.
|
|
2828
|
-
* shadowRoot's activeElement is null only when the host was focused directly,
|
|
2829
|
-
* so redirect to the handle only then and leave present()'s wrapper focus intact.
|
|
2830
|
-
*/
|
|
2831
|
-
if (ev.target === el && el.shadowRoot?.activeElement == null && dragHandleEl && dragHandleEl.tabIndex !== -1) {
|
|
2832
|
-
dragHandleEl.focus();
|
|
2833
|
-
}
|
|
2834
|
-
};
|
|
2835
2669
|
initViewTransitionListener() {
|
|
2836
2670
|
// Only enable for iOS card modals when no custom animations are provided
|
|
2837
2671
|
if (getIonMode(this) !== 'ios' || !this.presentingElement || this.enterAnimation || this.leaveAnimation) {
|
|
@@ -2927,7 +2761,7 @@ const Modal = class {
|
|
|
2927
2761
|
wrapperEl.style.transform = 'translateY(0vh)';
|
|
2928
2762
|
wrapperEl.style.opacity = '1';
|
|
2929
2763
|
}
|
|
2930
|
-
if (presentingElement
|
|
2764
|
+
if ((presentingElement === null || presentingElement === void 0 ? void 0 : presentingElement.tagName) === 'ION-MODAL') {
|
|
2931
2765
|
const isPortrait = window.innerWidth < 768;
|
|
2932
2766
|
if (isPortrait) {
|
|
2933
2767
|
const transformOffset = !CSS.supports('width', 'max(0px, 1px)')
|
|
@@ -2941,29 +2775,9 @@ const Modal = class {
|
|
|
2941
2775
|
}
|
|
2942
2776
|
}
|
|
2943
2777
|
}
|
|
2944
|
-
/**
|
|
2945
|
-
* When the slot changes, we need to find all the modals in the slot
|
|
2946
|
-
* and set the data-parent-ion-modal attribute on them so we can find them
|
|
2947
|
-
* and dismiss them when we get dismissed.
|
|
2948
|
-
* We need to do it this way because when a modal is opened, it's moved to
|
|
2949
|
-
* the end of the body and is no longer an actual child of the modal.
|
|
2950
|
-
*/
|
|
2951
|
-
onSlotChange = ({ target }) => {
|
|
2952
|
-
const slot = target;
|
|
2953
|
-
slot.assignedElements().forEach((el) => {
|
|
2954
|
-
el.querySelectorAll('ion-modal').forEach((childModal) => {
|
|
2955
|
-
// We don't need to write to the DOM if the modal is already tagged
|
|
2956
|
-
// If this is a deeply nested modal, this effect should cascade so we don't
|
|
2957
|
-
// need to worry about another modal claiming the same child.
|
|
2958
|
-
if (childModal.getAttribute('data-parent-ion-modal') === null) {
|
|
2959
|
-
childModal.setAttribute('data-parent-ion-modal', this.el.id);
|
|
2960
|
-
}
|
|
2961
|
-
});
|
|
2962
|
-
});
|
|
2963
|
-
};
|
|
2964
2778
|
async dismissNestedModals() {
|
|
2965
2779
|
const nestedModals = document.querySelectorAll(`ion-modal[data-parent-ion-modal="${this.el.id}"]`);
|
|
2966
|
-
nestedModals
|
|
2780
|
+
nestedModals === null || nestedModals === void 0 ? void 0 : nestedModals.forEach(async (modal) => {
|
|
2967
2781
|
await modal.dismiss(undefined, 'parent-dismissed');
|
|
2968
2782
|
});
|
|
2969
2783
|
}
|
|
@@ -2996,9 +2810,10 @@ const Modal = class {
|
|
|
2996
2810
|
if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
|
|
2997
2811
|
// Check if our cached original parent was removed
|
|
2998
2812
|
const cachedParentWasRemoved = Array.from(mutation.removedNodes).some((node) => {
|
|
2813
|
+
var _a, _b;
|
|
2999
2814
|
const isDirectMatch = node === this.cachedOriginalParent;
|
|
3000
2815
|
const isContainedMatch = this.cachedOriginalParent
|
|
3001
|
-
? node.contains
|
|
2816
|
+
? (_b = (_a = node).contains) === null || _b === void 0 ? void 0 : _b.call(_a, this.cachedOriginalParent)
|
|
3002
2817
|
: false;
|
|
3003
2818
|
return isDirectMatch || isContainedMatch;
|
|
3004
2819
|
});
|
|
@@ -3020,7 +2835,8 @@ const Modal = class {
|
|
|
3020
2835
|
});
|
|
3021
2836
|
}
|
|
3022
2837
|
cleanupParentRemovalObserver() {
|
|
3023
|
-
|
|
2838
|
+
var _a;
|
|
2839
|
+
(_a = this.parentRemovalObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
3024
2840
|
this.parentRemovalObserver = undefined;
|
|
3025
2841
|
}
|
|
3026
2842
|
onDragStart() {
|
|
@@ -3060,10 +2876,7 @@ const Modal = class {
|
|
|
3060
2876
|
* sheets to prevent header content from getting double-offset padding).
|
|
3061
2877
|
*/
|
|
3062
2878
|
setInitialSafeAreaOverrides() {
|
|
3063
|
-
const context = {
|
|
3064
|
-
...this.getSafeAreaContext(),
|
|
3065
|
-
hasCustomDimensions: hasCustomModalDimensions(this.el),
|
|
3066
|
-
};
|
|
2879
|
+
const context = Object.assign(Object.assign({}, this.getSafeAreaContext()), { hasCustomDimensions: hasCustomModalDimensions(this.el) });
|
|
3067
2880
|
const safeAreaConfig = getInitialSafeAreaConfig(context);
|
|
3068
2881
|
applySafeAreaOverrides(this.el, safeAreaConfig);
|
|
3069
2882
|
// Set the internal offset property with the resolved root safe-area-top value
|
|
@@ -3079,7 +2892,7 @@ const Modal = class {
|
|
|
3079
2892
|
* and whenever the root safe-area value itself changes.
|
|
3080
2893
|
*/
|
|
3081
2894
|
updateSheetOffsetTop(safeAreaTop) {
|
|
3082
|
-
const value = safeAreaTop
|
|
2895
|
+
const value = safeAreaTop !== null && safeAreaTop !== void 0 ? safeAreaTop : getRootSafeAreaTop();
|
|
3083
2896
|
this.el.style.setProperty('--ion-modal-offset-top', `${value}px`);
|
|
3084
2897
|
}
|
|
3085
2898
|
/**
|
|
@@ -3179,8 +2992,9 @@ const Modal = class {
|
|
|
3179
2992
|
* Clears all safe-area overrides and padding.
|
|
3180
2993
|
*/
|
|
3181
2994
|
cleanupSafeAreaOverrides() {
|
|
2995
|
+
var _a;
|
|
3182
2996
|
clearSafeAreaOverrides(this.el);
|
|
3183
|
-
this.unsubscribeRootSafeAreaTop
|
|
2997
|
+
(_a = this.unsubscribeRootSafeAreaTop) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
3184
2998
|
this.unsubscribeRootSafeAreaTop = undefined;
|
|
3185
2999
|
// Remove internal sheet offset property
|
|
3186
3000
|
this.el.style.removeProperty('--ion-modal-offset-top');
|
|
@@ -3194,20 +3008,11 @@ const Modal = class {
|
|
|
3194
3008
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
3195
3009
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
3196
3010
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
3197
|
-
return (h(Host, { key: '
|
|
3011
|
+
return (h(Host, Object.assign({ key: 'c4b2713ebc788ac8672e18fdd5069e4253c4da34', "no-router": true,
|
|
3198
3012
|
// Allow the modal to be navigable when the handle is focusable
|
|
3199
|
-
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1,
|
|
3013
|
+
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
3200
3014
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
3201
|
-
}, class: {
|
|
3202
|
-
[mode]: true,
|
|
3203
|
-
['modal-default']: !isCardModal && !isSheetModal,
|
|
3204
|
-
[`modal-card`]: isCardModal,
|
|
3205
|
-
[`modal-sheet`]: isSheetModal,
|
|
3206
|
-
[`modal-no-expand-scroll`]: isSheetModal && !expandToScroll,
|
|
3207
|
-
'overlay-hidden': true,
|
|
3208
|
-
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
3209
|
-
...getClassMap(this.cssClass),
|
|
3210
|
-
}, onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }, h("ion-backdrop", { key: 'f67934afd4ddad64623856fb641cb6db846df428', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a23f5cb6cf60c8f717c1dd556bce375829c80a43', class: "modal-shadow" }), h("div", { key: '51eb6cd1070e4b7e49840a78dc7437238c867a01',
|
|
3015
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '2cc0afff8a815954492138afb0fca042243afddd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '9844700b9436f9bfa1a69ba436e9ca46d70cf316', class: "modal-shadow" }), h("div", Object.assign({ key: 'ab1cd56ca956c773c9242fb42ff320bac7627b4b',
|
|
3211
3016
|
/*
|
|
3212
3017
|
role and aria-modal must be used on the
|
|
3213
3018
|
same element. They must also be set inside the
|
|
@@ -3220,10 +3025,11 @@ const Modal = class {
|
|
|
3220
3025
|
without the tabindex focus() would be a no-op and screen readers
|
|
3221
3026
|
may not properly announce the dialog and its content when it opens.
|
|
3222
3027
|
*/
|
|
3223
|
-
role: "dialog",
|
|
3028
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'c7706794e04a962178640e9a9a11c56288c45e08', class: "modal-handle",
|
|
3224
3029
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
3225
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '
|
|
3030
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'c44fd9810cdd3286f096af98e5a4072f8f44c193', onSlotchange: this.onSlotChange }))));
|
|
3226
3031
|
}
|
|
3032
|
+
get el() { return getElement(this); }
|
|
3227
3033
|
static get watchers() { return {
|
|
3228
3034
|
"isOpen": [{
|
|
3229
3035
|
"onIsOpenChange": 0
|