@ionic/core 8.8.18 → 8.8.19-dev.11786730389.1a1927bf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-route-redirect.js +1 -1
- package/components/ion-route.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-0Pyit076.js +4 -0
- package/components/{p-C_hpsif8.js → p-30_sZS2V.js} +1 -1
- package/components/p-83oP9gzn.js +4 -0
- package/components/p-8FN7p701.js +4 -0
- package/components/p-B-FxiyeI.js +4 -0
- package/components/p-B6dUPQXq.js +4 -0
- package/components/p-BMPN55of.js +4 -0
- package/components/p-BMS4t-kJ.js +4 -0
- package/components/p-BO4sUqUv.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-Bc4wROfM.js +4 -0
- package/components/p-BhamHSw3.js +4 -0
- package/components/{p-D3xo7hqU.js → p-BpG8kBfD.js} +1 -1
- package/components/p-BqPNzJf6.js +4 -0
- package/components/p-BsVxQGUT.js +4 -0
- package/components/p-BxUIQcD9.js +4 -0
- package/components/p-C1O9GEug.js +4 -0
- package/components/p-C5KYjZWD.js +4 -0
- package/components/p-C9BGR5fy.js +4 -0
- package/components/p-CD4fmpem.js +4 -0
- package/components/p-CEW4RXZO.js +4 -0
- package/components/p-CKhiNOEg.js +4 -0
- package/components/p-CO2zzh3W.js +4 -0
- package/components/p-CVnwvOBD.js +4 -0
- package/components/p-CbhUdtjf.js +4 -0
- package/components/p-CejmQs3h.js +4 -0
- package/components/p-CfnGxjv-.js +4 -0
- package/components/p-ClFYbgND.js +4 -0
- package/components/p-CmKf4pgI.js +4 -0
- package/components/p-Cs5f-uOS.js +4 -0
- package/components/p-D7-vHX0A.js +4 -0
- package/{dist/ionic/p-DC3RagnA.js → components/p-DIgGHN7D.js} +1 -1
- package/components/p-DRfgH82D.js +4 -0
- package/components/p-DTY4otpr.js +4 -0
- package/components/{p--JUspHvy.js → p-DV85C0e0.js} +1 -1
- package/components/p-DVKS-ovH.js +4 -0
- package/components/p-DWCzVL3Y.js +4 -0
- package/components/p-D_XD0pVT.js +4 -0
- package/components/p-Dd8ajo9a.js +4 -0
- package/components/p-DdnhY_oj.js +4 -0
- package/components/p-Dm7h4Nyv.js +4 -0
- package/components/{p-BkKAANMJ.js → p-DwpKZ6rl.js} +1 -1
- package/components/p-DyePCNGr.js +4 -0
- package/components/p-G0TxqHfe.js +4 -0
- package/components/{p-ChIZKXUu.js → p-J-p0EtHR.js} +1 -1
- package/components/p-LXu5-6Ti.js +4 -0
- package/components/p-MCJ7HjWe.js +4 -0
- package/components/p-Obm7si-x.js +4 -0
- package/components/p-TXPDHL13.js +4 -0
- package/components/p-UuPYCOZE.js +4 -0
- package/components/p-WeeS7GvC.js +4 -0
- package/components/{p-D7uN07a3.js → p-_0JhwClE.js} +1 -1
- package/components/p-_IKFD3ID.js +4 -0
- package/components/p-byZM6qHV.js +4 -0
- package/components/p-hh7qIC-X.js +4 -0
- package/components/p-idq4JFo2.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-ryyf_ItD.js} +1 -1
- package/components/p-tYCT3JGl.js +4 -0
- package/components/p-wzAhIh03.js +4 -0
- package/components/p-xOjr4bwc.js +4 -0
- package/components/p-yuj4Nkm_.js +4 -0
- package/dist/cjs/{animation-Ch16T-Nb.js → animation-C0mOHzej.js} +4 -4
- package/dist/cjs/{app-globals-Dd89e0MR.js → app-globals-BREG4twP.js} +1 -1
- package/dist/cjs/{button-active-COnxOe4X.js → button-active-BKj1rdFx.js} +3 -3
- package/dist/cjs/config-CjUbvdPW.js +36 -0
- package/dist/cjs/{dir-Cn0z1rJH.js → dir-Brx7VkvP.js} +1 -1
- package/dist/cjs/{format-BUFWn4Bn.js → format-pp0Du3K-.js} +40 -30
- package/dist/cjs/{framework-delegate-BgU6U9Ez.js → framework-delegate-NTLQ5YzV.js} +5 -7
- package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-BDUH7687.js} +15 -8
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
- package/dist/cjs/{hardware-back-button-CXmUnTJC.js → hardware-back-button-fqpYh-kd.js} +4 -4
- package/dist/cjs/{helpers-gntk8bfm.js → helpers-CaLhEmTE.js} +3 -3
- package/dist/cjs/index-B7zJsYWS.js +429 -0
- package/dist/cjs/{index-BhhuJ1Yx.js → index-BlshL9ib.js} +2 -2
- package/dist/cjs/{index-BS2uhvhT.js → index-Ck9advCT.js} +5 -5
- package/dist/cjs/{index-ooS8B4p9.js → index-D2X6b92x.js} +6 -7
- package/dist/cjs/{index-BiRrzGDi.js → index-D48vawBq.js} +2 -2
- package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
- package/dist/cjs/{index-BfaXsATC.js → index-uvry__L4.js} +31 -14
- package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{input-shims-Bn1cXfCM.js → input-shims-DvHAFqiP.js} +9 -11
- package/dist/cjs/{input.utils-BwhxZooW.js → input.utils-CP4fzrqk.js} +3 -4
- package/dist/cjs/ion-accordion_2.cjs.entry.js +368 -340
- package/dist/cjs/ion-action-sheet.cjs.entry.js +187 -76
- package/dist/cjs/ion-alert.cjs.entry.js +273 -111
- package/dist/cjs/ion-app_8.cjs.entry.js +307 -190
- package/dist/cjs/ion-avatar_3.cjs.entry.js +10 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +47 -23
- package/dist/cjs/ion-backdrop.cjs.entry.js +18 -14
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +199 -121
- package/dist/cjs/ion-button_2.cjs.entry.js +138 -66
- package/dist/cjs/ion-card_5.cjs.entry.js +82 -30
- package/dist/cjs/ion-checkbox.cjs.entry.js +152 -101
- package/dist/cjs/ion-chip.cjs.entry.js +17 -11
- package/dist/cjs/ion-col_3.cjs.entry.js +134 -10
- package/dist/cjs/ion-datetime-button.cjs.entry.js +253 -241
- package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +139 -81
- package/dist/cjs/ion-img.cjs.entry.js +34 -12
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +100 -72
- package/dist/cjs/ion-input-otp.cjs.entry.js +433 -370
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +33 -19
- package/dist/cjs/ion-input.cjs.entry.js +314 -168
- package/dist/cjs/ion-item-option_3.cjs.entry.js +91 -51
- package/dist/cjs/ion-item_8.cjs.entry.js +181 -82
- package/dist/cjs/ion-loading.cjs.entry.js +146 -60
- package/dist/cjs/ion-menu_3.cjs.entry.js +163 -101
- package/dist/cjs/ion-modal.cjs.entry.js +455 -261
- package/dist/cjs/ion-nav_2.cjs.entry.js +100 -157
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +37 -33
- package/dist/cjs/ion-picker-column.cjs.entry.js +417 -405
- package/dist/cjs/ion-picker.cjs.entry.js +401 -392
- package/dist/cjs/ion-popover.cjs.entry.js +319 -205
- package/dist/cjs/ion-progress-bar.cjs.entry.js +31 -25
- package/dist/cjs/ion-radio_2.cjs.entry.js +206 -133
- package/dist/cjs/ion-range.cjs.entry.js +302 -237
- package/dist/cjs/ion-refresher_2.cjs.entry.js +165 -93
- package/dist/cjs/ion-reorder_2.cjs.entry.js +53 -23
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
- package/dist/cjs/ion-route_4.cjs.entry.js +175 -71
- package/dist/cjs/ion-searchbar.cjs.entry.js +291 -200
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +28 -17
- package/dist/cjs/ion-segment_2.cjs.entry.js +169 -126
- package/dist/cjs/ion-select-modal.cjs.entry.js +104 -48
- package/dist/cjs/ion-select_3.cjs.entry.js +759 -214
- package/dist/cjs/ion-spinner.cjs.entry.js +24 -10
- package/dist/cjs/ion-split-pane.cjs.entry.js +29 -16
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +100 -41
- package/dist/cjs/ion-tab_2.cjs.entry.js +53 -27
- package/dist/cjs/ion-text.cjs.entry.js +11 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +263 -144
- package/dist/cjs/ion-toast.cjs.entry.js +236 -117
- package/dist/cjs/ion-toggle.cjs.entry.js +175 -122
- package/dist/cjs/{ionic-global-BerQGEpE.js → ionic-global-k6hOWWpn.js} +13 -8
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-IMJRwn29.js → ios.transition-KvuRAe2W.js} +13 -17
- package/dist/cjs/{item-multiple-inputs-jOJZE_I0.js → item-multiple-inputs-BdYSbfKN.js} +1 -1
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-CgQZxcoT.js → md.transition-Bjl5Ozph.js} +7 -8
- package/dist/cjs/{notch-controller-_SwR025y.js → notch-controller-BEUpEgb5.js} +1 -1
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-DuSEMhIW.js → overlays-IlP4H2Gn.js} +48 -33
- package/dist/cjs/select-option-render-pULCGldr.js +123 -0
- package/dist/cjs/{status-tap-CSvBT7FV.js → status-tap-BR_ujYHg.js} +3 -3
- package/dist/cjs/{swipe-back-CuIiziaa.js → swipe-back-DzQKEl5g.js} +5 -5
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
- package/dist/collection/collection-manifest.json +6 -10
- package/dist/collection/components/accordion/accordion.js +315 -312
- package/dist/collection/components/accordion-group/accordion-group.js +48 -25
- package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
- package/dist/collection/components/action-sheet/action-sheet.js +173 -64
- package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
- package/dist/collection/components/action-sheet/test/basic/fixture.js +3 -0
- package/dist/collection/components/alert/alert.ios.css +279 -10
- package/dist/collection/components/alert/alert.js +257 -97
- package/dist/collection/components/alert/alert.md.css +268 -20
- package/dist/collection/components/app/app.js +3 -0
- package/dist/collection/components/back-button/back-button.js +42 -19
- package/dist/collection/components/backdrop/backdrop.js +16 -14
- package/dist/collection/components/badge/badge.js +6 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +91 -30
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +103 -88
- package/dist/collection/components/button/button.js +132 -61
- package/dist/collection/components/buttons/buttons.js +13 -15
- package/dist/collection/components/card/card.js +54 -21
- package/dist/collection/components/card-header/card-header.js +12 -8
- package/dist/collection/components/card-subtitle/card-subtitle.js +6 -0
- package/dist/collection/components/card-title/card-title.js +6 -0
- package/dist/collection/components/checkbox/checkbox.js +147 -97
- package/dist/collection/components/chip/chip.js +14 -10
- package/dist/collection/components/col/col.js +127 -3
- package/dist/collection/components/content/content.js +93 -64
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +1042 -807
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime/utils/data.js +13 -14
- package/dist/collection/components/datetime/utils/format.js +21 -11
- 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 +8 -2
- package/dist/collection/components/datetime/utils/validate.js +4 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +247 -237
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/fab/fab.js +20 -13
- package/dist/collection/components/fab-button/fab-button.js +104 -55
- package/dist/collection/components/fab-list/fab-list.js +10 -11
- package/dist/collection/components/footer/footer.js +50 -44
- package/dist/collection/components/grid/grid.js +4 -6
- package/dist/collection/components/header/header.js +35 -25
- package/dist/collection/components/img/img.js +34 -10
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +73 -66
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +20 -3
- package/dist/collection/components/input/input.ios.css +1 -2
- package/dist/collection/components/input/input.js +309 -164
- package/dist/collection/components/input/input.md.css +1 -2
- package/dist/collection/components/input-otp/input-otp.js +428 -366
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +29 -16
- package/dist/collection/components/item/item.js +99 -53
- package/dist/collection/components/item-divider/item-divider.js +15 -10
- package/dist/collection/components/item-option/item-option.js +49 -21
- package/dist/collection/components/item-options/item-options.js +10 -7
- package/dist/collection/components/item-sliding/item-sliding.js +26 -20
- package/dist/collection/components/label/label.js +24 -4
- package/dist/collection/components/list/list.js +10 -7
- package/dist/collection/components/list-header/list-header.js +10 -0
- package/dist/collection/components/loading/loading.js +135 -51
- package/dist/collection/components/menu/menu.js +101 -59
- package/dist/collection/components/menu-button/menu-button.js +29 -20
- package/dist/collection/components/menu-toggle/menu-toggle.js +20 -13
- 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 +22 -10
- package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
- package/dist/collection/components/modal/modal.js +398 -228
- package/dist/collection/components/modal/safe-area-utils.js +6 -7
- package/dist/collection/components/modal/test/fixtures.js +3 -0
- package/dist/collection/components/nav/nav.js +69 -247
- package/dist/collection/components/nav/view-controller.js +7 -1
- package/dist/collection/components/nav-link/nav-link.js +20 -9
- package/dist/collection/components/note/note.js +6 -0
- package/dist/collection/components/picker/picker.js +398 -390
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +414 -404
- package/dist/collection/components/picker-column-option/picker-column-option.js +33 -31
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/animations/ios.enter.js +1 -2
- package/dist/collection/components/popover/animations/md.enter.js +1 -2
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +302 -185
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/popover/test/fixture.js +1 -0
- package/dist/collection/components/popover/utils.js +4 -6
- package/dist/collection/components/progress-bar/progress-bar.js +27 -23
- package/dist/collection/components/radio/radio.js +102 -66
- package/dist/collection/components/radio-group/radio-group.js +100 -65
- package/dist/collection/components/radio-group/test/fixtures.js +2 -0
- package/dist/collection/components/range/range.js +296 -232
- package/dist/collection/components/refresher/refresher.js +110 -78
- package/dist/collection/components/refresher-content/refresher-content.js +41 -4
- package/dist/collection/components/reorder/reorder.js +2 -1
- package/dist/collection/components/reorder-group/reorder-group.js +44 -15
- package/dist/collection/components/ripple-effect/ripple-effect.js +12 -13
- package/dist/collection/components/route/route.js +39 -10
- package/dist/collection/components/route-redirect/route-redirect.js +31 -0
- package/dist/collection/components/router/router.js +37 -33
- package/dist/collection/components/router/utils/dom.js +25 -7
- package/dist/collection/components/router/utils/matching.js +7 -9
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +0 -1
- package/dist/collection/components/router-link/router-link.js +37 -12
- package/dist/collection/components/router-outlet/router-outlet.js +82 -21
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +289 -199
- package/dist/collection/components/segment/segment.js +120 -85
- package/dist/collection/components/segment-button/segment-button.js +43 -37
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +26 -16
- package/dist/collection/components/select/select.ios.css +33 -0
- package/dist/collection/components/select/select.js +597 -166
- package/dist/collection/components/select/select.md.css +33 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
- package/dist/collection/components/select-modal/select-modal.js +92 -38
- package/dist/collection/components/select-modal/select-modal.md.css +164 -0
- package/dist/collection/components/select-modal/test/fixtures.js +8 -1
- package/dist/collection/components/select-option/select-option.js +110 -9
- package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
- package/dist/collection/components/select-popover/select-popover.js +103 -36
- package/dist/collection/components/select-popover/select-popover.md.css +164 -0
- package/dist/collection/components/select-popover/test/fixtures.js +8 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +12 -8
- package/dist/collection/components/spinner/spinner.js +21 -9
- package/dist/collection/components/split-pane/split-pane.js +27 -15
- package/dist/collection/components/tab/tab.js +17 -6
- package/dist/collection/components/tab-bar/tab-bar.js +32 -14
- package/dist/collection/components/tab-button/tab-button.js +62 -23
- package/dist/collection/components/tabs/tabs.js +33 -20
- package/dist/collection/components/text/text.js +8 -2
- package/dist/collection/components/textarea/textarea.js +257 -139
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +18 -2
- package/dist/collection/components/toast/toast.js +223 -106
- package/dist/collection/components/toggle/toggle.js +167 -115
- package/dist/collection/components/toolbar/toolbar.js +15 -7
- package/dist/collection/global/config.js +4 -6
- package/dist/collection/global/ionic-global.js +8 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +5 -4
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +3 -3
- package/dist/collection/utils/framework-delegate.js +4 -6
- package/dist/collection/utils/gesture/gesture-controller.js +15 -8
- package/dist/collection/utils/gesture/index.js +10 -2
- 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 +4 -5
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
- 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 +23 -4
- package/dist/collection/utils/menu-controller/index.js +1 -2
- package/dist/collection/utils/native/haptic.js +2 -3
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +38 -23
- package/dist/collection/utils/platform.js +4 -5
- package/dist/collection/utils/rtl/dir.js +1 -1
- package/dist/collection/utils/sanitization/index.js +276 -20
- package/dist/collection/utils/select-option-render.js +118 -0
- package/dist/collection/utils/slot-mutation-controller.js +1 -2
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/drag-element.js +2 -3
- package/dist/collection/utils/test/playwright/generator.js +3 -4
- package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
- package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
- 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 +2 -3
- package/dist/collection/utils/test/press-keys.js +10 -17
- package/dist/collection/utils/theme.js +6 -1
- package/dist/collection/utils/transition/ios.transition.js +9 -13
- package/dist/collection/utils/transition/md.transition.js +3 -4
- package/dist/docs.json +557 -1273
- package/dist/esm/{animation-DLJpuoEz.js → animation-CGFdmGk9.js} +4 -4
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-CYmMeGdU.js} +1 -1
- package/dist/esm/{button-active-BSpTQmS9.js → button-active--80YqSHA.js} +3 -3
- package/dist/esm/config-DWCzVL3Y.js +32 -0
- package/dist/esm/{dir-C53feagD.js → dir-B-FxiyeI.js} +1 -1
- package/dist/esm/{format-CAmvpAez.js → format-Dcwga61t.js} +41 -31
- package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate--ajhSeKH.js} +5 -7
- package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
- package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-gLJHMX_F.js} +4 -4
- package/dist/esm/{helpers-HEqiOzXb.js → helpers-DexiPLIC.js} +3 -3
- package/dist/esm/{index-B_dQk_WE.js → index-8s8kZKJ7.js} +5 -5
- package/dist/esm/{index-BRHzoo00.js → index-BCgUwrV0.js} +2 -2
- package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
- package/dist/esm/index-CKM1DdGm.js +424 -0
- package/dist/esm/{index-tcQvqkiX.js → index-ChhhtsGZ.js} +32 -15
- package/dist/esm/{index-Q6UPU0Ay.js → index-CumkqGQF.js} +6 -7
- package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
- package/dist/esm/{index-Dw-wN0Ja.js → index-_Za5VB9w.js} +2 -2
- package/dist/esm/index.js +16 -15
- package/dist/esm/{input-shims-LXhI7LEx.js → input-shims-BB0AKb_k.js} +9 -11
- package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-J6HWocLA.js} +3 -4
- package/dist/esm/ion-accordion_2.entry.js +368 -340
- package/dist/esm/ion-action-sheet.entry.js +187 -76
- package/dist/esm/ion-alert.entry.js +272 -110
- package/dist/esm/ion-app_8.entry.js +307 -190
- package/dist/esm/ion-avatar_3.entry.js +10 -4
- package/dist/esm/ion-back-button.entry.js +47 -23
- package/dist/esm/ion-backdrop.entry.js +18 -14
- package/dist/esm/ion-breadcrumb_2.entry.js +199 -121
- package/dist/esm/ion-button_2.entry.js +138 -66
- package/dist/esm/ion-card_5.entry.js +82 -30
- package/dist/esm/ion-checkbox.entry.js +152 -101
- package/dist/esm/ion-chip.entry.js +17 -11
- package/dist/esm/ion-col_3.entry.js +134 -10
- package/dist/esm/ion-datetime-button.entry.js +253 -241
- package/dist/esm/ion-datetime.entry.js +2768 -0
- package/dist/esm/ion-fab_3.entry.js +139 -81
- package/dist/esm/ion-img.entry.js +34 -12
- package/dist/esm/ion-infinite-scroll_2.entry.js +99 -71
- package/dist/esm/ion-input-otp.entry.js +433 -370
- package/dist/esm/ion-input-password-toggle.entry.js +33 -19
- package/dist/esm/ion-input.entry.js +314 -168
- package/dist/esm/ion-item-option_3.entry.js +91 -51
- package/dist/esm/ion-item_8.entry.js +181 -82
- package/dist/esm/ion-loading.entry.js +145 -59
- package/dist/esm/ion-menu_3.entry.js +163 -101
- package/dist/esm/ion-modal.entry.js +455 -261
- package/dist/esm/ion-nav_2.entry.js +100 -157
- package/dist/esm/ion-picker-column-option.entry.js +37 -33
- package/dist/esm/ion-picker-column.entry.js +417 -405
- package/dist/esm/ion-picker.entry.js +401 -392
- package/dist/esm/ion-popover.entry.js +319 -205
- package/dist/esm/ion-progress-bar.entry.js +31 -25
- package/dist/esm/ion-radio_2.entry.js +206 -133
- package/dist/esm/ion-range.entry.js +302 -237
- package/dist/esm/ion-refresher_2.entry.js +163 -91
- package/dist/esm/ion-reorder_2.entry.js +53 -23
- package/dist/esm/ion-ripple-effect.entry.js +14 -14
- package/dist/esm/ion-route_4.entry.js +175 -71
- package/dist/esm/ion-searchbar.entry.js +291 -200
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +28 -17
- package/dist/esm/ion-segment_2.entry.js +169 -126
- package/dist/esm/ion-select-modal.entry.js +104 -48
- package/dist/esm/ion-select_3.entry.js +760 -215
- package/dist/esm/ion-spinner.entry.js +24 -10
- package/dist/esm/ion-split-pane.entry.js +29 -16
- package/dist/esm/ion-tab-bar_2.entry.js +100 -41
- package/dist/esm/ion-tab_2.entry.js +53 -27
- package/dist/esm/ion-text.entry.js +11 -5
- package/dist/esm/ion-textarea.entry.js +263 -144
- package/dist/esm/ion-toast.entry.js +235 -116
- package/dist/esm/ion-toggle.entry.js +175 -122
- package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-BVB7BrLT.js} +13 -8
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-BdhybwLl.js} +13 -17
- package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-D0msQmzI.js → md.transition-B5lqKGCs.js} +7 -8
- package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-CrUGyHYz.js} +1 -1
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-CjWwtvf1.js} +48 -33
- package/dist/esm/select-option-render-C4m76VGH.js +121 -0
- package/dist/esm/{status-tap-vO-6s4Yp.js → status-tap-DpLhkDWs.js} +3 -3
- package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-cz4-lyG3.js} +5 -5
- package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
- package/dist/html.html-data.json +52 -80
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-0266b7e1.entry.js +4 -0
- package/dist/ionic/p-08443c08.entry.js +4 -0
- package/dist/ionic/p-08f1ed1c.entry.js +4 -0
- package/dist/ionic/p-09b47b7d.entry.js +4 -0
- package/dist/ionic/p-0FNc80PN.js +4 -0
- package/dist/ionic/p-12589d59.entry.js +4 -0
- package/dist/ionic/p-1d2e53e8.entry.js +4 -0
- package/dist/ionic/p-1edf0573.entry.js +4 -0
- package/dist/ionic/p-214e000a.entry.js +4 -0
- package/dist/ionic/p-21a7fb2a.entry.js +4 -0
- package/dist/ionic/p-2ce59395.entry.js +4 -0
- package/dist/ionic/p-33829e94.entry.js +4 -0
- package/dist/ionic/p-374b10cb.entry.js +4 -0
- package/dist/ionic/p-3835a020.entry.js +4 -0
- package/dist/ionic/p-3c5fdd27.entry.js +4 -0
- package/dist/ionic/{p-c6e49f3f.entry.js → p-40424a88.entry.js} +1 -1
- package/dist/ionic/p-48b6835f.entry.js +4 -0
- package/dist/ionic/p-4eOQC00Z.js +4 -0
- package/dist/ionic/p-5394e1d4.entry.js +4 -0
- package/dist/ionic/p-53bac1c9.entry.js +4 -0
- package/dist/ionic/p-5506caeb.entry.js +4 -0
- package/dist/ionic/p-5993a77f.entry.js +4 -0
- package/dist/ionic/p-6277efba.entry.js +4 -0
- package/dist/ionic/p-62e71297.entry.js +4 -0
- package/dist/ionic/p-6b286c5c.entry.js +4 -0
- package/dist/ionic/p-7116e558.entry.js +4 -0
- package/dist/ionic/p-74f30659.entry.js +4 -0
- package/dist/ionic/p-7bb3e957.entry.js +4 -0
- package/dist/ionic/p-82525fb0.entry.js +4 -0
- package/dist/ionic/p-865fa114.entry.js +4 -0
- package/dist/ionic/p-8a21bdbd.entry.js +4 -0
- package/dist/ionic/p-8e1d9e3a.entry.js +4 -0
- package/dist/ionic/p-8f3a1995.entry.js +4 -0
- package/dist/ionic/p-91c6faf1.entry.js +4 -0
- package/dist/ionic/{p-aaeedb6b.entry.js → p-9b865fe6.entry.js} +1 -1
- package/dist/ionic/p-9nmHvEvw.js +4 -0
- package/dist/ionic/p-B-FxiyeI.js +4 -0
- package/dist/ionic/p-BB0LlG4y.js +4 -0
- package/dist/ionic/p-BMPN55of.js +4 -0
- package/dist/ionic/p-BQ8oNV0v.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BhamHSw3.js +4 -0
- package/dist/ionic/p-BjvtSsVI.js +4 -0
- package/dist/ionic/p-BkfAWuv6.js +4 -0
- package/dist/ionic/p-BnMQxWON.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
- package/dist/ionic/p-BwIp10KV.js +4 -0
- package/dist/ionic/p-C-94tAim.js +4 -0
- package/dist/ionic/p-C6eME8Ey.js +4 -0
- package/dist/ionic/{p-DIuEbVLu.js → p-CKUuSnDR.js} +1 -1
- package/dist/ionic/p-CMRtMbJc.js +4 -0
- package/dist/ionic/p-CPcPmkGv.js +4 -0
- package/dist/ionic/{p-biz8zWmJ.js → p-CQ_4TirR.js} +1 -1
- package/dist/ionic/p-CaRuIadB.js +4 -0
- package/dist/ionic/p-Cdjxf_yg.js +4 -0
- package/dist/ionic/p-ChhhtsGZ.js +5 -0
- package/dist/ionic/p-CmKf4pgI.js +4 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/dist/ionic/p-D94b61er.js +4 -0
- package/dist/ionic/p-DCI3rXQo.js +4 -0
- package/dist/ionic/p-DDhtUaaA.js +4 -0
- package/dist/ionic/p-DWCzVL3Y.js +4 -0
- package/dist/ionic/p-Dn0mqQ_R.js +4 -0
- package/dist/ionic/{p-KjNvRoEp.js → p-I3In7hMC.js} +1 -1
- package/dist/ionic/p-T71k3C35.js +4 -0
- package/dist/ionic/p-TXPDHL13.js +4 -0
- package/dist/ionic/p-a641d428.entry.js +4 -0
- package/dist/ionic/p-ac6ef997.entry.js +4 -0
- package/dist/ionic/p-acf0a6af.entry.js +4 -0
- package/dist/ionic/p-ad98e3ff.entry.js +4 -0
- package/dist/ionic/p-af5166f5.entry.js +4 -0
- package/dist/ionic/p-b24dc0a1.entry.js +4 -0
- package/dist/ionic/p-ba8a598f.entry.js +4 -0
- package/dist/ionic/p-bf7c1f05.entry.js +4 -0
- package/dist/ionic/p-byZM6qHV.js +4 -0
- package/dist/ionic/p-c3f65965.entry.js +4 -0
- package/dist/ionic/p-c8fbe544.entry.js +4 -0
- package/dist/ionic/p-cb12f6c3.entry.js +4 -0
- package/dist/ionic/p-cec87704.entry.js +4 -0
- package/dist/ionic/p-dbfd2d52.entry.js +4 -0
- package/dist/ionic/p-e1e5b507.entry.js +4 -0
- package/dist/ionic/p-ede019ef.entry.js +4 -0
- package/dist/ionic/p-efef6788.entry.js +4 -0
- package/dist/ionic/p-f046aa37.entry.js +4 -0
- package/dist/ionic/p-f402f5a4.entry.js +4 -0
- package/dist/ionic/p-f622796d.entry.js +4 -0
- package/{components/p-B-JJgYSG.js → dist/ionic/p-kJA95YWg.js} +1 -1
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +9 -0
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/nav/nav-interface.d.ts +0 -1
- package/dist/types/components/nav/nav.d.ts +2 -22
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +18 -0
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components.d.ts +74 -311
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/config.d.ts +1 -8
- package/dist/types/utils/logging/index.d.ts +2 -1
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +11 -9
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- 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 +10343 -7070
- package/hydrate/index.mjs +10343 -7070
- package/package.json +55 -12
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-A3O24YmY.js +0 -4
- package/components/p-ABkNVeU9.js +0 -4
- package/components/p-B9jFTlwE.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BMI53wYL.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BTEOs1at.js +0 -4
- package/components/p-BlIAuGv2.js +0 -4
- package/components/p-Bnsn6KaP.js +0 -4
- package/components/p-BsBCoGa-.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-C53feagD.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CQGnMY3n.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-C_xFdyXe.js +0 -4
- package/components/p-Cf2jSDS8.js +0 -4
- package/components/p-Cfx4M1Bn.js +0 -4
- package/components/p-CkMSOsFF.js +0 -4
- package/components/p-Cl0B-RWe.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-Cp4GRDqq.js +0 -4
- package/components/p-CsNJ1ULL.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-CzCbeKys.js +0 -4
- package/components/p-D-aHdMxW.js +0 -4
- package/components/p-D0d8qTwj.js +0 -4
- package/components/p-D13Eaw-8.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DCnGU1fF.js +0 -4
- package/components/p-DGvrK8dD.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DRxvM2Ic.js +0 -4
- package/components/p-DV5mPYQS.js +0 -4
- package/components/p-DWkAgceV.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DqZAXv2t.js +0 -4
- package/components/p-Osve4qkc.js +0 -4
- package/components/p-R8zmRi4c.js +0 -4
- package/components/p-SLS1rDZM.js +0 -4
- package/components/p-aJ6PBUvj.js +0 -4
- package/components/p-cyNmxje6.js +0 -4
- package/components/p-gAg0kXZp.js +0 -4
- package/components/p-gYiraiT_.js +0 -4
- package/components/p-j5IxBIan.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-oD4kcBRX.js +0 -4
- package/components/p-rCa2eL0j.js +0 -4
- package/components/p-vRBNsYbs.js +0 -4
- package/components/p-yEQxMl70.js +0 -4
- package/components/p-yzCsOZE2.js +0 -4
- package/dist/cjs/config-D6C-KlA9.js +0 -201
- package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3167
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/esm/ion-datetime_3.entry.js +0 -3163
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-0caa922c.entry.js +0 -4
- package/dist/ionic/p-0dc33652.entry.js +0 -4
- package/dist/ionic/p-0fa9c382.entry.js +0 -4
- package/dist/ionic/p-10e833ef.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2a05aa64.entry.js +0 -4
- package/dist/ionic/p-2b204c59.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-2fa58e80.entry.js +0 -4
- package/dist/ionic/p-3353c229.entry.js +0 -4
- package/dist/ionic/p-34586ead.entry.js +0 -4
- package/dist/ionic/p-37e720da.entry.js +0 -4
- package/dist/ionic/p-390ca786.entry.js +0 -4
- package/dist/ionic/p-3ae5f277.entry.js +0 -4
- package/dist/ionic/p-4654ae1c.entry.js +0 -4
- package/dist/ionic/p-4745f534.entry.js +0 -4
- package/dist/ionic/p-4858af1f.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-4e92a11f.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5334df12.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-5e2f73ee.entry.js +0 -4
- package/dist/ionic/p-5eb8e86d.entry.js +0 -4
- package/dist/ionic/p-65ebdf1b.entry.js +0 -4
- package/dist/ionic/p-746fa988.entry.js +0 -4
- package/dist/ionic/p-75dc25ba.entry.js +0 -4
- package/dist/ionic/p-7c319341.entry.js +0 -4
- package/dist/ionic/p-829367ed.entry.js +0 -4
- package/dist/ionic/p-84d5ce05.entry.js +0 -4
- package/dist/ionic/p-874b4bd8.entry.js +0 -4
- package/dist/ionic/p-8eb8ee76.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9f9db3a2.entry.js +0 -4
- package/dist/ionic/p-9fa3c405.entry.js +0 -4
- package/dist/ionic/p-BGqMS-oh.js +0 -4
- package/dist/ionic/p-BTEOs1at.js +0 -4
- package/dist/ionic/p-BUFIpxKM.js +0 -4
- package/dist/ionic/p-C0eMdTCW.js +0 -4
- package/dist/ionic/p-C53feagD.js +0 -4
- package/dist/ionic/p-CFlfIb2g.js +0 -4
- package/dist/ionic/p-CKvCXMs9.js +0 -4
- package/dist/ionic/p-Cl0B-RWe.js +0 -4
- package/dist/ionic/p-CmcFnK-B.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-Cx3IXROA.js +0 -4
- package/dist/ionic/p-D-3ycHmd.js +0 -4
- package/dist/ionic/p-D13Eaw-8.js +0 -4
- package/dist/ionic/p-D4uTWt4-.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DoJvtrbw.js +0 -4
- package/dist/ionic/p-DqN5EA2O.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-VAemlbDS.js +0 -4
- package/dist/ionic/p-a3bdcae6.entry.js +0 -4
- package/dist/ionic/p-af55a72f.entry.js +0 -4
- package/dist/ionic/p-b2020591.entry.js +0 -4
- package/dist/ionic/p-b9fadbfe.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-c4d8641b.entry.js +0 -4
- package/dist/ionic/p-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-d889ff6d.entry.js +0 -4
- package/dist/ionic/p-dfa8d673.entry.js +0 -4
- package/dist/ionic/p-ea56626d.entry.js +0 -4
- package/dist/ionic/p-ef4c3bee.entry.js +0 -4
- package/dist/ionic/p-f386f6ae.entry.js +0 -4
- package/dist/ionic/p-mjKAFv89.js +0 -4
- package/dist/ionic/p-tcQvqkiX.js +0 -5
- package/dist/ionic/p-uWtqTrG8.js +0 -4
- package/dist/ionic/p-viFHDgRs.js +0 -4
- package/dist/ionic/p-xWb6fgfq.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
- /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var overlays = require('./overlays-
|
|
8
|
-
var frameworkDelegate = require('./framework-delegate-
|
|
9
|
-
var helpers = require('./helpers-
|
|
6
|
+
var index = require('./index-uvry__L4.js');
|
|
7
|
+
var overlays = require('./overlays-IlP4H2Gn.js');
|
|
8
|
+
var frameworkDelegate = require('./framework-delegate-NTLQ5YzV.js');
|
|
9
|
+
var helpers = require('./helpers-CaLhEmTE.js');
|
|
10
10
|
var lockController = require('./lock-controller-aDB9wrEf.js');
|
|
11
|
-
var ionicGlobal = require('./ionic-global-
|
|
12
|
-
var theme = require('./theme-
|
|
13
|
-
var index$1 = require('./index-
|
|
14
|
-
var animation = require('./animation-
|
|
11
|
+
var ionicGlobal = require('./ionic-global-k6hOWWpn.js');
|
|
12
|
+
var theme = require('./theme-Bw0rpaNN.js');
|
|
13
|
+
var index$1 = require('./index-Ck9advCT.js');
|
|
14
|
+
var animation = require('./animation-C0mOHzej.js');
|
|
15
15
|
require('./index-DkNv4J_i.js');
|
|
16
|
-
require('./hardware-back-button-
|
|
17
|
-
require('./gesture-controller-
|
|
16
|
+
require('./hardware-back-button-fqpYh-kd.js');
|
|
17
|
+
require('./gesture-controller-BDUH7687.js');
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Shared per-frame cache for safe-area insets. Avoids creating a temporary
|
|
@@ -328,10 +328,9 @@ const focusItem = (item) => {
|
|
|
328
328
|
const isTriggerElement = (el) => el.hasAttribute('data-ion-popover-trigger');
|
|
329
329
|
const configureKeyboardInteraction = (popoverEl) => {
|
|
330
330
|
const callback = async (ev) => {
|
|
331
|
-
var _a;
|
|
332
331
|
const activeElement = document.activeElement;
|
|
333
332
|
let items = [];
|
|
334
|
-
const targetTagName =
|
|
333
|
+
const targetTagName = ev.target?.tagName;
|
|
335
334
|
/**
|
|
336
335
|
* Only handle custom keyboard interactions for the host popover element
|
|
337
336
|
* and children ion-item elements.
|
|
@@ -352,7 +351,7 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
|
352
351
|
items = Array.from(popoverEl.querySelectorAll('ion-item:not(ion-popover ion-popover *):not([disabled])'));
|
|
353
352
|
/* eslint-disable-next-line */
|
|
354
353
|
}
|
|
355
|
-
catch
|
|
354
|
+
catch { }
|
|
356
355
|
switch (ev.key) {
|
|
357
356
|
/**
|
|
358
357
|
* If we are in a child popover
|
|
@@ -433,7 +432,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
|
433
432
|
* and viewport dimensions.
|
|
434
433
|
*/
|
|
435
434
|
const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, triggerEl, event) => {
|
|
436
|
-
var _a;
|
|
437
435
|
let referenceCoordinates = {
|
|
438
436
|
top: 0,
|
|
439
437
|
left: 0,
|
|
@@ -478,8 +476,8 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
|
478
476
|
* as a whole.
|
|
479
477
|
*/
|
|
480
478
|
const actualTriggerEl = (triggerEl ||
|
|
481
|
-
|
|
482
|
-
|
|
479
|
+
customEv?.detail?.ionShadowTarget ||
|
|
480
|
+
customEv?.target);
|
|
483
481
|
if (!actualTriggerEl) {
|
|
484
482
|
return defaultPosition;
|
|
485
483
|
}
|
|
@@ -848,7 +846,6 @@ const POPOVER_IOS_MIN_EDGE_MARGIN = 25;
|
|
|
848
846
|
*/
|
|
849
847
|
// TODO(FW-2832): types
|
|
850
848
|
const iosEnterAnimation = (baseEl, opts) => {
|
|
851
|
-
var _a;
|
|
852
849
|
const { event: ev, size, trigger, reference, side, align } = opts;
|
|
853
850
|
const doc = baseEl.ownerDocument;
|
|
854
851
|
const isRTL = doc.dir === 'rtl';
|
|
@@ -857,7 +854,7 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
|
857
854
|
const root = helpers.getElementRoot(baseEl);
|
|
858
855
|
const contentEl = root.querySelector('.popover-content');
|
|
859
856
|
const arrowEl = root.querySelector('.popover-arrow');
|
|
860
|
-
const referenceSizeEl = trigger ||
|
|
857
|
+
const referenceSizeEl = trigger || ev?.detail?.ionShadowTarget || ev?.target;
|
|
861
858
|
const { contentWidth, contentHeight } = getPopoverDimensions(size, contentEl, referenceSizeEl);
|
|
862
859
|
const { arrowWidth, arrowHeight } = getArrowDimensions(arrowEl);
|
|
863
860
|
const defaultPosition = {
|
|
@@ -985,7 +982,6 @@ const POPOVER_MD_BODY_PADDING = 12;
|
|
|
985
982
|
*/
|
|
986
983
|
// TODO(FW-2832): types
|
|
987
984
|
const mdEnterAnimation = (baseEl, opts) => {
|
|
988
|
-
var _a;
|
|
989
985
|
const { event: ev, size, trigger, reference, side, align } = opts;
|
|
990
986
|
const doc = baseEl.ownerDocument;
|
|
991
987
|
const isRTL = doc.dir === 'rtl';
|
|
@@ -993,7 +989,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
|
993
989
|
const bodyHeight = doc.defaultView.innerHeight;
|
|
994
990
|
const root = helpers.getElementRoot(baseEl);
|
|
995
991
|
const contentEl = root.querySelector('.popover-content');
|
|
996
|
-
const referenceSizeEl = trigger ||
|
|
992
|
+
const referenceSizeEl = trigger || ev?.detail?.ionShadowTarget || ev?.target;
|
|
997
993
|
const { contentWidth, contentHeight } = getPopoverDimensions(size, contentEl, referenceSizeEl);
|
|
998
994
|
const defaultPosition = {
|
|
999
995
|
top: bodyHeight / 2 - contentHeight / 2,
|
|
@@ -1090,9 +1086,9 @@ const mdLeaveAnimation = (baseEl) => {
|
|
|
1090
1086
|
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
1091
1087
|
};
|
|
1092
1088
|
|
|
1093
|
-
const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
|
|
1089
|
+
const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
|
|
1094
1090
|
|
|
1095
|
-
const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
|
|
1091
|
+
const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
|
|
1096
1092
|
|
|
1097
1093
|
const Popover = class {
|
|
1098
1094
|
constructor(hostRef) {
|
|
@@ -1106,181 +1102,183 @@ const Popover = class {
|
|
|
1106
1102
|
this.willDismissShorthand = index.createEvent(this, "willDismiss", 7);
|
|
1107
1103
|
this.didDismissShorthand = index.createEvent(this, "didDismiss", 7);
|
|
1108
1104
|
this.ionMount = index.createEvent(this, "ionMount", 7);
|
|
1109
|
-
this.parentPopover = null;
|
|
1110
|
-
this.coreDelegate = frameworkDelegate.CoreDelegate();
|
|
1111
|
-
this.lockController = lockController.createLockController();
|
|
1112
|
-
this.inline = false;
|
|
1113
|
-
this.focusDescendantOnPresent = false;
|
|
1114
|
-
this.presented = false;
|
|
1115
|
-
/** @internal */
|
|
1116
|
-
this.hasController = false;
|
|
1117
|
-
/**
|
|
1118
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
1119
|
-
*/
|
|
1120
|
-
this.keyboardClose = true;
|
|
1121
|
-
/**
|
|
1122
|
-
* If `true`, the popover will be dismissed when the backdrop is clicked.
|
|
1123
|
-
*/
|
|
1124
|
-
this.backdropDismiss = true;
|
|
1125
|
-
/**
|
|
1126
|
-
* If `true`, a backdrop will be displayed behind the popover.
|
|
1127
|
-
* This property controls whether or not the backdrop
|
|
1128
|
-
* darkens the screen when the popover is presented.
|
|
1129
|
-
* It does not control whether or not the backdrop
|
|
1130
|
-
* is active or present in the DOM.
|
|
1131
|
-
*/
|
|
1132
|
-
this.showBackdrop = true;
|
|
1133
|
-
/**
|
|
1134
|
-
* If `true`, the popover will be translucent.
|
|
1135
|
-
* Only applies when the mode is `"ios"` and the device supports
|
|
1136
|
-
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
1137
|
-
*/
|
|
1138
|
-
this.translucent = false;
|
|
1139
|
-
/**
|
|
1140
|
-
* If `true`, the popover will animate.
|
|
1141
|
-
*/
|
|
1142
|
-
this.animated = true;
|
|
1143
|
-
/**
|
|
1144
|
-
* Describes what kind of interaction with the trigger that
|
|
1145
|
-
* should cause the popover to open. Does not apply when the `trigger`
|
|
1146
|
-
* property is `undefined`.
|
|
1147
|
-
* If `"click"`, the popover will be presented when the trigger is left clicked.
|
|
1148
|
-
* If `"hover"`, the popover will be presented when a pointer hovers over the trigger.
|
|
1149
|
-
* If `"context-menu"`, the popover will be presented when the trigger is right
|
|
1150
|
-
* clicked on desktop and long pressed on mobile. This will also prevent your
|
|
1151
|
-
* device's normal context menu from appearing.
|
|
1152
|
-
*/
|
|
1153
|
-
this.triggerAction = 'click';
|
|
1154
|
-
/**
|
|
1155
|
-
* Describes how to calculate the popover width.
|
|
1156
|
-
* If `"cover"`, the popover width will match the width of the trigger.
|
|
1157
|
-
* If `"auto"`, the popover width will be set to a static default value.
|
|
1158
|
-
*/
|
|
1159
|
-
this.size = 'auto';
|
|
1160
|
-
/**
|
|
1161
|
-
* If `true`, the popover will be automatically
|
|
1162
|
-
* dismissed when the content has been clicked.
|
|
1163
|
-
*/
|
|
1164
|
-
this.dismissOnSelect = false;
|
|
1165
|
-
/**
|
|
1166
|
-
* Describes what to position the popover relative to.
|
|
1167
|
-
* If `"trigger"`, the popover will be positioned relative
|
|
1168
|
-
* to the trigger button. If passing in an event, this is
|
|
1169
|
-
* determined via event.target.
|
|
1170
|
-
* If `"event"`, the popover will be positioned relative
|
|
1171
|
-
* to the x/y coordinates of the trigger action. If passing
|
|
1172
|
-
* in an event, this is determined via event.clientX and event.clientY.
|
|
1173
|
-
*/
|
|
1174
|
-
this.reference = 'trigger';
|
|
1175
|
-
/**
|
|
1176
|
-
* Describes which side of the `reference` point to position
|
|
1177
|
-
* the popover on. The `"start"` and `"end"` values are RTL-aware,
|
|
1178
|
-
* and the `"left"` and `"right"` values are not.
|
|
1179
|
-
*/
|
|
1180
|
-
this.side = 'bottom';
|
|
1181
|
-
/**
|
|
1182
|
-
* If `true`, the popover will display an arrow that points at the
|
|
1183
|
-
* `reference` when running in `ios` mode. Does not apply in `md` mode.
|
|
1184
|
-
*/
|
|
1185
|
-
this.arrow = true;
|
|
1186
|
-
/**
|
|
1187
|
-
* If `true`, the popover will open. If `false`, the popover will close.
|
|
1188
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
1189
|
-
* just use the popoverController or the `trigger` property.
|
|
1190
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
1191
|
-
* the popover dismisses. You will need to do that in your code.
|
|
1192
|
-
*/
|
|
1193
|
-
this.isOpen = false;
|
|
1194
|
-
/**
|
|
1195
|
-
* @internal
|
|
1196
|
-
*
|
|
1197
|
-
* If `true` the popover will not register its own keyboard event handlers.
|
|
1198
|
-
* This allows the contents of the popover to handle their own keyboard interactions.
|
|
1199
|
-
*
|
|
1200
|
-
* If `false`, the popover will register its own keyboard event handlers for
|
|
1201
|
-
* navigating `ion-list` items within a popover (up/down/home/end/etc.).
|
|
1202
|
-
* This will also cancel browser keyboard event bindings to prevent scroll
|
|
1203
|
-
* behavior in a popover using a list of items.
|
|
1204
|
-
*/
|
|
1205
|
-
this.keyboardEvents = false;
|
|
1206
|
-
/**
|
|
1207
|
-
* If `true`, focus will not be allowed to move outside of this overlay.
|
|
1208
|
-
* If `false`, focus will be allowed to move outside of the overlay.
|
|
1209
|
-
*
|
|
1210
|
-
* In most scenarios this property should remain set to `true`. Setting
|
|
1211
|
-
* this property to `false` can cause severe accessibility issues as users
|
|
1212
|
-
* relying on assistive technologies may be able to move focus into
|
|
1213
|
-
* a confusing state. We recommend only setting this to `false` when
|
|
1214
|
-
* absolutely necessary.
|
|
1215
|
-
*
|
|
1216
|
-
* Developers may want to consider disabling focus trapping if this
|
|
1217
|
-
* overlay presents a non-Ionic overlay from a 3rd party library.
|
|
1218
|
-
* Developers would disable focus trapping on the Ionic overlay
|
|
1219
|
-
* when presenting the 3rd party overlay and then re-enable
|
|
1220
|
-
* focus trapping when dismissing the 3rd party overlay and moving
|
|
1221
|
-
* focus back to the Ionic overlay.
|
|
1222
|
-
*/
|
|
1223
|
-
this.focusTrap = true;
|
|
1224
|
-
/**
|
|
1225
|
-
* If `true`, the component passed into `ion-popover` will
|
|
1226
|
-
* automatically be mounted when the popover is created. The
|
|
1227
|
-
* component will remain mounted even when the popover is dismissed.
|
|
1228
|
-
* However, the component will be destroyed when the popover is
|
|
1229
|
-
* destroyed. This property is not reactive and should only be
|
|
1230
|
-
* used when initially creating a popover.
|
|
1231
|
-
*
|
|
1232
|
-
* Note: This feature only applies to inline popovers in JavaScript
|
|
1233
|
-
* frameworks such as Angular, React, and Vue.
|
|
1234
|
-
*/
|
|
1235
|
-
this.keepContentsMounted = false;
|
|
1236
|
-
this.onBackdropTap = () => {
|
|
1237
|
-
this.dismiss(undefined, overlays.BACKDROP);
|
|
1238
|
-
};
|
|
1239
|
-
this.onLifecycle = (modalEvent) => {
|
|
1240
|
-
const el = this.usersElement;
|
|
1241
|
-
const name = LIFECYCLE_MAP[modalEvent.type];
|
|
1242
|
-
if (el && name) {
|
|
1243
|
-
const event = new CustomEvent(name, {
|
|
1244
|
-
bubbles: false,
|
|
1245
|
-
cancelable: false,
|
|
1246
|
-
detail: modalEvent.detail,
|
|
1247
|
-
});
|
|
1248
|
-
el.dispatchEvent(event);
|
|
1249
|
-
}
|
|
1250
|
-
};
|
|
1251
|
-
this.configureTriggerInteraction = () => {
|
|
1252
|
-
const { trigger, triggerAction, el, destroyTriggerInteraction } = this;
|
|
1253
|
-
if (destroyTriggerInteraction) {
|
|
1254
|
-
destroyTriggerInteraction();
|
|
1255
|
-
}
|
|
1256
|
-
if (trigger === undefined) {
|
|
1257
|
-
return;
|
|
1258
|
-
}
|
|
1259
|
-
const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);
|
|
1260
|
-
if (!triggerEl) {
|
|
1261
|
-
index.printIonWarning(`[ion-popover] - A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`, this.el);
|
|
1262
|
-
return;
|
|
1263
|
-
}
|
|
1264
|
-
this.destroyTriggerInteraction = configureTriggerInteraction(triggerEl, triggerAction, el);
|
|
1265
|
-
};
|
|
1266
|
-
this.configureKeyboardInteraction = () => {
|
|
1267
|
-
const { destroyKeyboardInteraction, el } = this;
|
|
1268
|
-
if (destroyKeyboardInteraction) {
|
|
1269
|
-
destroyKeyboardInteraction();
|
|
1270
|
-
}
|
|
1271
|
-
this.destroyKeyboardInteraction = configureKeyboardInteraction(el);
|
|
1272
|
-
};
|
|
1273
|
-
this.configureDismissInteraction = () => {
|
|
1274
|
-
const { destroyDismissInteraction, parentPopover, triggerAction, triggerEl, el } = this;
|
|
1275
|
-
if (!parentPopover || !triggerEl) {
|
|
1276
|
-
return;
|
|
1277
|
-
}
|
|
1278
|
-
if (destroyDismissInteraction) {
|
|
1279
|
-
destroyDismissInteraction();
|
|
1280
|
-
}
|
|
1281
|
-
this.destroyDismissInteraction = configureDismissInteraction(triggerEl, triggerAction, el, parentPopover);
|
|
1282
|
-
};
|
|
1283
1105
|
}
|
|
1106
|
+
usersElement;
|
|
1107
|
+
triggerEl;
|
|
1108
|
+
parentPopover = null;
|
|
1109
|
+
coreDelegate = frameworkDelegate.CoreDelegate();
|
|
1110
|
+
lockController = lockController.createLockController();
|
|
1111
|
+
destroyTriggerInteraction;
|
|
1112
|
+
destroyKeyboardInteraction;
|
|
1113
|
+
destroyDismissInteraction;
|
|
1114
|
+
headerResizeObserver;
|
|
1115
|
+
inline = false;
|
|
1116
|
+
workingDelegate;
|
|
1117
|
+
focusDescendantOnPresent = false;
|
|
1118
|
+
lastFocus;
|
|
1119
|
+
presented = false;
|
|
1120
|
+
get el() { return index.getElement(this); }
|
|
1121
|
+
/** @internal */
|
|
1122
|
+
hasController = false;
|
|
1123
|
+
/** @internal */
|
|
1124
|
+
delegate;
|
|
1125
|
+
/** @internal */
|
|
1126
|
+
overlayIndex;
|
|
1127
|
+
/**
|
|
1128
|
+
* Animation to use when the popover is presented.
|
|
1129
|
+
*/
|
|
1130
|
+
enterAnimation;
|
|
1131
|
+
/**
|
|
1132
|
+
* Animation to use when the popover is dismissed.
|
|
1133
|
+
*/
|
|
1134
|
+
leaveAnimation;
|
|
1135
|
+
/**
|
|
1136
|
+
* The component to display inside of the popover.
|
|
1137
|
+
* You only need to use this if you are not using
|
|
1138
|
+
* a JavaScript framework. Otherwise, you can just
|
|
1139
|
+
* slot your component inside of `ion-popover`.
|
|
1140
|
+
*/
|
|
1141
|
+
component;
|
|
1142
|
+
/**
|
|
1143
|
+
* The data to pass to the popover component.
|
|
1144
|
+
* You only need to use this if you are not using
|
|
1145
|
+
* a JavaScript framework. Otherwise, you can just
|
|
1146
|
+
* set the props directly on your component.
|
|
1147
|
+
*/
|
|
1148
|
+
componentProps;
|
|
1149
|
+
/**
|
|
1150
|
+
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
1151
|
+
*/
|
|
1152
|
+
keyboardClose = true;
|
|
1153
|
+
/**
|
|
1154
|
+
* Additional classes to apply for custom CSS. If multiple classes are
|
|
1155
|
+
* provided they should be separated by spaces.
|
|
1156
|
+
* @internal
|
|
1157
|
+
*/
|
|
1158
|
+
cssClass;
|
|
1159
|
+
/**
|
|
1160
|
+
* If `true`, the popover will be dismissed when the backdrop is clicked.
|
|
1161
|
+
*/
|
|
1162
|
+
backdropDismiss = true;
|
|
1163
|
+
/**
|
|
1164
|
+
* The event to pass to the popover animation.
|
|
1165
|
+
*/
|
|
1166
|
+
event;
|
|
1167
|
+
/**
|
|
1168
|
+
* If `true`, a backdrop will be displayed behind the popover.
|
|
1169
|
+
* This property controls whether or not the backdrop
|
|
1170
|
+
* darkens the screen when the popover is presented.
|
|
1171
|
+
* It does not control whether or not the backdrop
|
|
1172
|
+
* is active or present in the DOM.
|
|
1173
|
+
*/
|
|
1174
|
+
showBackdrop = true;
|
|
1175
|
+
/**
|
|
1176
|
+
* If `true`, the popover will be translucent.
|
|
1177
|
+
* Only applies when the mode is `"ios"` and the device supports
|
|
1178
|
+
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
1179
|
+
*/
|
|
1180
|
+
translucent = false;
|
|
1181
|
+
/**
|
|
1182
|
+
* If `true`, the popover will animate.
|
|
1183
|
+
*/
|
|
1184
|
+
animated = true;
|
|
1185
|
+
/**
|
|
1186
|
+
* Additional attributes to pass to the popover.
|
|
1187
|
+
*/
|
|
1188
|
+
htmlAttributes;
|
|
1189
|
+
/**
|
|
1190
|
+
* Describes what kind of interaction with the trigger that
|
|
1191
|
+
* should cause the popover to open. Does not apply when the `trigger`
|
|
1192
|
+
* property is `undefined`.
|
|
1193
|
+
* If `"click"`, the popover will be presented when the trigger is left clicked.
|
|
1194
|
+
* If `"hover"`, the popover will be presented when a pointer hovers over the trigger.
|
|
1195
|
+
* If `"context-menu"`, the popover will be presented when the trigger is right
|
|
1196
|
+
* clicked on desktop and long pressed on mobile. This will also prevent your
|
|
1197
|
+
* device's normal context menu from appearing.
|
|
1198
|
+
*/
|
|
1199
|
+
triggerAction = 'click';
|
|
1200
|
+
/**
|
|
1201
|
+
* An ID corresponding to the trigger element that
|
|
1202
|
+
* causes the popover to open. Use the `trigger-action`
|
|
1203
|
+
* property to customize the interaction that results in
|
|
1204
|
+
* the popover opening.
|
|
1205
|
+
*/
|
|
1206
|
+
trigger;
|
|
1207
|
+
/**
|
|
1208
|
+
* Describes how to calculate the popover width.
|
|
1209
|
+
* If `"cover"`, the popover width will match the width of the trigger.
|
|
1210
|
+
* If `"auto"`, the popover width will be set to a static default value.
|
|
1211
|
+
*/
|
|
1212
|
+
size = 'auto';
|
|
1213
|
+
/**
|
|
1214
|
+
* If `true`, the popover will be automatically
|
|
1215
|
+
* dismissed when the content has been clicked.
|
|
1216
|
+
*/
|
|
1217
|
+
dismissOnSelect = false;
|
|
1218
|
+
/**
|
|
1219
|
+
* Describes what to position the popover relative to.
|
|
1220
|
+
* If `"trigger"`, the popover will be positioned relative
|
|
1221
|
+
* to the trigger button. If passing in an event, this is
|
|
1222
|
+
* determined via event.target.
|
|
1223
|
+
* If `"event"`, the popover will be positioned relative
|
|
1224
|
+
* to the x/y coordinates of the trigger action. If passing
|
|
1225
|
+
* in an event, this is determined via event.clientX and event.clientY.
|
|
1226
|
+
*/
|
|
1227
|
+
reference = 'trigger';
|
|
1228
|
+
/**
|
|
1229
|
+
* Describes which side of the `reference` point to position
|
|
1230
|
+
* the popover on. The `"start"` and `"end"` values are RTL-aware,
|
|
1231
|
+
* and the `"left"` and `"right"` values are not.
|
|
1232
|
+
*/
|
|
1233
|
+
side = 'bottom';
|
|
1234
|
+
/**
|
|
1235
|
+
* Describes how to align the popover content with the `reference` point.
|
|
1236
|
+
* Defaults to `"center"` for `ios` mode, and `"start"` for `md` mode.
|
|
1237
|
+
*/
|
|
1238
|
+
alignment;
|
|
1239
|
+
/**
|
|
1240
|
+
* If `true`, the popover will display an arrow that points at the
|
|
1241
|
+
* `reference` when running in `ios` mode. Does not apply in `md` mode.
|
|
1242
|
+
*/
|
|
1243
|
+
arrow = true;
|
|
1244
|
+
/**
|
|
1245
|
+
* If `true`, the popover will open. If `false`, the popover will close.
|
|
1246
|
+
* Use this if you need finer grained control over presentation, otherwise
|
|
1247
|
+
* just use the popoverController or the `trigger` property.
|
|
1248
|
+
* Note: `isOpen` will not automatically be set back to `false` when
|
|
1249
|
+
* the popover dismisses. You will need to do that in your code.
|
|
1250
|
+
*/
|
|
1251
|
+
isOpen = false;
|
|
1252
|
+
/**
|
|
1253
|
+
* @internal
|
|
1254
|
+
*
|
|
1255
|
+
* If `true` the popover will not register its own keyboard event handlers.
|
|
1256
|
+
* This allows the contents of the popover to handle their own keyboard interactions.
|
|
1257
|
+
*
|
|
1258
|
+
* If `false`, the popover will register its own keyboard event handlers for
|
|
1259
|
+
* navigating `ion-list` items within a popover (up/down/home/end/etc.).
|
|
1260
|
+
* This will also cancel browser keyboard event bindings to prevent scroll
|
|
1261
|
+
* behavior in a popover using a list of items.
|
|
1262
|
+
*/
|
|
1263
|
+
keyboardEvents = false;
|
|
1264
|
+
/**
|
|
1265
|
+
* If `true`, focus will not be allowed to move outside of this overlay.
|
|
1266
|
+
* If `false`, focus will be allowed to move outside of the overlay.
|
|
1267
|
+
*
|
|
1268
|
+
* In most scenarios this property should remain set to `true`. Setting
|
|
1269
|
+
* this property to `false` can cause severe accessibility issues as users
|
|
1270
|
+
* relying on assistive technologies may be able to move focus into
|
|
1271
|
+
* a confusing state. We recommend only setting this to `false` when
|
|
1272
|
+
* absolutely necessary.
|
|
1273
|
+
*
|
|
1274
|
+
* Developers may want to consider disabling focus trapping if this
|
|
1275
|
+
* overlay presents a non-Ionic overlay from a 3rd party library.
|
|
1276
|
+
* Developers would disable focus trapping on the Ionic overlay
|
|
1277
|
+
* when presenting the 3rd party overlay and then re-enable
|
|
1278
|
+
* focus trapping when dismissing the 3rd party overlay and moving
|
|
1279
|
+
* focus back to the Ionic overlay.
|
|
1280
|
+
*/
|
|
1281
|
+
focusTrap = true;
|
|
1284
1282
|
onTriggerChange() {
|
|
1285
1283
|
this.configureTriggerInteraction();
|
|
1286
1284
|
}
|
|
@@ -1292,6 +1290,66 @@ const Popover = class {
|
|
|
1292
1290
|
this.dismiss();
|
|
1293
1291
|
}
|
|
1294
1292
|
}
|
|
1293
|
+
/**
|
|
1294
|
+
* If `true`, the component passed into `ion-popover` will
|
|
1295
|
+
* automatically be mounted when the popover is created. The
|
|
1296
|
+
* component will remain mounted even when the popover is dismissed.
|
|
1297
|
+
* However, the component will be destroyed when the popover is
|
|
1298
|
+
* destroyed. This property is not reactive and should only be
|
|
1299
|
+
* used when initially creating a popover.
|
|
1300
|
+
*
|
|
1301
|
+
* Note: This feature only applies to inline popovers in JavaScript
|
|
1302
|
+
* frameworks such as Angular, React, and Vue.
|
|
1303
|
+
*/
|
|
1304
|
+
keepContentsMounted = false;
|
|
1305
|
+
/**
|
|
1306
|
+
* Emitted after the popover has presented.
|
|
1307
|
+
*/
|
|
1308
|
+
didPresent;
|
|
1309
|
+
/**
|
|
1310
|
+
* Emitted before the popover has presented.
|
|
1311
|
+
*/
|
|
1312
|
+
willPresent;
|
|
1313
|
+
/**
|
|
1314
|
+
* Emitted before the popover has dismissed.
|
|
1315
|
+
*/
|
|
1316
|
+
willDismiss;
|
|
1317
|
+
/**
|
|
1318
|
+
* Emitted after the popover has dismissed.
|
|
1319
|
+
*/
|
|
1320
|
+
didDismiss;
|
|
1321
|
+
/**
|
|
1322
|
+
* Emitted after the popover has presented.
|
|
1323
|
+
* Shorthand for ionPopoverWillDismiss.
|
|
1324
|
+
*/
|
|
1325
|
+
didPresentShorthand;
|
|
1326
|
+
/**
|
|
1327
|
+
* Emitted before the popover has presented.
|
|
1328
|
+
* Shorthand for ionPopoverWillPresent.
|
|
1329
|
+
*/
|
|
1330
|
+
willPresentShorthand;
|
|
1331
|
+
/**
|
|
1332
|
+
* Emitted before the popover has dismissed.
|
|
1333
|
+
* Shorthand for ionPopoverWillDismiss.
|
|
1334
|
+
*/
|
|
1335
|
+
willDismissShorthand;
|
|
1336
|
+
/**
|
|
1337
|
+
* Emitted after the popover has dismissed.
|
|
1338
|
+
* Shorthand for ionPopoverDidDismiss.
|
|
1339
|
+
*/
|
|
1340
|
+
didDismissShorthand;
|
|
1341
|
+
/**
|
|
1342
|
+
* Emitted before the popover has presented, but after the component
|
|
1343
|
+
* has been mounted in the DOM.
|
|
1344
|
+
* This event exists for ion-popover to resolve an issue with the
|
|
1345
|
+
* popover and the lazy build, that the transition is unable to get
|
|
1346
|
+
* the correct dimensions of the popover with auto sizing.
|
|
1347
|
+
* This is not required for other overlays, since the existing
|
|
1348
|
+
* overlay transitions are not effected by auto sizing content.
|
|
1349
|
+
*
|
|
1350
|
+
* @internal
|
|
1351
|
+
*/
|
|
1352
|
+
ionMount;
|
|
1295
1353
|
connectedCallback() {
|
|
1296
1354
|
const { configureTriggerInteraction, el } = this;
|
|
1297
1355
|
overlays.prepareOverlay(el);
|
|
@@ -1306,11 +1364,14 @@ const Popover = class {
|
|
|
1306
1364
|
this.headerResizeObserver.disconnect();
|
|
1307
1365
|
this.headerResizeObserver = undefined;
|
|
1308
1366
|
}
|
|
1367
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
1368
|
+
if (this.presented) {
|
|
1369
|
+
overlays.cleanupRootFocusTrapAccessibility();
|
|
1370
|
+
}
|
|
1309
1371
|
}
|
|
1310
1372
|
componentWillLoad() {
|
|
1311
|
-
var _a, _b;
|
|
1312
1373
|
const { el } = this;
|
|
1313
|
-
const popoverId =
|
|
1374
|
+
const popoverId = this.htmlAttributes?.id ?? overlays.setOverlayId(el);
|
|
1314
1375
|
this.parentPopover = el.closest(`ion-popover:not(#${popoverId})`);
|
|
1315
1376
|
if (this.alignment === undefined) {
|
|
1316
1377
|
this.alignment = ionicGlobal.getIonMode(this) === 'ios' ? 'center' : 'start';
|
|
@@ -1460,8 +1521,7 @@ const Popover = class {
|
|
|
1460
1521
|
* of the content to the height of the header correctly.
|
|
1461
1522
|
*/
|
|
1462
1523
|
recalculateContentOnHeaderReady() {
|
|
1463
|
-
|
|
1464
|
-
const popoverContent = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.popover-content');
|
|
1524
|
+
const popoverContent = this.el.shadowRoot?.querySelector('.popover-content');
|
|
1465
1525
|
if (!popoverContent) {
|
|
1466
1526
|
return;
|
|
1467
1527
|
}
|
|
@@ -1472,9 +1532,8 @@ const Popover = class {
|
|
|
1472
1532
|
return;
|
|
1473
1533
|
}
|
|
1474
1534
|
this.headerResizeObserver = new ResizeObserver(async () => {
|
|
1475
|
-
var _a;
|
|
1476
1535
|
if (header.offsetHeight > 0) {
|
|
1477
|
-
|
|
1536
|
+
this.headerResizeObserver?.disconnect();
|
|
1478
1537
|
this.headerResizeObserver = undefined;
|
|
1479
1538
|
for (const contentEl of contentElements) {
|
|
1480
1539
|
await contentEl.recalculateDimensions();
|
|
@@ -1539,16 +1598,71 @@ const Popover = class {
|
|
|
1539
1598
|
onWillDismiss() {
|
|
1540
1599
|
return overlays.eventMethod(this.el, 'ionPopoverWillDismiss');
|
|
1541
1600
|
}
|
|
1601
|
+
onBackdropTap = () => {
|
|
1602
|
+
this.dismiss(undefined, overlays.BACKDROP);
|
|
1603
|
+
};
|
|
1604
|
+
onLifecycle = (modalEvent) => {
|
|
1605
|
+
const el = this.usersElement;
|
|
1606
|
+
const name = LIFECYCLE_MAP[modalEvent.type];
|
|
1607
|
+
if (el && name) {
|
|
1608
|
+
const event = new CustomEvent(name, {
|
|
1609
|
+
bubbles: false,
|
|
1610
|
+
cancelable: false,
|
|
1611
|
+
detail: modalEvent.detail,
|
|
1612
|
+
});
|
|
1613
|
+
el.dispatchEvent(event);
|
|
1614
|
+
}
|
|
1615
|
+
};
|
|
1616
|
+
configureTriggerInteraction = () => {
|
|
1617
|
+
const { trigger, triggerAction, el, destroyTriggerInteraction } = this;
|
|
1618
|
+
if (destroyTriggerInteraction) {
|
|
1619
|
+
destroyTriggerInteraction();
|
|
1620
|
+
}
|
|
1621
|
+
if (trigger === undefined) {
|
|
1622
|
+
return;
|
|
1623
|
+
}
|
|
1624
|
+
const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);
|
|
1625
|
+
if (!triggerEl) {
|
|
1626
|
+
index.printIonWarning(`[ion-popover] - A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`, this.el);
|
|
1627
|
+
return;
|
|
1628
|
+
}
|
|
1629
|
+
this.destroyTriggerInteraction = configureTriggerInteraction(triggerEl, triggerAction, el);
|
|
1630
|
+
};
|
|
1631
|
+
configureKeyboardInteraction = () => {
|
|
1632
|
+
const { destroyKeyboardInteraction, el } = this;
|
|
1633
|
+
if (destroyKeyboardInteraction) {
|
|
1634
|
+
destroyKeyboardInteraction();
|
|
1635
|
+
}
|
|
1636
|
+
this.destroyKeyboardInteraction = configureKeyboardInteraction(el);
|
|
1637
|
+
};
|
|
1638
|
+
configureDismissInteraction = () => {
|
|
1639
|
+
const { destroyDismissInteraction, parentPopover, triggerAction, triggerEl, el } = this;
|
|
1640
|
+
if (!parentPopover || !triggerEl) {
|
|
1641
|
+
return;
|
|
1642
|
+
}
|
|
1643
|
+
if (destroyDismissInteraction) {
|
|
1644
|
+
destroyDismissInteraction();
|
|
1645
|
+
}
|
|
1646
|
+
this.destroyDismissInteraction = configureDismissInteraction(triggerEl, triggerAction, el, parentPopover);
|
|
1647
|
+
};
|
|
1542
1648
|
render() {
|
|
1543
1649
|
const mode = ionicGlobal.getIonMode(this);
|
|
1544
1650
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
1545
1651
|
const desktop = ionicGlobal.isPlatform('desktop');
|
|
1546
1652
|
const enableArrow = arrow && !parentPopover;
|
|
1547
|
-
return (index.h(index.Host,
|
|
1653
|
+
return (index.h(index.Host, { key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1", ...htmlAttributes, style: {
|
|
1548
1654
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1549
|
-
}, class:
|
|
1655
|
+
}, class: {
|
|
1656
|
+
...theme.getClassMap(this.cssClass),
|
|
1657
|
+
[mode]: true,
|
|
1658
|
+
'popover-translucent': this.translucent,
|
|
1659
|
+
'overlay-hidden': true,
|
|
1660
|
+
'popover-desktop': desktop,
|
|
1661
|
+
[`popover-side-${side}`]: true,
|
|
1662
|
+
[overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
1663
|
+
'popover-nested': !!parentPopover,
|
|
1664
|
+
}, onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }, !parentPopover && index.h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, index.h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
|
|
1550
1665
|
}
|
|
1551
|
-
get el() { return index.getElement(this); }
|
|
1552
1666
|
static get watchers() { return {
|
|
1553
1667
|
"trigger": [{
|
|
1554
1668
|
"onTriggerChange": 0
|