@ionic/core 9.0.10-dev.11792788258.1f71cfee → 9.0.10-dev.11793383958.19a7d413
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.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-back-button.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.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-footer.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-img.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-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-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.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-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.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-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-textarea.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/{p-PkD1iLNN.js → p--cshUOAU.js} +1 -1
- package/components/{p-D8FyR2IB.js → p-B02CcbPD.js} +1 -1
- package/components/{p-CUQjkOdi.js → p-B4IBdPVJ.js} +1 -1
- package/components/p-BODcC-C0.js +4 -0
- package/components/p-BVNUhOOf.js +4 -0
- package/components/{p-BZ1k9WL7.js → p-Ba9_OzSY.js} +1 -1
- package/components/p-Bd8hg9FK.js +4 -0
- package/components/{p-3avHDbEF.js → p-BqyLLYLm.js} +1 -1
- package/components/p-C1AxSUnp.js +4 -0
- package/components/{p-DwTzX8Vi.js → p-CKTjkpAq.js} +1 -1
- package/components/{p-Dah8BCNg.js → p-CKiqp4Vl.js} +1 -1
- package/components/p-CONpe3oX.js +4 -0
- package/components/p-CVrOcN5N.js +4 -0
- package/components/p-CYctYy9B.js +4 -0
- package/components/{p-C-SO5kIs.js → p-C_gnmBt2.js} +1 -1
- package/components/{p-DnBabjgY.js → p-CxEV3Vwy.js} +1 -1
- package/components/p-Cyajikho.js +4 -0
- package/components/p-D0nwlsl_.js +4 -0
- package/components/{p-BT2InaHz.js → p-DBtFJlTi.js} +1 -1
- package/components/{p-BBsseItU.js → p-DD92Fw3n.js} +1 -1
- package/components/{p-kKGBuIkf.js → p-DDI6VLW9.js} +1 -1
- package/components/{p-LkEGRiq0.js → p-DfDIY2oP.js} +1 -1
- package/components/{p-Dj4J3LkD.js → p-Dojwmvde.js} +1 -1
- package/components/p-Drpw2dyl.js +4 -0
- package/components/{p-07wRJfkt.js → p-GpqwNbxf.js} +1 -1
- package/components/p-IQN1T5zw.js +4 -0
- package/components/{p-DTGCMApY.js → p-ODGeXc3M.js} +1 -1
- package/components/p-SHHIB5F0.js +4 -0
- package/components/{p-D5_mEbGJ.js → p-V1THdfzs.js} +1 -1
- package/components/p-YNnH1_Hs.js +4 -0
- package/components/{p-C8BAigo3.js → p-ZrYBjOcc.js} +1 -1
- package/components/p-_y7kwBO8.js +4 -0
- package/components/{p-BrrMFd9K.js → p-jsVMT15X.js} +1 -1
- package/components/{p-7NbIvzb4.js → p-r59A3wQk.js} +1 -1
- package/components/{p-Dy7x-KDF.js → p-yGD6MBgf.js} +1 -1
- package/dist/cjs/{animation-UiXhXV49.js → animation-DcgLg_PI.js} +1 -1
- package/dist/cjs/{attribute-controller-0-lwbVEj.js → attribute-controller-BjTE2TOf.js} +1 -1
- package/dist/cjs/{button-active-DzN1aPt-.js → button-active-FdsfRDY_.js} +1 -1
- package/dist/cjs/{capacitor-BTjfXFlK.js → capacitor-C6Pp4Z7A.js} +1 -1
- package/dist/cjs/{dir-Bma_9Lqh.js → dir-zwDPRE5K.js} +1 -1
- package/dist/cjs/{framework-delegate-hNMKEiQC.js → framework-delegate-JbKIVMzR.js} +1 -1
- package/dist/cjs/{haptic-BD5qPgy8.js → haptic--4QteuuM.js} +1 -1
- package/dist/cjs/{helpers-BrETKUUX.js → helpers-Cqr69qxA.js} +3 -2
- package/dist/cjs/{index-bwclzjks.js → index-BQpSekmz.js} +2 -2
- package/dist/cjs/{index-BTc0Jnhx.js → index-BhWiDK25.js} +3 -3
- package/dist/cjs/{index-DMz2Eyis.js → index-CNaZ6SYM.js} +1 -1
- package/dist/cjs/{index-DNBYnlrc.js → index-DCfr5hz-.js} +3 -3
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/{input-shims-CRmdShL9.js → input-shims-2AsXPZ5m.js} +9 -8
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
- package/dist/cjs/ion-alert.cjs.entry.js +19 -19
- package/dist/cjs/ion-app_8.cjs.entry.js +18 -18
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +12 -14
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime.cjs.entry.js +9 -8
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-input-otp.cjs.entry.js +128 -12
- package/dist/cjs/ion-input.cjs.entry.js +3 -3
- package/dist/cjs/ion-item-option_3.cjs.entry.js +9 -9
- package/dist/cjs/ion-item_8.cjs.entry.js +10 -10
- package/dist/cjs/ion-loading.cjs.entry.js +5 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +10 -10
- package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +14 -28
- package/dist/cjs/ion-progress-bar.cjs.entry.js +5 -6
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-route_4.cjs.entry.js +124 -19
- package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-CN092Fh6.js → ios.transition-Ca6XODo9.js} +15 -15
- package/dist/cjs/{keyboard-BMpscicm.js → keyboard-BlHp4a_c.js} +1 -1
- package/dist/cjs/{keyboard-4OBzkjOG.js → keyboard-c2_I35b-.js} +4 -4
- package/dist/cjs/{keyboard-controller-DZE97OtR.js → keyboard-controller-DHS0BgXp.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-B6961Ny9.js → md.transition-D8SfNYEp.js} +4 -4
- package/dist/cjs/{overlays-BbVQG3UT.js → overlays-CLld3axA.js} +2 -2
- package/dist/cjs/{slot-mutation-controller-CRa_cKOh.js → slot-mutation-controller-B2OfJEBH.js} +2 -2
- package/dist/cjs/{status-tap-hRIvObiJ.js → status-tap-CDA0Y3Ad.js} +3 -3
- package/dist/cjs/{swipe-back-C-aigThB.js → swipe-back-Idb4gqUk.js} +2 -2
- package/dist/collection/components/alert/alert.js +11 -11
- package/dist/collection/components/col/col.js +12 -14
- package/dist/collection/components/datetime/datetime.js +5 -4
- package/dist/collection/components/input-otp/input-otp.ios.css +30 -5
- package/dist/collection/components/input-otp/input-otp.js +191 -12
- package/dist/collection/components/input-otp/input-otp.md.css +30 -5
- package/dist/collection/components/item/item.js +4 -5
- package/dist/collection/components/item-options/item-options.js +2 -2
- package/dist/collection/components/item-sliding/item-sliding.js +4 -5
- package/dist/collection/components/label/label.js +3 -4
- package/dist/collection/components/popover/animations/ios.enter.js +3 -4
- package/dist/collection/components/popover/animations/md.enter.js +3 -4
- package/dist/collection/components/popover/popover.js +2 -17
- package/dist/collection/components/progress-bar/progress-bar.js +3 -5
- package/dist/collection/components/route/route.js +9 -1
- package/dist/collection/components/route-redirect/route-redirect.js +1 -1
- package/dist/collection/components/router/utils/constants.js +2 -0
- package/dist/collection/components/router/utils/matching.js +97 -14
- package/dist/collection/components/router/utils/path.js +17 -3
- package/dist/collection/components/title/title.js +3 -4
- package/dist/collection/utils/helpers.js +2 -1
- package/dist/collection/utils/input-shims/hacks/common.js +4 -4
- package/dist/collection/utils/rtl/dir.js +1 -1
- package/dist/collection/utils/transition/ios.transition.js +11 -12
- package/dist/docs.json +92 -3
- package/dist/esm/{animation-C_V9lXzL.js → animation-DmtJpz89.js} +1 -1
- package/dist/esm/{attribute-controller-ItNOXNp9.js → attribute-controller-DPMIcbef.js} +1 -1
- package/dist/esm/{button-active-rB-Ct9KZ.js → button-active-DVk40Sjl.js} +1 -1
- package/dist/esm/{capacitor-BY7l8HgR.js → capacitor-CHJaJ9aX.js} +1 -1
- package/dist/esm/{dir-Dj4J3LkD.js → dir-Dojwmvde.js} +1 -1
- package/dist/esm/{framework-delegate-CW5_kWfc.js → framework-delegate-CDjM1vRH.js} +1 -1
- package/dist/esm/{haptic-ES_sSPLn.js → haptic-WXfMCob9.js} +1 -1
- package/dist/esm/{helpers-p94IkmEA.js → helpers-BJqKF1pr.js} +3 -2
- package/dist/esm/{index-DLDbwWW7.js → index-Clv8QC5L.js} +2 -2
- package/dist/esm/{index-txcXIB3P.js → index-DIouXecD.js} +3 -3
- package/dist/esm/{index-CBkVO5D0.js → index-TkLga3ma.js} +1 -1
- package/dist/esm/{index-vgPixHgF.js → index-z9vdZN7I.js} +3 -3
- package/dist/esm/index.js +9 -9
- package/dist/esm/{input-shims-KNXj3DAv.js → input-shims-C1iYF5JK.js} +9 -8
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +8 -8
- package/dist/esm/ion-alert.entry.js +19 -19
- package/dist/esm/ion-app_8.entry.js +18 -18
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +3 -3
- package/dist/esm/ion-card_5.entry.js +3 -3
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +13 -15
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime.entry.js +9 -8
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
- package/dist/esm/ion-input-otp.entry.js +129 -13
- package/dist/esm/ion-input.entry.js +3 -3
- package/dist/esm/ion-item-option_3.entry.js +9 -9
- package/dist/esm/ion-item_8.entry.js +10 -10
- package/dist/esm/ion-loading.entry.js +5 -5
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +10 -10
- package/dist/esm/ion-nav_2.entry.js +5 -5
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-picker-column.entry.js +4 -4
- package/dist/esm/ion-picker.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +14 -28
- package/dist/esm/ion-progress-bar.entry.js +6 -7
- package/dist/esm/ion-radio_2.entry.js +2 -2
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +6 -6
- package/dist/esm/ion-reorder_2.entry.js +5 -5
- package/dist/esm/ion-route_4.entry.js +124 -19
- package/dist/esm/ion-searchbar.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select-modal.entry.js +4 -4
- package/dist/esm/ion-select_3.entry.js +5 -5
- package/dist/esm/ion-tab-bar_2.entry.js +5 -5
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +5 -5
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-CW92wRDL.js → ios.transition-BkUGiDUz.js} +15 -15
- package/dist/esm/{keyboard-BumguZrM.js → keyboard-B4Y-Gph8.js} +4 -4
- package/dist/esm/{keyboard-CutS8BPd.js → keyboard-Cmqp5iZD.js} +1 -1
- package/dist/esm/{keyboard-controller-DqohyEsZ.js → keyboard-controller-B2NoF7bV.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-yhfkYX1P.js → md.transition-B6hlrWjR.js} +4 -4
- package/dist/esm/{overlays-BBgMM61s.js → overlays-DmDY-El7.js} +2 -2
- package/dist/esm/{slot-mutation-controller-uKdPbY9K.js → slot-mutation-controller-Btpr9-9O.js} +2 -2
- package/dist/esm/{status-tap-BskkGI4e.js → status-tap-VGRBYwiC.js} +3 -3
- package/dist/esm/{swipe-back-BZdyM2Q-.js → swipe-back-DV3UpWzz.js} +2 -2
- package/dist/html.html-data.json +10 -2
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-013b9aba.entry.js → p-01b7e3f2.entry.js} +1 -1
- package/dist/ionic/{p-9515f840.entry.js → p-095da8ec.entry.js} +1 -1
- package/dist/ionic/{p-ec08a7e6.entry.js → p-0b09c60e.entry.js} +1 -1
- package/dist/ionic/{p-5b47b8d5.entry.js → p-0c32c626.entry.js} +1 -1
- package/dist/ionic/p-0f97175e.entry.js +4 -0
- package/dist/ionic/{p-b0faaae2.entry.js → p-107a81a6.entry.js} +1 -1
- package/dist/ionic/{p-27960f65.entry.js → p-293cb1d5.entry.js} +1 -1
- package/dist/ionic/{p-1ffa5577.entry.js → p-362dcd86.entry.js} +1 -1
- package/dist/ionic/{p-0562139b.entry.js → p-4bd80334.entry.js} +1 -1
- package/dist/ionic/{p-16de8fd9.entry.js → p-4f25b926.entry.js} +1 -1
- package/dist/ionic/{p-0f1613f2.entry.js → p-52a16f94.entry.js} +1 -1
- package/dist/ionic/{p-436d4ac8.entry.js → p-5bb24bce.entry.js} +1 -1
- package/dist/ionic/{p-9d7e5a0b.entry.js → p-60780b88.entry.js} +1 -1
- package/dist/ionic/{p-1f342c2d.entry.js → p-62c87f3d.entry.js} +1 -1
- package/dist/ionic/{p-7868eb92.entry.js → p-64ac3864.entry.js} +1 -1
- package/dist/ionic/{p-f37e6ed2.entry.js → p-67f004eb.entry.js} +1 -1
- package/dist/ionic/p-6c7b5930.entry.js +4 -0
- package/dist/ionic/p-705759fd.entry.js +4 -0
- package/dist/ionic/{p-a45caa30.entry.js → p-7db20410.entry.js} +1 -1
- package/dist/ionic/{p-694f3e78.entry.js → p-7e9c2a97.entry.js} +1 -1
- package/dist/ionic/p-7l6ENjIV.js +4 -0
- package/dist/ionic/{p-77540bcb.entry.js → p-82abf431.entry.js} +1 -1
- package/dist/ionic/p-8d2ccf0c.entry.js +4 -0
- package/dist/ionic/{p-87fb6d59.entry.js → p-8d651adb.entry.js} +1 -1
- package/dist/ionic/{p-51af4728.entry.js → p-8db08782.entry.js} +1 -1
- package/dist/ionic/{p-af15fc5d.entry.js → p-91f3cd8b.entry.js} +1 -1
- package/dist/ionic/{p-c7ea2647.entry.js → p-930c3538.entry.js} +1 -1
- package/dist/ionic/p-94f1f7df.entry.js +4 -0
- package/dist/ionic/p-99c518de.entry.js +4 -0
- package/dist/ionic/{p-014c3633.entry.js → p-9ffccbf1.entry.js} +1 -1
- package/dist/ionic/p-BNXIurCt.js +4 -0
- package/dist/ionic/p-BOLqP2-V.js +4 -0
- package/dist/ionic/{p-5a3UxQAh.js → p-BY4FwwBp.js} +1 -1
- package/dist/ionic/p-BZTgGzGK.js +4 -0
- package/dist/ionic/p-BdHBcCZF.js +4 -0
- package/dist/ionic/{p-8B39TMv-.js → p-BpED_ep_.js} +1 -1
- package/dist/ionic/p-BuLlVedw.js +4 -0
- package/dist/ionic/p-Bx5x5GJV.js +4 -0
- package/dist/ionic/{p-C4SpVvhx.js → p-C1WYZOZj.js} +1 -1
- package/dist/ionic/p-C2LaBx3E.js +4 -0
- package/dist/ionic/{p-BWKtcudz.js → p-CXs4J83x.js} +1 -1
- package/dist/ionic/p-CgcGX08t.js +4 -0
- package/dist/ionic/p-CngfKMRU.js +4 -0
- package/dist/ionic/p-Co7eql8D.js +4 -0
- package/dist/ionic/{p-DArnNWiu.js → p-D13gXhdC.js} +1 -1
- package/dist/ionic/p-D926OmIX.js +4 -0
- package/dist/ionic/{p-BBZQUbCq.js → p-DPNVo1nr.js} +1 -1
- package/dist/ionic/{p-B0afqOUt.js → p-DXXGkPA8.js} +1 -1
- package/dist/ionic/{p-CJmyfI8x.js → p-Dk4Mdaru.js} +1 -1
- package/dist/ionic/{p-Dj4J3LkD.js → p-Dojwmvde.js} +1 -1
- package/dist/ionic/p-a4389f13.entry.js +4 -0
- package/dist/ionic/p-af8fb360.entry.js +4 -0
- package/dist/ionic/{p-f6a1ab48.entry.js → p-b9ed3a52.entry.js} +1 -1
- package/dist/ionic/p-bfdbe24b.entry.js +4 -0
- package/dist/ionic/{p-77e7b612.entry.js → p-c250b6b0.entry.js} +1 -1
- package/dist/ionic/p-c83dbc12.entry.js +4 -0
- package/dist/ionic/{p-1bb1be7e.entry.js → p-d0e374f8.entry.js} +1 -1
- package/dist/ionic/{p-af4b4719.entry.js → p-d2406889.entry.js} +1 -1
- package/dist/ionic/{p-cbc73380.entry.js → p-d72accc4.entry.js} +1 -1
- package/dist/ionic/{p-1252621e.entry.js → p-e7ab4def.entry.js} +1 -1
- package/dist/ionic/{p-5dcddfd5.entry.js → p-e8e69c21.entry.js} +1 -1
- package/dist/ionic/{p-96d040b0.entry.js → p-eb989dc9.entry.js} +1 -1
- package/dist/ionic/{p-59e4b521.entry.js → p-ec259ac5.entry.js} +1 -1
- package/dist/ionic/p-f2116a54.entry.js +4 -0
- package/dist/ionic/{p-B2JD8_LP.js → p-nCAPr1Ah.js} +1 -1
- package/dist/types/components/alert/alert.d.ts +0 -4
- package/dist/types/components/col/col.d.ts +0 -1
- package/dist/types/components/input-otp/input-otp-interface.d.ts +1 -0
- package/dist/types/components/input-otp/input-otp.d.ts +40 -2
- package/dist/types/components/popover/popover.d.ts +0 -1
- package/dist/types/components/progress-bar/progress-bar.d.ts +0 -1
- package/dist/types/components/route/route.d.ts +8 -0
- package/dist/types/components/route-redirect/route-redirect.d.ts +3 -1
- package/dist/types/components/router/utils/constants.d.ts +2 -0
- package/dist/types/components/router/utils/matching.d.ts +10 -0
- package/dist/types/components/router/utils/path.d.ts +5 -1
- package/dist/types/components.d.ts +32 -6
- package/dist/types/utils/helpers.d.ts +3 -2
- package/dist/types/utils/rtl/dir.d.ts +1 -1
- package/hydrate/index.js +301 -109
- package/hydrate/index.mjs +301 -109
- package/package.json +1 -1
- package/components/p-B3dSuofL.js +0 -4
- package/components/p-BWbz71uB.js +0 -4
- package/components/p-C0TdbIVo.js +0 -4
- package/components/p-C6Y0cCH_.js +0 -4
- package/components/p-CCFj0kgH.js +0 -4
- package/components/p-CRb2xRCz.js +0 -4
- package/components/p-DLEJ61lJ.js +0 -4
- package/components/p-DRm4t-by.js +0 -4
- package/components/p-D_U0pDe5.js +0 -4
- package/components/p-DaW9OZ6S.js +0 -4
- package/components/p-DaojW_d_.js +0 -4
- package/components/p-Ds5vN3iu.js +0 -4
- package/components/p-RhI78AKb.js +0 -4
- package/components/p-z-EWo6r-.js +0 -4
- package/dist/ionic/p-129f7b95.entry.js +0 -4
- package/dist/ionic/p-210f906e.entry.js +0 -4
- package/dist/ionic/p-3c6fc2e8.entry.js +0 -4
- package/dist/ionic/p-43729675.entry.js +0 -4
- package/dist/ionic/p-4468e439.entry.js +0 -4
- package/dist/ionic/p-800ce1e0.entry.js +0 -4
- package/dist/ionic/p-84470714.entry.js +0 -4
- package/dist/ionic/p-8af85fa8.entry.js +0 -4
- package/dist/ionic/p-8dQB1sG_.js +0 -4
- package/dist/ionic/p-B2y1T0dN.js +0 -4
- package/dist/ionic/p-BHBb21Hp.js +0 -4
- package/dist/ionic/p-BgkRGRO3.js +0 -4
- package/dist/ionic/p-CNdt1FPc.js +0 -4
- package/dist/ionic/p-Cf6KtUnA.js +0 -4
- package/dist/ionic/p-CfccUand.js +0 -4
- package/dist/ionic/p-DBFcFCH5.js +0 -4
- package/dist/ionic/p-DCmOKz8e.js +0 -4
- package/dist/ionic/p-DFPZa_No.js +0 -4
- package/dist/ionic/p-DYKDWM2f.js +0 -4
- package/dist/ionic/p-DzQk7Lu8.js +0 -4
- package/dist/ionic/p-c56c23b6.entry.js +0 -4
- package/dist/ionic/p-c8c77f7b.entry.js +0 -4
- package/dist/ionic/p-d58e9da3.entry.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -6000,7 +6000,7 @@ const isRTL$1 = (hostEl) => {
|
|
|
6000
6000
|
return false;
|
|
6001
6001
|
}
|
|
6002
6002
|
}
|
|
6003
|
-
return
|
|
6003
|
+
return document?.dir?.toLowerCase() === 'rtl';
|
|
6004
6004
|
};
|
|
6005
6005
|
|
|
6006
6006
|
const transitionEndAsync = (el, expectedDuration = 0) => {
|
|
@@ -6302,7 +6302,8 @@ const assert = (actual, reason) => {
|
|
|
6302
6302
|
*
|
|
6303
6303
|
* @param side The current side before being redefined based on the direction.
|
|
6304
6304
|
* @param hostEl The component's host element. The direction is resolved from
|
|
6305
|
-
* it or its nearest ancestor that declares one
|
|
6305
|
+
* it or its nearest ancestor that declares one. When omitted, the direction
|
|
6306
|
+
* is resolved from the document.
|
|
6306
6307
|
*/
|
|
6307
6308
|
const isEndSide = (side, hostEl) => {
|
|
6308
6309
|
const rtl = isRTL$1(hostEl);
|
|
@@ -11282,14 +11283,6 @@ class Alert {
|
|
|
11282
11283
|
* the alert dismisses. You will need to do that in your code.
|
|
11283
11284
|
*/
|
|
11284
11285
|
this.isOpen = false;
|
|
11285
|
-
/**
|
|
11286
|
-
* Prevent Enter from toggling the checkbox, which only Space should do.
|
|
11287
|
-
*/
|
|
11288
|
-
this.onCheckboxKeydown = (ev) => {
|
|
11289
|
-
if (ev.key === 'Enter') {
|
|
11290
|
-
ev.preventDefault();
|
|
11291
|
-
}
|
|
11292
|
-
};
|
|
11293
11286
|
this.onBackdropTap = () => {
|
|
11294
11287
|
this.dismiss(undefined, BACKDROP);
|
|
11295
11288
|
};
|
|
@@ -11317,6 +11310,14 @@ class Alert {
|
|
|
11317
11310
|
}
|
|
11318
11311
|
onKeydown(ev) {
|
|
11319
11312
|
const inputTypes = new Set(this.processedInputs.map((i) => i.type));
|
|
11313
|
+
/**
|
|
11314
|
+
* Based on keyboard navigation requirements, the
|
|
11315
|
+
* checkbox should not respond to the enter keydown event.
|
|
11316
|
+
*/
|
|
11317
|
+
if (inputTypes.has('checkbox') && ev.key === 'Enter') {
|
|
11318
|
+
ev.preventDefault();
|
|
11319
|
+
return;
|
|
11320
|
+
}
|
|
11320
11321
|
/**
|
|
11321
11322
|
* Ensure when alert container is being focused, and the user presses the tab + shift keys, the focus will be set to the last alert button.
|
|
11322
11323
|
*/
|
|
@@ -11626,7 +11627,7 @@ class Alert {
|
|
|
11626
11627
|
};
|
|
11627
11628
|
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
11628
11629
|
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
11629
|
-
return (hAsync("button", { type: "button", onClick: () => this.cbClick(i),
|
|
11630
|
+
return (hAsync("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: {
|
|
11630
11631
|
...getClassMap(i.cssClass),
|
|
11631
11632
|
'alert-tappable': true,
|
|
11632
11633
|
'alert-checkbox': true,
|
|
@@ -11776,14 +11777,14 @@ class Alert {
|
|
|
11776
11777
|
* If neither are defined, do not set aria-labelledby.
|
|
11777
11778
|
*/
|
|
11778
11779
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
11779
|
-
return (hAsync(Host, { key: '
|
|
11780
|
+
return (hAsync(Host, { key: '083b5250dc4c76e85240e0225abcb7ca2b66de2f', tabindex: "-1", style: {
|
|
11780
11781
|
zIndex: `${20000 + overlayIndex}`,
|
|
11781
11782
|
}, class: {
|
|
11782
11783
|
...getClassMap(this.cssClass),
|
|
11783
11784
|
[mode]: true,
|
|
11784
11785
|
'overlay-hidden': true,
|
|
11785
11786
|
'alert-translucent': this.translucent,
|
|
11786
|
-
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
11787
|
+
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '65c92a956d998ae9016396dd2a29c42ab7376d0e', tappable: this.backdropDismiss }), hAsync("div", { key: 'f2288fa0b7ef9d0bf031c168fe78c48422cf91c8', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'dbb109435c378f77c6b0231e58756f8a0467732d', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el), ...htmlAttributes }, hAsync("div", { key: '075597f94719673cf1f894a8566e1036849afa75', class: "alert-head" }, header && (hAsync("h2", { key: 'f96f4b1db8473c62040beed6e96108c733978d73', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: 'dbd824ef19a07bddde4eb928f11de7c7cadf98b8', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '4774fa13700dd23aec7930492acae80de3bdf5d1', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '5c728b7457e231f64294bbec821bdb547c6437dd', tabindex: "0", "aria-hidden": "true" })));
|
|
11787
11788
|
}
|
|
11788
11789
|
get el() { return getElement(this); }
|
|
11789
11790
|
static get watchers() { return {
|
|
@@ -13929,28 +13930,27 @@ class Col {
|
|
|
13929
13930
|
[modifier]: amount,
|
|
13930
13931
|
};
|
|
13931
13932
|
}
|
|
13932
|
-
calculateOffset(
|
|
13933
|
-
return this.calculatePosition('offset',
|
|
13933
|
+
calculateOffset(isRTL) {
|
|
13934
|
+
return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');
|
|
13934
13935
|
}
|
|
13935
|
-
calculatePull(
|
|
13936
|
-
return this.calculatePosition('pull',
|
|
13936
|
+
calculatePull(isRTL) {
|
|
13937
|
+
return this.calculatePosition('pull', isRTL ? 'left' : 'right');
|
|
13937
13938
|
}
|
|
13938
|
-
calculatePush(
|
|
13939
|
-
return this.calculatePosition('push',
|
|
13939
|
+
calculatePush(isRTL) {
|
|
13940
|
+
return this.calculatePosition('push', isRTL ? 'right' : 'left');
|
|
13940
13941
|
}
|
|
13941
13942
|
render() {
|
|
13942
|
-
const
|
|
13943
|
+
const isRTL = document.dir === 'rtl';
|
|
13943
13944
|
const mode = getIonMode$1(this);
|
|
13944
|
-
return (hAsync(Host, { key: '
|
|
13945
|
+
return (hAsync(Host, { key: 'e12293a4315cb474bbde73421dd0b4129f1df1cc', class: {
|
|
13945
13946
|
[mode]: true,
|
|
13946
13947
|
}, style: {
|
|
13947
|
-
...this.calculateOffset(
|
|
13948
|
-
...this.calculatePull(
|
|
13949
|
-
...this.calculatePush(
|
|
13948
|
+
...this.calculateOffset(isRTL),
|
|
13949
|
+
...this.calculatePull(isRTL),
|
|
13950
|
+
...this.calculatePush(isRTL),
|
|
13950
13951
|
...this.calculateSize(),
|
|
13951
|
-
} }, hAsync("slot", { key: '
|
|
13952
|
+
} }, hAsync("slot", { key: '869317ea6574111a57a7a9d096c53d264c335d28' })));
|
|
13952
13953
|
}
|
|
13953
|
-
get el() { return getElement(this); }
|
|
13954
13954
|
static get style() { return colCss(); }
|
|
13955
13955
|
static get cmpMeta() { return {
|
|
13956
13956
|
"$flags$": 265,
|
|
@@ -17986,12 +17986,13 @@ class Datetime {
|
|
|
17986
17986
|
const collapsedIcon = mode === 'ios' ? chevronForward : caretDownSharp;
|
|
17987
17987
|
const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
|
|
17988
17988
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
17989
|
-
|
|
17989
|
+
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
17990
|
+
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
17990
17991
|
return (hAsync("div", { class: "calendar-header", part: "calendar-header" }, hAsync("div", { class: "calendar-action-buttons" }, hAsync("div", { class: "calendar-month-year" }, hAsync("button", { class: {
|
|
17991
17992
|
'calendar-month-year-toggle': true,
|
|
17992
17993
|
'ion-activatable': true,
|
|
17993
17994
|
'ion-focusable': true,
|
|
17994
|
-
}, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, hAsync("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), hAsync("ion-icon", {
|
|
17995
|
+
}, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, hAsync("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), hAsync("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && hAsync("ion-ripple-effect", null))), hAsync("div", { class: "calendar-next-prev" }, hAsync("ion-buttons", null, hAsync("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth(), part: "navigation-button previous-button" }, hAsync("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), hAsync("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth(), part: "navigation-button next-button" }, hAsync("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), hAsync("div", { class: "calendar-days-of-week", "aria-hidden": "true", part: "calendar-days-of-week" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
|
|
17995
17996
|
return hAsync("div", { class: "day-of-week" }, d);
|
|
17996
17997
|
}))));
|
|
17997
17998
|
}
|
|
@@ -18308,7 +18309,7 @@ class Datetime {
|
|
|
18308
18309
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
18309
18310
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
18310
18311
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
18311
|
-
return (hAsync(Host, { key: '
|
|
18312
|
+
return (hAsync(Host, { key: 'e9b99bb5610fc7fe879200a56dcc865c6e2f1404', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: {
|
|
18312
18313
|
...createColorClasses$1(color, {
|
|
18313
18314
|
[mode]: true,
|
|
18314
18315
|
['datetime-readonly']: readonly,
|
|
@@ -18320,7 +18321,7 @@ class Datetime {
|
|
|
18320
18321
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
18321
18322
|
[`datetime-grid`]: isGridStyle,
|
|
18322
18323
|
}),
|
|
18323
|
-
} }, hAsync("div", { key: '
|
|
18324
|
+
} }, hAsync("div", { key: 'a5e61be2989468dc24ec8fb394116d9339b7824c', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
18324
18325
|
}
|
|
18325
18326
|
get el() { return getElement(this); }
|
|
18326
18327
|
static get watchers() { return {
|
|
@@ -21443,9 +21444,9 @@ class Input {
|
|
|
21443
21444
|
}
|
|
21444
21445
|
let inputIds$1 = 0;
|
|
21445
21446
|
|
|
21446
|
-
const inputOtpIosCss = () => `.sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-ios{display:none}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}`;
|
|
21447
|
+
const inputOtpIosCss = () => `.sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);--border-color:initial;display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color, var(--internal-border-color));background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-ios{display:none}.input-otp-bottom.sc-ion-input-otp-ios{font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-bottom.sc-ion-input-otp-ios .error-text.sc-ion-input-otp-ios{display:none;color:var(--highlight-color-invalid)}.input-otp-bottom.sc-ion-input-otp-ios .helper-text.sc-ion-input-otp-ios{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h .input-otp-bottom.sc-ion-input-otp-ios .error-text.sc-ion-input-otp-ios{display:block}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h .input-otp-bottom.sc-ion-input-otp-ios .helper-text.sc-ion-input-otp-ios{display:none}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--internal-border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--internal-border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--internal-border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--internal-border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}`;
|
|
21447
21448
|
|
|
21448
|
-
const inputOtpMdCss = () => `.sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-md{display:none}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}`;
|
|
21449
|
+
const inputOtpMdCss = () => `.sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);--border-color:initial;display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color, var(--internal-border-color));background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-description-hidden.sc-ion-input-otp-md{display:none}.input-otp-bottom.sc-ion-input-otp-md{font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-bottom.sc-ion-input-otp-md .error-text.sc-ion-input-otp-md{display:none;color:var(--highlight-color-invalid)}.input-otp-bottom.sc-ion-input-otp-md .helper-text.sc-ion-input-otp-md{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h .input-otp-bottom.sc-ion-input-otp-md .error-text.sc-ion-input-otp-md{display:block}.ion-touched.ion-invalid.sc-ion-input-otp-md-h .input-otp-bottom.sc-ion-input-otp-md .helper-text.sc-ion-input-otp-md{display:none}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--internal-border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--internal-border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--internal-border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--internal-border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}`;
|
|
21449
21450
|
|
|
21450
21451
|
class InputOTP {
|
|
21451
21452
|
constructor(hostRef) {
|
|
@@ -21455,9 +21456,11 @@ class InputOTP {
|
|
|
21455
21456
|
this.ionComplete = createEvent(this, "ionComplete", 7);
|
|
21456
21457
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
21457
21458
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
21458
|
-
this.inheritedAttributes = {};
|
|
21459
21459
|
this.inputRefs = [];
|
|
21460
21460
|
this.inputId = `ion-input-otp-${inputIds++}`;
|
|
21461
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
21462
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
21463
|
+
this.descriptionId = `${this.inputId}-description`;
|
|
21461
21464
|
this.parsedSeparators = [];
|
|
21462
21465
|
/**
|
|
21463
21466
|
* Tracks whether the user is navigating through input boxes using keyboard navigation
|
|
@@ -21473,6 +21476,7 @@ class InputOTP {
|
|
|
21473
21476
|
this.inputValues = [];
|
|
21474
21477
|
this.hasFocus = false;
|
|
21475
21478
|
this.previousInputValues = [];
|
|
21479
|
+
this.isInvalid = false;
|
|
21476
21480
|
/**
|
|
21477
21481
|
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
21478
21482
|
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
@@ -21825,6 +21829,9 @@ class InputOTP {
|
|
|
21825
21829
|
this.inputRefs[tabbableIndex]?.focus();
|
|
21826
21830
|
}
|
|
21827
21831
|
}
|
|
21832
|
+
// The host keeps these (see `HOST_ARIA_ATTRIBUTES`), so re-render when they change
|
|
21833
|
+
onHostAriaChange() {
|
|
21834
|
+
}
|
|
21828
21835
|
valueChanged() {
|
|
21829
21836
|
this.initializeValues();
|
|
21830
21837
|
this.updateTabIndexes();
|
|
@@ -21881,13 +21888,29 @@ class InputOTP {
|
|
|
21881
21888
|
}
|
|
21882
21889
|
this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
|
|
21883
21890
|
}
|
|
21891
|
+
connectedCallback() {
|
|
21892
|
+
const { el } = this;
|
|
21893
|
+
this.isInvalid = checkInvalidState(el);
|
|
21894
|
+
// Resumes watching after a move, since `componentWillLoad` only runs once
|
|
21895
|
+
this.ariaController?.init();
|
|
21896
|
+
}
|
|
21897
|
+
disconnectedCallback() {
|
|
21898
|
+
this.ariaController?.destroy();
|
|
21899
|
+
if (this.validationObserver) {
|
|
21900
|
+
this.validationObserver.disconnect();
|
|
21901
|
+
this.validationObserver = undefined;
|
|
21902
|
+
}
|
|
21903
|
+
}
|
|
21884
21904
|
componentWillLoad() {
|
|
21885
|
-
|
|
21905
|
+
// Only read `role` at load so a later host write isn't copied to the group
|
|
21906
|
+
this.ariaController = createAttributeController(this.el, ariaAttributes.filter((attr) => !HOST_ARIA_ATTRIBUTES.includes(attr)), () => forceUpdate(), ['role']);
|
|
21886
21907
|
this.processSeparators();
|
|
21887
21908
|
this.initializeValues();
|
|
21888
21909
|
}
|
|
21889
21910
|
componentDidLoad() {
|
|
21890
21911
|
this.updateTabIndexes();
|
|
21912
|
+
// The description only exists after the first render, so render again to reference it
|
|
21913
|
+
if (this.getDescriptionText()) ;
|
|
21891
21914
|
}
|
|
21892
21915
|
componentDidRender() {
|
|
21893
21916
|
if (this.updateTabIndexesAfterRender) {
|
|
@@ -22065,14 +22088,77 @@ class InputOTP {
|
|
|
22065
22088
|
const { length } = this;
|
|
22066
22089
|
return this.parsedSeparators.includes(index + 1) && index < length - 1;
|
|
22067
22090
|
}
|
|
22091
|
+
/**
|
|
22092
|
+
* Returns `undefined` until the first render creates the description container.
|
|
22093
|
+
*/
|
|
22094
|
+
getDescriptionText() {
|
|
22095
|
+
return this.el.querySelector('.input-otp-description')?.textContent?.trim();
|
|
22096
|
+
}
|
|
22097
|
+
getHintTextId() {
|
|
22098
|
+
const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
|
|
22099
|
+
if (isInvalid && errorText) {
|
|
22100
|
+
return errorTextId;
|
|
22101
|
+
}
|
|
22102
|
+
if (helperText) {
|
|
22103
|
+
return helperTextId;
|
|
22104
|
+
}
|
|
22105
|
+
return undefined;
|
|
22106
|
+
}
|
|
22107
|
+
renderHintText() {
|
|
22108
|
+
const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
|
|
22109
|
+
return [
|
|
22110
|
+
hAsync("div", { id: helperTextId, class: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
|
|
22111
|
+
hAsync("div", { id: errorTextId, class: "error-text", role: "alert" }, isInvalid ? errorText : null),
|
|
22112
|
+
];
|
|
22113
|
+
}
|
|
22114
|
+
renderBottomContent() {
|
|
22115
|
+
const { helperText, errorText } = this;
|
|
22116
|
+
if (!helperText && !errorText) {
|
|
22117
|
+
return;
|
|
22118
|
+
}
|
|
22119
|
+
return hAsync("div", { class: "input-otp-bottom" }, this.renderHintText());
|
|
22120
|
+
}
|
|
22121
|
+
/**
|
|
22122
|
+
* A custom formatter is used as is so translators control the whole name.
|
|
22123
|
+
* With a host `aria-labelledby`, each box also references itself so its
|
|
22124
|
+
* position is still read.
|
|
22125
|
+
*/
|
|
22126
|
+
getInputLabelAttributes(index, hostAttributes) {
|
|
22127
|
+
const { inputId, inputLabelFormatter, length } = this;
|
|
22128
|
+
const hostLabel = hostAttributes['aria-label'];
|
|
22129
|
+
const hostLabelledBy = hostAttributes['aria-labelledby'];
|
|
22130
|
+
const position = `${index + 1} of ${length}`;
|
|
22131
|
+
if (inputLabelFormatter !== undefined) {
|
|
22132
|
+
try {
|
|
22133
|
+
return { 'aria-label': inputLabelFormatter(index, length) };
|
|
22134
|
+
}
|
|
22135
|
+
catch (e) {
|
|
22136
|
+
printIonError('[ion-input-otp] - Exception in provided `inputLabelFormatter`:', e);
|
|
22137
|
+
}
|
|
22138
|
+
}
|
|
22139
|
+
if (hostLabelledBy) {
|
|
22140
|
+
return { 'aria-label': position, 'aria-labelledby': `${hostLabelledBy} ${inputId}-${index}` };
|
|
22141
|
+
}
|
|
22142
|
+
return { 'aria-label': hostLabel ? `${hostLabel}, ${position}` : `Input ${position}` };
|
|
22143
|
+
}
|
|
22068
22144
|
render() {
|
|
22069
|
-
const { autocapitalize, color, disabled, el, fill, hasFocus,
|
|
22145
|
+
const { ariaController, autocapitalize, color, descriptionId, disabled, el, fill, hasFocus, inputId, inputRefs, inputValues, isInvalid, length, readonly, shape, size, } = this;
|
|
22070
22146
|
const mode = getIonMode$1(this);
|
|
22071
22147
|
const inputmode = this.getInputmode();
|
|
22072
22148
|
const tabbableIndex = this.getTabbableIndex();
|
|
22073
22149
|
const pattern = this.getPattern();
|
|
22074
|
-
const
|
|
22075
|
-
|
|
22150
|
+
const descriptionText = this.getDescriptionText();
|
|
22151
|
+
// Keep the description visible until the first render can check it
|
|
22152
|
+
const hasDescription = descriptionText !== '';
|
|
22153
|
+
/**
|
|
22154
|
+
* Screen readers only announce these from the focused input. The
|
|
22155
|
+
* description stays on the group so it isn't repeated for every input.
|
|
22156
|
+
*/
|
|
22157
|
+
const { 'aria-errormessage': ariaErrorMessage, 'aria-required': ariaRequired, ...groupAttributes } = ariaController?.attributes ?? {};
|
|
22158
|
+
const hostDescribedBy = el.getAttribute('aria-describedby');
|
|
22159
|
+
const hostInvalid = el.getAttribute('aria-invalid') ?? undefined;
|
|
22160
|
+
const describedBy = [hostDescribedBy, this.getHintTextId()].filter(Boolean).join(' ');
|
|
22161
|
+
return (hAsync(Host, { key: '5b13c3bed3979e269cf4409895954edb171d68f3', class: createColorClasses$1(color, {
|
|
22076
22162
|
[mode]: true,
|
|
22077
22163
|
'has-focus': hasFocus,
|
|
22078
22164
|
[`input-otp-size-${size}`]: true,
|
|
@@ -22080,7 +22166,7 @@ class InputOTP {
|
|
|
22080
22166
|
[`input-otp-fill-${fill}`]: true,
|
|
22081
22167
|
'input-otp-disabled': disabled,
|
|
22082
22168
|
'input-otp-readonly': readonly,
|
|
22083
|
-
}) }, hAsync("div", { key: '
|
|
22169
|
+
}) }, hAsync("div", { key: '6db010743f0eb5e059dc00de5822f117a264bb16', role: "group", class: "input-otp-group", ...groupAttributes, "aria-label": groupAttributes['aria-label'] || 'One-time password input', "aria-describedby": descriptionText ? descriptionId : undefined }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, ...this.getInputLabelAttributes(index, groupAttributes), "aria-describedby": describedBy || undefined, "aria-errormessage": ariaErrorMessage, "aria-invalid": isInvalid ? 'true' : hostInvalid, "aria-required": ariaRequired, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => {
|
|
22084
22170
|
if (el) {
|
|
22085
22171
|
inputRefs[index] = el;
|
|
22086
22172
|
}
|
|
@@ -22088,13 +22174,19 @@ class InputOTP {
|
|
|
22088
22174
|
// The input was removed, so drop its ref and any after it.
|
|
22089
22175
|
inputRefs.splice(index);
|
|
22090
22176
|
}
|
|
22091
|
-
}, onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: '
|
|
22177
|
+
}, onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: '4d55d7532dcc28fadcb2f860dd2fcd2aa45ccccc', id: descriptionId, class: {
|
|
22092
22178
|
'input-otp-description': true,
|
|
22093
22179
|
'input-otp-description-hidden': !hasDescription,
|
|
22094
|
-
} }, hAsync("slot", { key: '
|
|
22180
|
+
} }, hAsync("slot", { key: '5d6823f48a9786799c9d485ce0d6b9de2ae7f537' })), this.renderBottomContent()));
|
|
22095
22181
|
}
|
|
22096
22182
|
get el() { return getElement(this); }
|
|
22097
22183
|
static get watchers() { return {
|
|
22184
|
+
"aria-describedby": [{
|
|
22185
|
+
"onHostAriaChange": 0
|
|
22186
|
+
}],
|
|
22187
|
+
"aria-invalid": [{
|
|
22188
|
+
"onHostAriaChange": 0
|
|
22189
|
+
}],
|
|
22098
22190
|
"value": [{
|
|
22099
22191
|
"valueChanged": 0
|
|
22100
22192
|
}],
|
|
@@ -22118,7 +22210,10 @@ class InputOTP {
|
|
|
22118
22210
|
"autocapitalize": [1],
|
|
22119
22211
|
"color": [513],
|
|
22120
22212
|
"disabled": [516],
|
|
22213
|
+
"errorText": [1, "error-text"],
|
|
22121
22214
|
"fill": [1],
|
|
22215
|
+
"helperText": [1, "helper-text"],
|
|
22216
|
+
"inputLabelFormatter": [16],
|
|
22122
22217
|
"inputmode": [1],
|
|
22123
22218
|
"length": [2],
|
|
22124
22219
|
"pattern": [1],
|
|
@@ -22131,6 +22226,7 @@ class InputOTP {
|
|
|
22131
22226
|
"inputValues": [32],
|
|
22132
22227
|
"hasFocus": [32],
|
|
22133
22228
|
"previousInputValues": [32],
|
|
22229
|
+
"isInvalid": [32],
|
|
22134
22230
|
"setFocus": [64]
|
|
22135
22231
|
},
|
|
22136
22232
|
"$listeners$": undefined,
|
|
@@ -22139,6 +22235,12 @@ class InputOTP {
|
|
|
22139
22235
|
}; }
|
|
22140
22236
|
}
|
|
22141
22237
|
let inputIds = 0;
|
|
22238
|
+
/**
|
|
22239
|
+
* The attribute controller removes these from the host, so an app could never
|
|
22240
|
+
* clear them. They stay on the host instead, which only works for global
|
|
22241
|
+
* attributes since the host has no role.
|
|
22242
|
+
*/
|
|
22243
|
+
const HOST_ARIA_ATTRIBUTES = ['aria-describedby', 'aria-invalid'];
|
|
22142
22244
|
|
|
22143
22245
|
const iosInputPasswordToggleCss = () => ``;
|
|
22144
22246
|
|
|
@@ -22458,7 +22560,7 @@ class Item {
|
|
|
22458
22560
|
return controls[0];
|
|
22459
22561
|
}
|
|
22460
22562
|
render() {
|
|
22461
|
-
const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, multipleInputs,
|
|
22563
|
+
const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, multipleInputs, } = this;
|
|
22462
22564
|
const inheritedAriaAttributes = this.ariaController?.attributes ?? {};
|
|
22463
22565
|
const childStyles = {};
|
|
22464
22566
|
const mode = getIonMode$1(this);
|
|
@@ -22535,7 +22637,7 @@ class Item {
|
|
|
22535
22637
|
* multi-input item, and in a clickable item, which is a second tab stop.
|
|
22536
22638
|
*/
|
|
22537
22639
|
const slottedIndicatorNeedsRoom = this.hasSlottedIndicatorControl && (multipleInputs || this.isClickable());
|
|
22538
|
-
return (hAsync(Host, { key: '
|
|
22640
|
+
return (hAsync(Host, { key: '7fe924642310c19f057ae1bfa29c1acdf5cc7ed6', "aria-disabled": ariaDisabled, class: {
|
|
22539
22641
|
...childStyles,
|
|
22540
22642
|
...labelColorStyles,
|
|
22541
22643
|
...createColorClasses$1(this.color, {
|
|
@@ -22550,9 +22652,9 @@ class Item {
|
|
|
22550
22652
|
'item-focus-indicator-room': slottedIndicatorNeedsRoom,
|
|
22551
22653
|
'ion-activatable': canActivate,
|
|
22552
22654
|
'ion-focusable': this.focusable,
|
|
22553
|
-
'item-rtl':
|
|
22655
|
+
'item-rtl': document.dir === 'rtl',
|
|
22554
22656
|
}),
|
|
22555
|
-
}, role: inList ? 'listitem' : null }, hAsync(TagType, { key: '
|
|
22657
|
+
}, role: inList ? 'listitem' : null }, hAsync(TagType, { key: '8fddfb2a076b4b98e45ee8b23579d011dba12acb', ...attrs, ...inheritedAriaAttributes, class: "item-native", part: "native", disabled: disabled, ...clickFn }, hAsync("slot", { key: '7f888b62b2023cf501fd308e32629e7a291c2d05', name: "start", onSlotchange: this.updateInteractivityOnSlotChange }), hAsync("div", { key: '6d5cdde307caa65b131edb65cb0a5f8294cf151c', class: "item-inner", part: "inner" }, hAsync("div", { key: '9fbfffdff4cf51adf1f02d573953cf8b145574b0', class: "input-wrapper", part: "container" }, hAsync("slot", { key: '574c7e61cdaa3959a28bad7353105ef217a76ed9', onSlotchange: this.updateInteractivityOnSlotChange })), hAsync("slot", { key: 'ed7e211960cd65ed17f865a6d50d5bdde069416b', name: "end", onSlotchange: this.updateInteractivityOnSlotChange }), showDetail && (hAsync("ion-icon", { key: '2847bb21f42e9d5ab8ea86262b2bc1c3b3f7c902', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && hAsync("ion-ripple-effect", { key: '55502ef394db0953144387fa3baebf9fa6a976a9' }))));
|
|
22556
22658
|
}
|
|
22557
22659
|
get el() { return getElement(this); }
|
|
22558
22660
|
static get watchers() { return {
|
|
@@ -22779,8 +22881,8 @@ class ItemOptions {
|
|
|
22779
22881
|
}
|
|
22780
22882
|
render() {
|
|
22781
22883
|
const mode = getIonMode$1(this);
|
|
22782
|
-
const isEnd = isEndSide(this.side
|
|
22783
|
-
return (hAsync(Host, { key: '
|
|
22884
|
+
const isEnd = isEndSide(this.side);
|
|
22885
|
+
return (hAsync(Host, { key: '6e60ff004d48bf7701711e518ec0b21264496ae8', class: {
|
|
22784
22886
|
[mode]: true,
|
|
22785
22887
|
// Used internally for styling
|
|
22786
22888
|
[`item-options-${mode}`]: true,
|
|
@@ -22974,7 +23076,7 @@ class ItemSliding {
|
|
|
22974
23076
|
side = optionsToOpen === this.leftOptions ? 'start' : 'end';
|
|
22975
23077
|
}
|
|
22976
23078
|
// In RTL we want to switch the sides
|
|
22977
|
-
side = isEndSide(side
|
|
23079
|
+
side = isEndSide(side) ? 'end' : 'start';
|
|
22978
23080
|
const isStartOpen = this.openAmount < 0;
|
|
22979
23081
|
const isEndOpen = this.openAmount > 0;
|
|
22980
23082
|
/**
|
|
@@ -23043,7 +23145,7 @@ class ItemSliding {
|
|
|
23043
23145
|
// Reset left and right options in case they were removed
|
|
23044
23146
|
this.leftOptions = this.rightOptions = undefined;
|
|
23045
23147
|
for (const option of options) {
|
|
23046
|
-
const side = isEndSide(option.side ?? option.getAttribute('side')
|
|
23148
|
+
const side = isEndSide(option.side ?? option.getAttribute('side')) ? 'end' : 'start';
|
|
23047
23149
|
if (side === 'start') {
|
|
23048
23150
|
this.leftOptions = option;
|
|
23049
23151
|
sides |= 1 /* ItemSide.Start */;
|
|
@@ -23062,7 +23164,7 @@ class ItemSliding {
|
|
|
23062
23164
|
* do not open left side so swipe to go
|
|
23063
23165
|
* back will still work.
|
|
23064
23166
|
*/
|
|
23065
|
-
const rtl =
|
|
23167
|
+
const rtl = document.dir === 'rtl';
|
|
23066
23168
|
const atEdge = rtl ? window.innerWidth - gesture.startX < 15 : gesture.startX < 15;
|
|
23067
23169
|
if (atEdge) {
|
|
23068
23170
|
return false;
|
|
@@ -23241,7 +23343,7 @@ class ItemSliding {
|
|
|
23241
23343
|
}
|
|
23242
23344
|
render() {
|
|
23243
23345
|
const mode = getIonMode$1(this);
|
|
23244
|
-
return (hAsync(Host, { key: '
|
|
23346
|
+
return (hAsync(Host, { key: '02174ca963753d3a51a4249068f3d436f8acb03d', class: {
|
|
23245
23347
|
[mode]: true,
|
|
23246
23348
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
23247
23349
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -23353,13 +23455,13 @@ class Label {
|
|
|
23353
23455
|
render() {
|
|
23354
23456
|
const position = this.position;
|
|
23355
23457
|
const mode = getIonMode$1(this);
|
|
23356
|
-
return (hAsync(Host, { key: '
|
|
23458
|
+
return (hAsync(Host, { key: '461604c1887f322dc13d7df3d5cdbb7ee1361117', class: createColorClasses$1(this.color, {
|
|
23357
23459
|
[mode]: true,
|
|
23358
23460
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
23359
23461
|
[`label-${position}`]: position !== undefined,
|
|
23360
23462
|
[`label-no-animate`]: this.noAnimate,
|
|
23361
|
-
'label-rtl':
|
|
23362
|
-
}) }, hAsync("slot", { key: '
|
|
23463
|
+
'label-rtl': document.dir === 'rtl',
|
|
23464
|
+
}) }, hAsync("slot", { key: 'a7005d0a217641278aa8e95144e8e4b9ae87a1c5' })));
|
|
23363
23465
|
}
|
|
23364
23466
|
get el() { return getElement(this); }
|
|
23365
23467
|
static get watchers() { return {
|
|
@@ -31746,7 +31848,7 @@ const POPOVER_IOS_MIN_EDGE_MARGIN = 25;
|
|
|
31746
31848
|
const iosEnterAnimation$1 = (baseEl, opts) => {
|
|
31747
31849
|
const { event: ev, size, trigger, reference, side, align } = opts;
|
|
31748
31850
|
const doc = baseEl.ownerDocument;
|
|
31749
|
-
const
|
|
31851
|
+
const isRTL = doc.dir === 'rtl';
|
|
31750
31852
|
const root = getElementRoot(baseEl);
|
|
31751
31853
|
const contentEl = root.querySelector('.popover-content');
|
|
31752
31854
|
const arrowEl = root.querySelector('.popover-arrow');
|
|
@@ -31772,10 +31874,10 @@ const iosEnterAnimation$1 = (baseEl, opts) => {
|
|
|
31772
31874
|
const defaultPosition = {
|
|
31773
31875
|
top: bodyHeight / 2 - contentHeight / 2,
|
|
31774
31876
|
left: bodyWidth / 2 - contentWidth / 2,
|
|
31775
|
-
originX:
|
|
31877
|
+
originX: isRTL ? 'right' : 'left',
|
|
31776
31878
|
originY: 'top',
|
|
31777
31879
|
};
|
|
31778
|
-
const results = getPopoverPosition(
|
|
31880
|
+
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev, zoom);
|
|
31779
31881
|
const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
|
|
31780
31882
|
const rawSafeArea = getSafeAreaInsets(doc);
|
|
31781
31883
|
const safeArea = size === 'cover'
|
|
@@ -31896,7 +31998,7 @@ const POPOVER_MD_BODY_PADDING = 12;
|
|
|
31896
31998
|
const mdEnterAnimation$1 = (baseEl, opts) => {
|
|
31897
31999
|
const { event: ev, size, trigger, reference, side, align } = opts;
|
|
31898
32000
|
const doc = baseEl.ownerDocument;
|
|
31899
|
-
const
|
|
32001
|
+
const isRTL = doc.dir === 'rtl';
|
|
31900
32002
|
const root = getElementRoot(baseEl);
|
|
31901
32003
|
const contentEl = root.querySelector('.popover-content');
|
|
31902
32004
|
/**
|
|
@@ -31920,10 +32022,10 @@ const mdEnterAnimation$1 = (baseEl, opts) => {
|
|
|
31920
32022
|
const defaultPosition = {
|
|
31921
32023
|
top: bodyHeight / 2 - contentHeight / 2,
|
|
31922
32024
|
left: bodyWidth / 2 - contentWidth / 2,
|
|
31923
|
-
originX:
|
|
32025
|
+
originX: isRTL ? 'right' : 'left',
|
|
31924
32026
|
originY: 'top',
|
|
31925
32027
|
};
|
|
31926
|
-
const results = getPopoverPosition(
|
|
32028
|
+
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev, zoom);
|
|
31927
32029
|
const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
|
|
31928
32030
|
// MD mode now applies safe-area insets (previously passed 0, ignoring all safe areas).
|
|
31929
32031
|
// This is needed for Android edge-to-edge (API 36+) where system bars overlap content.
|
|
@@ -32043,7 +32145,6 @@ class Popover {
|
|
|
32043
32145
|
this.lockController = createLockController();
|
|
32044
32146
|
this.inline = false;
|
|
32045
32147
|
this.focusDescendantOnPresent = false;
|
|
32046
|
-
this.dirSetOnPresent = false;
|
|
32047
32148
|
this.presented = false;
|
|
32048
32149
|
/** @internal */
|
|
32049
32150
|
this.hasController = false;
|
|
@@ -32344,15 +32445,6 @@ class Popover {
|
|
|
32344
32445
|
}
|
|
32345
32446
|
const { el } = this;
|
|
32346
32447
|
const { inline, delegate } = this.getDelegate(true);
|
|
32347
|
-
/**
|
|
32348
|
-
* When presented, ion-popover is hoisted from its place in the element
|
|
32349
|
-
* hierarchy. Copy the current direction onto this element so that child
|
|
32350
|
-
* elements can match.
|
|
32351
|
-
*/
|
|
32352
|
-
if (!el.hasAttribute('dir')) {
|
|
32353
|
-
el.setAttribute('dir', isRTL$1(el) ? 'rtl' : 'ltr');
|
|
32354
|
-
this.dirSetOnPresent = true;
|
|
32355
|
-
}
|
|
32356
32448
|
/**
|
|
32357
32449
|
* Emit ionMount so JS Frameworks have an opportunity
|
|
32358
32450
|
* to add the child component to the DOM. The child
|
|
@@ -32473,10 +32565,6 @@ class Popover {
|
|
|
32473
32565
|
*/
|
|
32474
32566
|
const { delegate } = this.getDelegate();
|
|
32475
32567
|
await detachComponent(delegate, this.usersElement);
|
|
32476
|
-
if (this.dirSetOnPresent) {
|
|
32477
|
-
this.el.removeAttribute('dir');
|
|
32478
|
-
this.dirSetOnPresent = false;
|
|
32479
|
-
}
|
|
32480
32568
|
}
|
|
32481
32569
|
unlock();
|
|
32482
32570
|
return shouldDismiss;
|
|
@@ -32504,7 +32592,7 @@ class Popover {
|
|
|
32504
32592
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
32505
32593
|
const desktop = isPlatform('desktop');
|
|
32506
32594
|
const enableArrow = arrow && !parentPopover;
|
|
32507
|
-
return (hAsync(Host, { key: '
|
|
32595
|
+
return (hAsync(Host, { key: 'b5e9c788f58397203976d5f8302dfb89e916efe1', "aria-modal": "true", "no-router": true, tabindex: "-1", ...htmlAttributes, style: {
|
|
32508
32596
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
32509
32597
|
}, class: {
|
|
32510
32598
|
...getClassMap(this.cssClass),
|
|
@@ -32515,7 +32603,7 @@ class Popover {
|
|
|
32515
32603
|
[`popover-side-${side}`]: true,
|
|
32516
32604
|
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
32517
32605
|
'popover-nested': !!parentPopover,
|
|
32518
|
-
}, onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }, !parentPopover && hAsync("ion-backdrop", { key: '
|
|
32606
|
+
}, onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }, !parentPopover && hAsync("ion-backdrop", { key: 'f3977833c5b2c0087c286ee54363b478d69eb115', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '1059893d6fd2932ca8adcdf8d45a5d66f4794727', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '24d7988bdd95882ad77fcaa7112aeda55878bee4', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '4d6992e0a9d629f11763045f9199f9a77fa521ab', class: "popover-content", part: "content" }, hAsync("slot", { key: 'b29747419620a01a6c34e9e846cd529b0b210145' })))));
|
|
32519
32607
|
}
|
|
32520
32608
|
get el() { return getElement(this); }
|
|
32521
32609
|
static get watchers() { return {
|
|
@@ -32621,20 +32709,19 @@ class ProgressBar {
|
|
|
32621
32709
|
this.buffer = 1;
|
|
32622
32710
|
}
|
|
32623
32711
|
render() {
|
|
32624
|
-
const { color, type, reversed, value, buffer
|
|
32712
|
+
const { color, type, reversed, value, buffer } = this;
|
|
32625
32713
|
const paused = config.getBoolean('_testing');
|
|
32626
32714
|
const mode = getIonMode$1(this);
|
|
32627
32715
|
// If the progress is displayed as a solid bar.
|
|
32628
32716
|
const progressSolid = buffer === 1;
|
|
32629
|
-
return (hAsync(Host, { key: '
|
|
32717
|
+
return (hAsync(Host, { key: 'd53d39a3e2c0198164a9face62d3775f357b6914', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
32630
32718
|
[mode]: true,
|
|
32631
32719
|
[`progress-bar-${type}`]: true,
|
|
32632
32720
|
'progress-paused': paused,
|
|
32633
|
-
'progress-bar-reversed':
|
|
32721
|
+
'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed,
|
|
32634
32722
|
'progress-bar-solid': progressSolid,
|
|
32635
32723
|
}) }, type === 'indeterminate' ? renderIndeterminate() : renderProgress(value, buffer)));
|
|
32636
32724
|
}
|
|
32637
|
-
get el() { return getElement(this); }
|
|
32638
32725
|
static get style() { return {
|
|
32639
32726
|
ios: progressBarIosCss(),
|
|
32640
32727
|
md: progressBarMdCss()
|
|
@@ -35749,6 +35836,14 @@ class Route {
|
|
|
35749
35836
|
*
|
|
35750
35837
|
* Accepts paths similar to expressjs so that you can define parameters
|
|
35751
35838
|
* in the url /foo/:bar where bar would be available in incoming props.
|
|
35839
|
+
*
|
|
35840
|
+
* A url ending in `*`, such as `*` or `/admin/*`, matches any remaining path,
|
|
35841
|
+
* including none, so `/admin/*` also matches `/admin`. It only wins over a
|
|
35842
|
+
* route that matches the whole path when it has more fixed segments, so
|
|
35843
|
+
* `/admin/*` wins over `/:section/:id` but not over `/admin/:id`. It always
|
|
35844
|
+
* wins over a route that matches by ignoring trailing segments, such as
|
|
35845
|
+
* `/admin` for `/admin/users`. The matched path is passed in the `pathMatch`
|
|
35846
|
+
* prop without a leading `/`. A `*` on a route with child routes is ignored.
|
|
35752
35847
|
*/
|
|
35753
35848
|
this.url = '';
|
|
35754
35849
|
}
|
|
@@ -35837,6 +35932,8 @@ class RouteRedirect {
|
|
|
35837
35932
|
const ROUTER_INTENT_NONE = 'root';
|
|
35838
35933
|
const ROUTER_INTENT_FORWARD = 'forward';
|
|
35839
35934
|
const ROUTER_INTENT_BACK = 'back';
|
|
35935
|
+
/** Param that holds the path matched by a trailing `*` in an `ion-route` url. */
|
|
35936
|
+
const WILDCARD_PARAM = 'pathMatch';
|
|
35840
35937
|
|
|
35841
35938
|
/** Join the non empty segments with "/". */
|
|
35842
35939
|
const generatePath = (segments) => {
|
|
@@ -35870,12 +35967,13 @@ const writeSegments = (history, root, useHash, segments, direction, state, query
|
|
|
35870
35967
|
*
|
|
35871
35968
|
* Notes:
|
|
35872
35969
|
* - parameter segments of the form :param are replaced with their value,
|
|
35873
|
-
* - null is returned when a value is missing for any parameter segment
|
|
35970
|
+
* - null is returned when a value is missing for any parameter segment,
|
|
35971
|
+
* - a trailing wildcard is replaced with the path it matched.
|
|
35874
35972
|
*/
|
|
35875
35973
|
const chainToSegments = (chain) => {
|
|
35876
35974
|
const segments = [];
|
|
35877
35975
|
for (const route of chain) {
|
|
35878
|
-
for (const segment of route.segments) {
|
|
35976
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
35879
35977
|
if (segment[0] === ':') {
|
|
35880
35978
|
const param = route.params && route.params[segment.slice(1)];
|
|
35881
35979
|
if (!param) {
|
|
@@ -35887,9 +35985,22 @@ const chainToSegments = (chain) => {
|
|
|
35887
35985
|
segments.push(segment);
|
|
35888
35986
|
}
|
|
35889
35987
|
}
|
|
35988
|
+
segments.push(...wildcardSegments(route));
|
|
35890
35989
|
}
|
|
35891
35990
|
return segments;
|
|
35892
35991
|
};
|
|
35992
|
+
/** Only a `*` in the last segment of a route url is a wildcard. Elsewhere it's matched literally. */
|
|
35993
|
+
const endsWithWildcard = (segments) => {
|
|
35994
|
+
return segments[segments.length - 1] === '*';
|
|
35995
|
+
};
|
|
35996
|
+
/** Returns the path segments matched by the trailing wildcard of the route. */
|
|
35997
|
+
const wildcardSegments = (route) => {
|
|
35998
|
+
const pathMatch = endsWithWildcard(route.segments) ? route.params?.[WILDCARD_PARAM] : undefined;
|
|
35999
|
+
return pathMatch ? pathMatch.split('/').filter((s) => s.length > 0) : [];
|
|
36000
|
+
};
|
|
36001
|
+
const withoutWildcard = (segments) => {
|
|
36002
|
+
return endsWithWildcard(segments) ? segments.slice(0, -1) : segments;
|
|
36003
|
+
};
|
|
35893
36004
|
/**
|
|
35894
36005
|
* Removes the prefix segments from the path segments.
|
|
35895
36006
|
*
|
|
@@ -36222,6 +36333,10 @@ const matchesIDs = (ids, chain) => {
|
|
|
36222
36333
|
if (routeId.id.toLowerCase() !== routeChain.id) {
|
|
36223
36334
|
break;
|
|
36224
36335
|
}
|
|
36336
|
+
// Weight a wildcard route when the outlet reports its `pathMatch`
|
|
36337
|
+
if (routeId.params?.[WILDCARD_PARAM] !== undefined && endsWithWildcard(routeChain.segments)) {
|
|
36338
|
+
score++;
|
|
36339
|
+
}
|
|
36225
36340
|
if (routeId.params) {
|
|
36226
36341
|
const routeIdParams = Object.keys(routeId.params);
|
|
36227
36342
|
// Only compare routes with the chain that have the same number of parameters.
|
|
@@ -36277,21 +36392,28 @@ const matchesSegments = (segments, chain) => {
|
|
|
36277
36392
|
matchesDefault = true;
|
|
36278
36393
|
}
|
|
36279
36394
|
else {
|
|
36280
|
-
|
|
36395
|
+
const params = {};
|
|
36396
|
+
for (const segment of withoutWildcard(chainSegments)) {
|
|
36281
36397
|
const data = inputSegments.next();
|
|
36282
36398
|
// data param
|
|
36283
36399
|
if (segment[0] === ':') {
|
|
36284
36400
|
if (data === '') {
|
|
36285
36401
|
return null;
|
|
36286
36402
|
}
|
|
36287
|
-
allparams = allparams || [];
|
|
36288
|
-
const params = allparams[i] || (allparams[i] = {});
|
|
36289
36403
|
params[segment.slice(1)] = data;
|
|
36290
36404
|
}
|
|
36291
36405
|
else if (data !== segment) {
|
|
36292
36406
|
return null;
|
|
36293
36407
|
}
|
|
36294
36408
|
}
|
|
36409
|
+
// A trailing `*` on a parent route has no effect. Its children match the rest of the path.
|
|
36410
|
+
if (i === chain.length - 1 && endsWithWildcard(chainSegments)) {
|
|
36411
|
+
params[WILDCARD_PARAM] = inputSegments.rest().join('/');
|
|
36412
|
+
}
|
|
36413
|
+
if (Object.keys(params).length > 0) {
|
|
36414
|
+
allparams = allparams || [];
|
|
36415
|
+
allparams[i] = params;
|
|
36416
|
+
}
|
|
36295
36417
|
matchesDefault = false;
|
|
36296
36418
|
}
|
|
36297
36419
|
}
|
|
@@ -36323,25 +36445,38 @@ const mergeParams = (a, b) => {
|
|
|
36323
36445
|
* Returns the best match or null when no match is found.
|
|
36324
36446
|
* When a chain is returned the parameters are updated from the RouteIDs.
|
|
36325
36447
|
* That is they contain both the componentProps of the <ion-route> and the parameter segment.
|
|
36448
|
+
*
|
|
36449
|
+
* When a wildcard route ties with other routes, a route without a wildcard that can build a url wins,
|
|
36450
|
+
* then the wildcard route. Otherwise the first route declared wins a tie.
|
|
36326
36451
|
*/
|
|
36327
36452
|
const findChainForIDs = (ids, chains) => {
|
|
36328
|
-
let match = null;
|
|
36329
36453
|
let maxMatches = 0;
|
|
36454
|
+
let tied = [];
|
|
36330
36455
|
for (const chain of chains) {
|
|
36331
36456
|
const score = matchesIDs(ids, chain);
|
|
36332
36457
|
if (score > maxMatches) {
|
|
36333
|
-
match = chain;
|
|
36334
36458
|
maxMatches = score;
|
|
36459
|
+
tied = [chain];
|
|
36460
|
+
}
|
|
36461
|
+
else if (score > 0 && score === maxMatches) {
|
|
36462
|
+
tied.push(chain);
|
|
36335
36463
|
}
|
|
36336
36464
|
}
|
|
36337
|
-
|
|
36338
|
-
|
|
36339
|
-
|
|
36340
|
-
|
|
36341
|
-
|
|
36342
|
-
|
|
36465
|
+
const matches = tied.map((chain) => chain.map((route, i) => ({
|
|
36466
|
+
id: route.id,
|
|
36467
|
+
segments: route.segments,
|
|
36468
|
+
params: mergeParams(route.params, ids[i]?.params),
|
|
36469
|
+
})));
|
|
36470
|
+
if (!matches.some(chainEndsWithWildcard)) {
|
|
36471
|
+
return matches.length > 0 ? matches[0] : null;
|
|
36343
36472
|
}
|
|
36344
|
-
return
|
|
36473
|
+
return matches.reduce((best, chain) => (tieRank(chain) > tieRank(best) ? chain : best));
|
|
36474
|
+
};
|
|
36475
|
+
const tieRank = (chain) => {
|
|
36476
|
+
if (chainEndsWithWildcard(chain)) {
|
|
36477
|
+
return 1;
|
|
36478
|
+
}
|
|
36479
|
+
return chainToSegments(chain) !== null ? 2 : 0;
|
|
36345
36480
|
};
|
|
36346
36481
|
/**
|
|
36347
36482
|
* Finds the best match for the segments in the chains.
|
|
@@ -36349,10 +36484,17 @@ const findChainForIDs = (ids, chains) => {
|
|
|
36349
36484
|
* Returns the best match or null when no match is found.
|
|
36350
36485
|
* When a chain is returned the parameters are updated from the segments.
|
|
36351
36486
|
* That is they contain both the componentProps of the <ion-route> and the parameter segments.
|
|
36487
|
+
*
|
|
36488
|
+
* When wildcard routes match, the one with the most fixed segments wins if it has more fixed segments than every
|
|
36489
|
+
* route that matched the whole path. Routes that only matched by ignoring trailing segments don't count.
|
|
36352
36490
|
*/
|
|
36353
36491
|
const findChainForSegments = (segments, chains) => {
|
|
36354
36492
|
let match = null;
|
|
36355
36493
|
let bestScore = 0;
|
|
36494
|
+
let fullMatch = null;
|
|
36495
|
+
let bestFullScore = 0;
|
|
36496
|
+
let maxFullFixed = -1;
|
|
36497
|
+
let wildcard = null;
|
|
36356
36498
|
for (const chain of chains) {
|
|
36357
36499
|
const matchedChain = matchesSegments(segments, chain);
|
|
36358
36500
|
if (matchedChain !== null) {
|
|
@@ -36361,9 +36503,51 @@ const findChainForSegments = (segments, chains) => {
|
|
|
36361
36503
|
bestScore = score;
|
|
36362
36504
|
match = matchedChain;
|
|
36363
36505
|
}
|
|
36506
|
+
if (chainEndsWithWildcard(matchedChain)) {
|
|
36507
|
+
if (wildcard === null || winsWildcard(matchedChain, wildcard)) {
|
|
36508
|
+
wildcard = matchedChain;
|
|
36509
|
+
}
|
|
36510
|
+
}
|
|
36511
|
+
else if (!isPartialMatch(segments, matchedChain)) {
|
|
36512
|
+
if (score > bestFullScore) {
|
|
36513
|
+
bestFullScore = score;
|
|
36514
|
+
fullMatch = matchedChain;
|
|
36515
|
+
}
|
|
36516
|
+
maxFullFixed = Math.max(maxFullFixed, countFixedSegments(matchedChain));
|
|
36517
|
+
}
|
|
36364
36518
|
}
|
|
36365
36519
|
}
|
|
36366
|
-
|
|
36520
|
+
// Without a wildcard to match the rest of the path, routes can still ignore trailing segments.
|
|
36521
|
+
if (wildcard === null) {
|
|
36522
|
+
return match;
|
|
36523
|
+
}
|
|
36524
|
+
// Compare fixed segments rather than priority, since nesting under default routes raises the priority
|
|
36525
|
+
return countFixedSegments(wildcard) > maxFullFixed ? wildcard : fullMatch;
|
|
36526
|
+
};
|
|
36527
|
+
/** Returns whether the chain matched the path segments only by ignoring some trailing segments. */
|
|
36528
|
+
const isPartialMatch = (segments, chain) => {
|
|
36529
|
+
const matched = chainToSegments(chain);
|
|
36530
|
+
return matched !== null && matched.length < segments.filter((s) => s !== '').length;
|
|
36531
|
+
};
|
|
36532
|
+
const chainEndsWithWildcard = (chain) => {
|
|
36533
|
+
return endsWithWildcard(chain[chain.length - 1].segments);
|
|
36534
|
+
};
|
|
36535
|
+
/** Returns whether the wildcard chain beats `best` by fixed segments, then by priority. */
|
|
36536
|
+
const winsWildcard = (chain, best) => {
|
|
36537
|
+
const chainFixed = countFixedSegments(chain);
|
|
36538
|
+
const bestFixed = countFixedSegments(best);
|
|
36539
|
+
return chainFixed > bestFixed || (chainFixed === bestFixed && computePriority(chain) > computePriority(best));
|
|
36540
|
+
};
|
|
36541
|
+
const countFixedSegments = (chain) => {
|
|
36542
|
+
let count = 0;
|
|
36543
|
+
for (const route of chain) {
|
|
36544
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
36545
|
+
if (segment !== '' && segment[0] !== ':') {
|
|
36546
|
+
count++;
|
|
36547
|
+
}
|
|
36548
|
+
}
|
|
36549
|
+
}
|
|
36550
|
+
return count;
|
|
36367
36551
|
};
|
|
36368
36552
|
/**
|
|
36369
36553
|
* Computes the priority of a chain.
|
|
@@ -36375,12 +36559,14 @@ const findChainForSegments = (segments, chains) => {
|
|
|
36375
36559
|
* - /path/to/page
|
|
36376
36560
|
*
|
|
36377
36561
|
* The second one will be given a higher priority because "page" is a fixed segment (vs ":where", a parameter segment).
|
|
36562
|
+
*
|
|
36563
|
+
* A trailing wildcard is not counted.
|
|
36378
36564
|
*/
|
|
36379
36565
|
const computePriority = (chain) => {
|
|
36380
36566
|
let score = 1;
|
|
36381
36567
|
let level = 1;
|
|
36382
36568
|
for (const route of chain) {
|
|
36383
|
-
for (const segment of route.segments) {
|
|
36569
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
36384
36570
|
if (segment[0] === ':') {
|
|
36385
36571
|
score += Math.pow(1, level);
|
|
36386
36572
|
}
|
|
@@ -36402,6 +36588,12 @@ class RouterSegments {
|
|
|
36402
36588
|
}
|
|
36403
36589
|
return '';
|
|
36404
36590
|
}
|
|
36591
|
+
/** Consumes and returns the remaining non empty segments. */
|
|
36592
|
+
rest() {
|
|
36593
|
+
const rest = this.segments.filter((s) => s !== '');
|
|
36594
|
+
this.segments = [];
|
|
36595
|
+
return rest;
|
|
36596
|
+
}
|
|
36405
36597
|
}
|
|
36406
36598
|
|
|
36407
36599
|
const readProp = (el, prop) => {
|
|
@@ -42816,11 +43008,11 @@ class ToolbarTitle {
|
|
|
42816
43008
|
render() {
|
|
42817
43009
|
const mode = getIonMode$1(this);
|
|
42818
43010
|
const size = this.getSize();
|
|
42819
|
-
return (hAsync(Host, { key: '
|
|
43011
|
+
return (hAsync(Host, { key: 'c5f0b913ff0a22d9bf02da48a313a613c2ac8fe7', class: createColorClasses$1(this.color, {
|
|
42820
43012
|
[mode]: true,
|
|
42821
43013
|
[`title-${size}`]: true,
|
|
42822
|
-
'title-rtl':
|
|
42823
|
-
}) }, hAsync("div", { key: '
|
|
43014
|
+
'title-rtl': document.dir === 'rtl',
|
|
43015
|
+
}) }, hAsync("div", { key: '5253b9e39fb764bfe1e57370719139f8a83e9904', class: "toolbar-title" }, hAsync("slot", { key: 'e38b1eccb0175c36f8cab211aee7ce4d61fc9035' }))));
|
|
42824
43016
|
}
|
|
42825
43017
|
get el() { return getElement(this); }
|
|
42826
43018
|
static get watchers() { return {
|
|
@@ -43308,9 +43500,9 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43308
43500
|
const TRANSFORM = 'transform';
|
|
43309
43501
|
const CENTER = '0%';
|
|
43310
43502
|
const OFF_OPACITY = 0.8;
|
|
43311
|
-
const
|
|
43312
|
-
const OFF_RIGHT =
|
|
43313
|
-
const OFF_LEFT =
|
|
43503
|
+
const isRTL = navEl.ownerDocument.dir === 'rtl';
|
|
43504
|
+
const OFF_RIGHT = isRTL ? '-99.5%' : '99.5%';
|
|
43505
|
+
const OFF_LEFT = isRTL ? '33%' : '-33%';
|
|
43314
43506
|
const enteringEl = opts.enteringEl;
|
|
43315
43507
|
const leavingEl = opts.leavingEl;
|
|
43316
43508
|
const backDirection = opts.direction === 'back';
|
|
@@ -43375,7 +43567,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43375
43567
|
}
|
|
43376
43568
|
}
|
|
43377
43569
|
const enteringContentHasLargeTitle = enteringEl.querySelector('ion-header.header-collapse-condense');
|
|
43378
|
-
const { forward, backward } = createLargeTitleTransition(rootAnimation,
|
|
43570
|
+
const { forward, backward } = createLargeTitleTransition(rootAnimation, isRTL, backDirection, enteringEl, leavingEl);
|
|
43379
43571
|
enteringToolBarEls.forEach((enteringToolBarEl) => {
|
|
43380
43572
|
const enteringToolBar = createAnimation();
|
|
43381
43573
|
enteringToolBar.addElement(enteringToolBarEl);
|
|
@@ -43439,7 +43631,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43439
43631
|
enteringToolBarBg.fromTo(OPACITY, 0.01, 'var(--opacity)');
|
|
43440
43632
|
}
|
|
43441
43633
|
else {
|
|
43442
|
-
enteringToolBarBg.fromTo('transform',
|
|
43634
|
+
enteringToolBarBg.fromTo('transform', isRTL ? 'translateX(-100%)' : 'translateX(100%)', 'translateX(0px)');
|
|
43443
43635
|
}
|
|
43444
43636
|
// forward direction, entering page has a back button
|
|
43445
43637
|
if (!forward) {
|
|
@@ -43449,7 +43641,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43449
43641
|
const enteringBackBtnText = createAnimation();
|
|
43450
43642
|
enteringBackBtnText
|
|
43451
43643
|
.addElement(shadow(backButtonEl).querySelector('.button-text')) // REVIEW
|
|
43452
|
-
.fromTo(`transform`,
|
|
43644
|
+
.fromTo(`transform`, isRTL ? 'translateX(-100px)' : 'translateX(100px)', 'translateX(0px)');
|
|
43453
43645
|
enteringToolBar.addAnimation(enteringBackBtnText);
|
|
43454
43646
|
}
|
|
43455
43647
|
}
|
|
@@ -43472,7 +43664,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43472
43664
|
// leaving content, back direction
|
|
43473
43665
|
leavingContent
|
|
43474
43666
|
.beforeClearStyles([OPACITY])
|
|
43475
|
-
.fromTo('transform', `translateX(${CENTER})`,
|
|
43667
|
+
.fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)');
|
|
43476
43668
|
const leavingPage = getIonPageElement(leavingEl);
|
|
43477
43669
|
rootAnimation.afterAddWrite(() => {
|
|
43478
43670
|
if (rootAnimation.getDirection() === 'normal') {
|
|
@@ -43552,10 +43744,10 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43552
43744
|
if (!inactiveHeader) {
|
|
43553
43745
|
// leaving toolbar, back direction
|
|
43554
43746
|
leavingTitle
|
|
43555
|
-
.fromTo('transform', `translateX(${CENTER})`,
|
|
43747
|
+
.fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)')
|
|
43556
43748
|
.fromTo(OPACITY, 0.99, 0);
|
|
43557
43749
|
}
|
|
43558
|
-
leavingToolBarItems.fromTo('transform', `translateX(${CENTER})`,
|
|
43750
|
+
leavingToolBarItems.fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)');
|
|
43559
43751
|
leavingToolBarBg.beforeClearStyles([OPACITY, 'transform']);
|
|
43560
43752
|
// leaving toolbar, back direction, and there's no entering toolbar
|
|
43561
43753
|
// should just slide out, no fading out
|
|
@@ -43564,13 +43756,13 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43564
43756
|
leavingToolBarBg.fromTo(OPACITY, 'var(--opacity)', 0);
|
|
43565
43757
|
}
|
|
43566
43758
|
else {
|
|
43567
|
-
leavingToolBarBg.fromTo('transform', 'translateX(0px)',
|
|
43759
|
+
leavingToolBarBg.fromTo('transform', 'translateX(0px)', isRTL ? 'translateX(-100%)' : 'translateX(100%)');
|
|
43568
43760
|
}
|
|
43569
43761
|
if (backButtonEl && !backward) {
|
|
43570
43762
|
const leavingBackBtnText = createAnimation();
|
|
43571
43763
|
leavingBackBtnText
|
|
43572
43764
|
.addElement(shadow(backButtonEl).querySelector('.button-text')) // REVIEW
|
|
43573
|
-
.fromTo('transform', `translateX(${CENTER})`, `translateX(${(
|
|
43765
|
+
.fromTo('transform', `translateX(${CENTER})`, `translateX(${(isRTL ? -124 : 124) + 'px'})`);
|
|
43574
43766
|
leavingToolBar.addAnimation(leavingBackBtnText);
|
|
43575
43767
|
}
|
|
43576
43768
|
}
|