@ionic/core 8.3.1-dev.11726167750.15400355 → 8.3.1-dev.11726172907.15a1af41
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/animation.js +1 -1
- package/components/button.js +1 -2
- package/components/capacitor.js +1 -1
- package/components/data.js +1 -1
- package/components/focus-visible.js +8 -1
- package/components/index2.js +1 -2
- package/components/index4.js +1 -4
- package/components/index5.js +27 -3
- package/components/index6.js +114 -20
- package/components/index7.js +163 -27
- package/components/input-shims.js +2 -2
- package/components/input.utils.js +1 -2
- package/components/ion-accordion-group.js +1 -2
- package/components/ion-accordion.js +1 -1
- package/components/ion-app.js +6 -75
- package/components/ion-back-button.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-datetime-button.js +1 -2
- package/components/ion-datetime.js +2 -3
- 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-infinite-scroll.js +1 -1
- package/components/ion-input-password-toggle.js +2 -3
- package/components/ion-input.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +1 -2
- package/components/ion-modal.js +2 -4
- package/components/ion-nav.js +1 -2
- package/components/ion-picker-legacy.js +1 -2
- package/components/ion-range.js +2 -3
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-toast.js +1 -3
- package/components/ion-toggle.js +1 -1
- package/components/ionic-global.js +219 -2
- package/components/item.js +1 -1
- package/components/keyboard-controller.js +1 -1
- package/components/notch-controller.js +1 -1
- package/components/overlays.js +1 -4
- package/components/picker-column.js +1 -2
- package/components/popover.js +1 -2
- package/components/status-tap.js +1 -1
- package/dist/cjs/{animation-b4fdf128.js → animation-f43e6366.js} +2 -2
- package/dist/cjs/{app-globals-21afee77.js → app-globals-aa7aec45.js} +1 -1
- package/dist/cjs/{button-active-3f2f60b4.js → button-active-1164881e.js} +2 -2
- package/dist/cjs/{capacitor-c04564bf.js → capacitor-094870c0.js} +3 -3
- package/dist/cjs/{data-21dc0f81.js → data-c6182804.js} +3 -3
- package/dist/cjs/{focus-visible-7a0ce04f.js → focus-visible-ca81ce81.js} +8 -0
- package/dist/cjs/{haptic-f6b37aa3.js → haptic-188baa8e.js} +1 -1
- package/dist/cjs/{index-f05acd21.js → index-23381b18.js} +7 -8
- package/dist/cjs/{index-9509ecad.js → index-60f4c4b4.js} +7 -6
- package/dist/cjs/{index-9cd00dc3.js → index-afc28d19.js} +6 -9
- package/dist/cjs/{index-5b6a7459.js → index-b3550209.js} +2 -2
- package/dist/cjs/{index-73f75efb.js → index-b9e25ecd.js} +19 -13
- package/dist/cjs/index.cjs.js +8 -11
- package/dist/cjs/{input-shims-9e59ef62.js → input-shims-833981ee.js} +16 -16
- package/dist/cjs/{input.utils-611cde0b.js → input.utils-a4020823.js} +3 -4
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -4
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -10
- package/dist/cjs/ion-alert.cjs.entry.js +7 -10
- package/dist/cjs/ion-app_8.cjs.entry.js +21 -91
- 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 +5 -6
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- 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 +7 -8
- package/dist/cjs/ion-datetime_3.cjs.entry.js +94 -97
- 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 -4
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -8
- package/dist/cjs/ion-input.cjs.entry.js +4 -6
- package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +4 -7
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -9
- package/dist/cjs/ion-modal.cjs.entry.js +47 -50
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -4
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column.cjs.entry.js +5 -6
- package/dist/cjs/ion-picker.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +8 -11
- 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 +8 -9
- package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -8
- package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -7
- 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 +4 -7
- 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 +5 -6
- 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 +4 -6
- package/dist/cjs/ion-toast.cjs.entry.js +29 -32
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -5
- package/dist/cjs/ionic-global-4503ea83.js +462 -0
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-dac99bf0.js} +4 -6
- package/dist/cjs/{keyboard-0272231f.js → keyboard-6d170faf.js} +1 -1
- package/dist/cjs/{keyboard-af1bb365.js → keyboard-c79a662b.js} +4 -3
- package/dist/cjs/{keyboard-controller-c05e747a.js → keyboard-controller-a6533765.js} +9 -9
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{md.transition-ededf99f.js → md.transition-65b7c8b6.js} +4 -6
- package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-b33a54ec.js} +3 -3
- package/dist/cjs/{overlays-0123d7d4.js → overlays-44027b72.js} +9 -12
- package/dist/cjs/{status-tap-37681226.js → status-tap-643bbfa4.js} +3 -3
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/app/app.js +5 -75
- package/dist/collection/components/input/input.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +1 -1
- package/dist/collection/global/ionic-global.js +70 -1
- package/dist/collection/utils/focus-visible.js +7 -0
- package/dist/docs.json +108 -108
- package/dist/esm/{animation-eab5a4ca.js → animation-840e1209.js} +1 -1
- package/dist/esm/{app-globals-5dbb61a5.js → app-globals-537d56c1.js} +1 -1
- package/dist/esm/{button-active-f6503382.js → button-active-dba2328e.js} +2 -2
- package/dist/esm/{capacitor-59395cbd.js → capacitor-fcd09564.js} +1 -1
- package/dist/esm/{data-ae11fd43.js → data-8389220e.js} +1 -1
- package/dist/esm/{focus-visible-dd40d69f.js → focus-visible-b960316e.js} +8 -1
- package/dist/esm/{haptic-ac164e4c.js → haptic-6d16c679.js} +1 -1
- package/dist/esm/{index-fe1782b1.js → index-07e10d19.js} +2 -5
- package/dist/esm/{index-79b30591.js → index-3f9b7dcc.js} +2 -1
- package/dist/esm/{index-5cc724f3.js → index-40662748.js} +1 -1
- package/dist/esm/{index-28849c61.js → index-4e02bb5d.js} +19 -13
- package/dist/esm/{index-3ad7f18b.js → index-a4bd9891.js} +4 -5
- package/dist/esm/index.js +8 -11
- package/dist/esm/{input-shims-0314bbe5.js → input-shims-d4681aea.js} +5 -5
- package/dist/esm/{input.utils-09c71bc7.js → input.utils-c7e363b4.js} +1 -2
- package/dist/esm/ion-accordion_2.entry.js +2 -3
- package/dist/esm/ion-action-sheet.entry.js +7 -10
- package/dist/esm/ion-alert.entry.js +7 -10
- package/dist/esm/ion-app_8.entry.js +11 -81
- 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 -3
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +2 -2
- 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 +3 -4
- package/dist/esm/ion-datetime_3.entry.js +8 -11
- 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 -4
- package/dist/esm/ion-input-password-toggle.entry.js +2 -3
- package/dist/esm/ion-input.entry.js +4 -6
- package/dist/esm/ion-item-option_3.entry.js +3 -4
- package/dist/esm/ion-item_8.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +4 -7
- package/dist/esm/ion-menu_3.entry.js +5 -8
- package/dist/esm/ion-modal.entry.js +9 -12
- package/dist/esm/ion-nav_2.entry.js +3 -4
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-picker-column.entry.js +4 -5
- package/dist/esm/ion-picker.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +5 -8
- 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 +3 -4
- package/dist/esm/ion-refresher_2.entry.js +6 -8
- package/dist/esm/ion-reorder_2.entry.js +5 -7
- 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 +4 -7
- 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 +5 -6
- 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 +4 -6
- package/dist/esm/ion-toast.entry.js +4 -7
- package/dist/esm/ion-toggle.entry.js +4 -5
- package/dist/esm/ionic-global-b1979612.js +448 -0
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-e50705d1.js} +4 -6
- package/dist/esm/{keyboard-52278bd7.js → keyboard-630cb801.js} +4 -3
- package/dist/esm/{keyboard-controller-ec5c2bfa.js → keyboard-controller-00b92ab3.js} +2 -2
- package/dist/esm/{keyboard-73175e24.js → keyboard-f89a5eae.js} +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-5106a0d2.js → md.transition-58674b20.js} +4 -6
- package/dist/esm/{notch-controller-55b09e11.js → notch-controller-e45ab374.js} +1 -1
- package/dist/esm/{overlays-9c75ec54.js → overlays-a2dfa4a7.js} +1 -4
- package/dist/esm/{status-tap-f472b09f.js → status-tap-a9f0d61d.js} +3 -3
- package/dist/esm-es5/animation-840e1209.js +4 -0
- package/dist/esm-es5/app-globals-537d56c1.js +4 -0
- package/dist/esm-es5/{button-active-f6503382.js → button-active-dba2328e.js} +1 -1
- package/dist/esm-es5/capacitor-fcd09564.js +4 -0
- package/dist/esm-es5/data-8389220e.js +4 -0
- package/dist/esm-es5/focus-visible-b960316e.js +4 -0
- package/dist/esm-es5/{haptic-ac164e4c.js → haptic-6d16c679.js} +1 -1
- package/dist/esm-es5/index-07e10d19.js +4 -0
- package/dist/esm-es5/index-3f9b7dcc.js +4 -0
- package/dist/esm-es5/index-40662748.js +4 -0
- package/dist/esm-es5/index-4e02bb5d.js +5 -0
- package/dist/esm-es5/index-a4bd9891.js +4 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-d4681aea.js +4 -0
- package/dist/esm-es5/input.utils-c7e363b4.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-password-toggle.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-option.entry.js +1 -1
- package/dist/esm-es5/ion-picker-column.entry.js +1 -1
- package/dist/esm-es5/ion-picker.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-b1979612.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-e50705d1.js +4 -0
- package/dist/esm-es5/keyboard-630cb801.js +4 -0
- package/dist/esm-es5/keyboard-controller-00b92ab3.js +4 -0
- package/dist/esm-es5/{keyboard-73175e24.js → keyboard-f89a5eae.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-58674b20.js +4 -0
- package/dist/esm-es5/notch-controller-e45ab374.js +4 -0
- package/dist/esm-es5/overlays-a2dfa4a7.js +4 -0
- package/dist/esm-es5/status-tap-a9f0d61d.js +4 -0
- package/dist/html.html-data.json +102 -102
- 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-f8c8b9ba.entry.js → p-00c9cfa0.entry.js} +1 -1
- package/dist/ionic/{p-6e85e450.entry.js → p-00cbf542.entry.js} +1 -1
- package/dist/ionic/p-01b0e865.system.js +4 -0
- package/dist/ionic/{p-9146695e.system.js → p-0476b3cc.system.js} +1 -1
- package/dist/ionic/p-073dacf3.entry.js +4 -0
- package/dist/ionic/p-07e807fb.js +4 -0
- package/dist/ionic/p-0a31c7b9.system.entry.js +4 -0
- package/dist/ionic/{p-7243df6f.entry.js → p-0a7a7ab9.entry.js} +1 -1
- package/dist/ionic/{p-93f37ceb.system.entry.js → p-0bee79fc.system.entry.js} +1 -1
- package/dist/ionic/p-0f1ba402.entry.js +4 -0
- package/dist/ionic/{p-9172535c.entry.js → p-11cf4ee1.entry.js} +1 -1
- package/dist/ionic/{p-8d44cf1f.entry.js → p-1253d402.entry.js} +1 -1
- package/dist/ionic/p-16917861.system.js +4 -0
- package/dist/ionic/p-179c573b.system.entry.js +4 -0
- package/dist/ionic/{p-854f9b64.entry.js → p-1c6bb45f.entry.js} +1 -1
- package/dist/ionic/p-20ffa318.entry.js +4 -0
- package/dist/ionic/{p-53854390.entry.js → p-21a0f452.entry.js} +1 -1
- package/dist/ionic/p-23889fd8.entry.js +4 -0
- package/dist/ionic/p-25a2d298.js +4 -0
- package/dist/ionic/p-28b059c3.system.entry.js +4 -0
- package/dist/ionic/p-2d8341d0.system.js +4 -0
- package/dist/ionic/p-2f2fd67f.entry.js +4 -0
- package/dist/ionic/{p-cdb11938.system.entry.js → p-2f8773b2.system.entry.js} +1 -1
- package/dist/ionic/{p-9b6c6302.system.entry.js → p-30c57db4.system.entry.js} +1 -1
- package/dist/ionic/p-31f1eb81.entry.js +4 -0
- package/dist/ionic/{p-973f0b15.system.entry.js → p-3657cf1a.system.entry.js} +1 -1
- package/dist/ionic/p-37fbd57a.system.entry.js +4 -0
- package/dist/ionic/{p-49bc6544.entry.js → p-39166cd5.entry.js} +1 -1
- package/dist/ionic/{p-4a82bd1c.system.entry.js → p-39ed01f6.system.entry.js} +1 -1
- package/dist/ionic/{p-89a0a446.entry.js → p-3eca6ffb.entry.js} +1 -1
- package/dist/ionic/{p-233e6c93.entry.js → p-3ef8ff43.entry.js} +1 -1
- package/dist/ionic/p-4175803c.system.js +4 -0
- package/dist/ionic/p-41ec2afd.entry.js +4 -0
- package/dist/ionic/{p-6817cf42.system.entry.js → p-444c76ee.system.entry.js} +1 -1
- package/dist/ionic/{p-89b61afc.js → p-4525cc2f.js} +1 -1
- package/dist/ionic/p-460070eb.system.js +4 -0
- package/dist/ionic/p-466434d4.system.js +4 -0
- package/dist/ionic/p-46db4410.system.entry.js +4 -0
- package/dist/ionic/{p-06e58c4e.js → p-47c92e81.js} +1 -1
- package/dist/ionic/p-480cfc61.entry.js +4 -0
- package/dist/ionic/p-487a3ae7.system.js +5 -0
- package/dist/ionic/p-4a274d8d.entry.js +4 -0
- package/dist/ionic/p-4b528ed3.js +5 -0
- package/dist/ionic/{p-d60342e3.js → p-4ee57cf5.js} +1 -1
- package/dist/ionic/p-4fbde654.js +4 -0
- package/dist/ionic/p-51b9d14a.js +4 -0
- package/dist/ionic/p-52371477.system.entry.js +4 -0
- package/dist/ionic/p-5328e386.system.entry.js +4 -0
- package/dist/ionic/p-57eb8bf5.entry.js +4 -0
- package/dist/ionic/p-58812aa8.system.entry.js +4 -0
- package/dist/ionic/{p-ab8a2ff1.entry.js → p-5a0f3c6f.entry.js} +1 -1
- package/dist/ionic/{p-b06ac4a5.system.js → p-5b6645a1.system.js} +1 -1
- package/dist/ionic/p-5c456cd2.system.entry.js +4 -0
- package/dist/ionic/p-5e03c97e.system.entry.js +4 -0
- package/dist/ionic/p-5fb843ce.entry.js +4 -0
- package/dist/ionic/p-5fd711d1.entry.js +4 -0
- package/dist/ionic/{p-c7e16491.js → p-60c38dee.js} +1 -1
- package/dist/ionic/{p-293ed6ac.system.entry.js → p-6418a407.system.entry.js} +1 -1
- package/dist/ionic/p-67bb048a.system.entry.js +4 -0
- package/dist/ionic/p-69f80fd3.entry.js +4 -0
- package/dist/ionic/{p-72ffd137.system.entry.js → p-6a95a932.system.entry.js} +1 -1
- package/dist/ionic/{p-1dfc11b3.system.js → p-6c810800.system.js} +1 -1
- package/dist/ionic/p-73216388.entry.js +4 -0
- package/dist/ionic/p-736d36fb.system.js +4 -0
- package/dist/ionic/p-73b45a64.entry.js +4 -0
- package/dist/ionic/{p-a879ecb7.system.entry.js → p-765a2b13.system.entry.js} +1 -1
- package/dist/ionic/{p-003eecb9.entry.js → p-77cda5c7.entry.js} +1 -1
- package/dist/ionic/p-7a86440f.entry.js +4 -0
- package/dist/ionic/{p-00b01a55.system.entry.js → p-7cbcee2c.system.entry.js} +1 -1
- package/dist/ionic/{p-313ccc01.system.entry.js → p-7f85fd7d.system.entry.js} +1 -1
- package/dist/ionic/{p-34b11c24.js → p-809941d0.js} +1 -1
- package/dist/ionic/p-82b38b14.system.js +4 -0
- package/dist/ionic/p-833104fe.system.entry.js +4 -0
- package/dist/ionic/{p-d743e981.js → p-84030740.js} +1 -1
- package/dist/ionic/{p-27281edd.js → p-845c8117.js} +1 -1
- package/dist/ionic/{p-960803fc.system.entry.js → p-84e08e08.system.entry.js} +1 -1
- package/dist/ionic/{p-f88ebc36.entry.js → p-861785a6.entry.js} +1 -1
- package/dist/ionic/p-86b6a057.system.entry.js +4 -0
- package/dist/ionic/p-877dee4e.system.entry.js +4 -0
- package/dist/ionic/{p-3c8e5c23.system.js → p-886a05f9.system.js} +1 -1
- package/dist/ionic/{p-e3e1e3de.entry.js → p-8c13b08d.entry.js} +1 -1
- package/dist/ionic/{p-f687573e.system.js → p-8ff1e95d.system.js} +1 -1
- package/dist/ionic/p-902f1e0d.entry.js +4 -0
- package/dist/ionic/p-90b717c3.entry.js +4 -0
- package/dist/ionic/{p-5e842258.entry.js → p-91459095.entry.js} +1 -1
- package/dist/ionic/p-958d1ddf.entry.js +4 -0
- package/dist/ionic/p-9647f627.system.entry.js +4 -0
- package/dist/ionic/p-969bb0cd.system.entry.js +4 -0
- package/dist/ionic/p-98612ecd.system.entry.js +4 -0
- package/dist/ionic/p-99322726.js +4 -0
- package/dist/ionic/p-9a41931a.system.js +4 -0
- package/dist/ionic/{p-dfb78785.system.js → p-9ced646a.system.js} +1 -1
- package/dist/ionic/{p-92d7a3d1.entry.js → p-9ea9eef2.entry.js} +1 -1
- package/dist/ionic/p-9fa489bf.system.js +4 -0
- package/dist/ionic/p-9fb5d3f0.js +4 -0
- package/dist/ionic/p-a60688ea.system.entry.js +4 -0
- package/dist/ionic/p-a7c80b6e.js +4 -0
- package/dist/ionic/p-a97cc6e0.entry.js +4 -0
- package/dist/ionic/{p-322c5fb4.system.js → p-aa037934.system.js} +1 -1
- package/dist/ionic/p-aa28a06a.system.entry.js +4 -0
- package/dist/ionic/p-ab51df52.js +4 -0
- package/dist/ionic/{p-a93873de.system.js → p-abe01542.system.js} +1 -1
- package/dist/ionic/{p-5da94421.system.js → p-ad4a3c01.system.js} +2 -2
- package/dist/ionic/{p-836d39d4.system.entry.js → p-b6fbbe81.system.entry.js} +1 -1
- package/dist/ionic/{p-6562e0a9.system.entry.js → p-b760b2fa.system.entry.js} +1 -1
- package/dist/ionic/p-b84b226d.entry.js +4 -0
- package/dist/ionic/p-b95e719d.js +4 -0
- package/dist/ionic/p-b9d74da7.system.js +4 -0
- package/dist/ionic/p-bb816352.system.entry.js +4 -0
- package/dist/ionic/{p-372ae7f4.system.js → p-bc088eb6.system.js} +1 -1
- package/dist/ionic/p-bc0d6e7d.system.entry.js +4 -0
- package/dist/ionic/p-bc60a88f.entry.js +4 -0
- package/dist/ionic/{p-2200e26b.entry.js → p-c0e7cab8.entry.js} +1 -1
- package/dist/ionic/{p-16207409.system.entry.js → p-c1c1b3c1.system.entry.js} +1 -1
- package/dist/ionic/{p-9ea607bd.system.js → p-c9525721.system.js} +2 -2
- package/dist/ionic/{p-4a0a4204.system.entry.js → p-ca2083bc.system.entry.js} +1 -1
- package/dist/ionic/{p-fd0cb4ef.entry.js → p-cc35239f.entry.js} +1 -1
- package/dist/ionic/{p-4c8fceb0.entry.js → p-cd6bd33e.entry.js} +1 -1
- package/dist/ionic/p-cf05bb26.entry.js +4 -0
- package/dist/ionic/{p-2ca6eac2.system.entry.js → p-cf7d3a87.system.entry.js} +1 -1
- package/dist/ionic/p-d247bdc6.js +4 -0
- package/dist/ionic/{p-01503bbd.system.entry.js → p-d312edb3.system.entry.js} +1 -1
- package/dist/ionic/p-d32dc2ca.system.entry.js +4 -0
- package/dist/ionic/{p-68c4df55.entry.js → p-d52f8930.entry.js} +1 -1
- package/dist/ionic/{p-fcd71204.system.entry.js → p-d7bd9057.system.entry.js} +1 -1
- package/dist/ionic/{p-8985cdb6.system.js → p-dab508d0.system.js} +1 -1
- package/dist/ionic/{p-773d118d.entry.js → p-ddd6d918.entry.js} +1 -1
- package/dist/ionic/{p-ce705aac.system.entry.js → p-de6fd4fb.system.entry.js} +1 -1
- package/dist/ionic/p-df2f4a29.entry.js +4 -0
- package/dist/ionic/{p-9ece8dcf.entry.js → p-e00617fb.entry.js} +1 -1
- package/dist/ionic/p-e079f4f4.system.entry.js +4 -0
- package/dist/ionic/p-e35fa668.js +4 -0
- package/dist/ionic/p-e44c11d0.entry.js +4 -0
- package/dist/ionic/{p-af999a31.entry.js → p-e4f401d7.entry.js} +1 -1
- package/dist/ionic/p-e6867fc0.js +4 -0
- package/dist/ionic/{p-19ea7bff.system.js → p-eae596b8.system.js} +1 -1
- package/dist/ionic/{p-25928b83.system.entry.js → p-eecf5384.system.entry.js} +1 -1
- package/dist/ionic/p-efd6e0d2.system.entry.js +4 -0
- package/dist/ionic/p-f0e951e5.system.entry.js +4 -0
- package/dist/ionic/{p-bd25d639.system.entry.js → p-f3bc485f.system.entry.js} +1 -1
- package/dist/ionic/{p-772dacba.system.entry.js → p-f41cce45.system.entry.js} +1 -1
- package/dist/ionic/p-f4a57fb7.js +4 -0
- package/dist/ionic/p-f7f11c42.js +4 -0
- package/dist/ionic/p-f8234ebd.js +4 -0
- package/dist/types/components/app/app.d.ts +0 -2
- package/dist/types/global/ionic-global.d.ts +2 -0
- package/dist/types/utils/focus-visible.d.ts +1 -0
- package/hydrate/index.d.ts +4 -4
- package/hydrate/index.js +155 -140
- package/hydrate/index.mjs +155 -140
- package/package.json +3 -3
- package/components/hardware-back-button.js +0 -115
- package/components/index8.js +0 -128
- package/components/index9.js +0 -167
- package/dist/cjs/hardware-back-button-9e8a2c4f.js +0 -122
- package/dist/cjs/index-5915f9b3.js +0 -38
- package/dist/cjs/index-c8d52405.js +0 -10
- package/dist/cjs/ionic-global-d9a8bb5b.js +0 -237
- package/dist/esm/hardware-back-button-06ef3c3e.js +0 -116
- package/dist/esm/index-9b0d46f4.js +0 -34
- package/dist/esm/index-a5d50daf.js +0 -7
- package/dist/esm/ionic-global-c81d82ab.js +0 -231
- package/dist/esm-es5/animation-eab5a4ca.js +0 -4
- package/dist/esm-es5/app-globals-5dbb61a5.js +0 -4
- package/dist/esm-es5/capacitor-59395cbd.js +0 -4
- package/dist/esm-es5/data-ae11fd43.js +0 -4
- package/dist/esm-es5/focus-visible-dd40d69f.js +0 -4
- package/dist/esm-es5/hardware-back-button-06ef3c3e.js +0 -4
- package/dist/esm-es5/index-28849c61.js +0 -5
- package/dist/esm-es5/index-3ad7f18b.js +0 -4
- package/dist/esm-es5/index-5cc724f3.js +0 -4
- package/dist/esm-es5/index-79b30591.js +0 -4
- package/dist/esm-es5/index-9b0d46f4.js +0 -4
- package/dist/esm-es5/index-a5d50daf.js +0 -4
- package/dist/esm-es5/index-fe1782b1.js +0 -4
- package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
- package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
- package/dist/esm-es5/ionic-global-c81d82ab.js +0 -4
- package/dist/esm-es5/ios.transition-4ee1a3af.js +0 -4
- package/dist/esm-es5/keyboard-52278bd7.js +0 -4
- package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +0 -4
- package/dist/esm-es5/md.transition-5106a0d2.js +0 -4
- package/dist/esm-es5/notch-controller-55b09e11.js +0 -4
- package/dist/esm-es5/overlays-9c75ec54.js +0 -4
- package/dist/esm-es5/status-tap-f472b09f.js +0 -4
- package/dist/ionic/p-0303d0f8.js +0 -4
- package/dist/ionic/p-0373d924.system.entry.js +0 -4
- package/dist/ionic/p-0574e87e.js +0 -4
- package/dist/ionic/p-05beda73.entry.js +0 -4
- package/dist/ionic/p-06fee233.js +0 -4
- package/dist/ionic/p-0c06e09b.system.js +0 -4
- package/dist/ionic/p-0fa0c92b.entry.js +0 -4
- package/dist/ionic/p-100b83fd.system.entry.js +0 -4
- package/dist/ionic/p-17474161.system.js +0 -4
- package/dist/ionic/p-176b372f.entry.js +0 -4
- package/dist/ionic/p-1e4371bd.js +0 -4
- package/dist/ionic/p-21cfd4de.entry.js +0 -4
- package/dist/ionic/p-21e5e7e4.js +0 -4
- package/dist/ionic/p-22c020db.system.entry.js +0 -4
- package/dist/ionic/p-25180df3.system.js +0 -5
- package/dist/ionic/p-2690b1de.js +0 -4
- package/dist/ionic/p-2b7827c7.js +0 -4
- package/dist/ionic/p-2b7c93b4.entry.js +0 -4
- package/dist/ionic/p-2c4bdd9d.entry.js +0 -4
- package/dist/ionic/p-2ea1ca4f.system.entry.js +0 -4
- package/dist/ionic/p-3c968c7f.system.entry.js +0 -4
- package/dist/ionic/p-4b0fedb7.system.entry.js +0 -4
- package/dist/ionic/p-521eca2e.entry.js +0 -4
- package/dist/ionic/p-5417b9bb.entry.js +0 -4
- package/dist/ionic/p-5e66bcf2.entry.js +0 -4
- package/dist/ionic/p-69066a53.js +0 -4
- package/dist/ionic/p-6b8893dd.entry.js +0 -4
- package/dist/ionic/p-6d7931cc.system.entry.js +0 -4
- package/dist/ionic/p-7251fed5.entry.js +0 -4
- package/dist/ionic/p-72812e99.js +0 -4
- package/dist/ionic/p-755b27f0.system.entry.js +0 -4
- package/dist/ionic/p-75c0dc65.system.entry.js +0 -4
- package/dist/ionic/p-7740e32c.system.js +0 -4
- package/dist/ionic/p-792919fd.system.js +0 -4
- package/dist/ionic/p-7b30edcc.js +0 -4
- package/dist/ionic/p-7c50965e.entry.js +0 -4
- package/dist/ionic/p-8836d0eb.system.entry.js +0 -4
- package/dist/ionic/p-88e63c7d.js +0 -4
- package/dist/ionic/p-8b6232a6.system.entry.js +0 -4
- package/dist/ionic/p-8ed31163.system.entry.js +0 -4
- package/dist/ionic/p-95823c62.system.entry.js +0 -4
- package/dist/ionic/p-96cc4814.js +0 -4
- package/dist/ionic/p-98871496.system.js +0 -4
- package/dist/ionic/p-9c23044d.entry.js +0 -4
- package/dist/ionic/p-9cc3bcc5.system.entry.js +0 -4
- package/dist/ionic/p-9f3008d4.system.js +0 -4
- package/dist/ionic/p-9fef1364.entry.js +0 -4
- package/dist/ionic/p-a0c88dc2.system.entry.js +0 -4
- package/dist/ionic/p-a15ddedb.system.js +0 -4
- package/dist/ionic/p-a3711608.system.entry.js +0 -4
- package/dist/ionic/p-a41699db.entry.js +0 -4
- package/dist/ionic/p-a440397c.js +0 -4
- package/dist/ionic/p-a4565eb5.system.js +0 -4
- package/dist/ionic/p-a4d51b8d.system.js +0 -4
- package/dist/ionic/p-a69b9fc5.system.js +0 -4
- package/dist/ionic/p-a72fb8a1.system.entry.js +0 -4
- package/dist/ionic/p-a90e2708.system.entry.js +0 -4
- package/dist/ionic/p-abe101da.system.js +0 -4
- package/dist/ionic/p-b0568945.system.entry.js +0 -4
- package/dist/ionic/p-b4c950f8.entry.js +0 -4
- package/dist/ionic/p-b54fc1ae.entry.js +0 -4
- package/dist/ionic/p-b7657e8d.entry.js +0 -4
- package/dist/ionic/p-baffaf8d.system.entry.js +0 -4
- package/dist/ionic/p-bfa2e81c.entry.js +0 -4
- package/dist/ionic/p-c34659b9.entry.js +0 -4
- package/dist/ionic/p-c45bd24c.entry.js +0 -4
- package/dist/ionic/p-c468af8a.system.js +0 -4
- package/dist/ionic/p-c61cc894.js +0 -4
- package/dist/ionic/p-cff5585e.system.entry.js +0 -4
- package/dist/ionic/p-d47265c8.js +0 -4
- package/dist/ionic/p-d6841eac.js +0 -4
- package/dist/ionic/p-d77e12ca.entry.js +0 -4
- package/dist/ionic/p-d836d43e.js +0 -5
- package/dist/ionic/p-da263d8e.entry.js +0 -4
- package/dist/ionic/p-df83e308.system.entry.js +0 -4
- package/dist/ionic/p-e3a5da9d.entry.js +0 -4
- package/dist/ionic/p-e3f13b08.js +0 -4
- package/dist/ionic/p-ecb57d24.system.entry.js +0 -4
- package/dist/ionic/p-ecceeb90.js +0 -4
- package/dist/ionic/p-efaffe74.entry.js +0 -4
- package/dist/ionic/p-f1acf541.system.entry.js +0 -4
- package/dist/ionic/p-f50ae0d5.system.entry.js +0 -4
- package/dist/ionic/p-f9a53abb.system.js +0 -4
- package/dist/ionic/p-ff4b7e40.system.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -126,7 +126,7 @@ const NAMESPACE = 'ionic';
|
|
|
126
126
|
const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
|
|
127
127
|
|
|
128
128
|
/*
|
|
129
|
-
Stencil Hydrate Platform v4.
|
|
129
|
+
Stencil Hydrate Platform v4.21.0 | MIT Licensed | https://stenciljs.com
|
|
130
130
|
*/
|
|
131
131
|
var __defProp = Object.defineProperty;
|
|
132
132
|
var __export = (target, all) => {
|
|
@@ -604,17 +604,19 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
604
604
|
if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
|
|
605
605
|
styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
|
|
606
606
|
}
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
607
|
+
if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
|
|
608
|
+
if (styleContainerNode.nodeName === "HEAD") {
|
|
609
|
+
const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
|
|
610
|
+
const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : document.querySelector("style");
|
|
611
|
+
styleContainerNode.insertBefore(styleElm, referenceNode2);
|
|
612
|
+
} else if ("host" in styleContainerNode) {
|
|
613
|
+
styleContainerNode.prepend(styleElm);
|
|
614
|
+
} else {
|
|
615
|
+
styleContainerNode.append(styleElm);
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
|
|
619
|
+
styleContainerNode.insertBefore(styleElm, null);
|
|
618
620
|
}
|
|
619
621
|
}
|
|
620
622
|
if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
|
|
@@ -706,7 +708,11 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
706
708
|
if (memberName === "list") {
|
|
707
709
|
isProp = false;
|
|
708
710
|
} else if (oldValue == null || elm[memberName] != n) {
|
|
709
|
-
elm
|
|
711
|
+
if (typeof elm.__lookupSetter__(memberName) === "function") {
|
|
712
|
+
elm[memberName] = n;
|
|
713
|
+
} else {
|
|
714
|
+
elm.setAttribute(memberName, n);
|
|
715
|
+
}
|
|
710
716
|
}
|
|
711
717
|
} else {
|
|
712
718
|
elm[memberName] = newValue;
|
|
@@ -2766,6 +2772,55 @@ class Config {
|
|
|
2766
2772
|
}
|
|
2767
2773
|
const config = /*@__PURE__*/ new Config();
|
|
2768
2774
|
|
|
2775
|
+
const win$1 = typeof window !== 'undefined' ? window : undefined;
|
|
2776
|
+
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
2777
|
+
|
|
2778
|
+
/**
|
|
2779
|
+
* CloseWatcher is a newer API that lets
|
|
2780
|
+
* use detect the hardware back button event
|
|
2781
|
+
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
2782
|
+
* However, not every browser supports it yet.
|
|
2783
|
+
*
|
|
2784
|
+
* This needs to be a function so that we can
|
|
2785
|
+
* check the config once it has been set.
|
|
2786
|
+
* Otherwise, this code would be evaluated the
|
|
2787
|
+
* moment this file is evaluated which could be
|
|
2788
|
+
* before the config is set.
|
|
2789
|
+
*/
|
|
2790
|
+
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
|
|
2791
|
+
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
2792
|
+
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
2793
|
+
|
|
2794
|
+
/**
|
|
2795
|
+
* Logs a warning to the console with an Ionic prefix
|
|
2796
|
+
* to indicate the library that is warning the developer.
|
|
2797
|
+
*
|
|
2798
|
+
* @param message - The string message to be logged to the console.
|
|
2799
|
+
*/
|
|
2800
|
+
const printIonWarning = (message, ...params) => {
|
|
2801
|
+
return console.warn(`[Ionic Warning]: ${message}`, ...params);
|
|
2802
|
+
};
|
|
2803
|
+
/*
|
|
2804
|
+
* Logs an error to the console with an Ionic prefix
|
|
2805
|
+
* to indicate the library that is warning the developer.
|
|
2806
|
+
*
|
|
2807
|
+
* @param message - The string message to be logged to the console.
|
|
2808
|
+
* @param params - Additional arguments to supply to the console.error.
|
|
2809
|
+
*/
|
|
2810
|
+
const printIonError = (message, ...params) => {
|
|
2811
|
+
return console.error(`[Ionic Error]: ${message}`, ...params);
|
|
2812
|
+
};
|
|
2813
|
+
/**
|
|
2814
|
+
* Prints an error informing developers that an implementation requires an element to be used
|
|
2815
|
+
* within a specific selector.
|
|
2816
|
+
*
|
|
2817
|
+
* @param el The web component element this is requiring the element.
|
|
2818
|
+
* @param targetSelectors The selector or selectors that were not found.
|
|
2819
|
+
*/
|
|
2820
|
+
const printRequiredElementError = (el, ...targetSelectors) => {
|
|
2821
|
+
return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
|
|
2822
|
+
};
|
|
2823
|
+
|
|
2769
2824
|
const getPlatforms = (win) => setupPlatforms(win);
|
|
2770
2825
|
const isPlatform = (winOrPlatform, platform) => {
|
|
2771
2826
|
if (typeof winOrPlatform === 'string') {
|
|
@@ -3206,36 +3261,6 @@ class Accordion {
|
|
|
3206
3261
|
}
|
|
3207
3262
|
let accordionIds = 0;
|
|
3208
3263
|
|
|
3209
|
-
/**
|
|
3210
|
-
* Logs a warning to the console with an Ionic prefix
|
|
3211
|
-
* to indicate the library that is warning the developer.
|
|
3212
|
-
*
|
|
3213
|
-
* @param message - The string message to be logged to the console.
|
|
3214
|
-
*/
|
|
3215
|
-
const printIonWarning = (message, ...params) => {
|
|
3216
|
-
return console.warn(`[Ionic Warning]: ${message}`, ...params);
|
|
3217
|
-
};
|
|
3218
|
-
/*
|
|
3219
|
-
* Logs an error to the console with an Ionic prefix
|
|
3220
|
-
* to indicate the library that is warning the developer.
|
|
3221
|
-
*
|
|
3222
|
-
* @param message - The string message to be logged to the console.
|
|
3223
|
-
* @param params - Additional arguments to supply to the console.error.
|
|
3224
|
-
*/
|
|
3225
|
-
const printIonError = (message, ...params) => {
|
|
3226
|
-
return console.error(`[Ionic Error]: ${message}`, ...params);
|
|
3227
|
-
};
|
|
3228
|
-
/**
|
|
3229
|
-
* Prints an error informing developers that an implementation requires an element to be used
|
|
3230
|
-
* within a specific selector.
|
|
3231
|
-
*
|
|
3232
|
-
* @param el The web component element this is requiring the element.
|
|
3233
|
-
* @param targetSelectors The selector or selectors that were not found.
|
|
3234
|
-
*/
|
|
3235
|
-
const printRequiredElementError = (el, ...targetSelectors) => {
|
|
3236
|
-
return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
|
|
3237
|
-
};
|
|
3238
|
-
|
|
3239
3264
|
const accordionGroupIosCss = ":host{display:block}:host(.accordion-group-expand-inset){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:16px;margin-bottom:16px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){border-bottom:none}";
|
|
3240
3265
|
var IonAccordionGroupIosStyle0 = accordionGroupIosCss;
|
|
3241
3266
|
|
|
@@ -3474,9 +3499,6 @@ class AccordionGroup {
|
|
|
3474
3499
|
}; }
|
|
3475
3500
|
}
|
|
3476
3501
|
|
|
3477
|
-
const win$1 = typeof window !== 'undefined' ? window : undefined;
|
|
3478
|
-
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
3479
|
-
|
|
3480
3502
|
const getCapacitor = () => {
|
|
3481
3503
|
if (win$1 !== undefined) {
|
|
3482
3504
|
return win$1.Capacitor;
|
|
@@ -4451,22 +4473,6 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
|
|
|
4451
4473
|
}
|
|
4452
4474
|
};
|
|
4453
4475
|
|
|
4454
|
-
/**
|
|
4455
|
-
* CloseWatcher is a newer API that lets
|
|
4456
|
-
* use detect the hardware back button event
|
|
4457
|
-
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
4458
|
-
* However, not every browser supports it yet.
|
|
4459
|
-
*
|
|
4460
|
-
* This needs to be a function so that we can
|
|
4461
|
-
* check the config once it has been set.
|
|
4462
|
-
* Otherwise, this code would be evaluated the
|
|
4463
|
-
* moment this file is evaluated which could be
|
|
4464
|
-
* before the config is set.
|
|
4465
|
-
*/
|
|
4466
|
-
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
|
|
4467
|
-
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
4468
|
-
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
4469
|
-
|
|
4470
4476
|
// TODO(FW-2832): types
|
|
4471
4477
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|
|
4472
4478
|
var _a;
|
|
@@ -7291,6 +7297,84 @@ const buttonClass$2 = (button) => {
|
|
|
7291
7297
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
7292
7298
|
};
|
|
7293
7299
|
|
|
7300
|
+
const ION_FOCUSED = 'ion-focused';
|
|
7301
|
+
const ION_FOCUSABLE = 'ion-focusable';
|
|
7302
|
+
const FOCUS_KEYS = [
|
|
7303
|
+
'Tab',
|
|
7304
|
+
'ArrowDown',
|
|
7305
|
+
'Space',
|
|
7306
|
+
'Escape',
|
|
7307
|
+
' ',
|
|
7308
|
+
'Shift',
|
|
7309
|
+
'Enter',
|
|
7310
|
+
'ArrowLeft',
|
|
7311
|
+
'ArrowRight',
|
|
7312
|
+
'ArrowUp',
|
|
7313
|
+
'Home',
|
|
7314
|
+
'End',
|
|
7315
|
+
];
|
|
7316
|
+
let focusVisibleUtility = null;
|
|
7317
|
+
const initFocusVisibleUtility = () => {
|
|
7318
|
+
if (!focusVisibleUtility) {
|
|
7319
|
+
focusVisibleUtility = startFocusVisible();
|
|
7320
|
+
}
|
|
7321
|
+
return focusVisibleUtility;
|
|
7322
|
+
};
|
|
7323
|
+
const startFocusVisible = (rootEl) => {
|
|
7324
|
+
let currentFocus = [];
|
|
7325
|
+
let keyboardMode = true;
|
|
7326
|
+
const ref = rootEl ? rootEl.shadowRoot : document;
|
|
7327
|
+
const root = rootEl ? rootEl : document.body;
|
|
7328
|
+
const setFocus = (elements) => {
|
|
7329
|
+
currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
|
|
7330
|
+
elements.forEach((el) => el.classList.add(ION_FOCUSED));
|
|
7331
|
+
currentFocus = elements;
|
|
7332
|
+
};
|
|
7333
|
+
const pointerDown = () => {
|
|
7334
|
+
keyboardMode = false;
|
|
7335
|
+
setFocus([]);
|
|
7336
|
+
};
|
|
7337
|
+
const onKeydown = (ev) => {
|
|
7338
|
+
keyboardMode = FOCUS_KEYS.includes(ev.key);
|
|
7339
|
+
if (!keyboardMode) {
|
|
7340
|
+
setFocus([]);
|
|
7341
|
+
}
|
|
7342
|
+
};
|
|
7343
|
+
const onFocusin = (ev) => {
|
|
7344
|
+
if (keyboardMode && ev.composedPath !== undefined) {
|
|
7345
|
+
const toFocus = ev.composedPath().filter((el) => {
|
|
7346
|
+
// TODO(FW-2832): type
|
|
7347
|
+
if (el.classList) {
|
|
7348
|
+
return el.classList.contains(ION_FOCUSABLE);
|
|
7349
|
+
}
|
|
7350
|
+
return false;
|
|
7351
|
+
});
|
|
7352
|
+
setFocus(toFocus);
|
|
7353
|
+
}
|
|
7354
|
+
};
|
|
7355
|
+
const onFocusout = () => {
|
|
7356
|
+
if (ref.activeElement === root) {
|
|
7357
|
+
setFocus([]);
|
|
7358
|
+
}
|
|
7359
|
+
};
|
|
7360
|
+
ref.addEventListener('keydown', onKeydown);
|
|
7361
|
+
ref.addEventListener('focusin', onFocusin);
|
|
7362
|
+
ref.addEventListener('focusout', onFocusout);
|
|
7363
|
+
ref.addEventListener('touchstart', pointerDown, { passive: true });
|
|
7364
|
+
ref.addEventListener('mousedown', pointerDown);
|
|
7365
|
+
const destroy = () => {
|
|
7366
|
+
ref.removeEventListener('keydown', onKeydown);
|
|
7367
|
+
ref.removeEventListener('focusin', onFocusin);
|
|
7368
|
+
ref.removeEventListener('focusout', onFocusout);
|
|
7369
|
+
ref.removeEventListener('touchstart', pointerDown);
|
|
7370
|
+
ref.removeEventListener('mousedown', pointerDown);
|
|
7371
|
+
};
|
|
7372
|
+
return {
|
|
7373
|
+
destroy,
|
|
7374
|
+
setFocus,
|
|
7375
|
+
};
|
|
7376
|
+
};
|
|
7377
|
+
|
|
7294
7378
|
const appCss = "html.plt-mobile ion-app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.plt-mobile ion-app [contenteditable]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}";
|
|
7295
7379
|
var IonAppStyle0 = appCss;
|
|
7296
7380
|
|
|
@@ -7298,8 +7382,6 @@ class App {
|
|
|
7298
7382
|
constructor(hostRef) {
|
|
7299
7383
|
registerInstance(this, hostRef);
|
|
7300
7384
|
}
|
|
7301
|
-
componentDidLoad() {
|
|
7302
|
-
}
|
|
7303
7385
|
/**
|
|
7304
7386
|
* @internal
|
|
7305
7387
|
* Used to set focus on an element that uses `ion-focusable`.
|
|
@@ -7311,13 +7393,12 @@ class App {
|
|
|
7311
7393
|
* presented as a result of keyboard action.)
|
|
7312
7394
|
*/
|
|
7313
7395
|
async setFocus(elements) {
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
}
|
|
7396
|
+
const focusVisible = initFocusVisibleUtility();
|
|
7397
|
+
focusVisible.setFocus(elements);
|
|
7317
7398
|
}
|
|
7318
7399
|
render() {
|
|
7319
7400
|
const mode = getIonMode$1(this);
|
|
7320
|
-
return (hAsync(Host, { key: '
|
|
7401
|
+
return (hAsync(Host, { key: 'b4132f59a7b043db8f7d178a81e7fec6eb1cb0d7', class: {
|
|
7321
7402
|
[mode]: true,
|
|
7322
7403
|
'ion-page': true,
|
|
7323
7404
|
'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
|
|
@@ -9123,77 +9204,6 @@ const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
|
|
|
9123
9204
|
}
|
|
9124
9205
|
};
|
|
9125
9206
|
|
|
9126
|
-
const ION_FOCUSED = 'ion-focused';
|
|
9127
|
-
const ION_FOCUSABLE = 'ion-focusable';
|
|
9128
|
-
const FOCUS_KEYS = [
|
|
9129
|
-
'Tab',
|
|
9130
|
-
'ArrowDown',
|
|
9131
|
-
'Space',
|
|
9132
|
-
'Escape',
|
|
9133
|
-
' ',
|
|
9134
|
-
'Shift',
|
|
9135
|
-
'Enter',
|
|
9136
|
-
'ArrowLeft',
|
|
9137
|
-
'ArrowRight',
|
|
9138
|
-
'ArrowUp',
|
|
9139
|
-
'Home',
|
|
9140
|
-
'End',
|
|
9141
|
-
];
|
|
9142
|
-
const startFocusVisible = (rootEl) => {
|
|
9143
|
-
let currentFocus = [];
|
|
9144
|
-
let keyboardMode = true;
|
|
9145
|
-
const ref = rootEl ? rootEl.shadowRoot : document;
|
|
9146
|
-
const root = rootEl ? rootEl : document.body;
|
|
9147
|
-
const setFocus = (elements) => {
|
|
9148
|
-
currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
|
|
9149
|
-
elements.forEach((el) => el.classList.add(ION_FOCUSED));
|
|
9150
|
-
currentFocus = elements;
|
|
9151
|
-
};
|
|
9152
|
-
const pointerDown = () => {
|
|
9153
|
-
keyboardMode = false;
|
|
9154
|
-
setFocus([]);
|
|
9155
|
-
};
|
|
9156
|
-
const onKeydown = (ev) => {
|
|
9157
|
-
keyboardMode = FOCUS_KEYS.includes(ev.key);
|
|
9158
|
-
if (!keyboardMode) {
|
|
9159
|
-
setFocus([]);
|
|
9160
|
-
}
|
|
9161
|
-
};
|
|
9162
|
-
const onFocusin = (ev) => {
|
|
9163
|
-
if (keyboardMode && ev.composedPath !== undefined) {
|
|
9164
|
-
const toFocus = ev.composedPath().filter((el) => {
|
|
9165
|
-
// TODO(FW-2832): type
|
|
9166
|
-
if (el.classList) {
|
|
9167
|
-
return el.classList.contains(ION_FOCUSABLE);
|
|
9168
|
-
}
|
|
9169
|
-
return false;
|
|
9170
|
-
});
|
|
9171
|
-
setFocus(toFocus);
|
|
9172
|
-
}
|
|
9173
|
-
};
|
|
9174
|
-
const onFocusout = () => {
|
|
9175
|
-
if (ref.activeElement === root) {
|
|
9176
|
-
setFocus([]);
|
|
9177
|
-
}
|
|
9178
|
-
};
|
|
9179
|
-
ref.addEventListener('keydown', onKeydown);
|
|
9180
|
-
ref.addEventListener('focusin', onFocusin);
|
|
9181
|
-
ref.addEventListener('focusout', onFocusout);
|
|
9182
|
-
ref.addEventListener('touchstart', pointerDown, { passive: true });
|
|
9183
|
-
ref.addEventListener('mousedown', pointerDown);
|
|
9184
|
-
const destroy = () => {
|
|
9185
|
-
ref.removeEventListener('keydown', onKeydown);
|
|
9186
|
-
ref.removeEventListener('focusin', onFocusin);
|
|
9187
|
-
ref.removeEventListener('focusout', onFocusout);
|
|
9188
|
-
ref.removeEventListener('touchstart', pointerDown);
|
|
9189
|
-
ref.removeEventListener('mousedown', pointerDown);
|
|
9190
|
-
};
|
|
9191
|
-
return {
|
|
9192
|
-
destroy,
|
|
9193
|
-
setFocus,
|
|
9194
|
-
};
|
|
9195
|
-
};
|
|
9196
|
-
|
|
9197
9207
|
/**
|
|
9198
9208
|
* Returns true if the selected day is equal to the reference day
|
|
9199
9209
|
*/
|
|
@@ -33253,7 +33263,7 @@ exports.hydrateApp = hydrateApp;
|
|
|
33253
33263
|
}
|
|
33254
33264
|
|
|
33255
33265
|
/*
|
|
33256
|
-
Stencil Hydrate Runner v4.
|
|
33266
|
+
Stencil Hydrate Runner v4.21.0 | MIT Licensed | https://stenciljs.com
|
|
33257
33267
|
*/
|
|
33258
33268
|
var __defProp = Object.defineProperty;
|
|
33259
33269
|
var __export = (target, all) => {
|
|
@@ -45234,6 +45244,11 @@ patchPropAttributes(
|
|
|
45234
45244
|
type: "submit"
|
|
45235
45245
|
}
|
|
45236
45246
|
);
|
|
45247
|
+
Object.defineProperty(MockButtonElement.prototype, "form", {
|
|
45248
|
+
get() {
|
|
45249
|
+
return this.hasAttribute("form") ? this.getAttribute("form") : null;
|
|
45250
|
+
}
|
|
45251
|
+
});
|
|
45237
45252
|
var MockImageElement = class extends MockHTMLElement {
|
|
45238
45253
|
constructor(ownerDocument) {
|
|
45239
45254
|
super(ownerDocument, "img");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ionic/core",
|
|
3
|
-
"version": "8.3.1-dev.
|
|
3
|
+
"version": "8.3.1-dev.11726172907.15a1af41",
|
|
4
4
|
"description": "Base components for Ionic",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ionic",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"loader/"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@stencil/core": "4.
|
|
34
|
+
"@stencil/core": "^4.19.2",
|
|
35
35
|
"ionicons": "^7.2.2",
|
|
36
36
|
"tslib": "^2.1.0"
|
|
37
37
|
},
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@rollup/plugin-node-resolve": "^8.4.0",
|
|
49
49
|
"@rollup/plugin-virtual": "^2.0.3",
|
|
50
50
|
"@stencil/angular-output-target": "^0.8.4",
|
|
51
|
-
"@stencil/react-output-target": "0.
|
|
51
|
+
"@stencil/react-output-target": "^0.6.0",
|
|
52
52
|
"@stencil/sass": "^3.0.9",
|
|
53
53
|
"@stencil/vue-output-target": "^0.8.9",
|
|
54
54
|
"@types/jest": "^29.5.6",
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { w as win } from './index5.js';
|
|
5
|
-
import { c as config } from './ionic-global.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* CloseWatcher is a newer API that lets
|
|
9
|
-
* use detect the hardware back button event
|
|
10
|
-
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
11
|
-
* However, not every browser supports it yet.
|
|
12
|
-
*
|
|
13
|
-
* This needs to be a function so that we can
|
|
14
|
-
* check the config once it has been set.
|
|
15
|
-
* Otherwise, this code would be evaluated the
|
|
16
|
-
* moment this file is evaluated which could be
|
|
17
|
-
* before the config is set.
|
|
18
|
-
*/
|
|
19
|
-
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
|
|
20
|
-
/**
|
|
21
|
-
* When hardwareBackButton: false in config,
|
|
22
|
-
* we need to make sure we also block the default
|
|
23
|
-
* webview behavior. If we don't then it will be
|
|
24
|
-
* possible for users to navigate backward while
|
|
25
|
-
* an overlay is still open. Additionally, it will
|
|
26
|
-
* give the appearance that the hardwareBackButton
|
|
27
|
-
* config is not working as the page transition
|
|
28
|
-
* will still happen.
|
|
29
|
-
*/
|
|
30
|
-
const blockHardwareBackButton = () => {
|
|
31
|
-
document.addEventListener('backbutton', () => { }); // eslint-disable-line
|
|
32
|
-
};
|
|
33
|
-
const startHardwareBackButton = () => {
|
|
34
|
-
const doc = document;
|
|
35
|
-
let busy = false;
|
|
36
|
-
const backButtonCallback = () => {
|
|
37
|
-
if (busy) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
let index = 0;
|
|
41
|
-
let handlers = [];
|
|
42
|
-
const ev = new CustomEvent('ionBackButton', {
|
|
43
|
-
bubbles: false,
|
|
44
|
-
detail: {
|
|
45
|
-
register(priority, handler) {
|
|
46
|
-
handlers.push({ priority, handler, id: index++ });
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
doc.dispatchEvent(ev);
|
|
51
|
-
const executeAction = async (handlerRegister) => {
|
|
52
|
-
try {
|
|
53
|
-
if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
|
|
54
|
-
const result = handlerRegister.handler(processHandlers);
|
|
55
|
-
if (result != null) {
|
|
56
|
-
await result;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch (e) {
|
|
61
|
-
console.error(e);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
const processHandlers = () => {
|
|
65
|
-
if (handlers.length > 0) {
|
|
66
|
-
let selectedHandler = {
|
|
67
|
-
priority: Number.MIN_SAFE_INTEGER,
|
|
68
|
-
handler: () => undefined,
|
|
69
|
-
id: -1,
|
|
70
|
-
};
|
|
71
|
-
handlers.forEach((handler) => {
|
|
72
|
-
if (handler.priority >= selectedHandler.priority) {
|
|
73
|
-
selectedHandler = handler;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
busy = true;
|
|
77
|
-
handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
|
|
78
|
-
executeAction(selectedHandler).then(() => (busy = false));
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
processHandlers();
|
|
82
|
-
};
|
|
83
|
-
/**
|
|
84
|
-
* If the CloseWatcher is defined then
|
|
85
|
-
* we don't want to also listen for the native
|
|
86
|
-
* backbutton event otherwise we may get duplicate
|
|
87
|
-
* events firing.
|
|
88
|
-
*/
|
|
89
|
-
if (shouldUseCloseWatcher()) {
|
|
90
|
-
let watcher;
|
|
91
|
-
const configureWatcher = () => {
|
|
92
|
-
watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
|
|
93
|
-
watcher = new win.CloseWatcher();
|
|
94
|
-
/**
|
|
95
|
-
* Once a close request happens
|
|
96
|
-
* the watcher gets destroyed.
|
|
97
|
-
* As a result, we need to re-configure
|
|
98
|
-
* the watcher so we can respond to other
|
|
99
|
-
* close requests.
|
|
100
|
-
*/
|
|
101
|
-
watcher.onclose = () => {
|
|
102
|
-
backButtonCallback();
|
|
103
|
-
configureWatcher();
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
configureWatcher();
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
doc.addEventListener('backbutton', backButtonCallback);
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
113
|
-
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
114
|
-
|
|
115
|
-
export { MENU_BACK_BUTTON_PRIORITY, OVERLAY_BACK_BUTTON_PRIORITY, blockHardwareBackButton, shouldUseCloseWatcher, startHardwareBackButton };
|
package/components/index8.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
-
*/
|
|
4
|
-
import { c as componentOnReady } from './helpers.js';
|
|
5
|
-
import { b as printRequiredElementError } from './index6.js';
|
|
6
|
-
|
|
7
|
-
const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
|
|
8
|
-
const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
|
|
9
|
-
const ION_CONTENT_CLASS_SELECTOR = '.ion-content-scroll-host';
|
|
10
|
-
/**
|
|
11
|
-
* Selector used for implementations reliant on `<ion-content>` for scroll event changes.
|
|
12
|
-
*
|
|
13
|
-
* Developers should use the `.ion-content-scroll-host` selector to target the element emitting
|
|
14
|
-
* scroll events. With virtual scroll implementations this will be the host element for
|
|
15
|
-
* the scroll viewport.
|
|
16
|
-
*/
|
|
17
|
-
const ION_CONTENT_SELECTOR = `${ION_CONTENT_ELEMENT_SELECTOR}, ${ION_CONTENT_CLASS_SELECTOR}`;
|
|
18
|
-
const isIonContent = (el) => el.tagName === ION_CONTENT_TAG_NAME;
|
|
19
|
-
/**
|
|
20
|
-
* Waits for the element host fully initialize before
|
|
21
|
-
* returning the inner scroll element.
|
|
22
|
-
*
|
|
23
|
-
* For `ion-content` the scroll target will be the result
|
|
24
|
-
* of the `getScrollElement` function.
|
|
25
|
-
*
|
|
26
|
-
* For custom implementations it will be the element host
|
|
27
|
-
* or a selector within the host, if supplied through `scrollTarget`.
|
|
28
|
-
*/
|
|
29
|
-
const getScrollElement = async (el) => {
|
|
30
|
-
if (isIonContent(el)) {
|
|
31
|
-
await new Promise((resolve) => componentOnReady(el, resolve));
|
|
32
|
-
return el.getScrollElement();
|
|
33
|
-
}
|
|
34
|
-
return el;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Queries the element matching the selector for IonContent.
|
|
38
|
-
* See ION_CONTENT_SELECTOR for the selector used.
|
|
39
|
-
*/
|
|
40
|
-
const findIonContent = (el) => {
|
|
41
|
-
/**
|
|
42
|
-
* First we try to query the custom scroll host selector in cases where
|
|
43
|
-
* the implementation is using an outer `ion-content` with an inner custom
|
|
44
|
-
* scroll container.
|
|
45
|
-
*/
|
|
46
|
-
const customContentHost = el.querySelector(ION_CONTENT_CLASS_SELECTOR);
|
|
47
|
-
if (customContentHost) {
|
|
48
|
-
return customContentHost;
|
|
49
|
-
}
|
|
50
|
-
return el.querySelector(ION_CONTENT_SELECTOR);
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Queries the closest element matching the selector for IonContent.
|
|
54
|
-
*/
|
|
55
|
-
const findClosestIonContent = (el) => {
|
|
56
|
-
return el.closest(ION_CONTENT_SELECTOR);
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Scrolls to the top of the element. If an `ion-content` is found, it will scroll
|
|
60
|
-
* using the public API `scrollToTop` with a duration.
|
|
61
|
-
*/
|
|
62
|
-
const scrollToTop = (el, durationMs) => {
|
|
63
|
-
if (isIonContent(el)) {
|
|
64
|
-
const content = el;
|
|
65
|
-
return content.scrollToTop(durationMs);
|
|
66
|
-
}
|
|
67
|
-
return Promise.resolve(el.scrollTo({
|
|
68
|
-
top: 0,
|
|
69
|
-
left: 0,
|
|
70
|
-
behavior: durationMs > 0 ? 'smooth' : 'auto',
|
|
71
|
-
}));
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* Scrolls by a specified X/Y distance in the component. If an `ion-content` is found, it will scroll
|
|
75
|
-
* using the public API `scrollByPoint` with a duration.
|
|
76
|
-
*/
|
|
77
|
-
const scrollByPoint = (el, x, y, durationMs) => {
|
|
78
|
-
if (isIonContent(el)) {
|
|
79
|
-
const content = el;
|
|
80
|
-
return content.scrollByPoint(x, y, durationMs);
|
|
81
|
-
}
|
|
82
|
-
return Promise.resolve(el.scrollBy({
|
|
83
|
-
top: y,
|
|
84
|
-
left: x,
|
|
85
|
-
behavior: durationMs > 0 ? 'smooth' : 'auto',
|
|
86
|
-
}));
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Prints an error informing developers that an implementation requires an element to be used
|
|
90
|
-
* within either the `ion-content` selector or the `.ion-content-scroll-host` class.
|
|
91
|
-
*/
|
|
92
|
-
const printIonContentErrorMsg = (el) => {
|
|
93
|
-
return printRequiredElementError(el, ION_CONTENT_ELEMENT_SELECTOR);
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* Several components in Ionic need to prevent scrolling
|
|
97
|
-
* during a gesture (card modal, range, item sliding, etc).
|
|
98
|
-
* Use this utility to account for ion-content and custom content hosts.
|
|
99
|
-
*/
|
|
100
|
-
const disableContentScrollY = (contentEl) => {
|
|
101
|
-
if (isIonContent(contentEl)) {
|
|
102
|
-
const ionContent = contentEl;
|
|
103
|
-
const initialScrollY = ionContent.scrollY;
|
|
104
|
-
ionContent.scrollY = false;
|
|
105
|
-
/**
|
|
106
|
-
* This should be passed into resetContentScrollY
|
|
107
|
-
* so that we can revert ion-content's scrollY to the
|
|
108
|
-
* correct state. For example, if scrollY = false
|
|
109
|
-
* initially, we do not want to enable scrolling
|
|
110
|
-
* when we call resetContentScrollY.
|
|
111
|
-
*/
|
|
112
|
-
return initialScrollY;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
contentEl.style.setProperty('overflow', 'hidden');
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
const resetContentScrollY = (contentEl, initialScrollY) => {
|
|
120
|
-
if (isIonContent(contentEl)) {
|
|
121
|
-
contentEl.scrollY = initialScrollY;
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
contentEl.style.removeProperty('overflow');
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
export { ION_CONTENT_CLASS_SELECTOR as I, findClosestIonContent as a, ION_CONTENT_ELEMENT_SELECTOR as b, scrollByPoint as c, disableContentScrollY as d, findIonContent as f, getScrollElement as g, isIonContent as i, printIonContentErrorMsg as p, resetContentScrollY as r, scrollToTop as s };
|