@ionic/core 7.4.1-nightly.20230918 → 7.4.1-nightly.20230920
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/action-sheet.js +3 -0
- package/components/alert.js +6 -1
- package/components/button.js +2 -0
- package/components/checkbox.js +9 -4
- package/components/icon.js +6 -0
- package/components/input-shims.js +88 -7
- package/components/ion-accordion-group.js +5 -1
- package/components/ion-accordion.js +2 -0
- package/components/ion-breadcrumbs.js +5 -1
- package/components/ion-datetime.js +10 -0
- package/components/ion-fab-list.js +2 -0
- package/components/ion-fab.js +2 -0
- package/components/ion-img.js +2 -0
- package/components/ion-infinite-scroll.js +3 -0
- package/components/ion-input.js +5 -0
- package/components/ion-item-sliding.js +2 -0
- package/components/ion-loading.js +3 -0
- package/components/ion-menu.js +10 -5
- package/components/ion-modal.js +3 -0
- package/components/ion-nav.js +3 -0
- package/components/ion-picker.js +3 -0
- package/components/ion-range.js +39 -5
- package/components/ion-refresher.js +2 -0
- package/components/ion-reorder-group.js +2 -0
- package/components/ion-route-redirect.js +3 -0
- package/components/ion-route.js +4 -0
- package/components/ion-router-outlet.js +2 -0
- package/components/ion-searchbar.js +4 -0
- package/components/ion-segment-button.js +2 -0
- package/components/ion-segment.js +6 -1
- package/components/ion-select.js +5 -0
- package/components/ion-split-pane.js +4 -0
- package/components/ion-tab-bar.js +2 -0
- package/components/ion-tab.js +2 -0
- package/components/ion-textarea.js +4 -0
- package/components/ion-title.js +2 -0
- package/components/ion-toast.js +3 -0
- package/components/ion-toggle.js +2 -0
- package/components/item.js +48 -10
- package/components/label.js +3 -0
- package/components/overlays.js +30 -10
- package/components/picker-column-internal.js +2 -0
- package/components/picker-column.js +2 -0
- package/components/popover.js +4 -0
- package/components/radio-group.js +3 -1
- package/components/radio.js +5 -0
- package/dist/cjs/{app-globals-a63c2a19.js → app-globals-56164d1a.js} +1 -1
- package/dist/cjs/{button-active-0ff8e82c.js → button-active-32f15660.js} +1 -1
- package/dist/cjs/{index-e6416850.js → index-5121bb90.js} +1 -1
- package/dist/cjs/{index-184fdd62.js → index-6f887430.js} +44 -14
- package/dist/cjs/{index-be8a2ab9.js → index-b183138a.js} +3 -3
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/{input-shims-f8569707.js → input-shims-da7dc0de.js} +92 -12
- package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
- package/dist/cjs/ion-alert.cjs.entry.js +4 -4
- package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.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 +2 -2
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +8 -6
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
- 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 +2 -2
- package/dist/cjs/ion-input.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +37 -10
- package/dist/cjs/ion-loading.cjs.entry.js +4 -4
- package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +5 -5
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-range.cjs.entry.js +34 -7
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +4 -4
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/{ionic-global-6d5d27b5.js → ionic-global-14a0604b.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-80582b44.js → ios.transition-4b93903d.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-eeca9fb5.js → md.transition-79f3a215.js} +2 -2
- package/dist/cjs/{overlays-c78a0148.js → overlays-d3a13e61.js} +33 -13
- package/dist/cjs/{status-tap-cc4c6539.js → status-tap-e2e45ff8.js} +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/checkbox/checkbox.js +6 -4
- package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +17 -0
- package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +17 -0
- package/dist/collection/components/item/item.ios.css +4 -0
- package/dist/collection/components/item/item.js +43 -7
- package/dist/collection/components/item/item.md.css +4 -0
- package/dist/collection/components/menu/menu.ios.css +20 -12
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu/menu.md.css +20 -12
- package/dist/collection/components/menu/test/safe-area/menu.e2e.js +87 -0
- package/dist/collection/components/radio/test/item/radio.e2e.js +23 -0
- package/dist/collection/components/range/range.ios.css +14 -0
- package/dist/collection/components/range/range.js +30 -3
- package/dist/collection/components/range/range.md.css +14 -0
- package/dist/collection/components/range/test/item/range.e2e.js +11 -0
- package/dist/collection/components/select/test/basic/select.e2e.js +21 -0
- package/dist/collection/components/toggle/test/item/toggle.e2e.js +28 -0
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +86 -4
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -3
- package/dist/collection/utils/overlays.js +29 -9
- package/dist/docs.json +2 -2
- package/dist/esm/{app-globals-c7886b40.js → app-globals-8ae762aa.js} +1 -1
- package/dist/esm/{button-active-b76ae4ec.js → button-active-513e9fff.js} +1 -1
- package/dist/esm/{index-adfb2000.js → index-2d388930.js} +44 -14
- package/dist/esm/{index-48f5e259.js → index-61bddc90.js} +1 -1
- package/dist/esm/{index-01839411.js → index-87684bba.js} +3 -3
- package/dist/esm/index.js +7 -7
- package/dist/esm/{input-shims-af993f05.js → input-shims-d78a3c77.js} +88 -8
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +4 -4
- package/dist/esm/ion-alert.entry.js +4 -4
- package/dist/esm/ion-app_8.entry.js +5 -5
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +2 -2
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +8 -6
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- 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 +2 -2
- package/dist/esm/ion-input.entry.js +2 -2
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +37 -10
- package/dist/esm/ion-loading.entry.js +4 -4
- package/dist/esm/ion-menu_3.entry.js +7 -7
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav_2.entry.js +3 -3
- package/dist/esm/ion-picker-column-internal.entry.js +2 -2
- package/dist/esm/ion-picker-internal.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +5 -5
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +2 -2
- package/dist/esm/ion-range.entry.js +34 -7
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +3 -3
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +4 -4
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/{ionic-global-9080266a.js → ionic-global-b3fc28dd.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-f43871cd.js → ios.transition-81e1aed6.js} +2 -2
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-12d21ad0.js → md.transition-5becd8b5.js} +2 -2
- package/dist/esm/{overlays-4565894b.js → overlays-8fc6656c.js} +31 -11
- package/dist/esm/{status-tap-121c711d.js → status-tap-c5af0dba.js} +1 -1
- package/dist/esm-es5/app-globals-8ae762aa.js +4 -0
- package/dist/esm-es5/{button-active-b76ae4ec.js → button-active-513e9fff.js} +1 -1
- package/dist/esm-es5/{index-adfb2000.js → index-2d388930.js} +1 -1
- package/dist/esm-es5/{index-48f5e259.js → index-61bddc90.js} +1 -1
- package/dist/esm-es5/{index-01839411.js → index-87684bba.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-d78a3c77.js +4 -0
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-back-button.entry.js +1 -1
- package/dist/esm-es5/ion-backdrop.entry.js +1 -1
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-card_5.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-chip.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-fab_3.entry.js +1 -1
- package/dist/esm-es5/ion-img.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
- package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment_2.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/{ionic-global-9080266a.js → ionic-global-b3fc28dd.js} +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-f43871cd.js → ios.transition-81e1aed6.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-12d21ad0.js → md.transition-5becd8b5.js} +1 -1
- package/dist/esm-es5/overlays-8fc6656c.js +4 -0
- package/dist/esm-es5/{status-tap-121c711d.js → status-tap-c5af0dba.js} +1 -1
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/ionic.js +1 -1
- package/dist/ionic/{p-5fc777e6.system.js → p-00aed720.system.js} +1 -1
- package/dist/ionic/{p-a033a91d.system.entry.js → p-03e2e541.system.entry.js} +1 -1
- package/dist/ionic/{p-59b40b60.entry.js → p-04ef1ba6.entry.js} +1 -1
- package/dist/ionic/{p-2b0ecc04.entry.js → p-05f10762.entry.js} +1 -1
- package/dist/ionic/{p-3bf120f8.system.entry.js → p-08c5b9f4.system.entry.js} +1 -1
- package/dist/ionic/p-09e15a2a.system.entry.js +4 -0
- package/dist/ionic/p-0bd3cc92.entry.js +4 -0
- package/dist/ionic/{p-57847936.entry.js → p-116641fe.entry.js} +1 -1
- package/dist/ionic/{p-cd002251.entry.js → p-13a91505.entry.js} +1 -1
- package/dist/ionic/p-13ce151b.entry.js +4 -0
- package/dist/ionic/{p-6ccffb74.system.entry.js → p-1a36bf45.system.entry.js} +1 -1
- package/dist/ionic/{p-1916030e.entry.js → p-1bce805b.entry.js} +1 -1
- package/dist/ionic/{p-46058a1e.system.entry.js → p-1c406ee0.system.entry.js} +1 -1
- package/dist/ionic/{p-42e0558f.entry.js → p-20e5eb3e.entry.js} +1 -1
- package/dist/ionic/{p-3d5a6d14.system.js → p-2309dba2.system.js} +1 -1
- package/dist/ionic/{p-aa702daf.entry.js → p-270aa06b.entry.js} +1 -1
- package/dist/ionic/{p-9eced28c.entry.js → p-27614d55.entry.js} +1 -1
- package/dist/ionic/{p-c7ce7e18.entry.js → p-327fc1bf.entry.js} +1 -1
- package/dist/ionic/p-33630008.system.entry.js +4 -0
- package/dist/ionic/{p-8bcd482b.entry.js → p-3730f493.entry.js} +1 -1
- package/dist/ionic/{p-95188051.system.entry.js → p-37456282.system.entry.js} +1 -1
- package/dist/ionic/{p-07656a8a.entry.js → p-39715fcf.entry.js} +1 -1
- package/dist/ionic/{p-f62bed60.entry.js → p-3ae2faf0.entry.js} +1 -1
- package/dist/ionic/{p-fa8fc77b.system.entry.js → p-3af01ae0.system.entry.js} +1 -1
- package/dist/ionic/p-3cbcb899.entry.js +4 -0
- package/dist/ionic/{p-9e8727d6.entry.js → p-3e5676b7.entry.js} +1 -1
- package/dist/ionic/p-40e16caa.system.entry.js +4 -0
- package/dist/ionic/{p-48d378cf.entry.js → p-42a7b112.entry.js} +1 -1
- package/dist/ionic/{p-e239ab05.system.entry.js → p-4616f20a.system.entry.js} +1 -1
- package/dist/ionic/{p-4e1a58c6.system.entry.js → p-486b567b.system.entry.js} +1 -1
- package/dist/ionic/{p-dfee12f6.entry.js → p-4912b933.entry.js} +1 -1
- package/dist/ionic/{p-3d575698.system.entry.js → p-4a1ac160.system.entry.js} +1 -1
- package/dist/ionic/{p-b052b578.entry.js → p-4eab1bb4.entry.js} +1 -1
- package/dist/ionic/{p-264b5dd9.system.entry.js → p-53bbd357.system.entry.js} +1 -1
- package/dist/ionic/{p-9b53c813.entry.js → p-55b99166.entry.js} +1 -1
- package/dist/ionic/{p-e3ca182a.entry.js → p-568fec78.entry.js} +1 -1
- package/dist/ionic/{p-9be96bf3.system.entry.js → p-5c8c9748.system.entry.js} +1 -1
- package/dist/ionic/{p-d57e8b06.js → p-5e2dc8e0.js} +1 -1
- package/dist/ionic/{p-3c325277.js → p-5e43aa8b.js} +1 -1
- package/dist/ionic/{p-810f1bc9.system.entry.js → p-5e84b718.system.entry.js} +1 -1
- package/dist/ionic/{p-60f22efc.system.entry.js → p-60838ce3.system.entry.js} +1 -1
- package/dist/ionic/{p-5080e623.system.entry.js → p-62428e04.system.entry.js} +1 -1
- package/dist/ionic/{p-516421e2.system.entry.js → p-626f7142.system.entry.js} +1 -1
- package/dist/ionic/{p-a8270ae8.system.entry.js → p-63a73b69.system.entry.js} +1 -1
- package/dist/ionic/{p-5163baf4.system.entry.js → p-6522a762.system.entry.js} +1 -1
- package/dist/ionic/{p-a037b6d5.system.entry.js → p-65a4c12f.system.entry.js} +1 -1
- package/dist/ionic/{p-563068af.js → p-6b7e74ba.js} +1 -1
- package/dist/ionic/{p-6eb7b33c.system.entry.js → p-6ba07931.system.entry.js} +1 -1
- package/dist/ionic/{p-c8c0d58a.system.entry.js → p-6bbf2815.system.entry.js} +1 -1
- package/dist/ionic/{p-74834696.system.entry.js → p-6bc9c436.system.entry.js} +1 -1
- package/dist/ionic/{p-ec344ed1.system.entry.js → p-6ca0e4b2.system.entry.js} +1 -1
- package/dist/ionic/p-6edbc09b.system.js +4 -0
- package/dist/ionic/{p-4446e19f.system.entry.js → p-700a2cb1.system.entry.js} +1 -1
- package/dist/ionic/p-70ab8b73.js +5 -0
- package/dist/ionic/{p-52edd6b0.entry.js → p-7129d04e.entry.js} +1 -1
- package/dist/ionic/p-72a1cbc7.js +4 -0
- package/dist/ionic/{p-2e5930dd.system.js → p-73f50e29.system.js} +1 -1
- package/dist/ionic/{p-204fb8f0.system.entry.js → p-76e8336d.system.entry.js} +1 -1
- package/dist/ionic/p-78a293a5.js +4 -0
- package/dist/ionic/p-7a3caa4e.system.js +4 -0
- package/dist/ionic/{p-32983529.system.entry.js → p-7dc0ee11.system.entry.js} +1 -1
- package/dist/ionic/{p-ab051966.entry.js → p-7e46b6ab.entry.js} +1 -1
- package/dist/ionic/p-7e9e16bf.system.entry.js +4 -0
- package/dist/ionic/{p-6276ba2f.system.entry.js → p-82da795c.system.entry.js} +1 -1
- package/dist/ionic/{p-9f3ad626.system.entry.js → p-82f58c25.system.entry.js} +1 -1
- package/dist/ionic/{p-5df94bf8.entry.js → p-83b7bbf9.entry.js} +1 -1
- package/dist/ionic/{p-ec7ff98b.entry.js → p-88ad9cb6.entry.js} +1 -1
- package/dist/ionic/{p-fdfc7b98.entry.js → p-8b79baf0.entry.js} +1 -1
- package/dist/ionic/{p-5260588f.system.entry.js → p-8e28945a.system.entry.js} +1 -1
- package/dist/ionic/p-8fdd4a2f.system.js +4 -0
- package/dist/ionic/{p-49f2eaa6.entry.js → p-90d892fd.entry.js} +1 -1
- package/dist/ionic/{p-2441ba84.system.js → p-91546be9.system.js} +1 -1
- package/dist/ionic/{p-a122ecd0.system.js → p-918d5f19.system.js} +1 -1
- package/dist/ionic/{p-ff3d728d.system.js → p-93616477.system.js} +1 -1
- package/dist/ionic/{p-629b0629.js → p-972763df.js} +1 -1
- package/dist/ionic/p-9f2e0db9.js +4 -0
- package/dist/ionic/{p-c2d6088f.entry.js → p-a1a2dd4d.entry.js} +1 -1
- package/dist/ionic/{p-c005eb67.system.entry.js → p-a6d8476b.system.entry.js} +1 -1
- package/dist/ionic/{p-28d8b87b.entry.js → p-a720dc73.entry.js} +1 -1
- package/dist/ionic/{p-84084b75.entry.js → p-a8d33949.entry.js} +1 -1
- package/dist/ionic/{p-70f4fbac.entry.js → p-ab7f8f4c.entry.js} +1 -1
- package/dist/ionic/{p-26276eb7.system.entry.js → p-abf426cd.system.entry.js} +1 -1
- package/dist/ionic/{p-9fccec52.system.js → p-b098f738.system.js} +1 -1
- package/dist/ionic/{p-eb91aee6.entry.js → p-b0dd4f33.entry.js} +1 -1
- package/dist/ionic/p-b132c2c0.system.js +4 -0
- package/dist/ionic/{p-b453b38d.entry.js → p-b49fe110.entry.js} +1 -1
- package/dist/ionic/{p-b703ebeb.system.entry.js → p-b5637aeb.system.entry.js} +1 -1
- package/dist/ionic/p-b95fd3c6.entry.js +4 -0
- package/dist/ionic/{p-ff0611e6.system.entry.js → p-be321bb6.system.entry.js} +1 -1
- package/dist/ionic/{p-7474a472.system.entry.js → p-bf8224f4.system.entry.js} +1 -1
- package/dist/ionic/{p-0dbfa45f.entry.js → p-bf9b1560.entry.js} +1 -1
- package/dist/ionic/{p-98bfaff3.system.entry.js → p-bfac43d7.system.entry.js} +1 -1
- package/dist/ionic/{p-574411f2.system.entry.js → p-c4d08d6d.system.entry.js} +1 -1
- package/dist/ionic/{p-d8d30fd1.system.entry.js → p-c5729044.system.entry.js} +1 -1
- package/dist/ionic/{p-07f5e286.entry.js → p-c7fca267.entry.js} +1 -1
- package/dist/ionic/{p-041ac2c3.entry.js → p-cc3aa152.entry.js} +1 -1
- package/dist/ionic/{p-6dff4431.entry.js → p-cd12dcd9.entry.js} +1 -1
- package/dist/ionic/{p-d0d09178.system.entry.js → p-cd675d89.system.entry.js} +1 -1
- package/dist/ionic/{p-ef8a8827.system.entry.js → p-ce24ddd7.system.entry.js} +1 -1
- package/dist/ionic/{p-b3f6f321.js → p-ce7a651e.js} +1 -1
- package/dist/ionic/{p-5e549223.system.js → p-d4cea1ba.system.js} +1 -1
- package/dist/ionic/{p-765e6339.entry.js → p-d8b2c214.entry.js} +1 -1
- package/dist/ionic/{p-2ac2278e.system.entry.js → p-de0f1af2.system.entry.js} +1 -1
- package/dist/ionic/{p-5a9dc764.system.entry.js → p-de676d36.system.entry.js} +1 -1
- package/dist/ionic/{p-22e92b06.system.entry.js → p-df699a02.system.entry.js} +1 -1
- package/dist/ionic/{p-99a3df5c.entry.js → p-e24630f9.entry.js} +1 -1
- package/dist/ionic/{p-3f15f60b.entry.js → p-e57a38f3.entry.js} +1 -1
- package/dist/ionic/{p-74ef17ea.system.entry.js → p-e89abe38.system.entry.js} +1 -1
- package/dist/ionic/{p-37c9e295.entry.js → p-ea88031d.entry.js} +1 -1
- package/dist/ionic/{p-47a11fc4.entry.js → p-ebaeeee8.entry.js} +1 -1
- package/dist/ionic/{p-a314559e.system.js → p-ec102360.system.js} +1 -1
- package/dist/ionic/{p-072f99fd.entry.js → p-ee6d9730.entry.js} +1 -1
- package/dist/ionic/{p-bacf09d3.entry.js → p-f0dcf99b.entry.js} +1 -1
- package/dist/ionic/p-f9015336.js +4 -0
- package/dist/ionic/{p-11d0977d.entry.js → p-f920f5ca.entry.js} +1 -1
- package/dist/ionic/p-f978ccd1.js +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +1 -0
- package/dist/types/components/item/item.d.ts +1 -0
- package/dist/types/components/range/range.d.ts +8 -0
- package/dist/types/utils/browser/index.d.ts +16 -1
- package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +1 -1
- package/dist/types/utils/overlays.d.ts +5 -2
- package/hydrate/index.js +128 -40
- package/package.json +2 -2
- package/dist/esm-es5/app-globals-c7886b40.js +0 -4
- package/dist/esm-es5/input-shims-af993f05.js +0 -4
- package/dist/esm-es5/overlays-4565894b.js +0 -4
- package/dist/ionic/p-23ddd787.system.entry.js +0 -4
- package/dist/ionic/p-4531b920.system.js +0 -4
- package/dist/ionic/p-56495958.js +0 -4
- package/dist/ionic/p-6d640b2b.entry.js +0 -4
- package/dist/ionic/p-75d4ceab.js +0 -4
- package/dist/ionic/p-83459b99.entry.js +0 -4
- package/dist/ionic/p-8f7edf3e.js +0 -4
- package/dist/ionic/p-a18eb556.js +0 -5
- package/dist/ionic/p-a533868d.system.js +0 -4
- package/dist/ionic/p-be187db3.entry.js +0 -4
- package/dist/ionic/p-bfee11b2.system.js +0 -4
- package/dist/ionic/p-c68a8814.system.js +0 -4
- package/dist/ionic/p-cc758251.system.entry.js +0 -4
- package/dist/ionic/p-d898dd46.js +0 -4
- package/dist/ionic/p-dacb0258.js +0 -4
- package/dist/ionic/p-ee55302a.system.entry.js +0 -4
- package/dist/ionic/p-f0c28fbd.entry.js +0 -4
- package/dist/ionic/p-fde174d6.system.entry.js +0 -4
package/components/overlays.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
+
import { d as doc } from './index5.js';
|
|
4
5
|
import { b as getIonMode, c as config } from './ionic-global.js';
|
|
5
6
|
import { C as CoreDelegate } from './framework-delegate.js';
|
|
6
7
|
import { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button.js';
|
|
@@ -19,7 +20,7 @@ const createController = (tagName) => {
|
|
|
19
20
|
return dismissOverlay(document, data, role, tagName, id);
|
|
20
21
|
},
|
|
21
22
|
async getTop() {
|
|
22
|
-
return
|
|
23
|
+
return getPresentedOverlay(document, tagName);
|
|
23
24
|
},
|
|
24
25
|
};
|
|
25
26
|
};
|
|
@@ -136,7 +137,7 @@ const focusLastDescendant = (ref, overlay) => {
|
|
|
136
137
|
* Should NOT include: Toast
|
|
137
138
|
*/
|
|
138
139
|
const trapKeyboardFocus = (ev, doc) => {
|
|
139
|
-
const lastOverlay =
|
|
140
|
+
const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
|
|
140
141
|
const target = ev.target;
|
|
141
142
|
/**
|
|
142
143
|
* If no active overlay, ignore this event.
|
|
@@ -291,7 +292,7 @@ const connectListeners = (doc) => {
|
|
|
291
292
|
}, true);
|
|
292
293
|
// handle back-button click
|
|
293
294
|
doc.addEventListener('ionBackButton', (ev) => {
|
|
294
|
-
const lastOverlay =
|
|
295
|
+
const lastOverlay = getPresentedOverlay(doc);
|
|
295
296
|
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
296
297
|
ev.detail.register(OVERLAY_BACK_BUTTON_PRIORITY, () => {
|
|
297
298
|
return lastOverlay.dismiss(undefined, BACKDROP);
|
|
@@ -301,7 +302,7 @@ const connectListeners = (doc) => {
|
|
|
301
302
|
// handle ESC to close overlay
|
|
302
303
|
doc.addEventListener('keydown', (ev) => {
|
|
303
304
|
if (ev.key === 'Escape') {
|
|
304
|
-
const lastOverlay =
|
|
305
|
+
const lastOverlay = getPresentedOverlay(doc);
|
|
305
306
|
if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
|
|
306
307
|
lastOverlay.dismiss(undefined, BACKDROP);
|
|
307
308
|
}
|
|
@@ -310,12 +311,15 @@ const connectListeners = (doc) => {
|
|
|
310
311
|
}
|
|
311
312
|
};
|
|
312
313
|
const dismissOverlay = (doc, data, role, overlayTag, id) => {
|
|
313
|
-
const overlay =
|
|
314
|
+
const overlay = getPresentedOverlay(doc, overlayTag, id);
|
|
314
315
|
if (!overlay) {
|
|
315
316
|
return Promise.reject('overlay does not exist');
|
|
316
317
|
}
|
|
317
318
|
return overlay.dismiss(data, role);
|
|
318
319
|
};
|
|
320
|
+
/**
|
|
321
|
+
* Returns a list of all overlays in the DOM even if they are not presented.
|
|
322
|
+
*/
|
|
319
323
|
const getOverlays = (doc, selector) => {
|
|
320
324
|
if (selector === undefined) {
|
|
321
325
|
selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
|
|
@@ -323,14 +327,24 @@ const getOverlays = (doc, selector) => {
|
|
|
323
327
|
return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
|
|
324
328
|
};
|
|
325
329
|
/**
|
|
326
|
-
* Returns
|
|
330
|
+
* Returns a list of all presented overlays.
|
|
331
|
+
* Inline overlays can exist in the DOM but not be presented,
|
|
332
|
+
* so there are times when we want to exclude those.
|
|
333
|
+
* @param doc The document to find the element within.
|
|
334
|
+
* @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
|
|
335
|
+
*/
|
|
336
|
+
const getPresentedOverlays = (doc, overlayTag) => {
|
|
337
|
+
return getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* Returns a presented overlay element.
|
|
327
341
|
* @param doc The document to find the element within.
|
|
328
342
|
* @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
|
|
329
343
|
* @param id The unique identifier for the overlay instance.
|
|
330
344
|
* @returns The overlay element or `undefined` if no overlay element is found.
|
|
331
345
|
*/
|
|
332
|
-
const
|
|
333
|
-
const overlays =
|
|
346
|
+
const getPresentedOverlay = (doc, overlayTag, id) => {
|
|
347
|
+
const overlays = getPresentedOverlays(doc, overlayTag);
|
|
334
348
|
return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
|
|
335
349
|
};
|
|
336
350
|
/**
|
|
@@ -436,7 +450,13 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
|
|
|
436
450
|
if (!overlay.presented) {
|
|
437
451
|
return false;
|
|
438
452
|
}
|
|
439
|
-
|
|
453
|
+
/**
|
|
454
|
+
* If this is the last visible overlay then
|
|
455
|
+
* we want to re-add the root to the accessibility tree.
|
|
456
|
+
*/
|
|
457
|
+
if (doc !== undefined && getPresentedOverlays(doc).length === 1) {
|
|
458
|
+
setRootAriaHidden(false);
|
|
459
|
+
}
|
|
440
460
|
overlay.presented = false;
|
|
441
461
|
try {
|
|
442
462
|
// Overlay contents should not be clickable during dismiss
|
|
@@ -668,4 +688,4 @@ const createTriggerController = () => {
|
|
|
668
688
|
};
|
|
669
689
|
};
|
|
670
690
|
|
|
671
|
-
export { BACKDROP as B, GESTURE as G, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n,
|
|
691
|
+
export { BACKDROP as B, GESTURE as G, alertController as a, actionSheetController as b, popoverController as c, createDelegateController as d, createTriggerController as e, present as f, dismiss as g, eventMethod as h, isCancel as i, prepareOverlay as j, setOverlayId as k, loadingController as l, modalController as m, focusFirstDescendant as n, getPresentedOverlay as o, pickerController as p, activeAnimations as q, safeCall as s, toastController as t };
|
|
@@ -362,6 +362,8 @@ const PickerColumnInternal = /*@__PURE__*/ proxyCustomElement(class PickerColumn
|
|
|
362
362
|
"isActive": [32],
|
|
363
363
|
"scrollActiveItemIntoView": [64],
|
|
364
364
|
"setValue": [64]
|
|
365
|
+
}, undefined, {
|
|
366
|
+
"value": ["valueChange"]
|
|
365
367
|
}]);
|
|
366
368
|
const PICKER_ITEM_ACTIVE_CLASS = 'picker-item-active';
|
|
367
369
|
const PICKER_ITEM_PART = 'wheel-item';
|
|
@@ -355,6 +355,8 @@ const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp e
|
|
|
355
355
|
}; }
|
|
356
356
|
}, [32, "ion-picker-column", {
|
|
357
357
|
"col": [16]
|
|
358
|
+
}, undefined, {
|
|
359
|
+
"col": ["colChanged"]
|
|
358
360
|
}]);
|
|
359
361
|
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
360
362
|
const DECELERATION_FRICTION = 0.97;
|
package/components/popover.js
CHANGED
|
@@ -1324,6 +1324,10 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
|
|
|
1324
1324
|
"getParentPopover": [64],
|
|
1325
1325
|
"onDidDismiss": [64],
|
|
1326
1326
|
"onWillDismiss": [64]
|
|
1327
|
+
}, undefined, {
|
|
1328
|
+
"trigger": ["onTriggerChange"],
|
|
1329
|
+
"triggerAction": ["onTriggerChange"],
|
|
1330
|
+
"isOpen": ["onIsOpenChange"]
|
|
1327
1331
|
}]);
|
|
1328
1332
|
const LIFECYCLE_MAP = {
|
|
1329
1333
|
ionPopoverDidPresent: 'ionViewDidEnter',
|
|
@@ -150,7 +150,9 @@ const RadioGroup = /*@__PURE__*/ proxyCustomElement(class RadioGroup extends HTM
|
|
|
150
150
|
"allowEmptySelection": [4, "allow-empty-selection"],
|
|
151
151
|
"name": [1],
|
|
152
152
|
"value": [1032]
|
|
153
|
-
}, [[4, "keydown", "onKeydown"]]
|
|
153
|
+
}, [[4, "keydown", "onKeydown"]], {
|
|
154
|
+
"value": ["valueChanged"]
|
|
155
|
+
}]);
|
|
154
156
|
let radioGroupIds = 0;
|
|
155
157
|
function defineCustomElement() {
|
|
156
158
|
if (typeof customElements === "undefined") {
|
package/components/radio.js
CHANGED
|
@@ -208,6 +208,11 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
|
|
|
208
208
|
"buttonTabindex": [32],
|
|
209
209
|
"setFocus": [64],
|
|
210
210
|
"setButtonTabindex": [64]
|
|
211
|
+
}, undefined, {
|
|
212
|
+
"value": ["valueChanged"],
|
|
213
|
+
"checked": ["styleChanged"],
|
|
214
|
+
"color": ["styleChanged"],
|
|
215
|
+
"disabled": ["styleChanged"]
|
|
211
216
|
}]);
|
|
212
217
|
let radioButtonIds = 0;
|
|
213
218
|
function defineCustomElement() {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
const hardwareBackButton = require('./hardware-back-button-b67c8e75.js');
|
|
7
7
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
8
|
-
const ionicGlobal = require('./ionic-global-
|
|
8
|
+
const ionicGlobal = require('./ionic-global-14a0604b.js');
|
|
9
9
|
const animation = require('./animation-2bb33618.js');
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -1976,6 +1976,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
1976
1976
|
* @returns a reference to the same constructor passed in (but now mutated)
|
|
1977
1977
|
*/
|
|
1978
1978
|
const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
1979
|
+
var _a;
|
|
1979
1980
|
if (cmpMeta.$members$) {
|
|
1980
1981
|
if (Cstr.watchers) {
|
|
1981
1982
|
cmpMeta.$watchers$ = Cstr.watchers;
|
|
@@ -2013,7 +2014,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
2013
2014
|
});
|
|
2014
2015
|
if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
|
|
2015
2016
|
const attrNameToPropName = new Map();
|
|
2016
|
-
prototype.attributeChangedCallback = function (attrName,
|
|
2017
|
+
prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
|
|
2017
2018
|
plt.jmp(() => {
|
|
2018
2019
|
const propName = attrNameToPropName.get(attrName);
|
|
2019
2020
|
// In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
|
|
@@ -2061,21 +2062,49 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
2061
2062
|
// `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
|
|
2062
2063
|
return;
|
|
2063
2064
|
}
|
|
2065
|
+
else if (propName == null) {
|
|
2066
|
+
// At this point we should know this is not a "member", so we can treat it like watching an attribute
|
|
2067
|
+
// on a vanilla web component
|
|
2068
|
+
const hostRef = getHostRef(this);
|
|
2069
|
+
const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
|
|
2070
|
+
// We only want to trigger the callback(s) if:
|
|
2071
|
+
// 1. The instance is ready
|
|
2072
|
+
// 2. The watchers are ready
|
|
2073
|
+
// 3. The value has changed
|
|
2074
|
+
if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
|
|
2075
|
+
flags & 128 /* HOST_FLAGS.isWatchReady */ &&
|
|
2076
|
+
newValue !== oldValue) {
|
|
2077
|
+
const instance = hostRef.$lazyInstance$ ;
|
|
2078
|
+
const entry = cmpMeta.$watchers$[attrName];
|
|
2079
|
+
entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
|
|
2080
|
+
if (instance[callbackName] != null) {
|
|
2081
|
+
instance[callbackName].call(instance, newValue, oldValue, attrName);
|
|
2082
|
+
}
|
|
2083
|
+
});
|
|
2084
|
+
}
|
|
2085
|
+
return;
|
|
2086
|
+
}
|
|
2064
2087
|
this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
|
|
2065
2088
|
});
|
|
2066
2089
|
};
|
|
2067
|
-
//
|
|
2068
|
-
//
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2090
|
+
// Create an array of attributes to observe
|
|
2091
|
+
// This list in comprised of all strings used within a `@Watch()` decorator
|
|
2092
|
+
// on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
|
|
2093
|
+
// As such, there is no way to guarantee type-safety here that a user hasn't entered
|
|
2094
|
+
// an invalid attribute.
|
|
2095
|
+
Cstr.observedAttributes = Array.from(new Set([
|
|
2096
|
+
...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
|
|
2097
|
+
...members
|
|
2098
|
+
.filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
|
|
2099
|
+
.map(([propName, m]) => {
|
|
2100
|
+
const attrName = m[1] || propName;
|
|
2101
|
+
attrNameToPropName.set(attrName, propName);
|
|
2102
|
+
if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
|
|
2103
|
+
cmpMeta.$attrsToReflect$.push([propName, attrName]);
|
|
2104
|
+
}
|
|
2105
|
+
return attrName;
|
|
2106
|
+
}),
|
|
2107
|
+
]));
|
|
2079
2108
|
}
|
|
2080
2109
|
}
|
|
2081
2110
|
return Cstr;
|
|
@@ -2307,6 +2336,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2307
2336
|
}
|
|
2308
2337
|
lazyBundles.map((lazyBundle) => {
|
|
2309
2338
|
lazyBundle[1].map((compactMeta) => {
|
|
2339
|
+
var _a;
|
|
2310
2340
|
const cmpMeta = {
|
|
2311
2341
|
$flags$: compactMeta[0],
|
|
2312
2342
|
$tagName$: compactMeta[1],
|
|
@@ -2323,7 +2353,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2323
2353
|
cmpMeta.$attrsToReflect$ = [];
|
|
2324
2354
|
}
|
|
2325
2355
|
{
|
|
2326
|
-
cmpMeta.$watchers$ = {};
|
|
2356
|
+
cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
|
|
2327
2357
|
}
|
|
2328
2358
|
const tagName = cmpMeta.$tagName$;
|
|
2329
2359
|
const HostElement = class extends HTMLElement {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
const index = require('./index-
|
|
6
|
+
const index = require('./index-6f887430.js');
|
|
7
7
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
8
8
|
|
|
9
9
|
const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
|
|
@@ -12,8 +12,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
|
|
|
12
12
|
const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
|
|
13
13
|
const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
|
|
14
14
|
|
|
15
|
-
const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-
|
|
16
|
-
const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-
|
|
15
|
+
const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-4b93903d.js'); });
|
|
16
|
+
const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-79f3a215.js'); });
|
|
17
17
|
// TODO(FW-2832): types
|
|
18
18
|
const transition = (opts) => {
|
|
19
19
|
return new Promise((resolve, reject) => {
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
const animation = require('./animation-2bb33618.js');
|
|
9
|
-
const index = require('./index-
|
|
10
|
-
const ios_transition = require('./ios.transition-
|
|
11
|
-
const md_transition = require('./md.transition-
|
|
9
|
+
const index = require('./index-b183138a.js');
|
|
10
|
+
const ios_transition = require('./ios.transition-4b93903d.js');
|
|
11
|
+
const md_transition = require('./md.transition-79f3a215.js');
|
|
12
12
|
const cubicBezier = require('./cubic-bezier-6b9222ad.js');
|
|
13
13
|
const index$1 = require('./index-0ee995e4.js');
|
|
14
|
-
const ionicGlobal = require('./ionic-global-
|
|
14
|
+
const ionicGlobal = require('./ionic-global-14a0604b.js');
|
|
15
15
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
16
16
|
const config = require('./config-d5882735.js');
|
|
17
|
-
const index$2 = require('./index-
|
|
18
|
-
const overlays = require('./overlays-
|
|
17
|
+
const index$2 = require('./index-5121bb90.js');
|
|
18
|
+
const overlays = require('./overlays-d3a13e61.js');
|
|
19
19
|
require('./index-306a7476.js');
|
|
20
|
-
require('./index-
|
|
20
|
+
require('./index-6f887430.js');
|
|
21
21
|
require('./gesture-controller-b46721be.js');
|
|
22
22
|
require('./hardware-back-button-b67c8e75.js');
|
|
23
23
|
require('./framework-delegate-c0873a6f.js');
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
const index = require('./index-10873539.js');
|
|
6
|
+
const index$1 = require('./index-10873539.js');
|
|
7
7
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
8
8
|
const keyboard = require('./keyboard-fd7db491.js');
|
|
9
|
+
const index = require('./index-306a7476.js');
|
|
9
10
|
require('./index-cc7dfb7c.js');
|
|
10
11
|
require('./capacitor-2ffba62a.js');
|
|
11
|
-
require('./index-306a7476.js');
|
|
12
12
|
|
|
13
13
|
const cloneMap = new WeakMap();
|
|
14
14
|
const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
|
|
@@ -155,11 +155,10 @@ const enableInputBlurring = () => {
|
|
|
155
155
|
};
|
|
156
156
|
|
|
157
157
|
const SCROLL_ASSIST_SPEED = 0.3;
|
|
158
|
-
const getScrollData = (componentEl, contentEl, keyboardHeight) => {
|
|
158
|
+
const getScrollData = (componentEl, contentEl, keyboardHeight, platformHeight) => {
|
|
159
159
|
var _a;
|
|
160
160
|
const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
|
|
161
|
-
return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight,
|
|
162
|
-
);
|
|
161
|
+
return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, platformHeight);
|
|
163
162
|
};
|
|
164
163
|
const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
|
|
165
164
|
// compute input's Y values relative to the body
|
|
@@ -258,6 +257,83 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
|
|
|
258
257
|
* Resize info is available on Capacitor 4+
|
|
259
258
|
*/
|
|
260
259
|
const addScrollPadding = enableScrollPadding && (keyboardResize === undefined || keyboardResize.mode === keyboard.KeyboardResize.None);
|
|
260
|
+
/**
|
|
261
|
+
* This tracks whether or not the keyboard has been
|
|
262
|
+
* presented for a single focused text field. Note
|
|
263
|
+
* that it does not track if the keyboard is open
|
|
264
|
+
* in general such as if the keyboard is open for
|
|
265
|
+
* a different focused text field.
|
|
266
|
+
*/
|
|
267
|
+
let hasKeyboardBeenPresentedForTextField = false;
|
|
268
|
+
/**
|
|
269
|
+
* When adding scroll padding we need to know
|
|
270
|
+
* how much of the viewport the keyboard obscures.
|
|
271
|
+
* We do this by subtracting the keyboard height
|
|
272
|
+
* from the platform height.
|
|
273
|
+
*
|
|
274
|
+
* If we compute this value when switching between
|
|
275
|
+
* inputs then the webview may already be resized.
|
|
276
|
+
* At this point, `win.innerHeight` has already accounted
|
|
277
|
+
* for the keyboard meaning we would then subtract
|
|
278
|
+
* the keyboard height again. This will result in the input
|
|
279
|
+
* being scrolled more than it needs to.
|
|
280
|
+
*/
|
|
281
|
+
const platformHeight = index.win !== undefined ? index.win.innerHeight : 0;
|
|
282
|
+
/**
|
|
283
|
+
* Scroll assist is run when a text field
|
|
284
|
+
* is focused. However, it may need to
|
|
285
|
+
* re-run when the keyboard size changes
|
|
286
|
+
* such that the text field is now hidden
|
|
287
|
+
* underneath the keyboard.
|
|
288
|
+
* This function re-runs scroll assist
|
|
289
|
+
* when that happens.
|
|
290
|
+
*
|
|
291
|
+
* One limitation of this is on a web browser
|
|
292
|
+
* where native keyboard APIs do not have cross-browser
|
|
293
|
+
* support. `ionKeyboardDidShow` relies on the Visual Viewport API.
|
|
294
|
+
* This means that if the keyboard changes but does not change
|
|
295
|
+
* geometry, then scroll assist will not re-run even if
|
|
296
|
+
* the user has scrolled the text field under the keyboard.
|
|
297
|
+
* This is not a problem when running in Cordova/Capacitor
|
|
298
|
+
* because `ionKeyboardDidShow` uses the native events
|
|
299
|
+
* which fire every time the keyboard changes.
|
|
300
|
+
*/
|
|
301
|
+
const keyboardShow = (ev) => {
|
|
302
|
+
/**
|
|
303
|
+
* If the keyboard has not yet been presented
|
|
304
|
+
* for this text field then the text field has just
|
|
305
|
+
* received focus. In that case, the focusin listener
|
|
306
|
+
* will run scroll assist.
|
|
307
|
+
*/
|
|
308
|
+
if (hasKeyboardBeenPresentedForTextField === false) {
|
|
309
|
+
hasKeyboardBeenPresentedForTextField = true;
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Otherwise, the keyboard has already been presented
|
|
314
|
+
* for the focused text field.
|
|
315
|
+
* This means that the keyboard likely changed
|
|
316
|
+
* geometry, and we need to re-run scroll assist.
|
|
317
|
+
* This can happen when the user rotates their device
|
|
318
|
+
* or when they switch keyboards.
|
|
319
|
+
*
|
|
320
|
+
* Make sure we pass in the computed keyboard height
|
|
321
|
+
* rather than the estimated keyboard height.
|
|
322
|
+
*
|
|
323
|
+
* Since the keyboard is already open then we do not
|
|
324
|
+
* need to wait for the webview to resize, so we pass
|
|
325
|
+
* "waitForResize: false".
|
|
326
|
+
*/
|
|
327
|
+
jsSetFocus(componentEl, inputEl, contentEl, footerEl, ev.detail.keyboardHeight, addScrollPadding, disableClonedInput, platformHeight, false);
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* Reset the internal state when the text field loses focus.
|
|
331
|
+
*/
|
|
332
|
+
const focusOut = () => {
|
|
333
|
+
hasKeyboardBeenPresentedForTextField = false;
|
|
334
|
+
index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
335
|
+
componentEl.removeEventListener('focusout', focusOut, true);
|
|
336
|
+
};
|
|
261
337
|
/**
|
|
262
338
|
* When the input is about to receive
|
|
263
339
|
* focus, we need to move it to prevent
|
|
@@ -274,11 +350,15 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
|
|
|
274
350
|
inputEl.removeAttribute(SKIP_SCROLL_ASSIST);
|
|
275
351
|
return;
|
|
276
352
|
}
|
|
277
|
-
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput);
|
|
353
|
+
jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
|
|
354
|
+
index.win === null || index.win === void 0 ? void 0 : index.win.addEventListener('ionKeyboardDidShow', keyboardShow);
|
|
355
|
+
componentEl.addEventListener('focusout', focusOut, true);
|
|
278
356
|
};
|
|
279
357
|
componentEl.addEventListener('focusin', focusIn, true);
|
|
280
358
|
return () => {
|
|
281
359
|
componentEl.removeEventListener('focusin', focusIn, true);
|
|
360
|
+
index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('ionKeyboardDidShow', keyboardShow);
|
|
361
|
+
componentEl.removeEventListener('focusout', focusOut, true);
|
|
282
362
|
};
|
|
283
363
|
};
|
|
284
364
|
/**
|
|
@@ -297,11 +377,11 @@ const setManualFocus = (el) => {
|
|
|
297
377
|
el.setAttribute(SKIP_SCROLL_ASSIST, 'true');
|
|
298
378
|
el.focus();
|
|
299
379
|
};
|
|
300
|
-
const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false) => {
|
|
380
|
+
const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false, platformHeight = 0, waitForResize = true) => {
|
|
301
381
|
if (!contentEl && !footerEl) {
|
|
302
382
|
return;
|
|
303
383
|
}
|
|
304
|
-
const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight);
|
|
384
|
+
const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight, platformHeight);
|
|
305
385
|
if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {
|
|
306
386
|
// the text input is in a safe position that doesn't
|
|
307
387
|
// require it to be scrolled into view, just set focus now
|
|
@@ -353,7 +433,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
353
433
|
window.removeEventListener('ionKeyboardDidShow', scrollContent);
|
|
354
434
|
// scroll the input into place
|
|
355
435
|
if (contentEl) {
|
|
356
|
-
await index.scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
|
|
436
|
+
await index$1.scrollByPoint(contentEl, 0, scrollData.scrollAmount, scrollData.scrollDuration);
|
|
357
437
|
}
|
|
358
438
|
// the scroll view is in the correct position now
|
|
359
439
|
// give the native text input focus
|
|
@@ -374,7 +454,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
374
454
|
window.addEventListener('ionKeyboardDidShow', scrollContent);
|
|
375
455
|
};
|
|
376
456
|
if (contentEl) {
|
|
377
|
-
const scrollEl = await index.getScrollElement(contentEl);
|
|
457
|
+
const scrollEl = await index$1.getScrollElement(contentEl);
|
|
378
458
|
/**
|
|
379
459
|
* scrollData will only consider the amount we need
|
|
380
460
|
* to scroll in order to properly bring the input
|
|
@@ -388,7 +468,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
|
|
|
388
468
|
* bandwidth to become available.
|
|
389
469
|
*/
|
|
390
470
|
const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
|
|
391
|
-
if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
|
|
471
|
+
if (waitForResize && scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
|
|
392
472
|
/**
|
|
393
473
|
* On iOS devices, the system will show a "Passwords" bar above the keyboard
|
|
394
474
|
* after the initial keyboard is shown. This prevents the webview from resizing
|
|
@@ -447,7 +527,7 @@ const startInputShims = async (config, platform) => {
|
|
|
447
527
|
await new Promise((resolve) => helpers.componentOnReady(componentEl, resolve));
|
|
448
528
|
const inputRoot = componentEl.shadowRoot || componentEl;
|
|
449
529
|
const inputEl = inputRoot.querySelector('input') || inputRoot.querySelector('textarea');
|
|
450
|
-
const scrollEl = index.findClosestIonContent(componentEl);
|
|
530
|
+
const scrollEl = index$1.findClosestIonContent(componentEl);
|
|
451
531
|
const footerEl = !scrollEl ? componentEl.closest('ion-footer') : null;
|
|
452
532
|
if (!inputEl) {
|
|
453
533
|
return;
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-6f887430.js');
|
|
9
9
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
10
10
|
const index$1 = require('./index-d8d1fc0b.js');
|
|
11
|
-
const ionicGlobal = require('./ionic-global-
|
|
11
|
+
const ionicGlobal = require('./ionic-global-14a0604b.js');
|
|
12
12
|
const index$2 = require('./index-cc7dfb7c.js');
|
|
13
13
|
|
|
14
14
|
const accordionIosCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}";
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const buttonActive = require('./button-active-
|
|
8
|
+
const index = require('./index-6f887430.js');
|
|
9
|
+
const buttonActive = require('./button-active-32f15660.js');
|
|
10
10
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
11
11
|
const lockController = require('./lock-controller-4ae2eb59.js');
|
|
12
|
-
const overlays = require('./overlays-
|
|
12
|
+
const overlays = require('./overlays-d3a13e61.js');
|
|
13
13
|
const theme = require('./theme-fbc56b3b.js');
|
|
14
|
-
const ionicGlobal = require('./ionic-global-
|
|
14
|
+
const ionicGlobal = require('./ionic-global-14a0604b.js');
|
|
15
15
|
const animation = require('./animation-2bb33618.js');
|
|
16
16
|
require('./haptic-c5f6b4d5.js');
|
|
17
17
|
require('./capacitor-2ffba62a.js');
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
8
|
+
const index = require('./index-6f887430.js');
|
|
9
9
|
const config = require('./config-d5882735.js');
|
|
10
|
-
const buttonActive = require('./button-active-
|
|
10
|
+
const buttonActive = require('./button-active-32f15660.js');
|
|
11
11
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
12
12
|
const lockController = require('./lock-controller-4ae2eb59.js');
|
|
13
|
-
const overlays = require('./overlays-
|
|
13
|
+
const overlays = require('./overlays-d3a13e61.js');
|
|
14
14
|
const theme = require('./theme-fbc56b3b.js');
|
|
15
|
-
const ionicGlobal = require('./ionic-global-
|
|
15
|
+
const ionicGlobal = require('./ionic-global-14a0604b.js');
|
|
16
16
|
const animation = require('./animation-2bb33618.js');
|
|
17
17
|
require('./haptic-c5f6b4d5.js');
|
|
18
18
|
require('./capacitor-2ffba62a.js');
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const ionicGlobal = require('./ionic-global-
|
|
8
|
+
const index = require('./index-6f887430.js');
|
|
9
|
+
const ionicGlobal = require('./ionic-global-14a0604b.js');
|
|
10
10
|
const helpers = require('./helpers-ea4ccbcb.js');
|
|
11
11
|
const dir = require('./dir-f1e0ca26.js');
|
|
12
12
|
const theme = require('./theme-fbc56b3b.js');
|
|
@@ -14,7 +14,7 @@ const index$1 = require('./index-10873539.js');
|
|
|
14
14
|
const keyboardController = require('./keyboard-controller-50beb83a.js');
|
|
15
15
|
const cubicBezier = require('./cubic-bezier-6b9222ad.js');
|
|
16
16
|
const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
|
|
17
|
-
const index$2 = require('./index-
|
|
17
|
+
const index$2 = require('./index-b183138a.js');
|
|
18
18
|
require('./index-cc7dfb7c.js');
|
|
19
19
|
require('./index-306a7476.js');
|
|
20
20
|
require('./keyboard-fd7db491.js');
|
|
@@ -34,7 +34,7 @@ const App = class {
|
|
|
34
34
|
Promise.resolve().then(function () { return require('./index-9f379eaa.js'); }).then((module) => module.startTapClick(ionicGlobal.config));
|
|
35
35
|
}
|
|
36
36
|
if (ionicGlobal.config.getBoolean('statusTap', isHybrid)) {
|
|
37
|
-
Promise.resolve().then(function () { return require('./status-tap-
|
|
37
|
+
Promise.resolve().then(function () { return require('./status-tap-e2e45ff8.js'); }).then((module) => module.startStatusTap());
|
|
38
38
|
}
|
|
39
39
|
if (ionicGlobal.config.getBoolean('inputShims', needInputShims())) {
|
|
40
40
|
/**
|
|
@@ -42,7 +42,7 @@ const App = class {
|
|
|
42
42
|
* platforms proceed into this block.
|
|
43
43
|
*/
|
|
44
44
|
const platform = ionicGlobal.isPlatform(window, 'ios') ? 'ios' : 'android';
|
|
45
|
-
Promise.resolve().then(function () { return require('./input-shims-
|
|
45
|
+
Promise.resolve().then(function () { return require('./input-shims-da7dc0de.js'); }).then((module) => module.startInputShims(ionicGlobal.config, platform));
|
|
46
46
|
}
|
|
47
47
|
const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-b67c8e75.js'); });
|
|
48
48
|
if (ionicGlobal.config.getBoolean('hardwareBackButton', isHybrid)) {
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const index = require('./index-
|
|
9
|
-
const ionicGlobal = require('./ionic-global-
|
|
8
|
+
const index = require('./index-6f887430.js');
|
|
9
|
+
const ionicGlobal = require('./ionic-global-14a0604b.js');
|
|
10
10
|
const theme = require('./theme-fbc56b3b.js');
|
|
11
11
|
|
|
12
12
|
const avatarIosCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}";
|