@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
|
@@ -24,117 +24,108 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
24
24
|
* @part error-text - Supporting text displayed beneath the toggle label when the toggle is invalid and touched.
|
|
25
25
|
*/
|
|
26
26
|
export class Toggle {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
this.ionBlur.emit();
|
|
130
|
-
};
|
|
131
|
-
this.getSwitchLabelIcon = (mode, checked) => {
|
|
132
|
-
if (mode === 'md') {
|
|
133
|
-
return checked ? checkmarkOutline : removeOutline;
|
|
134
|
-
}
|
|
135
|
-
return checked ? removeOutline : ellipseOutline;
|
|
136
|
-
};
|
|
137
|
-
}
|
|
27
|
+
inputId = `ion-tg-${toggleIds++}`;
|
|
28
|
+
inputLabelId = `${this.inputId}-lbl`;
|
|
29
|
+
helperTextId = `${this.inputId}-helper-text`;
|
|
30
|
+
errorTextId = `${this.inputId}-error-text`;
|
|
31
|
+
gesture;
|
|
32
|
+
lastDrag = 0;
|
|
33
|
+
inheritedAttributes = {};
|
|
34
|
+
toggleTrack;
|
|
35
|
+
didLoad = false;
|
|
36
|
+
validationObserver;
|
|
37
|
+
itemFocusObserver;
|
|
38
|
+
el;
|
|
39
|
+
activated = false;
|
|
40
|
+
/**
|
|
41
|
+
* Track validation state for proper aria-live announcements.
|
|
42
|
+
*/
|
|
43
|
+
isInvalid = false;
|
|
44
|
+
hintTextId;
|
|
45
|
+
/**
|
|
46
|
+
* The color to use from your application's color palette.
|
|
47
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
48
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
49
|
+
*/
|
|
50
|
+
color;
|
|
51
|
+
/**
|
|
52
|
+
* The name of the control, which is submitted with the form data.
|
|
53
|
+
*/
|
|
54
|
+
name = this.inputId;
|
|
55
|
+
/**
|
|
56
|
+
* If `true`, the toggle is selected.
|
|
57
|
+
*/
|
|
58
|
+
checked = false;
|
|
59
|
+
/**
|
|
60
|
+
* If `true`, the user cannot interact with the toggle.
|
|
61
|
+
*/
|
|
62
|
+
disabled = false;
|
|
63
|
+
/**
|
|
64
|
+
* Text that is placed under the toggle label and displayed when an error is detected.
|
|
65
|
+
*/
|
|
66
|
+
errorText;
|
|
67
|
+
/**
|
|
68
|
+
* Text that is placed under the toggle label and displayed when no error is detected.
|
|
69
|
+
*/
|
|
70
|
+
helperText;
|
|
71
|
+
/**
|
|
72
|
+
* The value of the toggle does not mean if it's checked or not, use the `checked`
|
|
73
|
+
* property for that.
|
|
74
|
+
*
|
|
75
|
+
* The value of a toggle is analogous to the value of a `<input type="checkbox">`,
|
|
76
|
+
* it's only used when the toggle participates in a native `<form>`.
|
|
77
|
+
*/
|
|
78
|
+
value = 'on';
|
|
79
|
+
/**
|
|
80
|
+
* Enables the on/off accessibility switch labels within the toggle.
|
|
81
|
+
*/
|
|
82
|
+
enableOnOffLabels = config.get('toggleOnOffLabels');
|
|
83
|
+
/**
|
|
84
|
+
* Where to place the label relative to the input.
|
|
85
|
+
* `"start"`: The label will appear to the left of the toggle in LTR and to the right in RTL.
|
|
86
|
+
* `"end"`: The label will appear to the right of the toggle in LTR and to the left in RTL.
|
|
87
|
+
* `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
|
|
88
|
+
* `"stacked"`: The label will appear above the toggle regardless of the direction. The alignment of the label can be controlled with the `alignment` property.
|
|
89
|
+
*/
|
|
90
|
+
labelPlacement = 'start';
|
|
91
|
+
/**
|
|
92
|
+
* How to pack the label and toggle within a line.
|
|
93
|
+
* `"start"`: The label and toggle will appear on the left in LTR and
|
|
94
|
+
* on the right in RTL.
|
|
95
|
+
* `"end"`: The label and toggle will appear on the right in LTR and
|
|
96
|
+
* on the left in RTL.
|
|
97
|
+
* `"space-between"`: The label and toggle will appear on opposite
|
|
98
|
+
* ends of the line with space between the two elements.
|
|
99
|
+
* Setting this property will change the toggle `display` to `block`.
|
|
100
|
+
*/
|
|
101
|
+
justify;
|
|
102
|
+
/**
|
|
103
|
+
* How to control the alignment of the toggle and label on the cross axis.
|
|
104
|
+
* `"start"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.
|
|
105
|
+
* `"center"`: The label and control will appear at the center of the cross axis in both LTR and RTL.
|
|
106
|
+
* Setting this property will change the toggle `display` to `block`.
|
|
107
|
+
*/
|
|
108
|
+
alignment;
|
|
109
|
+
/**
|
|
110
|
+
* If true, screen readers will announce it as a required field. This property
|
|
111
|
+
* works only for accessibility purposes, it will not prevent the form from
|
|
112
|
+
* submitting if the value is invalid.
|
|
113
|
+
*/
|
|
114
|
+
required = false;
|
|
115
|
+
/**
|
|
116
|
+
* Emitted when the user switches the toggle on or off.
|
|
117
|
+
*
|
|
118
|
+
* This event will not emit when programmatically setting the `checked` property.
|
|
119
|
+
*/
|
|
120
|
+
ionChange;
|
|
121
|
+
/**
|
|
122
|
+
* Emitted when the toggle has focus.
|
|
123
|
+
*/
|
|
124
|
+
ionFocus;
|
|
125
|
+
/**
|
|
126
|
+
* Emitted when the toggle loses focus.
|
|
127
|
+
*/
|
|
128
|
+
ionBlur;
|
|
138
129
|
disabledChanged() {
|
|
139
130
|
if (this.gesture) {
|
|
140
131
|
this.gesture.enable(!this.disabled);
|
|
@@ -205,6 +196,22 @@ export class Toggle {
|
|
|
205
196
|
this.setupGesture();
|
|
206
197
|
this.didLoad = true;
|
|
207
198
|
}
|
|
199
|
+
setupGesture = async () => {
|
|
200
|
+
const { toggleTrack } = this;
|
|
201
|
+
if (toggleTrack) {
|
|
202
|
+
this.gesture = (await import('../../utils/gesture')).createGesture({
|
|
203
|
+
el: toggleTrack,
|
|
204
|
+
gestureName: 'toggle',
|
|
205
|
+
gesturePriority: 100,
|
|
206
|
+
threshold: 5,
|
|
207
|
+
passive: false,
|
|
208
|
+
onStart: () => this.onStart(),
|
|
209
|
+
onMove: (ev) => this.onMove(ev),
|
|
210
|
+
onEnd: (ev) => this.onEnd(ev),
|
|
211
|
+
});
|
|
212
|
+
this.disabledChanged();
|
|
213
|
+
}
|
|
214
|
+
};
|
|
208
215
|
disconnectedCallback() {
|
|
209
216
|
if (this.gesture) {
|
|
210
217
|
this.gesture.destroy();
|
|
@@ -221,7 +228,9 @@ export class Toggle {
|
|
|
221
228
|
}
|
|
222
229
|
}
|
|
223
230
|
componentWillLoad() {
|
|
224
|
-
this.inheritedAttributes =
|
|
231
|
+
this.inheritedAttributes = {
|
|
232
|
+
...inheritAriaAttributes(this.el),
|
|
233
|
+
};
|
|
225
234
|
this.hintTextId = this.getHintTextId();
|
|
226
235
|
}
|
|
227
236
|
onStart() {
|
|
@@ -247,6 +256,49 @@ export class Toggle {
|
|
|
247
256
|
setFocus() {
|
|
248
257
|
this.el.focus();
|
|
249
258
|
}
|
|
259
|
+
onKeyDown = (ev) => {
|
|
260
|
+
if (ev.key === ' ') {
|
|
261
|
+
ev.preventDefault();
|
|
262
|
+
if (!this.disabled) {
|
|
263
|
+
this.toggleChecked();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
onClick = (ev) => {
|
|
268
|
+
/**
|
|
269
|
+
* The haptics for the toggle on tap is
|
|
270
|
+
* an iOS-only feature. As such, it should
|
|
271
|
+
* only trigger on iOS.
|
|
272
|
+
*/
|
|
273
|
+
const enableHaptics = isPlatform('ios');
|
|
274
|
+
if (this.disabled) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
ev.preventDefault();
|
|
278
|
+
if (this.lastDrag + 300 < Date.now()) {
|
|
279
|
+
this.toggleChecked();
|
|
280
|
+
enableHaptics && hapticSelection();
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
/**
|
|
284
|
+
* Stops propagation when the display label is clicked,
|
|
285
|
+
* otherwise, two clicks will be triggered.
|
|
286
|
+
*/
|
|
287
|
+
onDivLabelClick = (ev) => {
|
|
288
|
+
ev.stopPropagation();
|
|
289
|
+
};
|
|
290
|
+
onFocus = () => {
|
|
291
|
+
this.ionFocus.emit();
|
|
292
|
+
};
|
|
293
|
+
onBlur = () => {
|
|
294
|
+
this.ionBlur.emit();
|
|
295
|
+
};
|
|
296
|
+
getSwitchLabelIcon = (mode, checked) => {
|
|
297
|
+
if (mode === 'md') {
|
|
298
|
+
return checked ? checkmarkOutline : removeOutline;
|
|
299
|
+
}
|
|
300
|
+
return checked ? removeOutline : ellipseOutline;
|
|
301
|
+
};
|
|
250
302
|
renderOnOffSwitchLabels(mode, checked) {
|
|
251
303
|
const icon = this.getSwitchLabelIcon(mode, checked);
|
|
252
304
|
return (h("ion-icon", { class: {
|
|
@@ -301,7 +353,7 @@ export class Toggle {
|
|
|
301
353
|
// The attributes are matched too because the class needs the item to render.
|
|
302
354
|
const inClickableItem = hostContext('ion-item.ion-activatable, ion-item[button], ion-item[href]', el);
|
|
303
355
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
304
|
-
return (h(Host, { key: '
|
|
356
|
+
return (h(Host, { key: 'ec5ce11209c70083c0b2ef1ea54de3033cfa7e89', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
|
|
305
357
|
[mode]: true,
|
|
306
358
|
'in-item': inItem,
|
|
307
359
|
// `ion-focusable` has to stay on because it is what makes the item focusable.
|
|
@@ -315,10 +367,10 @@ export class Toggle {
|
|
|
315
367
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
316
368
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
317
369
|
[`toggle-${rtl}`]: true,
|
|
318
|
-
}) }, h("label", { key: '
|
|
370
|
+
}) }, h("label", { key: '95c1c7abd546ed2703d493acb967cf93e056a376', class: "toggle-wrapper", htmlFor: inputId }, h("input", { key: '7a206f525a4d340d94c668d6fc3b1f585cd97683', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required, ...inheritedAttributes }), h("div", { key: '62c2a365f980d46c2d7eaf1cbd19498d5813e1b1', class: {
|
|
319
371
|
'label-text-wrapper': true,
|
|
320
372
|
'label-text-wrapper-hidden': !hasLabel,
|
|
321
|
-
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '
|
|
373
|
+
}, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: 'f352f834790e1e9581ecb107f9a8aaaeb101fae5' }), this.renderHintText()), h("div", { key: 'f086ba9e31e9842ec438bb3226927faf9d0a7ea9', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
322
374
|
}
|
|
323
375
|
static get is() { return "ion-toggle"; }
|
|
324
376
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,9 +18,14 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
18
18
|
* @part content - The container for the default slot, wrapping content provided without a named slot.
|
|
19
19
|
*/
|
|
20
20
|
export class Toolbar {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
childrenStyles = new Map();
|
|
22
|
+
el;
|
|
23
|
+
/**
|
|
24
|
+
* The color to use from your application's color palette.
|
|
25
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
26
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
27
|
+
*/
|
|
28
|
+
color;
|
|
24
29
|
componentWillLoad() {
|
|
25
30
|
const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
|
|
26
31
|
const firstButtons = buttons.find((button) => {
|
|
@@ -65,10 +70,13 @@ export class Toolbar {
|
|
|
65
70
|
this.childrenStyles.forEach((value) => {
|
|
66
71
|
Object.assign(childStyles, value);
|
|
67
72
|
});
|
|
68
|
-
return (h(Host, { key: '
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
return (h(Host, { key: '40bad6fa7e94262438da4bbe037dcf8a5fa2df22', class: {
|
|
74
|
+
...childStyles,
|
|
75
|
+
...createColorClasses(this.color, {
|
|
76
|
+
[mode]: true,
|
|
77
|
+
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
78
|
+
}),
|
|
79
|
+
} }, h("div", { key: 'df44c9f0fe3958116ab860b0dad79c53b89f6c59', class: "toolbar-background", part: "background" }), h("div", { key: '2169ffa576875b8d5624211cc0b4bf86191562bc', class: "toolbar-container", part: "container" }, h("slot", { key: 'c8910dcf1ce98ab427fd89c3396a67c2a75bdd07', name: "start" }), h("slot", { key: '05da24d5ef96b9eebd83b534ce02c1f7bcd06680', name: "secondary" }), h("div", { key: '090fea1541e7e2b6ad74a6ded4eadffdb471ccce', class: "toolbar-content", part: "content" }, h("slot", { key: '507e143f92f6fa59ff23d94026411fa2c74f2f8e' })), h("slot", { key: 'f79fdee472e657e26a910cb89d7551943e40e440', name: "primary" }), h("slot", { key: 'dd40fe9ed490cf4346c642e195fdb524dc6cc4f5', name: "end" }))));
|
|
72
80
|
}
|
|
73
81
|
static get is() { return "ion-toolbar"; }
|
|
74
82
|
static get encapsulation() { return "shadow"; }
|
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
// TODO(FW-2832): types
|
|
5
5
|
export class Config {
|
|
6
|
-
|
|
7
|
-
this.m = new Map();
|
|
8
|
-
}
|
|
6
|
+
m = new Map();
|
|
9
7
|
reset(configObj) {
|
|
10
8
|
this.m = new Map(Object.entries(configObj));
|
|
11
9
|
}
|
|
@@ -37,7 +35,7 @@ export const configFromSession = (win) => {
|
|
|
37
35
|
const configStr = win.sessionStorage.getItem(IONIC_SESSION_KEY);
|
|
38
36
|
return configStr !== null ? JSON.parse(configStr) : {};
|
|
39
37
|
}
|
|
40
|
-
catch
|
|
38
|
+
catch {
|
|
41
39
|
return {};
|
|
42
40
|
}
|
|
43
41
|
};
|
|
@@ -45,7 +43,7 @@ export const saveConfig = (win, c) => {
|
|
|
45
43
|
try {
|
|
46
44
|
win.sessionStorage.setItem(IONIC_SESSION_KEY, JSON.stringify(c));
|
|
47
45
|
}
|
|
48
|
-
catch
|
|
46
|
+
catch {
|
|
49
47
|
return;
|
|
50
48
|
}
|
|
51
49
|
};
|
|
@@ -59,7 +57,7 @@ export const configFromURL = (win) => {
|
|
|
59
57
|
try {
|
|
60
58
|
return [decodeURIComponent(key), decodeURIComponent(value)];
|
|
61
59
|
}
|
|
62
|
-
catch
|
|
60
|
+
catch {
|
|
63
61
|
return ['', ''];
|
|
64
62
|
}
|
|
65
63
|
})
|
|
@@ -19,7 +19,13 @@ export const initialize = (userConfig = {}) => {
|
|
|
19
19
|
const Ionic = (win.Ionic = win.Ionic || {});
|
|
20
20
|
// create the Ionic.config from raw config object (if it exists)
|
|
21
21
|
// and convert Ionic.config into a ConfigApi that has a get() fn
|
|
22
|
-
const configObj =
|
|
22
|
+
const configObj = {
|
|
23
|
+
...configFromSession(win),
|
|
24
|
+
persistConfig: false,
|
|
25
|
+
...Ionic.config,
|
|
26
|
+
...configFromURL(win),
|
|
27
|
+
...userConfig,
|
|
28
|
+
};
|
|
23
29
|
config.reset(configObj);
|
|
24
30
|
if (config.getBoolean('persistConfig')) {
|
|
25
31
|
saveConfig(win, configObj);
|
|
@@ -37,7 +43,7 @@ export const initialize = (userConfig = {}) => {
|
|
|
37
43
|
if (config.getBoolean('_testing')) {
|
|
38
44
|
config.set('animated', false);
|
|
39
45
|
}
|
|
40
|
-
const isIonicElement = (elm) =>
|
|
46
|
+
const isIonicElement = (elm) => elm.tagName?.startsWith('ION-');
|
|
41
47
|
const isAllowedIonicModeValue = (elmMode) => ['ios', 'md'].includes(elmMode);
|
|
42
48
|
setMode((elm) => {
|
|
43
49
|
while (elm) {
|
package/dist/collection/index.js
CHANGED
|
@@ -17,5 +17,5 @@ export { getMode, setupConfig } from './utils/config';
|
|
|
17
17
|
export { openURL } from './utils/theme';
|
|
18
18
|
export { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_UNLOAD, } from './components/nav/constants';
|
|
19
19
|
export { menuController } from './utils/menu-controller';
|
|
20
|
-
export { alertController, actionSheetController, modalController, loadingController,
|
|
20
|
+
export { alertController, actionSheetController, modalController, loadingController, popoverController, toastController, } from './utils/overlays';
|
|
21
21
|
export { IonicSlides } from './components/slides/IonicSlides';
|
|
@@ -122,7 +122,7 @@ export const createAnimation = (animationId) => {
|
|
|
122
122
|
return ani;
|
|
123
123
|
};
|
|
124
124
|
const onFinish = (callback, opts) => {
|
|
125
|
-
const callbacks =
|
|
125
|
+
const callbacks = opts?.oneTimeCallback ? onFinishOneTimeCallbacks : onFinishCallbacks;
|
|
126
126
|
callbacks.push({ c: callback, o: opts });
|
|
127
127
|
return ani;
|
|
128
128
|
};
|
|
@@ -155,7 +155,7 @@ export const createAnimation = (animationId) => {
|
|
|
155
155
|
* for another animation to have already
|
|
156
156
|
* cleaned up a particular stylesheet
|
|
157
157
|
*/
|
|
158
|
-
if (stylesheet
|
|
158
|
+
if (stylesheet?.parentNode) {
|
|
159
159
|
stylesheet.parentNode.removeChild(stylesheet);
|
|
160
160
|
}
|
|
161
161
|
});
|
|
@@ -655,7 +655,7 @@ export const createAnimation = (animationId) => {
|
|
|
655
655
|
};
|
|
656
656
|
const play = (opts) => {
|
|
657
657
|
return new Promise((resolve) => {
|
|
658
|
-
if (opts
|
|
658
|
+
if (opts?.sync) {
|
|
659
659
|
shouldForceSyncPlayback = true;
|
|
660
660
|
onFinish(() => (shouldForceSyncPlayback = false), { oneTimeCallback: true });
|
|
661
661
|
}
|
|
@@ -4,18 +4,19 @@
|
|
|
4
4
|
export const setupConfig = (config) => {
|
|
5
5
|
const win = window;
|
|
6
6
|
const Ionic = win.Ionic;
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain
|
|
8
7
|
if (Ionic && Ionic.config && Ionic.config.constructor.name !== 'Object') {
|
|
9
8
|
return;
|
|
10
9
|
}
|
|
11
10
|
win.Ionic = win.Ionic || {};
|
|
12
|
-
win.Ionic.config =
|
|
11
|
+
win.Ionic.config = {
|
|
12
|
+
...win.Ionic.config,
|
|
13
|
+
...config,
|
|
14
|
+
};
|
|
13
15
|
return win.Ionic.config;
|
|
14
16
|
};
|
|
15
17
|
export const getMode = () => {
|
|
16
|
-
var _a;
|
|
17
18
|
const win = window;
|
|
18
|
-
const config =
|
|
19
|
+
const config = win?.Ionic?.config;
|
|
19
20
|
if (config) {
|
|
20
21
|
if (config.mode) {
|
|
21
22
|
return config.mode;
|
|
@@ -36,7 +36,7 @@ export const createFocusController = () => {
|
|
|
36
36
|
*/
|
|
37
37
|
if (focusManagerEnabled) {
|
|
38
38
|
const activeEl = document.activeElement;
|
|
39
|
-
if (activeEl !== null &&
|
|
39
|
+
if (activeEl !== null && referenceEl?.contains(activeEl)) {
|
|
40
40
|
activeEl.setAttribute(LAST_FOCUS, 'true');
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -27,7 +27,7 @@ export const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden
|
|
|
27
27
|
*/
|
|
28
28
|
export const focusFirstDescendant = (ref, fallbackElement) => {
|
|
29
29
|
const firstInput = ref.querySelector(focusableQueryString);
|
|
30
|
-
focusElementInContext(firstInput, fallbackElement
|
|
30
|
+
focusElementInContext(firstInput, fallbackElement ?? ref);
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* Focuses the last descendant in a context
|
|
@@ -42,7 +42,7 @@ export const focusFirstDescendant = (ref, fallbackElement) => {
|
|
|
42
42
|
export const focusLastDescendant = (ref, fallbackElement) => {
|
|
43
43
|
const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
|
|
44
44
|
const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
|
|
45
|
-
focusElementInContext(lastInput, fallbackElement
|
|
45
|
+
focusElementInContext(lastInput, fallbackElement ?? ref);
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
48
|
* Focuses a particular element in a context. If the element
|
|
@@ -63,7 +63,7 @@ export const focusLastDescendant = (ref, fallbackElement) => {
|
|
|
63
63
|
*/
|
|
64
64
|
const focusElementInContext = (hostToFocus, fallbackElement) => {
|
|
65
65
|
let elementToFocus = hostToFocus;
|
|
66
|
-
const shadowRoot = hostToFocus
|
|
66
|
+
const shadowRoot = hostToFocus?.shadowRoot;
|
|
67
67
|
if (shadowRoot) {
|
|
68
68
|
// If there are no inner focusable elements, just focus the host element.
|
|
69
69
|
elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
|
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
import { componentOnReady } from "./helpers";
|
|
5
5
|
// TODO(FW-2832): types
|
|
6
6
|
export const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|
|
7
|
-
var _a;
|
|
8
7
|
if (delegate) {
|
|
9
8
|
return delegate.attachViewToDom(container, component, componentProps, cssClasses);
|
|
10
9
|
}
|
|
11
10
|
if (!inline && typeof component !== 'string' && !(component instanceof HTMLElement)) {
|
|
12
11
|
throw new Error('framework delegate is missing');
|
|
13
12
|
}
|
|
14
|
-
const el = typeof component === 'string' ?
|
|
13
|
+
const el = typeof component === 'string' ? container.ownerDocument?.createElement(component) : component;
|
|
15
14
|
if (cssClasses) {
|
|
16
15
|
cssClasses.forEach((c) => el.classList.add(c));
|
|
17
16
|
}
|
|
@@ -36,7 +35,6 @@ export const CoreDelegate = () => {
|
|
|
36
35
|
let BaseComponent;
|
|
37
36
|
let Reference;
|
|
38
37
|
const attachViewToDom = async (parentElement, userComponent, userComponentProps = {}, cssClasses = []) => {
|
|
39
|
-
var _a, _b;
|
|
40
38
|
BaseComponent = parentElement;
|
|
41
39
|
let ChildComponent;
|
|
42
40
|
/**
|
|
@@ -49,7 +47,7 @@ export const CoreDelegate = () => {
|
|
|
49
47
|
* the element otherwise just get a reference
|
|
50
48
|
* to the component.
|
|
51
49
|
*/
|
|
52
|
-
const el = typeof userComponent === 'string' ?
|
|
50
|
+
const el = typeof userComponent === 'string' ? BaseComponent.ownerDocument?.createElement(userComponent) : userComponent;
|
|
53
51
|
/**
|
|
54
52
|
* Add any css classes passed in
|
|
55
53
|
* via the cssClasses prop on the overlay.
|
|
@@ -81,7 +79,7 @@ export const CoreDelegate = () => {
|
|
|
81
79
|
* that the overlay has not been presented yet and we need
|
|
82
80
|
* to create the containing element with the specified classes.
|
|
83
81
|
*/
|
|
84
|
-
const el =
|
|
82
|
+
const el = BaseComponent.ownerDocument?.createElement('div');
|
|
85
83
|
// Add a class to track if the root element was created by the delegate.
|
|
86
84
|
el.classList.add('ion-delegate-host');
|
|
87
85
|
cssClasses.forEach((c) => el.classList.add(c));
|
|
@@ -121,7 +119,7 @@ export const CoreDelegate = () => {
|
|
|
121
119
|
* in the event that a modal or popover is presented
|
|
122
120
|
* with no child content.
|
|
123
121
|
*/
|
|
124
|
-
return ChildComponent
|
|
122
|
+
return ChildComponent ?? BaseComponent;
|
|
125
123
|
};
|
|
126
124
|
const removeViewFromDom = () => {
|
|
127
125
|
/**
|
|
@@ -2,18 +2,16 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
class GestureController {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
5
|
+
gestureId = 0;
|
|
6
|
+
requestedStart = new Map();
|
|
7
|
+
disabledGestures = new Map();
|
|
8
|
+
disabledScroll = new Set();
|
|
9
|
+
capturedId;
|
|
11
10
|
/**
|
|
12
11
|
* Creates a gesture delegate based on the GestureConfig passed
|
|
13
12
|
*/
|
|
14
13
|
createGesture(config) {
|
|
15
|
-
|
|
16
|
-
return new GestureDelegate(this, this.newID(), config.name, (_a = config.priority) !== null && _a !== void 0 ? _a : 0, !!config.disableScroll);
|
|
14
|
+
return new GestureDelegate(this, this.newID(), config.name, config.priority ?? 0, !!config.disableScroll);
|
|
17
15
|
}
|
|
18
16
|
/**
|
|
19
17
|
* Creates a blocker that will block any other gesture events from firing. Set in the ion-gesture component.
|
|
@@ -109,6 +107,11 @@ class GestureController {
|
|
|
109
107
|
}
|
|
110
108
|
}
|
|
111
109
|
class GestureDelegate {
|
|
110
|
+
id;
|
|
111
|
+
name;
|
|
112
|
+
disableScroll;
|
|
113
|
+
ctrl;
|
|
114
|
+
priority;
|
|
112
115
|
constructor(ctrl, id, name, priority, disableScroll) {
|
|
113
116
|
this.id = id;
|
|
114
117
|
this.name = name;
|
|
@@ -152,6 +155,10 @@ class GestureDelegate {
|
|
|
152
155
|
}
|
|
153
156
|
}
|
|
154
157
|
class BlockerDelegate {
|
|
158
|
+
id;
|
|
159
|
+
disable;
|
|
160
|
+
disableScroll;
|
|
161
|
+
ctrl;
|
|
155
162
|
constructor(ctrl, id, disable, disableScroll) {
|
|
156
163
|
this.id = id;
|
|
157
164
|
this.disable = disable;
|