@ionic/core 8.8.17 → 8.8.18-dev.11786108988.1fd94742
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-0tt0PTAe.js +4 -0
- package/components/p-3dKnMgX5.js +4 -0
- package/components/p-6e_5igwn.js +4 -0
- package/components/{p--JUspHvy.js → p-AqD_wmvU.js} +1 -1
- package/components/p-B-FxiyeI.js +4 -0
- package/components/p-B4COLbAV.js +4 -0
- package/components/p-B9zzUBwR.js +4 -0
- package/components/p-BFU7kgcj.js +4 -0
- package/components/p-BMPN55of.js +4 -0
- package/components/p-BPbRjpb2.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/{dist/ionic/p-KjNvRoEp.js → components/p-BXQ7upSC.js} +1 -1
- package/components/p-BhamHSw3.js +4 -0
- package/components/p-BrXE0XUu.js +4 -0
- package/components/p-Bv7Rqz3Z.js +4 -0
- package/components/p-Bw7MMRH7.js +4 -0
- package/components/p-C-X5vb8f.js +4 -0
- package/components/p-C117Majq.js +4 -0
- package/components/{p-ChIZKXUu.js → p-C6JOi8wS.js} +1 -1
- package/components/p-CCVPk59A.js +4 -0
- package/components/p-CEW4RXZO.js +4 -0
- package/components/p-CKMc290p.js +4 -0
- package/components/{p-BkKAANMJ.js → p-CO5nI-BZ.js} +1 -1
- package/components/p-COQ_7Wwc.js +4 -0
- package/components/p-CQbh6Be_.js +4 -0
- package/components/p-CQtcj8t7.js +4 -0
- package/components/p-Cap9bvqr.js +4 -0
- package/components/p-CdP7ze2J.js +4 -0
- package/components/p-CfyJ_Ogc.js +4 -0
- package/components/p-ChWC4-vA.js +4 -0
- package/components/p-CmKf4pgI.js +4 -0
- package/components/p-CqYSqB9_.js +4 -0
- package/{dist/ionic/p-DC3RagnA.js → components/p-Cwsd9bue.js} +1 -1
- package/components/{p-D3xo7hqU.js → p-D0pL_HuH.js} +1 -1
- package/components/p-D0xd6h3Q.js +4 -0
- package/components/p-D28LaDuR.js +4 -0
- package/components/p-D7-vHX0A.js +4 -0
- package/components/p-D9KqizZs.js +4 -0
- package/components/p-DIZE3CVV.js +4 -0
- package/components/p-DL8rd5jo.js +4 -0
- package/components/p-DRcApg6F.js +4 -0
- package/components/p-DTTnwMiS.js +4 -0
- package/components/p-DWCzVL3Y.js +4 -0
- package/components/p-DYmrV1HT.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-Dcu-SAJG.js} +1 -1
- package/components/p-DnINLmwC.js +4 -0
- package/components/{p-DRugphUN.js → p-DsNz6_gM.js} +1 -1
- package/components/p-DtiuiOTk.js +4 -0
- package/components/p-DunYzubP.js +4 -0
- package/components/p-DwcSJ9u1.js +4 -0
- package/components/p-QCPSB1bo.js +4 -0
- package/components/p-RvtofbHn.js +4 -0
- package/components/p-TXPDHL13.js +4 -0
- package/components/p-WOFp6fXj.js +4 -0
- package/components/p-byZM6qHV.js +4 -0
- package/components/{p-C_hpsif8.js → p-ltNYIRmI.js} +1 -1
- package/components/p-miSGCTAU.js +4 -0
- package/components/p-mpdX3emm.js +4 -0
- package/components/p-nvqVLrWC.js +4 -0
- package/components/p-qiWM96Sz.js +4 -0
- package/components/p-vlF0Bcfd.js +4 -0
- package/dist/cjs/{animation-BJq0kcy2.js → animation-D5WDBRvT.js} +4 -4
- package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-C2s3Cbal.js} +1 -1
- package/dist/cjs/{button-active-0mPOKmV2.js → button-active-CXI2TseG.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-PxvGiOik.js → format-ZfKtcdit.js} +40 -30
- package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-Bdvk3JQO.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-iUuF_76h.js → hardware-back-button-zr8zeYaH.js} +4 -4
- package/dist/cjs/{helpers-Cv23MFHM.js → helpers-DURh1XdY.js} +3 -3
- package/dist/cjs/{index-aC4x3Fk3.js → index-B7sCu6vN.js} +6 -7
- package/dist/cjs/{index-CIrkNXqJ.js → index-BnhnwL1o.js} +2 -2
- package/dist/cjs/{index-D81eLYUM.js → index-Btdix80K.js} +2 -2
- package/dist/cjs/{index-Ct7gcRif.js → index-CAThePqm.js} +4 -6
- package/dist/cjs/index-DhSx3VvD.js +429 -0
- package/dist/cjs/{index-BERfRao3.js → index-DsoHs7Ly.js} +5 -5
- package/dist/cjs/{index-CAvQ7Tka.js → index-P1nQxrpZ.js} +10 -4
- package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
- package/dist/cjs/index.cjs.js +18 -18
- package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-CPbWb84M.js} +9 -11
- package/dist/cjs/{input.utils-DetjmtH2.js → input.utils-CkASW3mE.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 +306 -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 +2767 -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 +418 -251
- 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-B-cA6LkY.js → ionic-global-dMut1Czp.js} +13 -8
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-CeaFa0y2.js} +13 -17
- package/dist/cjs/{item-multiple-inputs-D-gyg57c.js → item-multiple-inputs-HQO5Iy9I.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-B8-wBZqt.js → md.transition-D4Q5jny7.js} +7 -8
- package/dist/cjs/{notch-controller-18PzRGXd.js → notch-controller-fMfidI-7.js} +1 -1
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-DdtIYQUH.js → overlays-C2qrqpHm.js} +48 -33
- package/dist/cjs/select-option-render-Dh16lTnA.js +123 -0
- package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-CgjQ-6jq.js} +3 -3
- package/dist/cjs/{swipe-back-C0GCB18x.js → swipe-back-CmfRYdWQ.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 +92 -64
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +1038 -803
- 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 +6 -7
- package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -2
- package/dist/collection/components/modal/modal.js +393 -224
- package/dist/collection/components/modal/safe-area-utils.js +4 -5
- 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/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 +556 -1272
- package/dist/esm/{animation-DLJpuoEz.js → animation-CVK55yMY.js} +4 -4
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-Bk1_t4sH.js} +1 -1
- package/dist/esm/{button-active-BSpTQmS9.js → button-active-CdCqmeT0.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-sMi4BZ_l.js} +41 -31
- package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-BfAlKlW5.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-DcHMMB9j.js} +4 -4
- package/dist/esm/{helpers-HEqiOzXb.js → helpers-BPcITY5s.js} +3 -3
- package/dist/esm/{index-BRHzoo00.js → index-B9GsUd2c.js} +2 -2
- package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
- package/dist/esm/{index-tcQvqkiX.js → index-D1CQtpUN.js} +5 -7
- package/dist/esm/index-DDa8edAS.js +424 -0
- package/dist/esm/{index-MEDq2S8l.js → index-DcUt1pPn.js} +2 -2
- package/dist/esm/{index-CfgBF1SE.js → index-DppOcPFQ.js} +10 -4
- package/dist/esm/{index-B_dQk_WE.js → index-DqVqy_Cy.js} +5 -5
- package/dist/esm/{index-Q6UPU0Ay.js → index-ks-BjikL.js} +6 -7
- package/dist/esm/index.js +16 -15
- package/dist/esm/{input-shims-D10mwcw1.js → input-shims-C1dCKVMO.js} +9 -11
- package/dist/esm/{input.utils-Y6NgW8bw.js → input.utils-Dd5xwlP6.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 +306 -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 +2765 -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 +418 -251
- 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-5bZ91kOL.js} +13 -8
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-OcwIGkv9.js} +13 -17
- package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-ifd3ZrqY.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-BetdF0bc.js} +7 -8
- package/dist/esm/{notch-controller-DKDjU_O7.js → notch-controller-DBSn-Uat.js} +1 -1
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DUzb9CQf.js} +48 -33
- package/dist/esm/select-option-render-DsW8svRr.js +121 -0
- package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-C-wNhea0.js} +3 -3
- package/dist/esm/{swipe-back-DQ1q5MgD.js → swipe-back-D6YSgAn7.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-01eaee58.entry.js +4 -0
- package/dist/ionic/p-0c567140.entry.js +4 -0
- package/dist/ionic/p-105bb794.entry.js +4 -0
- package/dist/ionic/p-10d55bb6.entry.js +4 -0
- package/dist/ionic/p-173a87d8.entry.js +4 -0
- package/dist/ionic/p-178da672.entry.js +4 -0
- package/dist/ionic/p-1ead2857.entry.js +4 -0
- package/dist/ionic/p-224e2464.entry.js +4 -0
- package/dist/ionic/p-2268e718.entry.js +4 -0
- package/dist/ionic/p-2b5283f3.entry.js +4 -0
- package/dist/ionic/p-2b6decac.entry.js +4 -0
- package/dist/ionic/p-2da5d9c6.entry.js +4 -0
- package/dist/ionic/p-31890acd.entry.js +4 -0
- package/dist/ionic/p-34ef7425.entry.js +4 -0
- package/dist/ionic/p-34f7c1d8.entry.js +4 -0
- package/dist/ionic/p-3b1e6fa4.entry.js +4 -0
- package/dist/ionic/p-42fefd2c.entry.js +4 -0
- package/dist/ionic/p-440cd489.entry.js +4 -0
- package/dist/ionic/{p-aaeedb6b.entry.js → p-460da491.entry.js} +1 -1
- package/dist/ionic/p-53f680e8.entry.js +4 -0
- package/dist/ionic/p-57ba508f.entry.js +4 -0
- package/dist/ionic/p-599e5a75.entry.js +4 -0
- package/dist/ionic/p-5f670a9e.entry.js +4 -0
- package/dist/ionic/p-63502088.entry.js +4 -0
- package/dist/ionic/p-6e6bf45d.entry.js +4 -0
- package/dist/ionic/p-6f0b6a48.entry.js +4 -0
- package/dist/ionic/p-7438c462.entry.js +4 -0
- package/dist/ionic/p-747716e7.entry.js +4 -0
- package/dist/ionic/p-7759fcaf.entry.js +4 -0
- package/dist/ionic/p-7a8338e2.entry.js +4 -0
- package/dist/ionic/p-80f9f1dc.entry.js +4 -0
- package/dist/ionic/p-83ff4dcb.entry.js +4 -0
- package/dist/ionic/p-86f03895.entry.js +4 -0
- package/dist/ionic/p-87b8d70e.entry.js +4 -0
- package/dist/ionic/p-888236bf.entry.js +4 -0
- package/dist/ionic/p-8a92ca23.entry.js +4 -0
- package/dist/ionic/p-8c9af4ad.entry.js +4 -0
- package/dist/ionic/p-9669f546.entry.js +4 -0
- package/dist/ionic/p-9bcd8b74.entry.js +4 -0
- package/dist/ionic/p-B-FxiyeI.js +4 -0
- package/dist/ionic/p-B2trYd8K.js +4 -0
- package/dist/ionic/p-BMPN55of.js +4 -0
- package/dist/ionic/{p-DIuEbVLu.js → p-BNKr91bi.js} +1 -1
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BSzG1VcX.js +4 -0
- package/dist/ionic/p-BVgBHS96.js +4 -0
- package/dist/ionic/p-BX2IOAqC.js +4 -0
- package/dist/ionic/p-BhamHSw3.js +4 -0
- package/dist/ionic/p-BufXJ_A8.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
- package/dist/ionic/p-C73UOs4m.js +4 -0
- package/{components/p-B-JJgYSG.js → dist/ionic/p-CHpEzg-o.js} +1 -1
- package/dist/ionic/p-CUSwMljM.js +4 -0
- package/dist/ionic/p-CeOSrSdu.js +4 -0
- package/dist/ionic/p-CfkB7_FV.js +4 -0
- package/dist/ionic/p-CmKf4pgI.js +4 -0
- package/dist/ionic/p-CnM-CMw7.js +4 -0
- package/dist/ionic/p-D1CQtpUN.js +5 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/dist/ionic/p-DVYb1IVZ.js +4 -0
- package/dist/ionic/p-DWCzVL3Y.js +4 -0
- package/dist/ionic/p-DfJ-SVJf.js +4 -0
- package/dist/ionic/p-DmXrLsoD.js +4 -0
- package/dist/ionic/p-DtLHAMFW.js +4 -0
- package/dist/ionic/p-Dtlob2JL.js +4 -0
- package/dist/ionic/p-F7ipfyOA.js +4 -0
- package/dist/ionic/{p-DoJvtrbw.js → p-I9ETXg5W.js} +1 -1
- package/dist/ionic/{p-Wk5HzclC.js → p-IaXd5VMv.js} +1 -1
- package/dist/ionic/p-T71k3C35.js +4 -0
- package/dist/ionic/p-TXPDHL13.js +4 -0
- package/dist/ionic/p-aL0G45tD.js +4 -0
- package/dist/ionic/p-acbb97c3.entry.js +4 -0
- package/dist/ionic/p-aeb85531.entry.js +4 -0
- package/dist/ionic/p-b157f80d.entry.js +4 -0
- package/dist/ionic/p-b158de5d.entry.js +4 -0
- package/dist/ionic/{p-c6e49f3f.entry.js → p-b40c9715.entry.js} +1 -1
- package/dist/ionic/p-b852101e.entry.js +4 -0
- package/dist/ionic/p-byZM6qHV.js +4 -0
- package/dist/ionic/p-c0d81bee.entry.js +4 -0
- package/dist/ionic/p-c8a327fb.entry.js +4 -0
- package/dist/ionic/p-d42ae99f.entry.js +4 -0
- package/dist/ionic/p-d47ff529.entry.js +4 -0
- package/dist/ionic/p-eHi73fGE.js +4 -0
- package/dist/ionic/p-eeabce92.entry.js +4 -0
- package/dist/ionic/p-efc66d77.entry.js +4 -0
- package/dist/ionic/p-f6d203dc.entry.js +4 -0
- package/dist/ionic/p-u2a770LZ.js +4 -0
- 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.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 +0 -8
- 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 +10278 -7052
- package/hydrate/index.mjs +10278 -7052
- package/package.json +54 -11
- 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-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-DHTSTb52.js +0 -4
- package/components/p-DJZp0KTQ.js +0 -4
- package/components/p-DOFCbuQR.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-KEFO0w3i.js +0 -4
- package/components/p-Osve4qkc.js +0 -4
- package/components/p-SLS1rDZM.js +0 -4
- package/components/p-VWbRkLT7.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-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-scxfI1Dd.js +0 -4
- package/components/p-sijaAIYG.js +0 -4
- package/components/p-yzCsOZE2.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3164
- 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 -3160
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.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-20b1a044.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-485fda23.entry.js +0 -4
- package/dist/ionic/p-4ac4f3d6.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-5018dfc8.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.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-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-8fce95d5.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-9f1103ce.entry.js +0 -4
- package/dist/ionic/p-9f9db3a2.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-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-DSG2s2Eb.js +0 -4
- package/dist/ionic/p-Dfbt-q2k.js +0 -4
- package/dist/ionic/p-DiVJyqlX.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-ad306193.entry.js +0 -4
- package/dist/ionic/p-b6a7397c.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-e0be05c5.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-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
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, e as config, h, d as Host
|
|
5
|
-
import { E as ENABLE_HTML_CONTENT_DEFAULT
|
|
6
|
-
import { r as raf } from './helpers-
|
|
4
|
+
import { r as registerInstance, c as createEvent, e as config, g as getElement, h, d as Host } from './index-D1CQtpUN.js';
|
|
5
|
+
import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
|
|
6
|
+
import { r as raf } from './helpers-BPcITY5s.js';
|
|
7
7
|
import { c as createLockController } from './lock-controller-B-hirT0v.js';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
8
|
+
import { c as createDelegateController, d as createTriggerController, h as prepareOverlay, k as setOverlayId, j as cleanupRootFocusTrapAccessibility, e as present, f as dismiss, g as eventMethod, B as BACKDROP } from './overlays-DUzb9CQf.js';
|
|
9
|
+
import { s as sanitizeDOMString } from './index-DDa8edAS.js';
|
|
10
|
+
import { g as getClassMap } from './theme-byZM6qHV.js';
|
|
11
|
+
import { b as getIonMode } from './ionic-global-5bZ91kOL.js';
|
|
12
|
+
import { c as createAnimation } from './animation-CVK55yMY.js';
|
|
12
13
|
import './index-ZjP4CjeZ.js';
|
|
13
|
-
import './hardware-back-button-
|
|
14
|
-
import './framework-delegate-
|
|
15
|
-
import './gesture-controller-
|
|
14
|
+
import './hardware-back-button-DcHMMB9j.js';
|
|
15
|
+
import './framework-delegate-BfAlKlW5.js';
|
|
16
|
+
import './gesture-controller-TXPDHL13.js';
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* iOS Loading Enter Animation
|
|
@@ -117,51 +118,85 @@ const Loading = class {
|
|
|
117
118
|
this.willPresentShorthand = createEvent(this, "willPresent", 7);
|
|
118
119
|
this.willDismissShorthand = createEvent(this, "willDismiss", 7);
|
|
119
120
|
this.didDismissShorthand = createEvent(this, "didDismiss", 7);
|
|
120
|
-
this.delegateController = createDelegateController(this);
|
|
121
|
-
this.lockController = createLockController();
|
|
122
|
-
this.triggerController = createTriggerController();
|
|
123
|
-
this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
124
|
-
this.presented = false;
|
|
125
|
-
/** @internal */
|
|
126
|
-
this.hasController = false;
|
|
127
|
-
/**
|
|
128
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
129
|
-
*/
|
|
130
|
-
this.keyboardClose = true;
|
|
131
|
-
/**
|
|
132
|
-
* Number of milliseconds to wait before dismissing the loading indicator.
|
|
133
|
-
*/
|
|
134
|
-
this.duration = 0;
|
|
135
|
-
/**
|
|
136
|
-
* If `true`, the loading indicator will be dismissed when the backdrop is clicked.
|
|
137
|
-
*/
|
|
138
|
-
this.backdropDismiss = false;
|
|
139
|
-
/**
|
|
140
|
-
* If `true`, a backdrop will be displayed behind the loading indicator.
|
|
141
|
-
*/
|
|
142
|
-
this.showBackdrop = true;
|
|
143
|
-
/**
|
|
144
|
-
* If `true`, the loading indicator will be translucent.
|
|
145
|
-
* Only applies when the mode is `"ios"` and the device supports
|
|
146
|
-
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
147
|
-
*/
|
|
148
|
-
this.translucent = false;
|
|
149
|
-
/**
|
|
150
|
-
* If `true`, the loading indicator will animate.
|
|
151
|
-
*/
|
|
152
|
-
this.animated = true;
|
|
153
|
-
/**
|
|
154
|
-
* If `true`, the loading indicator will open. If `false`, the loading indicator will close.
|
|
155
|
-
* Use this if you need finer grained control over presentation, otherwise
|
|
156
|
-
* just use the loadingController or the `trigger` property.
|
|
157
|
-
* Note: `isOpen` will not automatically be set back to `false` when
|
|
158
|
-
* the loading indicator dismisses. You will need to do that in your code.
|
|
159
|
-
*/
|
|
160
|
-
this.isOpen = false;
|
|
161
|
-
this.onBackdropTap = () => {
|
|
162
|
-
this.dismiss(undefined, BACKDROP);
|
|
163
|
-
};
|
|
164
121
|
}
|
|
122
|
+
delegateController = createDelegateController(this);
|
|
123
|
+
lockController = createLockController();
|
|
124
|
+
triggerController = createTriggerController();
|
|
125
|
+
customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
|
|
126
|
+
durationTimeout;
|
|
127
|
+
presented = false;
|
|
128
|
+
lastFocus;
|
|
129
|
+
get el() { return getElement(this); }
|
|
130
|
+
/** @internal */
|
|
131
|
+
overlayIndex;
|
|
132
|
+
/** @internal */
|
|
133
|
+
delegate;
|
|
134
|
+
/** @internal */
|
|
135
|
+
hasController = false;
|
|
136
|
+
/**
|
|
137
|
+
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
138
|
+
*/
|
|
139
|
+
keyboardClose = true;
|
|
140
|
+
/**
|
|
141
|
+
* Animation to use when the loading indicator is presented.
|
|
142
|
+
*/
|
|
143
|
+
enterAnimation;
|
|
144
|
+
/**
|
|
145
|
+
* Animation to use when the loading indicator is dismissed.
|
|
146
|
+
*/
|
|
147
|
+
leaveAnimation;
|
|
148
|
+
/**
|
|
149
|
+
* Optional text content to display in the loading indicator.
|
|
150
|
+
*
|
|
151
|
+
* This property accepts custom HTML as a string.
|
|
152
|
+
* Content is parsed as plaintext by default.
|
|
153
|
+
* `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config
|
|
154
|
+
* before custom HTML can be used.
|
|
155
|
+
*/
|
|
156
|
+
message;
|
|
157
|
+
/**
|
|
158
|
+
* Additional classes to apply for custom CSS. If multiple classes are
|
|
159
|
+
* provided they should be separated by spaces.
|
|
160
|
+
*/
|
|
161
|
+
cssClass;
|
|
162
|
+
/**
|
|
163
|
+
* Number of milliseconds to wait before dismissing the loading indicator.
|
|
164
|
+
*/
|
|
165
|
+
duration = 0;
|
|
166
|
+
/**
|
|
167
|
+
* If `true`, the loading indicator will be dismissed when the backdrop is clicked.
|
|
168
|
+
*/
|
|
169
|
+
backdropDismiss = false;
|
|
170
|
+
/**
|
|
171
|
+
* If `true`, a backdrop will be displayed behind the loading indicator.
|
|
172
|
+
*/
|
|
173
|
+
showBackdrop = true;
|
|
174
|
+
/**
|
|
175
|
+
* The name of the spinner to display.
|
|
176
|
+
*/
|
|
177
|
+
spinner;
|
|
178
|
+
/**
|
|
179
|
+
* If `true`, the loading indicator will be translucent.
|
|
180
|
+
* Only applies when the mode is `"ios"` and the device supports
|
|
181
|
+
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
182
|
+
*/
|
|
183
|
+
translucent = false;
|
|
184
|
+
/**
|
|
185
|
+
* If `true`, the loading indicator will animate.
|
|
186
|
+
*/
|
|
187
|
+
animated = true;
|
|
188
|
+
/**
|
|
189
|
+
* Additional attributes to pass to the loader.
|
|
190
|
+
*/
|
|
191
|
+
htmlAttributes;
|
|
192
|
+
/**
|
|
193
|
+
* If `true`, the loading indicator will open. If `false`, the loading indicator will close.
|
|
194
|
+
* Use this if you need finer grained control over presentation, otherwise
|
|
195
|
+
* just use the loadingController or the `trigger` property.
|
|
196
|
+
* Note: `isOpen` will not automatically be set back to `false` when
|
|
197
|
+
* the loading indicator dismisses. You will need to do that in your code.
|
|
198
|
+
*/
|
|
199
|
+
isOpen = false;
|
|
165
200
|
onIsOpenChange(newValue, oldValue) {
|
|
166
201
|
if (newValue === true && oldValue === false) {
|
|
167
202
|
this.present();
|
|
@@ -170,23 +205,63 @@ const Loading = class {
|
|
|
170
205
|
this.dismiss();
|
|
171
206
|
}
|
|
172
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* An ID corresponding to the trigger element that
|
|
210
|
+
* causes the loading indicator to open when clicked.
|
|
211
|
+
*/
|
|
212
|
+
trigger;
|
|
173
213
|
triggerChanged() {
|
|
174
214
|
const { trigger, el, triggerController } = this;
|
|
175
215
|
if (trigger) {
|
|
176
216
|
triggerController.addClickListener(el, trigger);
|
|
177
217
|
}
|
|
178
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Emitted after the loading has presented.
|
|
221
|
+
*/
|
|
222
|
+
didPresent;
|
|
223
|
+
/**
|
|
224
|
+
* Emitted before the loading has presented.
|
|
225
|
+
*/
|
|
226
|
+
willPresent;
|
|
227
|
+
/**
|
|
228
|
+
* Emitted before the loading has dismissed.
|
|
229
|
+
*/
|
|
230
|
+
willDismiss;
|
|
231
|
+
/**
|
|
232
|
+
* Emitted after the loading has dismissed.
|
|
233
|
+
*/
|
|
234
|
+
didDismiss;
|
|
235
|
+
/**
|
|
236
|
+
* Emitted after the loading indicator has presented.
|
|
237
|
+
* Shorthand for ionLoadingWillDismiss.
|
|
238
|
+
*/
|
|
239
|
+
didPresentShorthand;
|
|
240
|
+
/**
|
|
241
|
+
* Emitted before the loading indicator has presented.
|
|
242
|
+
* Shorthand for ionLoadingWillPresent.
|
|
243
|
+
*/
|
|
244
|
+
willPresentShorthand;
|
|
245
|
+
/**
|
|
246
|
+
* Emitted before the loading indicator has dismissed.
|
|
247
|
+
* Shorthand for ionLoadingWillDismiss.
|
|
248
|
+
*/
|
|
249
|
+
willDismissShorthand;
|
|
250
|
+
/**
|
|
251
|
+
* Emitted after the loading indicator has dismissed.
|
|
252
|
+
* Shorthand for ionLoadingDidDismiss.
|
|
253
|
+
*/
|
|
254
|
+
didDismissShorthand;
|
|
179
255
|
connectedCallback() {
|
|
180
256
|
prepareOverlay(this.el);
|
|
181
257
|
this.triggerChanged();
|
|
182
258
|
}
|
|
183
259
|
componentWillLoad() {
|
|
184
|
-
var _a;
|
|
185
260
|
if (this.spinner === undefined) {
|
|
186
261
|
const mode = getIonMode(this);
|
|
187
262
|
this.spinner = config.get('loadingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'crescent'));
|
|
188
263
|
}
|
|
189
|
-
if (!
|
|
264
|
+
if (!this.htmlAttributes?.id) {
|
|
190
265
|
setOverlayId(this.el);
|
|
191
266
|
}
|
|
192
267
|
}
|
|
@@ -211,6 +286,10 @@ const Loading = class {
|
|
|
211
286
|
}
|
|
212
287
|
disconnectedCallback() {
|
|
213
288
|
this.triggerController.removeClickListener();
|
|
289
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
290
|
+
if (this.presented) {
|
|
291
|
+
cleanupRootFocusTrapAccessibility();
|
|
292
|
+
}
|
|
214
293
|
}
|
|
215
294
|
/**
|
|
216
295
|
* Present the loading overlay after it has been created.
|
|
@@ -260,6 +339,9 @@ const Loading = class {
|
|
|
260
339
|
onWillDismiss() {
|
|
261
340
|
return eventMethod(this.el, 'ionLoadingWillDismiss');
|
|
262
341
|
}
|
|
342
|
+
onBackdropTap = () => {
|
|
343
|
+
this.dismiss(undefined, BACKDROP);
|
|
344
|
+
};
|
|
263
345
|
renderLoadingMessage(msgId) {
|
|
264
346
|
const { customHTMLEnabled, message } = this;
|
|
265
347
|
if (customHTMLEnabled) {
|
|
@@ -276,11 +358,15 @@ const Loading = class {
|
|
|
276
358
|
* Otherwise, don't set aria-labelledby.
|
|
277
359
|
*/
|
|
278
360
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
279
|
-
return (h(Host,
|
|
361
|
+
return (h(Host, { key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1", ...htmlAttributes, style: {
|
|
280
362
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
281
|
-
}, onIonBackdropTap: this.onBackdropTap, class:
|
|
363
|
+
}, onIonBackdropTap: this.onBackdropTap, class: {
|
|
364
|
+
...getClassMap(this.cssClass),
|
|
365
|
+
[mode]: true,
|
|
366
|
+
'overlay-hidden': true,
|
|
367
|
+
'loading-translucent': this.translucent,
|
|
368
|
+
} }, h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
|
|
282
369
|
}
|
|
283
|
-
get el() { return getElement(this); }
|
|
284
370
|
static get watchers() { return {
|
|
285
371
|
"isOpen": [{
|
|
286
372
|
"onIsOpenChange": 0
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host
|
|
4
|
+
import { r as registerInstance, c as createEvent, g as getElement, e as config, j as printIonError, h, d as Host } from './index-D1CQtpUN.js';
|
|
5
5
|
import { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
6
|
-
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-
|
|
7
|
-
import { G as GESTURE_CONTROLLER } from './gesture-controller-
|
|
8
|
-
import { shouldUseCloseWatcher } from './hardware-back-button-
|
|
9
|
-
import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-
|
|
10
|
-
import { m as menuController } from './index-
|
|
11
|
-
import { b as getIonMode, a as isPlatform } from './ionic-global-
|
|
12
|
-
import { h as hostContext, c as createColorClasses } from './theme-
|
|
13
|
-
import { u as menuOutline, v as menuSharp } from './index-
|
|
6
|
+
import { o as getPresentedOverlay, B as BACKDROP, n as focusFirstDescendant, q as focusLastDescendant, G as GESTURE } from './overlays-DUzb9CQf.js';
|
|
7
|
+
import { G as GESTURE_CONTROLLER } from './gesture-controller-TXPDHL13.js';
|
|
8
|
+
import { shouldUseCloseWatcher } from './hardware-back-button-DcHMMB9j.js';
|
|
9
|
+
import { o as isEndSide, i as inheritAriaAttributes, l as assert, e as clamp } from './helpers-BPcITY5s.js';
|
|
10
|
+
import { m as menuController } from './index-ks-BjikL.js';
|
|
11
|
+
import { b as getIonMode, a as isPlatform } from './ionic-global-5bZ91kOL.js';
|
|
12
|
+
import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
|
|
13
|
+
import { u as menuOutline, v as menuSharp } from './index-BvabGprD.js';
|
|
14
14
|
import './index-ZjP4CjeZ.js';
|
|
15
|
-
import './framework-delegate-
|
|
16
|
-
import './animation-
|
|
15
|
+
import './framework-delegate-BfAlKlW5.js';
|
|
16
|
+
import './animation-CVK55yMY.js';
|
|
17
17
|
|
|
18
18
|
const menuIosCss = () => `:host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}`;
|
|
19
19
|
|
|
@@ -31,62 +31,70 @@ const Menu = class {
|
|
|
31
31
|
this.ionDidOpen = createEvent(this, "ionDidOpen", 7);
|
|
32
32
|
this.ionDidClose = createEvent(this, "ionDidClose", 7);
|
|
33
33
|
this.ionMenuChange = createEvent(this, "ionMenuChange", 7);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (lastOverlay && !lastOverlay.contains(this.el)) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
this.trapKeyboardFocus(ev, document);
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* If true, then the menu should be
|
|
64
|
-
* visible within a split pane.
|
|
65
|
-
* If false, then the menu is hidden.
|
|
66
|
-
* However, the menu-button/menu-toggle
|
|
67
|
-
* components can be used to open the
|
|
68
|
-
* menu.
|
|
69
|
-
*/
|
|
70
|
-
this.isPaneVisible = false;
|
|
71
|
-
this.isEndSide = false;
|
|
72
|
-
/**
|
|
73
|
-
* If `true`, the menu is disabled.
|
|
74
|
-
*/
|
|
75
|
-
this.disabled = false;
|
|
76
|
-
/**
|
|
77
|
-
* Which side of the view the menu should be placed.
|
|
78
|
-
*/
|
|
79
|
-
this.side = 'start';
|
|
80
|
-
/**
|
|
81
|
-
* If `true`, swiping the menu is enabled.
|
|
82
|
-
*/
|
|
83
|
-
this.swipeGesture = true;
|
|
34
|
+
}
|
|
35
|
+
animation;
|
|
36
|
+
lastOnEnd = 0;
|
|
37
|
+
gesture;
|
|
38
|
+
blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
|
|
39
|
+
didLoad = false;
|
|
40
|
+
/**
|
|
41
|
+
* Flag used to determine if an open/close
|
|
42
|
+
* operation was cancelled. For example, if
|
|
43
|
+
* an app calls "menu.open" then disables the menu
|
|
44
|
+
* part way through the animation, then this would
|
|
45
|
+
* be considered a cancelled operation.
|
|
46
|
+
*/
|
|
47
|
+
operationCancelled = false;
|
|
48
|
+
isAnimating = false;
|
|
49
|
+
width;
|
|
50
|
+
_isOpen = false;
|
|
51
|
+
backdropEl;
|
|
52
|
+
menuInnerEl;
|
|
53
|
+
contentEl;
|
|
54
|
+
lastFocus;
|
|
55
|
+
inheritedAttributes = {};
|
|
56
|
+
handleFocus = (ev) => {
|
|
84
57
|
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
58
|
+
* Overlays have their own focus trapping listener
|
|
59
|
+
* so we do not want the two listeners to conflict
|
|
60
|
+
* with each other. If the top-most overlay that is
|
|
61
|
+
* open does not contain this ion-menu, then ion-menu's
|
|
62
|
+
* focus trapping should not run.
|
|
87
63
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
64
|
+
const lastOverlay = getPresentedOverlay(document);
|
|
65
|
+
if (lastOverlay && !lastOverlay.contains(this.el)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.trapKeyboardFocus(ev, document);
|
|
69
|
+
};
|
|
70
|
+
get el() { return getElement(this); }
|
|
71
|
+
/**
|
|
72
|
+
* If true, then the menu should be
|
|
73
|
+
* visible within a split pane.
|
|
74
|
+
* If false, then the menu is hidden.
|
|
75
|
+
* However, the menu-button/menu-toggle
|
|
76
|
+
* components can be used to open the
|
|
77
|
+
* menu.
|
|
78
|
+
*/
|
|
79
|
+
isPaneVisible = false;
|
|
80
|
+
isEndSide = false;
|
|
81
|
+
/**
|
|
82
|
+
* The `id` of the main content. When using
|
|
83
|
+
* a router this is typically `ion-router-outlet`.
|
|
84
|
+
* When not using a router, this is typically
|
|
85
|
+
* your main view's `ion-content`. This is not the
|
|
86
|
+
* id of the `ion-content` inside of your `ion-menu`.
|
|
87
|
+
*/
|
|
88
|
+
contentId;
|
|
89
|
+
/**
|
|
90
|
+
* An id for the menu.
|
|
91
|
+
*/
|
|
92
|
+
menuId;
|
|
93
|
+
/**
|
|
94
|
+
* The display type of the menu.
|
|
95
|
+
* Available options: `"overlay"`, `"reveal"`, `"push"`.
|
|
96
|
+
*/
|
|
97
|
+
type;
|
|
90
98
|
typeChanged(type, oldType) {
|
|
91
99
|
const contentEl = this.contentEl;
|
|
92
100
|
if (contentEl) {
|
|
@@ -102,6 +110,10 @@ const Menu = class {
|
|
|
102
110
|
}
|
|
103
111
|
this.animation = undefined;
|
|
104
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* If `true`, the menu is disabled.
|
|
115
|
+
*/
|
|
116
|
+
disabled = false;
|
|
105
117
|
disabledChanged() {
|
|
106
118
|
this.updateState();
|
|
107
119
|
this.ionMenuChange.emit({
|
|
@@ -109,6 +121,10 @@ const Menu = class {
|
|
|
109
121
|
open: this._isOpen,
|
|
110
122
|
});
|
|
111
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Which side of the view the menu should be placed.
|
|
126
|
+
*/
|
|
127
|
+
side = 'start';
|
|
112
128
|
sideChanged() {
|
|
113
129
|
this.isEndSide = isEndSide(this.side);
|
|
114
130
|
/**
|
|
@@ -117,9 +133,39 @@ const Menu = class {
|
|
|
117
133
|
*/
|
|
118
134
|
this.animation = undefined;
|
|
119
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* If `true`, swiping the menu is enabled.
|
|
138
|
+
*/
|
|
139
|
+
swipeGesture = true;
|
|
120
140
|
swipeGestureChanged() {
|
|
121
141
|
this.updateState();
|
|
122
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* The edge threshold for dragging the menu open.
|
|
145
|
+
* If a drag/swipe happens over this value, the menu is not triggered.
|
|
146
|
+
*/
|
|
147
|
+
maxEdgeStart = 50;
|
|
148
|
+
/**
|
|
149
|
+
* Emitted when the menu is about to be opened.
|
|
150
|
+
*/
|
|
151
|
+
ionWillOpen;
|
|
152
|
+
/**
|
|
153
|
+
* Emitted when the menu is about to be closed.
|
|
154
|
+
*/
|
|
155
|
+
ionWillClose;
|
|
156
|
+
/**
|
|
157
|
+
* Emitted when the menu is open.
|
|
158
|
+
*/
|
|
159
|
+
ionDidOpen;
|
|
160
|
+
/**
|
|
161
|
+
* Emitted when the menu is closed.
|
|
162
|
+
*/
|
|
163
|
+
ionDidClose;
|
|
164
|
+
/**
|
|
165
|
+
* Emitted when the menu state is changed.
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
ionMenuChange;
|
|
123
169
|
async connectedCallback() {
|
|
124
170
|
// TODO: connectedCallback is fired in CE build
|
|
125
171
|
// before WC is defined. This needs to be fixed in Stencil.
|
|
@@ -145,7 +191,7 @@ const Menu = class {
|
|
|
145
191
|
// register this menu with the app's menu controller
|
|
146
192
|
menuController._register(this);
|
|
147
193
|
this.menuChanged();
|
|
148
|
-
this.gesture = (await import('./index-
|
|
194
|
+
this.gesture = (await import('./index-DppOcPFQ.js')).createGesture({
|
|
149
195
|
el: document,
|
|
150
196
|
gestureName: 'menu-swipe',
|
|
151
197
|
gesturePriority: 30,
|
|
@@ -297,9 +343,8 @@ const Menu = class {
|
|
|
297
343
|
* @param role The role of the element that is closing the menu.
|
|
298
344
|
*/
|
|
299
345
|
setOpen(shouldOpen, animated = true, role) {
|
|
300
|
-
var _a;
|
|
301
346
|
// Blur the active element to prevent it from being kept focused inside an element that will be set with aria-hidden="true"
|
|
302
|
-
|
|
347
|
+
document.activeElement?.blur();
|
|
303
348
|
return menuController._setOpen(this, shouldOpen, animated, role);
|
|
304
349
|
}
|
|
305
350
|
trapKeyboardFocus(ev, doc) {
|
|
@@ -559,7 +604,6 @@ const Menu = class {
|
|
|
559
604
|
}
|
|
560
605
|
}
|
|
561
606
|
afterAnimation(isOpen, role) {
|
|
562
|
-
var _a;
|
|
563
607
|
// keep opening/closing the menu disabled for a touch more yet
|
|
564
608
|
// only add listeners/css if it's enabled and isOpen
|
|
565
609
|
// and only remove listeners/css if it's not open
|
|
@@ -587,7 +631,7 @@ const Menu = class {
|
|
|
587
631
|
* it isn't already focused. Use the host element instead of the
|
|
588
632
|
* first descendant to avoid the scroll position jumping around.
|
|
589
633
|
*/
|
|
590
|
-
const focusedMenu =
|
|
634
|
+
const focusedMenu = document.activeElement?.closest('ion-menu');
|
|
591
635
|
if (focusedMenu !== this.el) {
|
|
592
636
|
this.el.focus();
|
|
593
637
|
}
|
|
@@ -671,7 +715,6 @@ const Menu = class {
|
|
|
671
715
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
672
716
|
} }, h("div", { key: '22e44f7bd602ee0c96550f0dfc22ac81c0033ad6', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '7bbef92fe03bb3ce4d3981eb8535aab449aab2fc' })), h("ion-backdrop", { key: '9ab8d5b61563e16b212c71c03869d4fc23a0400b', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
673
717
|
}
|
|
674
|
-
get el() { return getElement(this); }
|
|
675
718
|
static get watchers() { return {
|
|
676
719
|
"type": [{
|
|
677
720
|
"typeChanged": 0
|
|
@@ -719,24 +762,32 @@ const menuButtonMdCss = () => `:host{--background:transparent;--color-focused:cu
|
|
|
719
762
|
const MenuButton = class {
|
|
720
763
|
constructor(hostRef) {
|
|
721
764
|
registerInstance(this, hostRef);
|
|
722
|
-
this.inheritedAttributes = {};
|
|
723
|
-
this.visible = false;
|
|
724
|
-
/**
|
|
725
|
-
* If `true`, the user cannot interact with the menu button.
|
|
726
|
-
*/
|
|
727
|
-
this.disabled = false;
|
|
728
|
-
/**
|
|
729
|
-
* Automatically hides the menu button when the corresponding menu is not active
|
|
730
|
-
*/
|
|
731
|
-
this.autoHide = true;
|
|
732
|
-
/**
|
|
733
|
-
* The type of the button.
|
|
734
|
-
*/
|
|
735
|
-
this.type = 'button';
|
|
736
|
-
this.onClick = async () => {
|
|
737
|
-
return menuController.toggle(this.menu);
|
|
738
|
-
};
|
|
739
765
|
}
|
|
766
|
+
inheritedAttributes = {};
|
|
767
|
+
get el() { return getElement(this); }
|
|
768
|
+
visible = false;
|
|
769
|
+
/**
|
|
770
|
+
* The color to use from your application's color palette.
|
|
771
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
772
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
773
|
+
*/
|
|
774
|
+
color;
|
|
775
|
+
/**
|
|
776
|
+
* If `true`, the user cannot interact with the menu button.
|
|
777
|
+
*/
|
|
778
|
+
disabled = false;
|
|
779
|
+
/**
|
|
780
|
+
* Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle
|
|
781
|
+
*/
|
|
782
|
+
menu;
|
|
783
|
+
/**
|
|
784
|
+
* Automatically hides the menu button when the corresponding menu is not active
|
|
785
|
+
*/
|
|
786
|
+
autoHide = true;
|
|
787
|
+
/**
|
|
788
|
+
* The type of the button.
|
|
789
|
+
*/
|
|
790
|
+
type = 'button';
|
|
740
791
|
componentWillLoad() {
|
|
741
792
|
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
742
793
|
}
|
|
@@ -746,6 +797,9 @@ const MenuButton = class {
|
|
|
746
797
|
async visibilityChanged() {
|
|
747
798
|
this.visible = await updateVisibility(this.menu);
|
|
748
799
|
}
|
|
800
|
+
onClick = async () => {
|
|
801
|
+
return menuController.toggle(this.menu);
|
|
802
|
+
};
|
|
749
803
|
render() {
|
|
750
804
|
const { color, disabled, inheritedAttributes } = this;
|
|
751
805
|
const mode = getIonMode(this);
|
|
@@ -764,9 +818,8 @@ const MenuButton = class {
|
|
|
764
818
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
765
819
|
'ion-activatable': true,
|
|
766
820
|
'ion-focusable': true,
|
|
767
|
-
}) }, h("button",
|
|
821
|
+
}) }, h("button", { key: '7c4a449e239679376f38471d95fd602f9caec5f6', ...attrs, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: '8bb5bf453280a66109198c970b678ad800c7a8cf', class: "button-inner" }, h("slot", { key: '7f78b1e7a0695f2bd600d13ca81f50dd8b965726' }, h("ion-icon", { key: '9f67f5bb06b1f03a6e5df9ecbe23ebf69fb40756', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: '10be7145c614144e94c3cc0b92dc5ee4e1587fe6', type: "unbounded" }))));
|
|
768
822
|
}
|
|
769
|
-
get el() { return getElement(this); }
|
|
770
823
|
};
|
|
771
824
|
MenuButton.style = {
|
|
772
825
|
ios: menuButtonIosCss(),
|
|
@@ -778,24 +831,33 @@ const menuToggleCss = () => `:host(.menu-toggle-hidden){display:none}`;
|
|
|
778
831
|
const MenuToggle = class {
|
|
779
832
|
constructor(hostRef) {
|
|
780
833
|
registerInstance(this, hostRef);
|
|
781
|
-
this.visible = false;
|
|
782
|
-
/**
|
|
783
|
-
* Automatically hides the content when the corresponding menu is not active.
|
|
784
|
-
*
|
|
785
|
-
* By default, it's `true`. Change it to `false` in order to
|
|
786
|
-
* keep `ion-menu-toggle` always visible regardless the state of the menu.
|
|
787
|
-
*/
|
|
788
|
-
this.autoHide = true;
|
|
789
|
-
this.onClick = () => {
|
|
790
|
-
return menuController.toggle(this.menu);
|
|
791
|
-
};
|
|
792
834
|
}
|
|
835
|
+
visible = false;
|
|
836
|
+
/**
|
|
837
|
+
* Optional property that maps to a Menu's `menuId` prop.
|
|
838
|
+
* Can also be `start` or `end` for the menu side.
|
|
839
|
+
* This is used to find the correct menu to toggle.
|
|
840
|
+
*
|
|
841
|
+
* If this property is not used, `ion-menu-toggle` will toggle the
|
|
842
|
+
* first menu that is active.
|
|
843
|
+
*/
|
|
844
|
+
menu;
|
|
845
|
+
/**
|
|
846
|
+
* Automatically hides the content when the corresponding menu is not active.
|
|
847
|
+
*
|
|
848
|
+
* By default, it's `true`. Change it to `false` in order to
|
|
849
|
+
* keep `ion-menu-toggle` always visible regardless the state of the menu.
|
|
850
|
+
*/
|
|
851
|
+
autoHide = true;
|
|
793
852
|
connectedCallback() {
|
|
794
853
|
this.visibilityChanged();
|
|
795
854
|
}
|
|
796
855
|
async visibilityChanged() {
|
|
797
856
|
this.visible = await updateVisibility(this.menu);
|
|
798
857
|
}
|
|
858
|
+
onClick = () => {
|
|
859
|
+
return menuController.toggle(this.menu);
|
|
860
|
+
};
|
|
799
861
|
render() {
|
|
800
862
|
const mode = getIonMode(this);
|
|
801
863
|
const hidden = this.autoHide && !this.visible;
|