@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.js
CHANGED
|
@@ -6002,7 +6002,7 @@ const isRTL$1 = (hostEl) => {
|
|
|
6002
6002
|
return false;
|
|
6003
6003
|
}
|
|
6004
6004
|
}
|
|
6005
|
-
return
|
|
6005
|
+
return document?.dir?.toLowerCase() === 'rtl';
|
|
6006
6006
|
};
|
|
6007
6007
|
|
|
6008
6008
|
const transitionEndAsync = (el, expectedDuration = 0) => {
|
|
@@ -6304,7 +6304,8 @@ const assert = (actual, reason) => {
|
|
|
6304
6304
|
*
|
|
6305
6305
|
* @param side The current side before being redefined based on the direction.
|
|
6306
6306
|
* @param hostEl The component's host element. The direction is resolved from
|
|
6307
|
-
* it or its nearest ancestor that declares one
|
|
6307
|
+
* it or its nearest ancestor that declares one. When omitted, the direction
|
|
6308
|
+
* is resolved from the document.
|
|
6308
6309
|
*/
|
|
6309
6310
|
const isEndSide = (side, hostEl) => {
|
|
6310
6311
|
const rtl = isRTL$1(hostEl);
|
|
@@ -11284,14 +11285,6 @@ class Alert {
|
|
|
11284
11285
|
* the alert dismisses. You will need to do that in your code.
|
|
11285
11286
|
*/
|
|
11286
11287
|
this.isOpen = false;
|
|
11287
|
-
/**
|
|
11288
|
-
* Prevent Enter from toggling the checkbox, which only Space should do.
|
|
11289
|
-
*/
|
|
11290
|
-
this.onCheckboxKeydown = (ev) => {
|
|
11291
|
-
if (ev.key === 'Enter') {
|
|
11292
|
-
ev.preventDefault();
|
|
11293
|
-
}
|
|
11294
|
-
};
|
|
11295
11288
|
this.onBackdropTap = () => {
|
|
11296
11289
|
this.dismiss(undefined, BACKDROP);
|
|
11297
11290
|
};
|
|
@@ -11319,6 +11312,14 @@ class Alert {
|
|
|
11319
11312
|
}
|
|
11320
11313
|
onKeydown(ev) {
|
|
11321
11314
|
const inputTypes = new Set(this.processedInputs.map((i) => i.type));
|
|
11315
|
+
/**
|
|
11316
|
+
* Based on keyboard navigation requirements, the
|
|
11317
|
+
* checkbox should not respond to the enter keydown event.
|
|
11318
|
+
*/
|
|
11319
|
+
if (inputTypes.has('checkbox') && ev.key === 'Enter') {
|
|
11320
|
+
ev.preventDefault();
|
|
11321
|
+
return;
|
|
11322
|
+
}
|
|
11322
11323
|
/**
|
|
11323
11324
|
* 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.
|
|
11324
11325
|
*/
|
|
@@ -11628,7 +11629,7 @@ class Alert {
|
|
|
11628
11629
|
};
|
|
11629
11630
|
const defaultLabelPlacement = getOverlayLabelPlacement(mode, 'checkbox');
|
|
11630
11631
|
const defaultJustify = getOverlayLabelJustify(mode, 'checkbox');
|
|
11631
|
-
return (hAsync("button", { type: "button", onClick: () => this.cbClick(i),
|
|
11632
|
+
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: {
|
|
11632
11633
|
...getClassMap(i.cssClass),
|
|
11633
11634
|
'alert-tappable': true,
|
|
11634
11635
|
'alert-checkbox': true,
|
|
@@ -11778,14 +11779,14 @@ class Alert {
|
|
|
11778
11779
|
* If neither are defined, do not set aria-labelledby.
|
|
11779
11780
|
*/
|
|
11780
11781
|
const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
|
|
11781
|
-
return (hAsync(Host, { key: '
|
|
11782
|
+
return (hAsync(Host, { key: '083b5250dc4c76e85240e0225abcb7ca2b66de2f', tabindex: "-1", style: {
|
|
11782
11783
|
zIndex: `${20000 + overlayIndex}`,
|
|
11783
11784
|
}, class: {
|
|
11784
11785
|
...getClassMap(this.cssClass),
|
|
11785
11786
|
[mode]: true,
|
|
11786
11787
|
'overlay-hidden': true,
|
|
11787
11788
|
'alert-translucent': this.translucent,
|
|
11788
|
-
}, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '
|
|
11789
|
+
}, 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" })));
|
|
11789
11790
|
}
|
|
11790
11791
|
get el() { return getElement(this); }
|
|
11791
11792
|
static get watchers() { return {
|
|
@@ -13931,28 +13932,27 @@ class Col {
|
|
|
13931
13932
|
[modifier]: amount,
|
|
13932
13933
|
};
|
|
13933
13934
|
}
|
|
13934
|
-
calculateOffset(
|
|
13935
|
-
return this.calculatePosition('offset',
|
|
13935
|
+
calculateOffset(isRTL) {
|
|
13936
|
+
return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');
|
|
13936
13937
|
}
|
|
13937
|
-
calculatePull(
|
|
13938
|
-
return this.calculatePosition('pull',
|
|
13938
|
+
calculatePull(isRTL) {
|
|
13939
|
+
return this.calculatePosition('pull', isRTL ? 'left' : 'right');
|
|
13939
13940
|
}
|
|
13940
|
-
calculatePush(
|
|
13941
|
-
return this.calculatePosition('push',
|
|
13941
|
+
calculatePush(isRTL) {
|
|
13942
|
+
return this.calculatePosition('push', isRTL ? 'right' : 'left');
|
|
13942
13943
|
}
|
|
13943
13944
|
render() {
|
|
13944
|
-
const
|
|
13945
|
+
const isRTL = document.dir === 'rtl';
|
|
13945
13946
|
const mode = getIonMode$1(this);
|
|
13946
|
-
return (hAsync(Host, { key: '
|
|
13947
|
+
return (hAsync(Host, { key: 'e12293a4315cb474bbde73421dd0b4129f1df1cc', class: {
|
|
13947
13948
|
[mode]: true,
|
|
13948
13949
|
}, style: {
|
|
13949
|
-
...this.calculateOffset(
|
|
13950
|
-
...this.calculatePull(
|
|
13951
|
-
...this.calculatePush(
|
|
13950
|
+
...this.calculateOffset(isRTL),
|
|
13951
|
+
...this.calculatePull(isRTL),
|
|
13952
|
+
...this.calculatePush(isRTL),
|
|
13952
13953
|
...this.calculateSize(),
|
|
13953
|
-
} }, hAsync("slot", { key: '
|
|
13954
|
+
} }, hAsync("slot", { key: '869317ea6574111a57a7a9d096c53d264c335d28' })));
|
|
13954
13955
|
}
|
|
13955
|
-
get el() { return getElement(this); }
|
|
13956
13956
|
static get style() { return colCss(); }
|
|
13957
13957
|
static get cmpMeta() { return {
|
|
13958
13958
|
"$flags$": 265,
|
|
@@ -17988,12 +17988,13 @@ class Datetime {
|
|
|
17988
17988
|
const collapsedIcon = mode === 'ios' ? chevronForward : caretDownSharp;
|
|
17989
17989
|
const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
|
|
17990
17990
|
const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
17991
|
-
|
|
17991
|
+
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
17992
|
+
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
17992
17993
|
return (hAsync("div", { class: "calendar-header", part: "calendar-header" }, hAsync("div", { class: "calendar-action-buttons" }, hAsync("div", { class: "calendar-month-year" }, hAsync("button", { class: {
|
|
17993
17994
|
'calendar-month-year-toggle': true,
|
|
17994
17995
|
'ion-activatable': true,
|
|
17995
17996
|
'ion-focusable': true,
|
|
17996
|
-
}, 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", {
|
|
17997
|
+
}, 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) => {
|
|
17997
17998
|
return hAsync("div", { class: "day-of-week" }, d);
|
|
17998
17999
|
}))));
|
|
17999
18000
|
}
|
|
@@ -18310,7 +18311,7 @@ class Datetime {
|
|
|
18310
18311
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
18311
18312
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
18312
18313
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
18313
|
-
return (hAsync(Host, { key: '
|
|
18314
|
+
return (hAsync(Host, { key: 'e9b99bb5610fc7fe879200a56dcc865c6e2f1404', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: {
|
|
18314
18315
|
...createColorClasses$1(color, {
|
|
18315
18316
|
[mode]: true,
|
|
18316
18317
|
['datetime-readonly']: readonly,
|
|
@@ -18322,7 +18323,7 @@ class Datetime {
|
|
|
18322
18323
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
18323
18324
|
[`datetime-grid`]: isGridStyle,
|
|
18324
18325
|
}),
|
|
18325
|
-
} }, hAsync("div", { key: '
|
|
18326
|
+
} }, hAsync("div", { key: 'a5e61be2989468dc24ec8fb394116d9339b7824c', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
18326
18327
|
}
|
|
18327
18328
|
get el() { return getElement(this); }
|
|
18328
18329
|
static get watchers() { return {
|
|
@@ -21445,9 +21446,9 @@ class Input {
|
|
|
21445
21446
|
}
|
|
21446
21447
|
let inputIds$1 = 0;
|
|
21447
21448
|
|
|
21448
|
-
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))))}`;
|
|
21449
|
+
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))))}`;
|
|
21449
21450
|
|
|
21450
|
-
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))}`;
|
|
21451
|
+
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))}`;
|
|
21451
21452
|
|
|
21452
21453
|
class InputOTP {
|
|
21453
21454
|
constructor(hostRef) {
|
|
@@ -21457,9 +21458,11 @@ class InputOTP {
|
|
|
21457
21458
|
this.ionComplete = createEvent(this, "ionComplete", 7);
|
|
21458
21459
|
this.ionBlur = createEvent(this, "ionBlur", 7);
|
|
21459
21460
|
this.ionFocus = createEvent(this, "ionFocus", 7);
|
|
21460
|
-
this.inheritedAttributes = {};
|
|
21461
21461
|
this.inputRefs = [];
|
|
21462
21462
|
this.inputId = `ion-input-otp-${inputIds++}`;
|
|
21463
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
21464
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
21465
|
+
this.descriptionId = `${this.inputId}-description`;
|
|
21463
21466
|
this.parsedSeparators = [];
|
|
21464
21467
|
/**
|
|
21465
21468
|
* Tracks whether the user is navigating through input boxes using keyboard navigation
|
|
@@ -21475,6 +21478,7 @@ class InputOTP {
|
|
|
21475
21478
|
this.inputValues = [];
|
|
21476
21479
|
this.hasFocus = false;
|
|
21477
21480
|
this.previousInputValues = [];
|
|
21481
|
+
this.isInvalid = false;
|
|
21478
21482
|
/**
|
|
21479
21483
|
* Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
|
|
21480
21484
|
* Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
|
|
@@ -21827,6 +21831,9 @@ class InputOTP {
|
|
|
21827
21831
|
this.inputRefs[tabbableIndex]?.focus();
|
|
21828
21832
|
}
|
|
21829
21833
|
}
|
|
21834
|
+
// The host keeps these (see `HOST_ARIA_ATTRIBUTES`), so re-render when they change
|
|
21835
|
+
onHostAriaChange() {
|
|
21836
|
+
}
|
|
21830
21837
|
valueChanged() {
|
|
21831
21838
|
this.initializeValues();
|
|
21832
21839
|
this.updateTabIndexes();
|
|
@@ -21883,13 +21890,29 @@ class InputOTP {
|
|
|
21883
21890
|
}
|
|
21884
21891
|
this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
|
|
21885
21892
|
}
|
|
21893
|
+
connectedCallback() {
|
|
21894
|
+
const { el } = this;
|
|
21895
|
+
this.isInvalid = checkInvalidState(el);
|
|
21896
|
+
// Resumes watching after a move, since `componentWillLoad` only runs once
|
|
21897
|
+
this.ariaController?.init();
|
|
21898
|
+
}
|
|
21899
|
+
disconnectedCallback() {
|
|
21900
|
+
this.ariaController?.destroy();
|
|
21901
|
+
if (this.validationObserver) {
|
|
21902
|
+
this.validationObserver.disconnect();
|
|
21903
|
+
this.validationObserver = undefined;
|
|
21904
|
+
}
|
|
21905
|
+
}
|
|
21886
21906
|
componentWillLoad() {
|
|
21887
|
-
|
|
21907
|
+
// Only read `role` at load so a later host write isn't copied to the group
|
|
21908
|
+
this.ariaController = createAttributeController(this.el, ariaAttributes.filter((attr) => !HOST_ARIA_ATTRIBUTES.includes(attr)), () => forceUpdate(), ['role']);
|
|
21888
21909
|
this.processSeparators();
|
|
21889
21910
|
this.initializeValues();
|
|
21890
21911
|
}
|
|
21891
21912
|
componentDidLoad() {
|
|
21892
21913
|
this.updateTabIndexes();
|
|
21914
|
+
// The description only exists after the first render, so render again to reference it
|
|
21915
|
+
if (this.getDescriptionText()) ;
|
|
21893
21916
|
}
|
|
21894
21917
|
componentDidRender() {
|
|
21895
21918
|
if (this.updateTabIndexesAfterRender) {
|
|
@@ -22067,14 +22090,77 @@ class InputOTP {
|
|
|
22067
22090
|
const { length } = this;
|
|
22068
22091
|
return this.parsedSeparators.includes(index + 1) && index < length - 1;
|
|
22069
22092
|
}
|
|
22093
|
+
/**
|
|
22094
|
+
* Returns `undefined` until the first render creates the description container.
|
|
22095
|
+
*/
|
|
22096
|
+
getDescriptionText() {
|
|
22097
|
+
return this.el.querySelector('.input-otp-description')?.textContent?.trim();
|
|
22098
|
+
}
|
|
22099
|
+
getHintTextId() {
|
|
22100
|
+
const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
|
|
22101
|
+
if (isInvalid && errorText) {
|
|
22102
|
+
return errorTextId;
|
|
22103
|
+
}
|
|
22104
|
+
if (helperText) {
|
|
22105
|
+
return helperTextId;
|
|
22106
|
+
}
|
|
22107
|
+
return undefined;
|
|
22108
|
+
}
|
|
22109
|
+
renderHintText() {
|
|
22110
|
+
const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
|
|
22111
|
+
return [
|
|
22112
|
+
hAsync("div", { id: helperTextId, class: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
|
|
22113
|
+
hAsync("div", { id: errorTextId, class: "error-text", role: "alert" }, isInvalid ? errorText : null),
|
|
22114
|
+
];
|
|
22115
|
+
}
|
|
22116
|
+
renderBottomContent() {
|
|
22117
|
+
const { helperText, errorText } = this;
|
|
22118
|
+
if (!helperText && !errorText) {
|
|
22119
|
+
return;
|
|
22120
|
+
}
|
|
22121
|
+
return hAsync("div", { class: "input-otp-bottom" }, this.renderHintText());
|
|
22122
|
+
}
|
|
22123
|
+
/**
|
|
22124
|
+
* A custom formatter is used as is so translators control the whole name.
|
|
22125
|
+
* With a host `aria-labelledby`, each box also references itself so its
|
|
22126
|
+
* position is still read.
|
|
22127
|
+
*/
|
|
22128
|
+
getInputLabelAttributes(index, hostAttributes) {
|
|
22129
|
+
const { inputId, inputLabelFormatter, length } = this;
|
|
22130
|
+
const hostLabel = hostAttributes['aria-label'];
|
|
22131
|
+
const hostLabelledBy = hostAttributes['aria-labelledby'];
|
|
22132
|
+
const position = `${index + 1} of ${length}`;
|
|
22133
|
+
if (inputLabelFormatter !== undefined) {
|
|
22134
|
+
try {
|
|
22135
|
+
return { 'aria-label': inputLabelFormatter(index, length) };
|
|
22136
|
+
}
|
|
22137
|
+
catch (e) {
|
|
22138
|
+
printIonError('[ion-input-otp] - Exception in provided `inputLabelFormatter`:', e);
|
|
22139
|
+
}
|
|
22140
|
+
}
|
|
22141
|
+
if (hostLabelledBy) {
|
|
22142
|
+
return { 'aria-label': position, 'aria-labelledby': `${hostLabelledBy} ${inputId}-${index}` };
|
|
22143
|
+
}
|
|
22144
|
+
return { 'aria-label': hostLabel ? `${hostLabel}, ${position}` : `Input ${position}` };
|
|
22145
|
+
}
|
|
22070
22146
|
render() {
|
|
22071
|
-
const { autocapitalize, color, disabled, el, fill, hasFocus,
|
|
22147
|
+
const { ariaController, autocapitalize, color, descriptionId, disabled, el, fill, hasFocus, inputId, inputRefs, inputValues, isInvalid, length, readonly, shape, size, } = this;
|
|
22072
22148
|
const mode = getIonMode$1(this);
|
|
22073
22149
|
const inputmode = this.getInputmode();
|
|
22074
22150
|
const tabbableIndex = this.getTabbableIndex();
|
|
22075
22151
|
const pattern = this.getPattern();
|
|
22076
|
-
const
|
|
22077
|
-
|
|
22152
|
+
const descriptionText = this.getDescriptionText();
|
|
22153
|
+
// Keep the description visible until the first render can check it
|
|
22154
|
+
const hasDescription = descriptionText !== '';
|
|
22155
|
+
/**
|
|
22156
|
+
* Screen readers only announce these from the focused input. The
|
|
22157
|
+
* description stays on the group so it isn't repeated for every input.
|
|
22158
|
+
*/
|
|
22159
|
+
const { 'aria-errormessage': ariaErrorMessage, 'aria-required': ariaRequired, ...groupAttributes } = ariaController?.attributes ?? {};
|
|
22160
|
+
const hostDescribedBy = el.getAttribute('aria-describedby');
|
|
22161
|
+
const hostInvalid = el.getAttribute('aria-invalid') ?? undefined;
|
|
22162
|
+
const describedBy = [hostDescribedBy, this.getHintTextId()].filter(Boolean).join(' ');
|
|
22163
|
+
return (hAsync(Host, { key: '5b13c3bed3979e269cf4409895954edb171d68f3', class: createColorClasses$1(color, {
|
|
22078
22164
|
[mode]: true,
|
|
22079
22165
|
'has-focus': hasFocus,
|
|
22080
22166
|
[`input-otp-size-${size}`]: true,
|
|
@@ -22082,7 +22168,7 @@ class InputOTP {
|
|
|
22082
22168
|
[`input-otp-fill-${fill}`]: true,
|
|
22083
22169
|
'input-otp-disabled': disabled,
|
|
22084
22170
|
'input-otp-readonly': readonly,
|
|
22085
|
-
}) }, hAsync("div", { key: '
|
|
22171
|
+
}) }, 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) => {
|
|
22086
22172
|
if (el) {
|
|
22087
22173
|
inputRefs[index] = el;
|
|
22088
22174
|
}
|
|
@@ -22090,13 +22176,19 @@ class InputOTP {
|
|
|
22090
22176
|
// The input was removed, so drop its ref and any after it.
|
|
22091
22177
|
inputRefs.splice(index);
|
|
22092
22178
|
}
|
|
22093
|
-
}, 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: '
|
|
22179
|
+
}, 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: {
|
|
22094
22180
|
'input-otp-description': true,
|
|
22095
22181
|
'input-otp-description-hidden': !hasDescription,
|
|
22096
|
-
} }, hAsync("slot", { key: '
|
|
22182
|
+
} }, hAsync("slot", { key: '5d6823f48a9786799c9d485ce0d6b9de2ae7f537' })), this.renderBottomContent()));
|
|
22097
22183
|
}
|
|
22098
22184
|
get el() { return getElement(this); }
|
|
22099
22185
|
static get watchers() { return {
|
|
22186
|
+
"aria-describedby": [{
|
|
22187
|
+
"onHostAriaChange": 0
|
|
22188
|
+
}],
|
|
22189
|
+
"aria-invalid": [{
|
|
22190
|
+
"onHostAriaChange": 0
|
|
22191
|
+
}],
|
|
22100
22192
|
"value": [{
|
|
22101
22193
|
"valueChanged": 0
|
|
22102
22194
|
}],
|
|
@@ -22120,7 +22212,10 @@ class InputOTP {
|
|
|
22120
22212
|
"autocapitalize": [1],
|
|
22121
22213
|
"color": [513],
|
|
22122
22214
|
"disabled": [516],
|
|
22215
|
+
"errorText": [1, "error-text"],
|
|
22123
22216
|
"fill": [1],
|
|
22217
|
+
"helperText": [1, "helper-text"],
|
|
22218
|
+
"inputLabelFormatter": [16],
|
|
22124
22219
|
"inputmode": [1],
|
|
22125
22220
|
"length": [2],
|
|
22126
22221
|
"pattern": [1],
|
|
@@ -22133,6 +22228,7 @@ class InputOTP {
|
|
|
22133
22228
|
"inputValues": [32],
|
|
22134
22229
|
"hasFocus": [32],
|
|
22135
22230
|
"previousInputValues": [32],
|
|
22231
|
+
"isInvalid": [32],
|
|
22136
22232
|
"setFocus": [64]
|
|
22137
22233
|
},
|
|
22138
22234
|
"$listeners$": undefined,
|
|
@@ -22141,6 +22237,12 @@ class InputOTP {
|
|
|
22141
22237
|
}; }
|
|
22142
22238
|
}
|
|
22143
22239
|
let inputIds = 0;
|
|
22240
|
+
/**
|
|
22241
|
+
* The attribute controller removes these from the host, so an app could never
|
|
22242
|
+
* clear them. They stay on the host instead, which only works for global
|
|
22243
|
+
* attributes since the host has no role.
|
|
22244
|
+
*/
|
|
22245
|
+
const HOST_ARIA_ATTRIBUTES = ['aria-describedby', 'aria-invalid'];
|
|
22144
22246
|
|
|
22145
22247
|
const iosInputPasswordToggleCss = () => ``;
|
|
22146
22248
|
|
|
@@ -22460,7 +22562,7 @@ class Item {
|
|
|
22460
22562
|
return controls[0];
|
|
22461
22563
|
}
|
|
22462
22564
|
render() {
|
|
22463
|
-
const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, multipleInputs,
|
|
22565
|
+
const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, multipleInputs, } = this;
|
|
22464
22566
|
const inheritedAriaAttributes = this.ariaController?.attributes ?? {};
|
|
22465
22567
|
const childStyles = {};
|
|
22466
22568
|
const mode = getIonMode$1(this);
|
|
@@ -22537,7 +22639,7 @@ class Item {
|
|
|
22537
22639
|
* multi-input item, and in a clickable item, which is a second tab stop.
|
|
22538
22640
|
*/
|
|
22539
22641
|
const slottedIndicatorNeedsRoom = this.hasSlottedIndicatorControl && (multipleInputs || this.isClickable());
|
|
22540
|
-
return (hAsync(Host, { key: '
|
|
22642
|
+
return (hAsync(Host, { key: '7fe924642310c19f057ae1bfa29c1acdf5cc7ed6', "aria-disabled": ariaDisabled, class: {
|
|
22541
22643
|
...childStyles,
|
|
22542
22644
|
...labelColorStyles,
|
|
22543
22645
|
...createColorClasses$1(this.color, {
|
|
@@ -22552,9 +22654,9 @@ class Item {
|
|
|
22552
22654
|
'item-focus-indicator-room': slottedIndicatorNeedsRoom,
|
|
22553
22655
|
'ion-activatable': canActivate,
|
|
22554
22656
|
'ion-focusable': this.focusable,
|
|
22555
|
-
'item-rtl':
|
|
22657
|
+
'item-rtl': document.dir === 'rtl',
|
|
22556
22658
|
}),
|
|
22557
|
-
}, role: inList ? 'listitem' : null }, hAsync(TagType, { key: '
|
|
22659
|
+
}, 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' }))));
|
|
22558
22660
|
}
|
|
22559
22661
|
get el() { return getElement(this); }
|
|
22560
22662
|
static get watchers() { return {
|
|
@@ -22781,8 +22883,8 @@ class ItemOptions {
|
|
|
22781
22883
|
}
|
|
22782
22884
|
render() {
|
|
22783
22885
|
const mode = getIonMode$1(this);
|
|
22784
|
-
const isEnd = isEndSide(this.side
|
|
22785
|
-
return (hAsync(Host, { key: '
|
|
22886
|
+
const isEnd = isEndSide(this.side);
|
|
22887
|
+
return (hAsync(Host, { key: '6e60ff004d48bf7701711e518ec0b21264496ae8', class: {
|
|
22786
22888
|
[mode]: true,
|
|
22787
22889
|
// Used internally for styling
|
|
22788
22890
|
[`item-options-${mode}`]: true,
|
|
@@ -22976,7 +23078,7 @@ class ItemSliding {
|
|
|
22976
23078
|
side = optionsToOpen === this.leftOptions ? 'start' : 'end';
|
|
22977
23079
|
}
|
|
22978
23080
|
// In RTL we want to switch the sides
|
|
22979
|
-
side = isEndSide(side
|
|
23081
|
+
side = isEndSide(side) ? 'end' : 'start';
|
|
22980
23082
|
const isStartOpen = this.openAmount < 0;
|
|
22981
23083
|
const isEndOpen = this.openAmount > 0;
|
|
22982
23084
|
/**
|
|
@@ -23045,7 +23147,7 @@ class ItemSliding {
|
|
|
23045
23147
|
// Reset left and right options in case they were removed
|
|
23046
23148
|
this.leftOptions = this.rightOptions = undefined;
|
|
23047
23149
|
for (const option of options) {
|
|
23048
|
-
const side = isEndSide(option.side ?? option.getAttribute('side')
|
|
23150
|
+
const side = isEndSide(option.side ?? option.getAttribute('side')) ? 'end' : 'start';
|
|
23049
23151
|
if (side === 'start') {
|
|
23050
23152
|
this.leftOptions = option;
|
|
23051
23153
|
sides |= 1 /* ItemSide.Start */;
|
|
@@ -23064,7 +23166,7 @@ class ItemSliding {
|
|
|
23064
23166
|
* do not open left side so swipe to go
|
|
23065
23167
|
* back will still work.
|
|
23066
23168
|
*/
|
|
23067
|
-
const rtl =
|
|
23169
|
+
const rtl = document.dir === 'rtl';
|
|
23068
23170
|
const atEdge = rtl ? window.innerWidth - gesture.startX < 15 : gesture.startX < 15;
|
|
23069
23171
|
if (atEdge) {
|
|
23070
23172
|
return false;
|
|
@@ -23243,7 +23345,7 @@ class ItemSliding {
|
|
|
23243
23345
|
}
|
|
23244
23346
|
render() {
|
|
23245
23347
|
const mode = getIonMode$1(this);
|
|
23246
|
-
return (hAsync(Host, { key: '
|
|
23348
|
+
return (hAsync(Host, { key: '02174ca963753d3a51a4249068f3d436f8acb03d', class: {
|
|
23247
23349
|
[mode]: true,
|
|
23248
23350
|
'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
|
|
23249
23351
|
'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
|
|
@@ -23355,13 +23457,13 @@ class Label {
|
|
|
23355
23457
|
render() {
|
|
23356
23458
|
const position = this.position;
|
|
23357
23459
|
const mode = getIonMode$1(this);
|
|
23358
|
-
return (hAsync(Host, { key: '
|
|
23460
|
+
return (hAsync(Host, { key: '461604c1887f322dc13d7df3d5cdbb7ee1361117', class: createColorClasses$1(this.color, {
|
|
23359
23461
|
[mode]: true,
|
|
23360
23462
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
23361
23463
|
[`label-${position}`]: position !== undefined,
|
|
23362
23464
|
[`label-no-animate`]: this.noAnimate,
|
|
23363
|
-
'label-rtl':
|
|
23364
|
-
}) }, hAsync("slot", { key: '
|
|
23465
|
+
'label-rtl': document.dir === 'rtl',
|
|
23466
|
+
}) }, hAsync("slot", { key: 'a7005d0a217641278aa8e95144e8e4b9ae87a1c5' })));
|
|
23365
23467
|
}
|
|
23366
23468
|
get el() { return getElement(this); }
|
|
23367
23469
|
static get watchers() { return {
|
|
@@ -31748,7 +31850,7 @@ const POPOVER_IOS_MIN_EDGE_MARGIN = 25;
|
|
|
31748
31850
|
const iosEnterAnimation$1 = (baseEl, opts) => {
|
|
31749
31851
|
const { event: ev, size, trigger, reference, side, align } = opts;
|
|
31750
31852
|
const doc = baseEl.ownerDocument;
|
|
31751
|
-
const
|
|
31853
|
+
const isRTL = doc.dir === 'rtl';
|
|
31752
31854
|
const root = getElementRoot(baseEl);
|
|
31753
31855
|
const contentEl = root.querySelector('.popover-content');
|
|
31754
31856
|
const arrowEl = root.querySelector('.popover-arrow');
|
|
@@ -31774,10 +31876,10 @@ const iosEnterAnimation$1 = (baseEl, opts) => {
|
|
|
31774
31876
|
const defaultPosition = {
|
|
31775
31877
|
top: bodyHeight / 2 - contentHeight / 2,
|
|
31776
31878
|
left: bodyWidth / 2 - contentWidth / 2,
|
|
31777
|
-
originX:
|
|
31879
|
+
originX: isRTL ? 'right' : 'left',
|
|
31778
31880
|
originY: 'top',
|
|
31779
31881
|
};
|
|
31780
|
-
const results = getPopoverPosition(
|
|
31882
|
+
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev, zoom);
|
|
31781
31883
|
const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
|
|
31782
31884
|
const rawSafeArea = getSafeAreaInsets(doc);
|
|
31783
31885
|
const safeArea = size === 'cover'
|
|
@@ -31898,7 +32000,7 @@ const POPOVER_MD_BODY_PADDING = 12;
|
|
|
31898
32000
|
const mdEnterAnimation$1 = (baseEl, opts) => {
|
|
31899
32001
|
const { event: ev, size, trigger, reference, side, align } = opts;
|
|
31900
32002
|
const doc = baseEl.ownerDocument;
|
|
31901
|
-
const
|
|
32003
|
+
const isRTL = doc.dir === 'rtl';
|
|
31902
32004
|
const root = getElementRoot(baseEl);
|
|
31903
32005
|
const contentEl = root.querySelector('.popover-content');
|
|
31904
32006
|
/**
|
|
@@ -31922,10 +32024,10 @@ const mdEnterAnimation$1 = (baseEl, opts) => {
|
|
|
31922
32024
|
const defaultPosition = {
|
|
31923
32025
|
top: bodyHeight / 2 - contentHeight / 2,
|
|
31924
32026
|
left: bodyWidth / 2 - contentWidth / 2,
|
|
31925
|
-
originX:
|
|
32027
|
+
originX: isRTL ? 'right' : 'left',
|
|
31926
32028
|
originY: 'top',
|
|
31927
32029
|
};
|
|
31928
|
-
const results = getPopoverPosition(
|
|
32030
|
+
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev, zoom);
|
|
31929
32031
|
const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
|
|
31930
32032
|
// MD mode now applies safe-area insets (previously passed 0, ignoring all safe areas).
|
|
31931
32033
|
// This is needed for Android edge-to-edge (API 36+) where system bars overlap content.
|
|
@@ -32045,7 +32147,6 @@ class Popover {
|
|
|
32045
32147
|
this.lockController = createLockController();
|
|
32046
32148
|
this.inline = false;
|
|
32047
32149
|
this.focusDescendantOnPresent = false;
|
|
32048
|
-
this.dirSetOnPresent = false;
|
|
32049
32150
|
this.presented = false;
|
|
32050
32151
|
/** @internal */
|
|
32051
32152
|
this.hasController = false;
|
|
@@ -32346,15 +32447,6 @@ class Popover {
|
|
|
32346
32447
|
}
|
|
32347
32448
|
const { el } = this;
|
|
32348
32449
|
const { inline, delegate } = this.getDelegate(true);
|
|
32349
|
-
/**
|
|
32350
|
-
* When presented, ion-popover is hoisted from its place in the element
|
|
32351
|
-
* hierarchy. Copy the current direction onto this element so that child
|
|
32352
|
-
* elements can match.
|
|
32353
|
-
*/
|
|
32354
|
-
if (!el.hasAttribute('dir')) {
|
|
32355
|
-
el.setAttribute('dir', isRTL$1(el) ? 'rtl' : 'ltr');
|
|
32356
|
-
this.dirSetOnPresent = true;
|
|
32357
|
-
}
|
|
32358
32450
|
/**
|
|
32359
32451
|
* Emit ionMount so JS Frameworks have an opportunity
|
|
32360
32452
|
* to add the child component to the DOM. The child
|
|
@@ -32475,10 +32567,6 @@ class Popover {
|
|
|
32475
32567
|
*/
|
|
32476
32568
|
const { delegate } = this.getDelegate();
|
|
32477
32569
|
await detachComponent(delegate, this.usersElement);
|
|
32478
|
-
if (this.dirSetOnPresent) {
|
|
32479
|
-
this.el.removeAttribute('dir');
|
|
32480
|
-
this.dirSetOnPresent = false;
|
|
32481
|
-
}
|
|
32482
32570
|
}
|
|
32483
32571
|
unlock();
|
|
32484
32572
|
return shouldDismiss;
|
|
@@ -32506,7 +32594,7 @@ class Popover {
|
|
|
32506
32594
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
32507
32595
|
const desktop = isPlatform('desktop');
|
|
32508
32596
|
const enableArrow = arrow && !parentPopover;
|
|
32509
|
-
return (hAsync(Host, { key: '
|
|
32597
|
+
return (hAsync(Host, { key: 'b5e9c788f58397203976d5f8302dfb89e916efe1', "aria-modal": "true", "no-router": true, tabindex: "-1", ...htmlAttributes, style: {
|
|
32510
32598
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
32511
32599
|
}, class: {
|
|
32512
32600
|
...getClassMap(this.cssClass),
|
|
@@ -32517,7 +32605,7 @@ class Popover {
|
|
|
32517
32605
|
[`popover-side-${side}`]: true,
|
|
32518
32606
|
[FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false,
|
|
32519
32607
|
'popover-nested': !!parentPopover,
|
|
32520
|
-
}, onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }, !parentPopover && hAsync("ion-backdrop", { key: '
|
|
32608
|
+
}, 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' })))));
|
|
32521
32609
|
}
|
|
32522
32610
|
get el() { return getElement(this); }
|
|
32523
32611
|
static get watchers() { return {
|
|
@@ -32623,20 +32711,19 @@ class ProgressBar {
|
|
|
32623
32711
|
this.buffer = 1;
|
|
32624
32712
|
}
|
|
32625
32713
|
render() {
|
|
32626
|
-
const { color, type, reversed, value, buffer
|
|
32714
|
+
const { color, type, reversed, value, buffer } = this;
|
|
32627
32715
|
const paused = config.getBoolean('_testing');
|
|
32628
32716
|
const mode = getIonMode$1(this);
|
|
32629
32717
|
// If the progress is displayed as a solid bar.
|
|
32630
32718
|
const progressSolid = buffer === 1;
|
|
32631
|
-
return (hAsync(Host, { key: '
|
|
32719
|
+
return (hAsync(Host, { key: 'd53d39a3e2c0198164a9face62d3775f357b6914', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
|
|
32632
32720
|
[mode]: true,
|
|
32633
32721
|
[`progress-bar-${type}`]: true,
|
|
32634
32722
|
'progress-paused': paused,
|
|
32635
|
-
'progress-bar-reversed':
|
|
32723
|
+
'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed,
|
|
32636
32724
|
'progress-bar-solid': progressSolid,
|
|
32637
32725
|
}) }, type === 'indeterminate' ? renderIndeterminate() : renderProgress(value, buffer)));
|
|
32638
32726
|
}
|
|
32639
|
-
get el() { return getElement(this); }
|
|
32640
32727
|
static get style() { return {
|
|
32641
32728
|
ios: progressBarIosCss(),
|
|
32642
32729
|
md: progressBarMdCss()
|
|
@@ -35751,6 +35838,14 @@ class Route {
|
|
|
35751
35838
|
*
|
|
35752
35839
|
* Accepts paths similar to expressjs so that you can define parameters
|
|
35753
35840
|
* in the url /foo/:bar where bar would be available in incoming props.
|
|
35841
|
+
*
|
|
35842
|
+
* A url ending in `*`, such as `*` or `/admin/*`, matches any remaining path,
|
|
35843
|
+
* including none, so `/admin/*` also matches `/admin`. It only wins over a
|
|
35844
|
+
* route that matches the whole path when it has more fixed segments, so
|
|
35845
|
+
* `/admin/*` wins over `/:section/:id` but not over `/admin/:id`. It always
|
|
35846
|
+
* wins over a route that matches by ignoring trailing segments, such as
|
|
35847
|
+
* `/admin` for `/admin/users`. The matched path is passed in the `pathMatch`
|
|
35848
|
+
* prop without a leading `/`. A `*` on a route with child routes is ignored.
|
|
35754
35849
|
*/
|
|
35755
35850
|
this.url = '';
|
|
35756
35851
|
}
|
|
@@ -35839,6 +35934,8 @@ class RouteRedirect {
|
|
|
35839
35934
|
const ROUTER_INTENT_NONE = 'root';
|
|
35840
35935
|
const ROUTER_INTENT_FORWARD = 'forward';
|
|
35841
35936
|
const ROUTER_INTENT_BACK = 'back';
|
|
35937
|
+
/** Param that holds the path matched by a trailing `*` in an `ion-route` url. */
|
|
35938
|
+
const WILDCARD_PARAM = 'pathMatch';
|
|
35842
35939
|
|
|
35843
35940
|
/** Join the non empty segments with "/". */
|
|
35844
35941
|
const generatePath = (segments) => {
|
|
@@ -35872,12 +35969,13 @@ const writeSegments = (history, root, useHash, segments, direction, state, query
|
|
|
35872
35969
|
*
|
|
35873
35970
|
* Notes:
|
|
35874
35971
|
* - parameter segments of the form :param are replaced with their value,
|
|
35875
|
-
* - null is returned when a value is missing for any parameter segment
|
|
35972
|
+
* - null is returned when a value is missing for any parameter segment,
|
|
35973
|
+
* - a trailing wildcard is replaced with the path it matched.
|
|
35876
35974
|
*/
|
|
35877
35975
|
const chainToSegments = (chain) => {
|
|
35878
35976
|
const segments = [];
|
|
35879
35977
|
for (const route of chain) {
|
|
35880
|
-
for (const segment of route.segments) {
|
|
35978
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
35881
35979
|
if (segment[0] === ':') {
|
|
35882
35980
|
const param = route.params && route.params[segment.slice(1)];
|
|
35883
35981
|
if (!param) {
|
|
@@ -35889,9 +35987,22 @@ const chainToSegments = (chain) => {
|
|
|
35889
35987
|
segments.push(segment);
|
|
35890
35988
|
}
|
|
35891
35989
|
}
|
|
35990
|
+
segments.push(...wildcardSegments(route));
|
|
35892
35991
|
}
|
|
35893
35992
|
return segments;
|
|
35894
35993
|
};
|
|
35994
|
+
/** Only a `*` in the last segment of a route url is a wildcard. Elsewhere it's matched literally. */
|
|
35995
|
+
const endsWithWildcard = (segments) => {
|
|
35996
|
+
return segments[segments.length - 1] === '*';
|
|
35997
|
+
};
|
|
35998
|
+
/** Returns the path segments matched by the trailing wildcard of the route. */
|
|
35999
|
+
const wildcardSegments = (route) => {
|
|
36000
|
+
const pathMatch = endsWithWildcard(route.segments) ? route.params?.[WILDCARD_PARAM] : undefined;
|
|
36001
|
+
return pathMatch ? pathMatch.split('/').filter((s) => s.length > 0) : [];
|
|
36002
|
+
};
|
|
36003
|
+
const withoutWildcard = (segments) => {
|
|
36004
|
+
return endsWithWildcard(segments) ? segments.slice(0, -1) : segments;
|
|
36005
|
+
};
|
|
35895
36006
|
/**
|
|
35896
36007
|
* Removes the prefix segments from the path segments.
|
|
35897
36008
|
*
|
|
@@ -36224,6 +36335,10 @@ const matchesIDs = (ids, chain) => {
|
|
|
36224
36335
|
if (routeId.id.toLowerCase() !== routeChain.id) {
|
|
36225
36336
|
break;
|
|
36226
36337
|
}
|
|
36338
|
+
// Weight a wildcard route when the outlet reports its `pathMatch`
|
|
36339
|
+
if (routeId.params?.[WILDCARD_PARAM] !== undefined && endsWithWildcard(routeChain.segments)) {
|
|
36340
|
+
score++;
|
|
36341
|
+
}
|
|
36227
36342
|
if (routeId.params) {
|
|
36228
36343
|
const routeIdParams = Object.keys(routeId.params);
|
|
36229
36344
|
// Only compare routes with the chain that have the same number of parameters.
|
|
@@ -36279,21 +36394,28 @@ const matchesSegments = (segments, chain) => {
|
|
|
36279
36394
|
matchesDefault = true;
|
|
36280
36395
|
}
|
|
36281
36396
|
else {
|
|
36282
|
-
|
|
36397
|
+
const params = {};
|
|
36398
|
+
for (const segment of withoutWildcard(chainSegments)) {
|
|
36283
36399
|
const data = inputSegments.next();
|
|
36284
36400
|
// data param
|
|
36285
36401
|
if (segment[0] === ':') {
|
|
36286
36402
|
if (data === '') {
|
|
36287
36403
|
return null;
|
|
36288
36404
|
}
|
|
36289
|
-
allparams = allparams || [];
|
|
36290
|
-
const params = allparams[i] || (allparams[i] = {});
|
|
36291
36405
|
params[segment.slice(1)] = data;
|
|
36292
36406
|
}
|
|
36293
36407
|
else if (data !== segment) {
|
|
36294
36408
|
return null;
|
|
36295
36409
|
}
|
|
36296
36410
|
}
|
|
36411
|
+
// A trailing `*` on a parent route has no effect. Its children match the rest of the path.
|
|
36412
|
+
if (i === chain.length - 1 && endsWithWildcard(chainSegments)) {
|
|
36413
|
+
params[WILDCARD_PARAM] = inputSegments.rest().join('/');
|
|
36414
|
+
}
|
|
36415
|
+
if (Object.keys(params).length > 0) {
|
|
36416
|
+
allparams = allparams || [];
|
|
36417
|
+
allparams[i] = params;
|
|
36418
|
+
}
|
|
36297
36419
|
matchesDefault = false;
|
|
36298
36420
|
}
|
|
36299
36421
|
}
|
|
@@ -36325,25 +36447,38 @@ const mergeParams = (a, b) => {
|
|
|
36325
36447
|
* Returns the best match or null when no match is found.
|
|
36326
36448
|
* When a chain is returned the parameters are updated from the RouteIDs.
|
|
36327
36449
|
* That is they contain both the componentProps of the <ion-route> and the parameter segment.
|
|
36450
|
+
*
|
|
36451
|
+
* When a wildcard route ties with other routes, a route without a wildcard that can build a url wins,
|
|
36452
|
+
* then the wildcard route. Otherwise the first route declared wins a tie.
|
|
36328
36453
|
*/
|
|
36329
36454
|
const findChainForIDs = (ids, chains) => {
|
|
36330
|
-
let match = null;
|
|
36331
36455
|
let maxMatches = 0;
|
|
36456
|
+
let tied = [];
|
|
36332
36457
|
for (const chain of chains) {
|
|
36333
36458
|
const score = matchesIDs(ids, chain);
|
|
36334
36459
|
if (score > maxMatches) {
|
|
36335
|
-
match = chain;
|
|
36336
36460
|
maxMatches = score;
|
|
36461
|
+
tied = [chain];
|
|
36462
|
+
}
|
|
36463
|
+
else if (score > 0 && score === maxMatches) {
|
|
36464
|
+
tied.push(chain);
|
|
36337
36465
|
}
|
|
36338
36466
|
}
|
|
36339
|
-
|
|
36340
|
-
|
|
36341
|
-
|
|
36342
|
-
|
|
36343
|
-
|
|
36344
|
-
|
|
36467
|
+
const matches = tied.map((chain) => chain.map((route, i) => ({
|
|
36468
|
+
id: route.id,
|
|
36469
|
+
segments: route.segments,
|
|
36470
|
+
params: mergeParams(route.params, ids[i]?.params),
|
|
36471
|
+
})));
|
|
36472
|
+
if (!matches.some(chainEndsWithWildcard)) {
|
|
36473
|
+
return matches.length > 0 ? matches[0] : null;
|
|
36345
36474
|
}
|
|
36346
|
-
return
|
|
36475
|
+
return matches.reduce((best, chain) => (tieRank(chain) > tieRank(best) ? chain : best));
|
|
36476
|
+
};
|
|
36477
|
+
const tieRank = (chain) => {
|
|
36478
|
+
if (chainEndsWithWildcard(chain)) {
|
|
36479
|
+
return 1;
|
|
36480
|
+
}
|
|
36481
|
+
return chainToSegments(chain) !== null ? 2 : 0;
|
|
36347
36482
|
};
|
|
36348
36483
|
/**
|
|
36349
36484
|
* Finds the best match for the segments in the chains.
|
|
@@ -36351,10 +36486,17 @@ const findChainForIDs = (ids, chains) => {
|
|
|
36351
36486
|
* Returns the best match or null when no match is found.
|
|
36352
36487
|
* When a chain is returned the parameters are updated from the segments.
|
|
36353
36488
|
* That is they contain both the componentProps of the <ion-route> and the parameter segments.
|
|
36489
|
+
*
|
|
36490
|
+
* When wildcard routes match, the one with the most fixed segments wins if it has more fixed segments than every
|
|
36491
|
+
* route that matched the whole path. Routes that only matched by ignoring trailing segments don't count.
|
|
36354
36492
|
*/
|
|
36355
36493
|
const findChainForSegments = (segments, chains) => {
|
|
36356
36494
|
let match = null;
|
|
36357
36495
|
let bestScore = 0;
|
|
36496
|
+
let fullMatch = null;
|
|
36497
|
+
let bestFullScore = 0;
|
|
36498
|
+
let maxFullFixed = -1;
|
|
36499
|
+
let wildcard = null;
|
|
36358
36500
|
for (const chain of chains) {
|
|
36359
36501
|
const matchedChain = matchesSegments(segments, chain);
|
|
36360
36502
|
if (matchedChain !== null) {
|
|
@@ -36363,9 +36505,51 @@ const findChainForSegments = (segments, chains) => {
|
|
|
36363
36505
|
bestScore = score;
|
|
36364
36506
|
match = matchedChain;
|
|
36365
36507
|
}
|
|
36508
|
+
if (chainEndsWithWildcard(matchedChain)) {
|
|
36509
|
+
if (wildcard === null || winsWildcard(matchedChain, wildcard)) {
|
|
36510
|
+
wildcard = matchedChain;
|
|
36511
|
+
}
|
|
36512
|
+
}
|
|
36513
|
+
else if (!isPartialMatch(segments, matchedChain)) {
|
|
36514
|
+
if (score > bestFullScore) {
|
|
36515
|
+
bestFullScore = score;
|
|
36516
|
+
fullMatch = matchedChain;
|
|
36517
|
+
}
|
|
36518
|
+
maxFullFixed = Math.max(maxFullFixed, countFixedSegments(matchedChain));
|
|
36519
|
+
}
|
|
36366
36520
|
}
|
|
36367
36521
|
}
|
|
36368
|
-
|
|
36522
|
+
// Without a wildcard to match the rest of the path, routes can still ignore trailing segments.
|
|
36523
|
+
if (wildcard === null) {
|
|
36524
|
+
return match;
|
|
36525
|
+
}
|
|
36526
|
+
// Compare fixed segments rather than priority, since nesting under default routes raises the priority
|
|
36527
|
+
return countFixedSegments(wildcard) > maxFullFixed ? wildcard : fullMatch;
|
|
36528
|
+
};
|
|
36529
|
+
/** Returns whether the chain matched the path segments only by ignoring some trailing segments. */
|
|
36530
|
+
const isPartialMatch = (segments, chain) => {
|
|
36531
|
+
const matched = chainToSegments(chain);
|
|
36532
|
+
return matched !== null && matched.length < segments.filter((s) => s !== '').length;
|
|
36533
|
+
};
|
|
36534
|
+
const chainEndsWithWildcard = (chain) => {
|
|
36535
|
+
return endsWithWildcard(chain[chain.length - 1].segments);
|
|
36536
|
+
};
|
|
36537
|
+
/** Returns whether the wildcard chain beats `best` by fixed segments, then by priority. */
|
|
36538
|
+
const winsWildcard = (chain, best) => {
|
|
36539
|
+
const chainFixed = countFixedSegments(chain);
|
|
36540
|
+
const bestFixed = countFixedSegments(best);
|
|
36541
|
+
return chainFixed > bestFixed || (chainFixed === bestFixed && computePriority(chain) > computePriority(best));
|
|
36542
|
+
};
|
|
36543
|
+
const countFixedSegments = (chain) => {
|
|
36544
|
+
let count = 0;
|
|
36545
|
+
for (const route of chain) {
|
|
36546
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
36547
|
+
if (segment !== '' && segment[0] !== ':') {
|
|
36548
|
+
count++;
|
|
36549
|
+
}
|
|
36550
|
+
}
|
|
36551
|
+
}
|
|
36552
|
+
return count;
|
|
36369
36553
|
};
|
|
36370
36554
|
/**
|
|
36371
36555
|
* Computes the priority of a chain.
|
|
@@ -36377,12 +36561,14 @@ const findChainForSegments = (segments, chains) => {
|
|
|
36377
36561
|
* - /path/to/page
|
|
36378
36562
|
*
|
|
36379
36563
|
* The second one will be given a higher priority because "page" is a fixed segment (vs ":where", a parameter segment).
|
|
36564
|
+
*
|
|
36565
|
+
* A trailing wildcard is not counted.
|
|
36380
36566
|
*/
|
|
36381
36567
|
const computePriority = (chain) => {
|
|
36382
36568
|
let score = 1;
|
|
36383
36569
|
let level = 1;
|
|
36384
36570
|
for (const route of chain) {
|
|
36385
|
-
for (const segment of route.segments) {
|
|
36571
|
+
for (const segment of withoutWildcard(route.segments)) {
|
|
36386
36572
|
if (segment[0] === ':') {
|
|
36387
36573
|
score += Math.pow(1, level);
|
|
36388
36574
|
}
|
|
@@ -36404,6 +36590,12 @@ class RouterSegments {
|
|
|
36404
36590
|
}
|
|
36405
36591
|
return '';
|
|
36406
36592
|
}
|
|
36593
|
+
/** Consumes and returns the remaining non empty segments. */
|
|
36594
|
+
rest() {
|
|
36595
|
+
const rest = this.segments.filter((s) => s !== '');
|
|
36596
|
+
this.segments = [];
|
|
36597
|
+
return rest;
|
|
36598
|
+
}
|
|
36407
36599
|
}
|
|
36408
36600
|
|
|
36409
36601
|
const readProp = (el, prop) => {
|
|
@@ -42818,11 +43010,11 @@ class ToolbarTitle {
|
|
|
42818
43010
|
render() {
|
|
42819
43011
|
const mode = getIonMode$1(this);
|
|
42820
43012
|
const size = this.getSize();
|
|
42821
|
-
return (hAsync(Host, { key: '
|
|
43013
|
+
return (hAsync(Host, { key: 'c5f0b913ff0a22d9bf02da48a313a613c2ac8fe7', class: createColorClasses$1(this.color, {
|
|
42822
43014
|
[mode]: true,
|
|
42823
43015
|
[`title-${size}`]: true,
|
|
42824
|
-
'title-rtl':
|
|
42825
|
-
}) }, hAsync("div", { key: '
|
|
43016
|
+
'title-rtl': document.dir === 'rtl',
|
|
43017
|
+
}) }, hAsync("div", { key: '5253b9e39fb764bfe1e57370719139f8a83e9904', class: "toolbar-title" }, hAsync("slot", { key: 'e38b1eccb0175c36f8cab211aee7ce4d61fc9035' }))));
|
|
42826
43018
|
}
|
|
42827
43019
|
get el() { return getElement(this); }
|
|
42828
43020
|
static get watchers() { return {
|
|
@@ -43310,9 +43502,9 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43310
43502
|
const TRANSFORM = 'transform';
|
|
43311
43503
|
const CENTER = '0%';
|
|
43312
43504
|
const OFF_OPACITY = 0.8;
|
|
43313
|
-
const
|
|
43314
|
-
const OFF_RIGHT =
|
|
43315
|
-
const OFF_LEFT =
|
|
43505
|
+
const isRTL = navEl.ownerDocument.dir === 'rtl';
|
|
43506
|
+
const OFF_RIGHT = isRTL ? '-99.5%' : '99.5%';
|
|
43507
|
+
const OFF_LEFT = isRTL ? '33%' : '-33%';
|
|
43316
43508
|
const enteringEl = opts.enteringEl;
|
|
43317
43509
|
const leavingEl = opts.leavingEl;
|
|
43318
43510
|
const backDirection = opts.direction === 'back';
|
|
@@ -43377,7 +43569,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43377
43569
|
}
|
|
43378
43570
|
}
|
|
43379
43571
|
const enteringContentHasLargeTitle = enteringEl.querySelector('ion-header.header-collapse-condense');
|
|
43380
|
-
const { forward, backward } = createLargeTitleTransition(rootAnimation,
|
|
43572
|
+
const { forward, backward } = createLargeTitleTransition(rootAnimation, isRTL, backDirection, enteringEl, leavingEl);
|
|
43381
43573
|
enteringToolBarEls.forEach((enteringToolBarEl) => {
|
|
43382
43574
|
const enteringToolBar = createAnimation();
|
|
43383
43575
|
enteringToolBar.addElement(enteringToolBarEl);
|
|
@@ -43441,7 +43633,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43441
43633
|
enteringToolBarBg.fromTo(OPACITY, 0.01, 'var(--opacity)');
|
|
43442
43634
|
}
|
|
43443
43635
|
else {
|
|
43444
|
-
enteringToolBarBg.fromTo('transform',
|
|
43636
|
+
enteringToolBarBg.fromTo('transform', isRTL ? 'translateX(-100%)' : 'translateX(100%)', 'translateX(0px)');
|
|
43445
43637
|
}
|
|
43446
43638
|
// forward direction, entering page has a back button
|
|
43447
43639
|
if (!forward) {
|
|
@@ -43451,7 +43643,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43451
43643
|
const enteringBackBtnText = createAnimation();
|
|
43452
43644
|
enteringBackBtnText
|
|
43453
43645
|
.addElement(shadow(backButtonEl).querySelector('.button-text')) // REVIEW
|
|
43454
|
-
.fromTo(`transform`,
|
|
43646
|
+
.fromTo(`transform`, isRTL ? 'translateX(-100px)' : 'translateX(100px)', 'translateX(0px)');
|
|
43455
43647
|
enteringToolBar.addAnimation(enteringBackBtnText);
|
|
43456
43648
|
}
|
|
43457
43649
|
}
|
|
@@ -43474,7 +43666,7 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43474
43666
|
// leaving content, back direction
|
|
43475
43667
|
leavingContent
|
|
43476
43668
|
.beforeClearStyles([OPACITY])
|
|
43477
|
-
.fromTo('transform', `translateX(${CENTER})`,
|
|
43669
|
+
.fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)');
|
|
43478
43670
|
const leavingPage = getIonPageElement(leavingEl);
|
|
43479
43671
|
rootAnimation.afterAddWrite(() => {
|
|
43480
43672
|
if (rootAnimation.getDirection() === 'normal') {
|
|
@@ -43554,10 +43746,10 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43554
43746
|
if (!inactiveHeader) {
|
|
43555
43747
|
// leaving toolbar, back direction
|
|
43556
43748
|
leavingTitle
|
|
43557
|
-
.fromTo('transform', `translateX(${CENTER})`,
|
|
43749
|
+
.fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)')
|
|
43558
43750
|
.fromTo(OPACITY, 0.99, 0);
|
|
43559
43751
|
}
|
|
43560
|
-
leavingToolBarItems.fromTo('transform', `translateX(${CENTER})`,
|
|
43752
|
+
leavingToolBarItems.fromTo('transform', `translateX(${CENTER})`, isRTL ? 'translateX(-100%)' : 'translateX(100%)');
|
|
43561
43753
|
leavingToolBarBg.beforeClearStyles([OPACITY, 'transform']);
|
|
43562
43754
|
// leaving toolbar, back direction, and there's no entering toolbar
|
|
43563
43755
|
// should just slide out, no fading out
|
|
@@ -43566,13 +43758,13 @@ const iosTransitionAnimation = (navEl, opts) => {
|
|
|
43566
43758
|
leavingToolBarBg.fromTo(OPACITY, 'var(--opacity)', 0);
|
|
43567
43759
|
}
|
|
43568
43760
|
else {
|
|
43569
|
-
leavingToolBarBg.fromTo('transform', 'translateX(0px)',
|
|
43761
|
+
leavingToolBarBg.fromTo('transform', 'translateX(0px)', isRTL ? 'translateX(-100%)' : 'translateX(100%)');
|
|
43570
43762
|
}
|
|
43571
43763
|
if (backButtonEl && !backward) {
|
|
43572
43764
|
const leavingBackBtnText = createAnimation();
|
|
43573
43765
|
leavingBackBtnText
|
|
43574
43766
|
.addElement(shadow(backButtonEl).querySelector('.button-text')) // REVIEW
|
|
43575
|
-
.fromTo('transform', `translateX(${CENTER})`, `translateX(${(
|
|
43767
|
+
.fromTo('transform', `translateX(${CENTER})`, `translateX(${(isRTL ? -124 : 124) + 'px'})`);
|
|
43576
43768
|
leavingToolBar.addAnimation(leavingBackBtnText);
|
|
43577
43769
|
}
|
|
43578
43770
|
}
|