@ionic/core 8.3.1-dev.11726172907.15a1af41 → 8.3.1-dev.11726241210.1ab7a0ab
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 +2 -1
- package/components/capacitor.js +1 -1
- package/components/data.js +1 -1
- package/components/focus-visible.js +1 -8
- package/components/hardware-back-button.js +115 -0
- package/components/index2.js +2 -1
- package/components/index4.js +4 -1
- package/components/index5.js +3 -27
- package/components/index6.js +20 -114
- package/components/index7.js +27 -163
- package/components/index8.js +128 -0
- package/components/index9.js +167 -0
- package/components/input-shims.js +2 -2
- package/components/input.utils.js +2 -1
- package/components/ion-accordion-group.js +2 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-app.js +75 -6
- package/components/ion-back-button.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-datetime-button.js +2 -1
- package/components/ion-datetime.js +3 -2
- 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 +3 -2
- 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 +2 -1
- package/components/ion-modal.js +4 -2
- package/components/ion-nav.js +2 -1
- package/components/ion-picker-legacy.js +2 -1
- package/components/ion-range.js +3 -2
- 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 +3 -1
- package/components/ion-toggle.js +1 -1
- package/components/ionic-global.js +2 -219
- package/components/item.js +1 -1
- package/components/keyboard-controller.js +1 -1
- package/components/notch-controller.js +1 -1
- package/components/overlays.js +4 -1
- package/components/picker-column.js +2 -1
- package/components/popover.js +2 -1
- package/components/status-tap.js +1 -1
- package/dist/cjs/{animation-f43e6366.js → animation-b4fdf128.js} +2 -2
- package/dist/cjs/{app-globals-aa7aec45.js → app-globals-2cfd442b.js} +1 -1
- package/dist/cjs/{button-active-1164881e.js → button-active-1a40c735.js} +1 -1
- package/dist/cjs/{capacitor-094870c0.js → capacitor-c04564bf.js} +3 -3
- package/dist/cjs/{data-c6182804.js → data-21dc0f81.js} +3 -3
- package/dist/cjs/{focus-visible-ca81ce81.js → focus-visible-7a0ce04f.js} +0 -8
- package/dist/cjs/{haptic-188baa8e.js → haptic-f6b37aa3.js} +1 -1
- package/dist/cjs/hardware-back-button-1f867b1e.js +122 -0
- package/dist/cjs/index-5915f9b3.js +38 -0
- package/dist/cjs/{index-b3550209.js → index-5b6a7459.js} +2 -2
- package/dist/cjs/{index-60f4c4b4.js → index-9509ecad.js} +6 -7
- package/dist/cjs/{index-23381b18.js → index-9bdd4f2a.js} +8 -7
- package/dist/cjs/{index-afc28d19.js → index-c170694d.js} +9 -6
- package/dist/cjs/index-c8d52405.js +10 -0
- package/dist/cjs/index.cjs.js +10 -7
- package/dist/cjs/{input-shims-833981ee.js → input-shims-9e59ef62.js} +16 -16
- package/dist/cjs/{input.utils-a4020823.js → input.utils-611cde0b.js} +4 -3
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-action-sheet.cjs.entry.js +9 -6
- package/dist/cjs/ion-alert.cjs.entry.js +9 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +90 -20
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
- package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-button_2.cjs.entry.js +5 -4
- package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ion-chip.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime-button.cjs.entry.js +7 -6
- package/dist/cjs/ion-datetime_3.cjs.entry.js +97 -94
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-img.cjs.entry.js +1 -1
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -6
- package/dist/cjs/ion-input.cjs.entry.js +5 -3
- package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
- package/dist/cjs/ion-loading.cjs.entry.js +6 -3
- package/dist/cjs/ion-menu_3.cjs.entry.js +8 -5
- package/dist/cjs/ion-modal.cjs.entry.js +50 -47
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
- package/dist/cjs/ion-picker-column.cjs.entry.js +5 -4
- package/dist/cjs/ion-popover.cjs.entry.js +10 -7
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-range.cjs.entry.js +8 -7
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -5
- package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
- package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +6 -3
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -4
- package/dist/cjs/ion-text.cjs.entry.js +1 -1
- package/dist/cjs/ion-textarea.cjs.entry.js +5 -3
- package/dist/cjs/ion-toast.cjs.entry.js +32 -29
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -3
- package/dist/cjs/ionic-global-86430f67.js +237 -0
- package/dist/cjs/ionic.cjs.js +2 -2
- package/dist/cjs/{ios.transition-dac99bf0.js → ios.transition-ac67e283.js} +5 -3
- package/dist/cjs/{keyboard-6d170faf.js → keyboard-0272231f.js} +1 -1
- package/dist/cjs/{keyboard-c79a662b.js → keyboard-af1bb365.js} +3 -4
- package/dist/cjs/{keyboard-controller-a6533765.js → keyboard-controller-c05e747a.js} +9 -9
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{md.transition-65b7c8b6.js → md.transition-8ceb4e1a.js} +5 -3
- package/dist/cjs/{notch-controller-b33a54ec.js → notch-controller-d69150f5.js} +3 -3
- package/dist/cjs/{overlays-44027b72.js → overlays-4451d3fc.js} +12 -9
- package/dist/cjs/{status-tap-643bbfa4.js → status-tap-e52a48f8.js} +2 -2
- package/dist/collection/components/app/app.js +75 -5
- 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 +1 -70
- package/dist/collection/utils/focus-visible.js +0 -7
- package/dist/docs.json +107 -107
- package/dist/esm/{animation-840e1209.js → animation-eab5a4ca.js} +1 -1
- package/dist/esm/{app-globals-537d56c1.js → app-globals-b9f6e516.js} +1 -1
- package/dist/esm/{button-active-dba2328e.js → button-active-13c37337.js} +1 -1
- package/dist/esm/{capacitor-fcd09564.js → capacitor-59395cbd.js} +1 -1
- package/dist/esm/{data-8389220e.js → data-ae11fd43.js} +1 -1
- package/dist/esm/{focus-visible-b960316e.js → focus-visible-dd40d69f.js} +1 -8
- package/dist/esm/{haptic-6d16c679.js → haptic-ac164e4c.js} +1 -1
- package/dist/esm/hardware-back-button-8e2c1354.js +116 -0
- package/dist/esm/{index-40662748.js → index-5cc724f3.js} +1 -1
- package/dist/esm/{index-3f9b7dcc.js → index-79b30591.js} +1 -2
- package/dist/esm/{index-a4bd9891.js → index-8579e7fd.js} +4 -3
- package/dist/esm/{index-07e10d19.js → index-97b0ab3f.js} +5 -2
- package/dist/esm/index-9b0d46f4.js +34 -0
- package/dist/esm/index-a5d50daf.js +7 -0
- package/dist/esm/index.js +10 -7
- package/dist/esm/{input-shims-d4681aea.js → input-shims-0314bbe5.js} +5 -5
- package/dist/esm/{input.utils-c7e363b4.js → input.utils-09c71bc7.js} +2 -1
- package/dist/esm/ion-accordion_2.entry.js +2 -1
- package/dist/esm/ion-action-sheet.entry.js +9 -6
- package/dist/esm/ion-alert.entry.js +9 -6
- package/dist/esm/ion-app_8.entry.js +80 -10
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-backdrop.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-button_2.entry.js +2 -1
- package/dist/esm/ion-card_5.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +1 -1
- package/dist/esm/ion-chip.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/ion-datetime-button.entry.js +3 -2
- package/dist/esm/ion-datetime_3.entry.js +10 -7
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +1 -1
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
- package/dist/esm/ion-input-password-toggle.entry.js +2 -1
- package/dist/esm/ion-input.entry.js +5 -3
- package/dist/esm/ion-item-option_3.entry.js +3 -2
- package/dist/esm/ion-item_8.entry.js +1 -1
- package/dist/esm/ion-loading.entry.js +6 -3
- package/dist/esm/ion-menu_3.entry.js +7 -4
- package/dist/esm/ion-modal.entry.js +11 -8
- package/dist/esm/ion-nav_2.entry.js +3 -2
- package/dist/esm/ion-picker-column-option.entry.js +1 -1
- package/dist/esm/ion-picker-column.entry.js +4 -3
- package/dist/esm/ion-popover.entry.js +7 -4
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +1 -1
- package/dist/esm/ion-range.entry.js +3 -2
- package/dist/esm/ion-refresher_2.entry.js +7 -5
- package/dist/esm/ion-reorder_2.entry.js +6 -4
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +1 -1
- package/dist/esm/ion-searchbar.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +6 -3
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +1 -1
- package/dist/esm/ion-tab-bar_2.entry.js +5 -4
- package/dist/esm/ion-text.entry.js +1 -1
- package/dist/esm/ion-textarea.entry.js +5 -3
- package/dist/esm/ion-toast.entry.js +6 -3
- package/dist/esm/ion-toggle.entry.js +4 -3
- package/dist/esm/ionic-global-8f9440ec.js +231 -0
- package/dist/esm/ionic.js +2 -2
- package/dist/esm/{ios.transition-e50705d1.js → ios.transition-beb96e76.js} +5 -3
- package/dist/esm/{keyboard-630cb801.js → keyboard-52278bd7.js} +3 -4
- package/dist/esm/{keyboard-f89a5eae.js → keyboard-73175e24.js} +1 -1
- package/dist/esm/{keyboard-controller-00b92ab3.js → keyboard-controller-ec5c2bfa.js} +2 -2
- package/dist/esm/loader.js +2 -2
- package/dist/esm/{md.transition-58674b20.js → md.transition-d5aa5703.js} +5 -3
- package/dist/esm/{notch-controller-e45ab374.js → notch-controller-55b09e11.js} +1 -1
- package/dist/esm/{overlays-a2dfa4a7.js → overlays-2ea57630.js} +4 -1
- package/dist/esm/{status-tap-a9f0d61d.js → status-tap-a264a37f.js} +2 -2
- package/dist/esm-es5/animation-eab5a4ca.js +4 -0
- package/dist/esm-es5/app-globals-b9f6e516.js +4 -0
- package/dist/esm-es5/{button-active-dba2328e.js → button-active-13c37337.js} +1 -1
- package/dist/esm-es5/capacitor-59395cbd.js +4 -0
- package/dist/esm-es5/data-ae11fd43.js +4 -0
- package/dist/esm-es5/focus-visible-dd40d69f.js +4 -0
- package/dist/esm-es5/{haptic-6d16c679.js → haptic-ac164e4c.js} +1 -1
- package/dist/esm-es5/hardware-back-button-8e2c1354.js +4 -0
- package/dist/esm-es5/index-5cc724f3.js +4 -0
- package/dist/esm-es5/index-79b30591.js +4 -0
- package/dist/esm-es5/index-8579e7fd.js +4 -0
- package/dist/esm-es5/index-97b0ab3f.js +4 -0
- package/dist/esm-es5/index-9b0d46f4.js +4 -0
- package/dist/esm-es5/index-a5d50daf.js +4 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-0314bbe5.js +4 -0
- package/dist/esm-es5/input.utils-09c71bc7.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-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-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-8f9440ec.js +4 -0
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/ios.transition-beb96e76.js +4 -0
- package/dist/esm-es5/keyboard-52278bd7.js +4 -0
- package/dist/esm-es5/{keyboard-f89a5eae.js → keyboard-73175e24.js} +1 -1
- package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +4 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/md.transition-d5aa5703.js +4 -0
- package/dist/esm-es5/notch-controller-55b09e11.js +4 -0
- package/dist/esm-es5/overlays-2ea57630.js +4 -0
- package/dist/esm-es5/status-tap-a264a37f.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-ca2083bc.system.entry.js → p-0065a3d0.system.entry.js} +1 -1
- package/dist/ionic/{p-47c92e81.js → p-06e58c4e.js} +1 -1
- package/dist/ionic/p-06fbb310.entry.js +4 -0
- package/dist/ionic/p-06fee233.js +4 -0
- package/dist/ionic/p-08cfccad.js +4 -0
- package/dist/ionic/p-0c06e09b.system.js +4 -0
- package/dist/ionic/p-11810112.system.entry.js +4 -0
- package/dist/ionic/p-1277436d.system.entry.js +4 -0
- package/dist/ionic/p-14c81a66.system.js +4 -0
- package/dist/ionic/p-15ef22b3.system.entry.js +4 -0
- package/dist/ionic/p-16917251.entry.js +4 -0
- package/dist/ionic/p-184f2f63.system.entry.js +4 -0
- package/dist/ionic/{p-eae596b8.system.js → p-19ea7bff.system.js} +1 -1
- package/dist/ionic/{p-ddd6d918.entry.js → p-1b57577b.entry.js} +1 -1
- package/dist/ionic/p-1cacb881.system.entry.js +4 -0
- package/dist/ionic/p-1d3ea8c1.entry.js +4 -0
- package/dist/ionic/{p-6c810800.system.js → p-1dfc11b3.system.js} +1 -1
- package/dist/ionic/p-1dfe9aa7.entry.js +4 -0
- package/dist/ionic/{p-c1c1b3c1.system.entry.js → p-1e1b3d99.system.entry.js} +1 -1
- package/dist/ionic/p-1e4371bd.js +4 -0
- package/dist/ionic/{p-1253d402.entry.js → p-1f772e46.entry.js} +1 -1
- package/dist/ionic/p-2056f176.js +4 -0
- package/dist/ionic/{p-00c9cfa0.entry.js → p-21904499.entry.js} +1 -1
- package/dist/ionic/{p-9ea9eef2.entry.js → p-23e0cd37.entry.js} +1 -1
- package/dist/ionic/p-2690b1de.js +4 -0
- package/dist/ionic/{p-845c8117.js → p-27281edd.js} +1 -1
- package/dist/ionic/{p-ad4a3c01.system.js → p-289d16f5.system.js} +1 -1
- package/dist/ionic/p-2afb9310.entry.js +4 -0
- package/dist/ionic/{p-3ef8ff43.entry.js → p-2b37f5bd.entry.js} +1 -1
- package/dist/ionic/p-2b7827c7.js +4 -0
- package/dist/ionic/p-2d93a7e5.system.js +4 -0
- package/dist/ionic/p-2de64a3f.system.entry.js +4 -0
- package/dist/ionic/p-303f64cd.entry.js +4 -0
- package/dist/ionic/p-330d7e08.entry.js +4 -0
- package/dist/ionic/p-34a6b5a7.entry.js +4 -0
- package/dist/ionic/{p-809941d0.js → p-34b11c24.js} +1 -1
- package/dist/ionic/p-382345db.system.entry.js +4 -0
- package/dist/ionic/{p-e4f401d7.entry.js → p-3ba261ac.entry.js} +1 -1
- package/dist/ionic/{p-cd6bd33e.entry.js → p-3d9ecf70.entry.js} +1 -1
- package/dist/ionic/{p-3657cf1a.system.entry.js → p-4384e5de.system.entry.js} +1 -1
- package/dist/ionic/{p-91459095.entry.js → p-4440f5b4.entry.js} +1 -1
- package/dist/ionic/p-46121609.entry.js +4 -0
- package/dist/ionic/{p-11cf4ee1.entry.js → p-491deb33.entry.js} +1 -1
- package/dist/ionic/p-49ffacc0.system.entry.js +4 -0
- package/dist/ionic/{p-f41cce45.system.entry.js → p-4a963829.system.entry.js} +1 -1
- package/dist/ionic/p-4ad3a2de.entry.js +4 -0
- package/dist/ionic/p-4e6aa78c.entry.js +4 -0
- package/dist/ionic/p-4fa22b8c.entry.js +4 -0
- package/dist/ionic/{p-6a95a932.system.entry.js → p-4fbf3556.system.entry.js} +1 -1
- package/dist/ionic/{p-00cbf542.entry.js → p-505121c4.entry.js} +1 -1
- package/dist/ionic/p-50c38a28.system.entry.js +4 -0
- package/dist/ionic/p-52fce436.entry.js +4 -0
- package/dist/ionic/p-5749f245.system.entry.js +4 -0
- package/dist/ionic/p-586fa05c.system.js +4 -0
- package/dist/ionic/p-5ae3649f.system.entry.js +4 -0
- package/dist/ionic/{p-de6fd4fb.system.entry.js → p-62bb4a33.system.entry.js} +1 -1
- package/dist/ionic/p-669c0566.system.js +4 -0
- package/dist/ionic/p-66aa91c8.js +4 -0
- package/dist/ionic/p-6be871f6.system.entry.js +4 -0
- package/dist/ionic/{p-7f85fd7d.system.entry.js → p-6d857105.system.entry.js} +1 -1
- package/dist/ionic/p-6e444bfa.entry.js +4 -0
- package/dist/ionic/p-6e4ff107.system.entry.js +4 -0
- package/dist/ionic/p-7123a4b9.system.js +4 -0
- package/dist/ionic/p-72812e99.js +4 -0
- package/dist/ionic/{p-f3bc485f.system.entry.js → p-76256933.system.entry.js} +1 -1
- package/dist/ionic/p-792919fd.system.js +4 -0
- package/dist/ionic/p-7b30edcc.js +4 -0
- package/dist/ionic/{p-39ed01f6.system.entry.js → p-7de39857.system.entry.js} +1 -1
- package/dist/ionic/{p-21a0f452.entry.js → p-7f375f5a.entry.js} +1 -1
- package/dist/ionic/p-82ad7191.entry.js +4 -0
- package/dist/ionic/p-8302d21c.system.entry.js +4 -0
- package/dist/ionic/{p-2f8773b2.system.entry.js → p-83f7a890.system.entry.js} +1 -1
- package/dist/ionic/p-840cdfe8.entry.js +4 -0
- package/dist/ionic/p-86895ed7.system.js +4 -0
- package/dist/ionic/{p-765a2b13.system.entry.js → p-86deab17.system.entry.js} +1 -1
- package/dist/ionic/{p-30c57db4.system.entry.js → p-8884ee37.system.entry.js} +1 -1
- package/dist/ionic/{p-aa037934.system.js → p-89611183.system.js} +1 -1
- package/dist/ionic/{p-dab508d0.system.js → p-8985cdb6.system.js} +1 -1
- package/dist/ionic/{p-4525cc2f.js → p-89b61afc.js} +1 -1
- package/dist/ionic/{p-cf7d3a87.system.entry.js → p-89d17c48.system.entry.js} +1 -1
- package/dist/ionic/{p-d52f8930.entry.js → p-8b3ff142.entry.js} +1 -1
- package/dist/ionic/p-8c1f6a17.entry.js +4 -0
- package/dist/ionic/{p-d312edb3.system.entry.js → p-8cab6a5c.system.entry.js} +1 -1
- package/dist/ionic/p-8d460677.entry.js +4 -0
- package/dist/ionic/p-8ed4381f.js +4 -0
- package/dist/ionic/{p-0476b3cc.system.js → p-9146695e.system.js} +1 -1
- package/dist/ionic/{p-0a7a7ab9.entry.js → p-96503a77.entry.js} +1 -1
- package/dist/ionic/p-96cc4814.js +4 -0
- package/dist/ionic/{p-eecf5384.system.entry.js → p-97f6c01c.system.entry.js} +1 -1
- package/dist/ionic/{p-b760b2fa.system.entry.js → p-98203dbd.system.entry.js} +1 -1
- package/dist/ionic/p-985f06f3.entry.js +4 -0
- package/dist/ionic/p-98a7aade.js +4 -0
- package/dist/ionic/p-9a64afc9.entry.js +4 -0
- package/dist/ionic/p-9a957058.system.entry.js +4 -0
- package/dist/ionic/p-9beb3fad.js +4 -0
- package/dist/ionic/p-9cd1f569.system.js +4 -0
- package/dist/ionic/{p-c9525721.system.js → p-9ea607bd.system.js} +2 -2
- package/dist/ionic/p-a15ddedb.system.js +4 -0
- package/dist/ionic/{p-abe01542.system.js → p-a93873de.system.js} +1 -1
- package/dist/ionic/{p-6418a407.system.entry.js → p-aa5358cb.system.entry.js} +1 -1
- package/dist/ionic/p-ab44e74e.entry.js +4 -0
- package/dist/ionic/p-abe101da.system.js +4 -0
- package/dist/ionic/{p-0bee79fc.system.entry.js → p-acaa514f.system.entry.js} +1 -1
- package/dist/ionic/p-b032d7ad.system.entry.js +4 -0
- package/dist/ionic/{p-5b6645a1.system.js → p-b06ac4a5.system.js} +1 -1
- package/dist/ionic/p-b0d099be.js +4 -0
- package/dist/ionic/{p-77cda5c7.entry.js → p-b0fbe12b.entry.js} +1 -1
- package/dist/ionic/p-b0fea0ab.system.entry.js +4 -0
- package/dist/ionic/p-b6f09d60.system.entry.js +4 -0
- package/dist/ionic/p-bb013b6c.system.entry.js +4 -0
- package/dist/ionic/p-be11fb42.system.js +4 -0
- package/dist/ionic/p-be32a527.entry.js +4 -0
- package/dist/ionic/p-c468af8a.system.js +4 -0
- package/dist/ionic/{p-bc088eb6.system.js → p-c6181d52.system.js} +1 -1
- package/dist/ionic/p-c61cc894.js +4 -0
- package/dist/ionic/p-c655f9cc.js +4 -0
- package/dist/ionic/p-c7b3353c.entry.js +4 -0
- package/dist/ionic/{p-60c38dee.js → p-c7e16491.js} +1 -1
- package/dist/ionic/p-ccfe13f3.entry.js +4 -0
- package/dist/ionic/p-cdb1dc2f.system.entry.js +4 -0
- package/dist/ionic/{p-c0e7cab8.entry.js → p-cf6bad6d.entry.js} +1 -1
- package/dist/ionic/p-d232cc6e.system.entry.js +4 -0
- package/dist/ionic/p-d47265c8.js +4 -0
- package/dist/ionic/{p-84e08e08.system.entry.js → p-d4a694c5.system.entry.js} +1 -1
- package/dist/ionic/{p-4ee57cf5.js → p-d60342e3.js} +1 -1
- package/dist/ionic/p-d690dc50.system.entry.js +4 -0
- package/dist/ionic/p-d6b5bfa3.entry.js +4 -0
- package/dist/ionic/{p-8c13b08d.entry.js → p-d7cde2c6.entry.js} +1 -1
- package/dist/ionic/p-d81e5138.entry.js +4 -0
- package/dist/ionic/p-da5af268.system.entry.js +4 -0
- package/dist/ionic/{p-84030740.js → p-dc65c03b.js} +1 -1
- package/dist/ionic/{p-9ced646a.system.js → p-dfb78785.system.js} +1 -1
- package/dist/ionic/{p-1c6bb45f.entry.js → p-e02807c4.entry.js} +1 -1
- package/dist/ionic/p-e8cd5bde.js +4 -0
- package/dist/ionic/p-ebe1326c.system.js +4 -0
- package/dist/ionic/p-ed76b287.entry.js +4 -0
- package/dist/ionic/{p-5a0f3c6f.entry.js → p-eecf3a84.entry.js} +1 -1
- package/dist/ionic/{p-39166cd5.entry.js → p-f4d568f8.entry.js} +1 -1
- package/dist/ionic/{p-8ff1e95d.system.js → p-f687573e.system.js} +1 -1
- package/dist/ionic/p-f8fbf20f.system.entry.js +4 -0
- package/dist/ionic/{p-7cbcee2c.system.entry.js → p-fca0933c.system.entry.js} +1 -1
- package/dist/ionic/{p-d7bd9057.system.entry.js → p-fd70cb80.system.entry.js} +1 -1
- package/dist/ionic/p-ff417d5d.system.entry.js +4 -0
- package/dist/ionic/p-ff4b7e40.system.js +4 -0
- package/dist/types/components/app/app.d.ts +2 -0
- package/dist/types/global/ionic-global.d.ts +0 -2
- package/dist/types/utils/focus-visible.d.ts +0 -1
- package/hydrate/index.js +126 -130
- package/hydrate/index.mjs +126 -130
- package/package.json +1 -1
- package/dist/cjs/ionic-global-4503ea83.js +0 -462
- package/dist/esm/ionic-global-b1979612.js +0 -448
- package/dist/esm-es5/animation-840e1209.js +0 -4
- package/dist/esm-es5/app-globals-537d56c1.js +0 -4
- package/dist/esm-es5/capacitor-fcd09564.js +0 -4
- package/dist/esm-es5/data-8389220e.js +0 -4
- package/dist/esm-es5/focus-visible-b960316e.js +0 -4
- package/dist/esm-es5/index-07e10d19.js +0 -4
- package/dist/esm-es5/index-3f9b7dcc.js +0 -4
- package/dist/esm-es5/index-40662748.js +0 -4
- package/dist/esm-es5/index-a4bd9891.js +0 -4
- package/dist/esm-es5/input-shims-d4681aea.js +0 -4
- package/dist/esm-es5/input.utils-c7e363b4.js +0 -4
- package/dist/esm-es5/ionic-global-b1979612.js +0 -4
- package/dist/esm-es5/ios.transition-e50705d1.js +0 -4
- package/dist/esm-es5/keyboard-630cb801.js +0 -4
- package/dist/esm-es5/keyboard-controller-00b92ab3.js +0 -4
- package/dist/esm-es5/md.transition-58674b20.js +0 -4
- package/dist/esm-es5/notch-controller-e45ab374.js +0 -4
- package/dist/esm-es5/overlays-a2dfa4a7.js +0 -4
- package/dist/esm-es5/status-tap-a9f0d61d.js +0 -4
- package/dist/ionic/p-01b0e865.system.js +0 -4
- package/dist/ionic/p-073dacf3.entry.js +0 -4
- package/dist/ionic/p-07e807fb.js +0 -4
- package/dist/ionic/p-0a31c7b9.system.entry.js +0 -4
- package/dist/ionic/p-0f1ba402.entry.js +0 -4
- package/dist/ionic/p-16917861.system.js +0 -4
- package/dist/ionic/p-179c573b.system.entry.js +0 -4
- package/dist/ionic/p-20ffa318.entry.js +0 -4
- package/dist/ionic/p-23889fd8.entry.js +0 -4
- package/dist/ionic/p-25a2d298.js +0 -4
- package/dist/ionic/p-28b059c3.system.entry.js +0 -4
- package/dist/ionic/p-2d8341d0.system.js +0 -4
- package/dist/ionic/p-2f2fd67f.entry.js +0 -4
- package/dist/ionic/p-31f1eb81.entry.js +0 -4
- package/dist/ionic/p-37fbd57a.system.entry.js +0 -4
- package/dist/ionic/p-3eca6ffb.entry.js +0 -4
- package/dist/ionic/p-4175803c.system.js +0 -4
- package/dist/ionic/p-41ec2afd.entry.js +0 -4
- package/dist/ionic/p-460070eb.system.js +0 -4
- package/dist/ionic/p-466434d4.system.js +0 -4
- package/dist/ionic/p-46db4410.system.entry.js +0 -4
- package/dist/ionic/p-480cfc61.entry.js +0 -4
- package/dist/ionic/p-4a274d8d.entry.js +0 -4
- package/dist/ionic/p-4fbde654.js +0 -4
- package/dist/ionic/p-51b9d14a.js +0 -4
- package/dist/ionic/p-52371477.system.entry.js +0 -4
- package/dist/ionic/p-5328e386.system.entry.js +0 -4
- package/dist/ionic/p-57eb8bf5.entry.js +0 -4
- package/dist/ionic/p-58812aa8.system.entry.js +0 -4
- package/dist/ionic/p-5c456cd2.system.entry.js +0 -4
- package/dist/ionic/p-5e03c97e.system.entry.js +0 -4
- package/dist/ionic/p-5fb843ce.entry.js +0 -4
- package/dist/ionic/p-5fd711d1.entry.js +0 -4
- package/dist/ionic/p-67bb048a.system.entry.js +0 -4
- package/dist/ionic/p-69f80fd3.entry.js +0 -4
- package/dist/ionic/p-73216388.entry.js +0 -4
- package/dist/ionic/p-736d36fb.system.js +0 -4
- package/dist/ionic/p-73b45a64.entry.js +0 -4
- package/dist/ionic/p-7a86440f.entry.js +0 -4
- package/dist/ionic/p-82b38b14.system.js +0 -4
- package/dist/ionic/p-833104fe.system.entry.js +0 -4
- package/dist/ionic/p-861785a6.entry.js +0 -4
- package/dist/ionic/p-86b6a057.system.entry.js +0 -4
- package/dist/ionic/p-877dee4e.system.entry.js +0 -4
- package/dist/ionic/p-886a05f9.system.js +0 -4
- package/dist/ionic/p-902f1e0d.entry.js +0 -4
- package/dist/ionic/p-90b717c3.entry.js +0 -4
- package/dist/ionic/p-958d1ddf.entry.js +0 -4
- package/dist/ionic/p-9647f627.system.entry.js +0 -4
- package/dist/ionic/p-969bb0cd.system.entry.js +0 -4
- package/dist/ionic/p-98612ecd.system.entry.js +0 -4
- package/dist/ionic/p-99322726.js +0 -4
- package/dist/ionic/p-9a41931a.system.js +0 -4
- package/dist/ionic/p-9fa489bf.system.js +0 -4
- package/dist/ionic/p-9fb5d3f0.js +0 -4
- package/dist/ionic/p-a60688ea.system.entry.js +0 -4
- package/dist/ionic/p-a7c80b6e.js +0 -4
- package/dist/ionic/p-a97cc6e0.entry.js +0 -4
- package/dist/ionic/p-aa28a06a.system.entry.js +0 -4
- package/dist/ionic/p-ab51df52.js +0 -4
- package/dist/ionic/p-b84b226d.entry.js +0 -4
- package/dist/ionic/p-b95e719d.js +0 -4
- package/dist/ionic/p-b9d74da7.system.js +0 -4
- package/dist/ionic/p-bb816352.system.entry.js +0 -4
- package/dist/ionic/p-bc0d6e7d.system.entry.js +0 -4
- package/dist/ionic/p-bc60a88f.entry.js +0 -4
- package/dist/ionic/p-cf05bb26.entry.js +0 -4
- package/dist/ionic/p-d247bdc6.js +0 -4
- package/dist/ionic/p-d32dc2ca.system.entry.js +0 -4
- package/dist/ionic/p-df2f4a29.entry.js +0 -4
- package/dist/ionic/p-e079f4f4.system.entry.js +0 -4
- package/dist/ionic/p-e35fa668.js +0 -4
- package/dist/ionic/p-e44c11d0.entry.js +0 -4
- package/dist/ionic/p-e6867fc0.js +0 -4
- package/dist/ionic/p-efd6e0d2.system.entry.js +0 -4
- package/dist/ionic/p-f0e951e5.system.entry.js +0 -4
- package/dist/ionic/p-f4a57fb7.js +0 -4
- package/dist/ionic/p-f7f11c42.js +0 -4
- package/dist/ionic/p-f8234ebd.js +0 -4
package/hydrate/index.js
CHANGED
|
@@ -2776,55 +2776,6 @@ class Config {
|
|
|
2776
2776
|
}
|
|
2777
2777
|
const config = /*@__PURE__*/ new Config();
|
|
2778
2778
|
|
|
2779
|
-
const win$1 = typeof window !== 'undefined' ? window : undefined;
|
|
2780
|
-
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
2781
|
-
|
|
2782
|
-
/**
|
|
2783
|
-
* CloseWatcher is a newer API that lets
|
|
2784
|
-
* use detect the hardware back button event
|
|
2785
|
-
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
2786
|
-
* However, not every browser supports it yet.
|
|
2787
|
-
*
|
|
2788
|
-
* This needs to be a function so that we can
|
|
2789
|
-
* check the config once it has been set.
|
|
2790
|
-
* Otherwise, this code would be evaluated the
|
|
2791
|
-
* moment this file is evaluated which could be
|
|
2792
|
-
* before the config is set.
|
|
2793
|
-
*/
|
|
2794
|
-
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
|
|
2795
|
-
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
2796
|
-
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
2797
|
-
|
|
2798
|
-
/**
|
|
2799
|
-
* Logs a warning to the console with an Ionic prefix
|
|
2800
|
-
* to indicate the library that is warning the developer.
|
|
2801
|
-
*
|
|
2802
|
-
* @param message - The string message to be logged to the console.
|
|
2803
|
-
*/
|
|
2804
|
-
const printIonWarning = (message, ...params) => {
|
|
2805
|
-
return console.warn(`[Ionic Warning]: ${message}`, ...params);
|
|
2806
|
-
};
|
|
2807
|
-
/*
|
|
2808
|
-
* Logs an error to the console with an Ionic prefix
|
|
2809
|
-
* to indicate the library that is warning the developer.
|
|
2810
|
-
*
|
|
2811
|
-
* @param message - The string message to be logged to the console.
|
|
2812
|
-
* @param params - Additional arguments to supply to the console.error.
|
|
2813
|
-
*/
|
|
2814
|
-
const printIonError = (message, ...params) => {
|
|
2815
|
-
return console.error(`[Ionic Error]: ${message}`, ...params);
|
|
2816
|
-
};
|
|
2817
|
-
/**
|
|
2818
|
-
* Prints an error informing developers that an implementation requires an element to be used
|
|
2819
|
-
* within a specific selector.
|
|
2820
|
-
*
|
|
2821
|
-
* @param el The web component element this is requiring the element.
|
|
2822
|
-
* @param targetSelectors The selector or selectors that were not found.
|
|
2823
|
-
*/
|
|
2824
|
-
const printRequiredElementError = (el, ...targetSelectors) => {
|
|
2825
|
-
return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
|
|
2826
|
-
};
|
|
2827
|
-
|
|
2828
2779
|
const getPlatforms = (win) => setupPlatforms(win);
|
|
2829
2780
|
const isPlatform = (winOrPlatform, platform) => {
|
|
2830
2781
|
if (typeof winOrPlatform === 'string') {
|
|
@@ -3265,6 +3216,36 @@ class Accordion {
|
|
|
3265
3216
|
}
|
|
3266
3217
|
let accordionIds = 0;
|
|
3267
3218
|
|
|
3219
|
+
/**
|
|
3220
|
+
* Logs a warning to the console with an Ionic prefix
|
|
3221
|
+
* to indicate the library that is warning the developer.
|
|
3222
|
+
*
|
|
3223
|
+
* @param message - The string message to be logged to the console.
|
|
3224
|
+
*/
|
|
3225
|
+
const printIonWarning = (message, ...params) => {
|
|
3226
|
+
return console.warn(`[Ionic Warning]: ${message}`, ...params);
|
|
3227
|
+
};
|
|
3228
|
+
/*
|
|
3229
|
+
* Logs an error to the console with an Ionic prefix
|
|
3230
|
+
* to indicate the library that is warning the developer.
|
|
3231
|
+
*
|
|
3232
|
+
* @param message - The string message to be logged to the console.
|
|
3233
|
+
* @param params - Additional arguments to supply to the console.error.
|
|
3234
|
+
*/
|
|
3235
|
+
const printIonError = (message, ...params) => {
|
|
3236
|
+
return console.error(`[Ionic Error]: ${message}`, ...params);
|
|
3237
|
+
};
|
|
3238
|
+
/**
|
|
3239
|
+
* Prints an error informing developers that an implementation requires an element to be used
|
|
3240
|
+
* within a specific selector.
|
|
3241
|
+
*
|
|
3242
|
+
* @param el The web component element this is requiring the element.
|
|
3243
|
+
* @param targetSelectors The selector or selectors that were not found.
|
|
3244
|
+
*/
|
|
3245
|
+
const printRequiredElementError = (el, ...targetSelectors) => {
|
|
3246
|
+
return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
|
|
3247
|
+
};
|
|
3248
|
+
|
|
3268
3249
|
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}";
|
|
3269
3250
|
var IonAccordionGroupIosStyle0 = accordionGroupIosCss;
|
|
3270
3251
|
|
|
@@ -3503,6 +3484,9 @@ class AccordionGroup {
|
|
|
3503
3484
|
}; }
|
|
3504
3485
|
}
|
|
3505
3486
|
|
|
3487
|
+
const win$1 = typeof window !== 'undefined' ? window : undefined;
|
|
3488
|
+
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
3489
|
+
|
|
3506
3490
|
const getCapacitor = () => {
|
|
3507
3491
|
if (win$1 !== undefined) {
|
|
3508
3492
|
return win$1.Capacitor;
|
|
@@ -4477,6 +4461,22 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
|
|
|
4477
4461
|
}
|
|
4478
4462
|
};
|
|
4479
4463
|
|
|
4464
|
+
/**
|
|
4465
|
+
* CloseWatcher is a newer API that lets
|
|
4466
|
+
* use detect the hardware back button event
|
|
4467
|
+
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
4468
|
+
* However, not every browser supports it yet.
|
|
4469
|
+
*
|
|
4470
|
+
* This needs to be a function so that we can
|
|
4471
|
+
* check the config once it has been set.
|
|
4472
|
+
* Otherwise, this code would be evaluated the
|
|
4473
|
+
* moment this file is evaluated which could be
|
|
4474
|
+
* before the config is set.
|
|
4475
|
+
*/
|
|
4476
|
+
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
|
|
4477
|
+
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
4478
|
+
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
4479
|
+
|
|
4480
4480
|
// TODO(FW-2832): types
|
|
4481
4481
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|
|
4482
4482
|
var _a;
|
|
@@ -7301,84 +7301,6 @@ const buttonClass$2 = (button) => {
|
|
|
7301
7301
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
7302
7302
|
};
|
|
7303
7303
|
|
|
7304
|
-
const ION_FOCUSED = 'ion-focused';
|
|
7305
|
-
const ION_FOCUSABLE = 'ion-focusable';
|
|
7306
|
-
const FOCUS_KEYS = [
|
|
7307
|
-
'Tab',
|
|
7308
|
-
'ArrowDown',
|
|
7309
|
-
'Space',
|
|
7310
|
-
'Escape',
|
|
7311
|
-
' ',
|
|
7312
|
-
'Shift',
|
|
7313
|
-
'Enter',
|
|
7314
|
-
'ArrowLeft',
|
|
7315
|
-
'ArrowRight',
|
|
7316
|
-
'ArrowUp',
|
|
7317
|
-
'Home',
|
|
7318
|
-
'End',
|
|
7319
|
-
];
|
|
7320
|
-
let focusVisibleUtility = null;
|
|
7321
|
-
const initFocusVisibleUtility = () => {
|
|
7322
|
-
if (!focusVisibleUtility) {
|
|
7323
|
-
focusVisibleUtility = startFocusVisible();
|
|
7324
|
-
}
|
|
7325
|
-
return focusVisibleUtility;
|
|
7326
|
-
};
|
|
7327
|
-
const startFocusVisible = (rootEl) => {
|
|
7328
|
-
let currentFocus = [];
|
|
7329
|
-
let keyboardMode = true;
|
|
7330
|
-
const ref = rootEl ? rootEl.shadowRoot : document;
|
|
7331
|
-
const root = rootEl ? rootEl : document.body;
|
|
7332
|
-
const setFocus = (elements) => {
|
|
7333
|
-
currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
|
|
7334
|
-
elements.forEach((el) => el.classList.add(ION_FOCUSED));
|
|
7335
|
-
currentFocus = elements;
|
|
7336
|
-
};
|
|
7337
|
-
const pointerDown = () => {
|
|
7338
|
-
keyboardMode = false;
|
|
7339
|
-
setFocus([]);
|
|
7340
|
-
};
|
|
7341
|
-
const onKeydown = (ev) => {
|
|
7342
|
-
keyboardMode = FOCUS_KEYS.includes(ev.key);
|
|
7343
|
-
if (!keyboardMode) {
|
|
7344
|
-
setFocus([]);
|
|
7345
|
-
}
|
|
7346
|
-
};
|
|
7347
|
-
const onFocusin = (ev) => {
|
|
7348
|
-
if (keyboardMode && ev.composedPath !== undefined) {
|
|
7349
|
-
const toFocus = ev.composedPath().filter((el) => {
|
|
7350
|
-
// TODO(FW-2832): type
|
|
7351
|
-
if (el.classList) {
|
|
7352
|
-
return el.classList.contains(ION_FOCUSABLE);
|
|
7353
|
-
}
|
|
7354
|
-
return false;
|
|
7355
|
-
});
|
|
7356
|
-
setFocus(toFocus);
|
|
7357
|
-
}
|
|
7358
|
-
};
|
|
7359
|
-
const onFocusout = () => {
|
|
7360
|
-
if (ref.activeElement === root) {
|
|
7361
|
-
setFocus([]);
|
|
7362
|
-
}
|
|
7363
|
-
};
|
|
7364
|
-
ref.addEventListener('keydown', onKeydown);
|
|
7365
|
-
ref.addEventListener('focusin', onFocusin);
|
|
7366
|
-
ref.addEventListener('focusout', onFocusout);
|
|
7367
|
-
ref.addEventListener('touchstart', pointerDown, { passive: true });
|
|
7368
|
-
ref.addEventListener('mousedown', pointerDown);
|
|
7369
|
-
const destroy = () => {
|
|
7370
|
-
ref.removeEventListener('keydown', onKeydown);
|
|
7371
|
-
ref.removeEventListener('focusin', onFocusin);
|
|
7372
|
-
ref.removeEventListener('focusout', onFocusout);
|
|
7373
|
-
ref.removeEventListener('touchstart', pointerDown);
|
|
7374
|
-
ref.removeEventListener('mousedown', pointerDown);
|
|
7375
|
-
};
|
|
7376
|
-
return {
|
|
7377
|
-
destroy,
|
|
7378
|
-
setFocus,
|
|
7379
|
-
};
|
|
7380
|
-
};
|
|
7381
|
-
|
|
7382
7304
|
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}";
|
|
7383
7305
|
var IonAppStyle0 = appCss;
|
|
7384
7306
|
|
|
@@ -7386,6 +7308,8 @@ class App {
|
|
|
7386
7308
|
constructor(hostRef) {
|
|
7387
7309
|
registerInstance(this, hostRef);
|
|
7388
7310
|
}
|
|
7311
|
+
componentDidLoad() {
|
|
7312
|
+
}
|
|
7389
7313
|
/**
|
|
7390
7314
|
* @internal
|
|
7391
7315
|
* Used to set focus on an element that uses `ion-focusable`.
|
|
@@ -7397,12 +7321,13 @@ class App {
|
|
|
7397
7321
|
* presented as a result of keyboard action.)
|
|
7398
7322
|
*/
|
|
7399
7323
|
async setFocus(elements) {
|
|
7400
|
-
|
|
7401
|
-
|
|
7324
|
+
if (this.focusVisible) {
|
|
7325
|
+
this.focusVisible.setFocus(elements);
|
|
7326
|
+
}
|
|
7402
7327
|
}
|
|
7403
7328
|
render() {
|
|
7404
7329
|
const mode = getIonMode$1(this);
|
|
7405
|
-
return (hAsync(Host, { key: '
|
|
7330
|
+
return (hAsync(Host, { key: 'a562850f242d9d45573e35efdd4bd178254677ef', class: {
|
|
7406
7331
|
[mode]: true,
|
|
7407
7332
|
'ion-page': true,
|
|
7408
7333
|
'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
|
|
@@ -9208,6 +9133,77 @@ const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
|
|
|
9208
9133
|
}
|
|
9209
9134
|
};
|
|
9210
9135
|
|
|
9136
|
+
const ION_FOCUSED = 'ion-focused';
|
|
9137
|
+
const ION_FOCUSABLE = 'ion-focusable';
|
|
9138
|
+
const FOCUS_KEYS = [
|
|
9139
|
+
'Tab',
|
|
9140
|
+
'ArrowDown',
|
|
9141
|
+
'Space',
|
|
9142
|
+
'Escape',
|
|
9143
|
+
' ',
|
|
9144
|
+
'Shift',
|
|
9145
|
+
'Enter',
|
|
9146
|
+
'ArrowLeft',
|
|
9147
|
+
'ArrowRight',
|
|
9148
|
+
'ArrowUp',
|
|
9149
|
+
'Home',
|
|
9150
|
+
'End',
|
|
9151
|
+
];
|
|
9152
|
+
const startFocusVisible = (rootEl) => {
|
|
9153
|
+
let currentFocus = [];
|
|
9154
|
+
let keyboardMode = true;
|
|
9155
|
+
const ref = rootEl ? rootEl.shadowRoot : document;
|
|
9156
|
+
const root = rootEl ? rootEl : document.body;
|
|
9157
|
+
const setFocus = (elements) => {
|
|
9158
|
+
currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
|
|
9159
|
+
elements.forEach((el) => el.classList.add(ION_FOCUSED));
|
|
9160
|
+
currentFocus = elements;
|
|
9161
|
+
};
|
|
9162
|
+
const pointerDown = () => {
|
|
9163
|
+
keyboardMode = false;
|
|
9164
|
+
setFocus([]);
|
|
9165
|
+
};
|
|
9166
|
+
const onKeydown = (ev) => {
|
|
9167
|
+
keyboardMode = FOCUS_KEYS.includes(ev.key);
|
|
9168
|
+
if (!keyboardMode) {
|
|
9169
|
+
setFocus([]);
|
|
9170
|
+
}
|
|
9171
|
+
};
|
|
9172
|
+
const onFocusin = (ev) => {
|
|
9173
|
+
if (keyboardMode && ev.composedPath !== undefined) {
|
|
9174
|
+
const toFocus = ev.composedPath().filter((el) => {
|
|
9175
|
+
// TODO(FW-2832): type
|
|
9176
|
+
if (el.classList) {
|
|
9177
|
+
return el.classList.contains(ION_FOCUSABLE);
|
|
9178
|
+
}
|
|
9179
|
+
return false;
|
|
9180
|
+
});
|
|
9181
|
+
setFocus(toFocus);
|
|
9182
|
+
}
|
|
9183
|
+
};
|
|
9184
|
+
const onFocusout = () => {
|
|
9185
|
+
if (ref.activeElement === root) {
|
|
9186
|
+
setFocus([]);
|
|
9187
|
+
}
|
|
9188
|
+
};
|
|
9189
|
+
ref.addEventListener('keydown', onKeydown);
|
|
9190
|
+
ref.addEventListener('focusin', onFocusin);
|
|
9191
|
+
ref.addEventListener('focusout', onFocusout);
|
|
9192
|
+
ref.addEventListener('touchstart', pointerDown, { passive: true });
|
|
9193
|
+
ref.addEventListener('mousedown', pointerDown);
|
|
9194
|
+
const destroy = () => {
|
|
9195
|
+
ref.removeEventListener('keydown', onKeydown);
|
|
9196
|
+
ref.removeEventListener('focusin', onFocusin);
|
|
9197
|
+
ref.removeEventListener('focusout', onFocusout);
|
|
9198
|
+
ref.removeEventListener('touchstart', pointerDown);
|
|
9199
|
+
ref.removeEventListener('mousedown', pointerDown);
|
|
9200
|
+
};
|
|
9201
|
+
return {
|
|
9202
|
+
destroy,
|
|
9203
|
+
setFocus,
|
|
9204
|
+
};
|
|
9205
|
+
};
|
|
9206
|
+
|
|
9211
9207
|
/**
|
|
9212
9208
|
* Returns true if the selected day is equal to the reference day
|
|
9213
9209
|
*/
|
package/hydrate/index.mjs
CHANGED
|
@@ -2772,55 +2772,6 @@ class Config {
|
|
|
2772
2772
|
}
|
|
2773
2773
|
const config = /*@__PURE__*/ new Config();
|
|
2774
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
|
-
|
|
2824
2775
|
const getPlatforms = (win) => setupPlatforms(win);
|
|
2825
2776
|
const isPlatform = (winOrPlatform, platform) => {
|
|
2826
2777
|
if (typeof winOrPlatform === 'string') {
|
|
@@ -3261,6 +3212,36 @@ class Accordion {
|
|
|
3261
3212
|
}
|
|
3262
3213
|
let accordionIds = 0;
|
|
3263
3214
|
|
|
3215
|
+
/**
|
|
3216
|
+
* Logs a warning to the console with an Ionic prefix
|
|
3217
|
+
* to indicate the library that is warning the developer.
|
|
3218
|
+
*
|
|
3219
|
+
* @param message - The string message to be logged to the console.
|
|
3220
|
+
*/
|
|
3221
|
+
const printIonWarning = (message, ...params) => {
|
|
3222
|
+
return console.warn(`[Ionic Warning]: ${message}`, ...params);
|
|
3223
|
+
};
|
|
3224
|
+
/*
|
|
3225
|
+
* Logs an error to the console with an Ionic prefix
|
|
3226
|
+
* to indicate the library that is warning the developer.
|
|
3227
|
+
*
|
|
3228
|
+
* @param message - The string message to be logged to the console.
|
|
3229
|
+
* @param params - Additional arguments to supply to the console.error.
|
|
3230
|
+
*/
|
|
3231
|
+
const printIonError = (message, ...params) => {
|
|
3232
|
+
return console.error(`[Ionic Error]: ${message}`, ...params);
|
|
3233
|
+
};
|
|
3234
|
+
/**
|
|
3235
|
+
* Prints an error informing developers that an implementation requires an element to be used
|
|
3236
|
+
* within a specific selector.
|
|
3237
|
+
*
|
|
3238
|
+
* @param el The web component element this is requiring the element.
|
|
3239
|
+
* @param targetSelectors The selector or selectors that were not found.
|
|
3240
|
+
*/
|
|
3241
|
+
const printRequiredElementError = (el, ...targetSelectors) => {
|
|
3242
|
+
return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
|
|
3243
|
+
};
|
|
3244
|
+
|
|
3264
3245
|
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}";
|
|
3265
3246
|
var IonAccordionGroupIosStyle0 = accordionGroupIosCss;
|
|
3266
3247
|
|
|
@@ -3499,6 +3480,9 @@ class AccordionGroup {
|
|
|
3499
3480
|
}; }
|
|
3500
3481
|
}
|
|
3501
3482
|
|
|
3483
|
+
const win$1 = typeof window !== 'undefined' ? window : undefined;
|
|
3484
|
+
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
3485
|
+
|
|
3502
3486
|
const getCapacitor = () => {
|
|
3503
3487
|
if (win$1 !== undefined) {
|
|
3504
3488
|
return win$1.Capacitor;
|
|
@@ -4473,6 +4457,22 @@ const focusElementInContext = (hostToFocus, fallbackElement) => {
|
|
|
4473
4457
|
}
|
|
4474
4458
|
};
|
|
4475
4459
|
|
|
4460
|
+
/**
|
|
4461
|
+
* CloseWatcher is a newer API that lets
|
|
4462
|
+
* use detect the hardware back button event
|
|
4463
|
+
* in a web browser: https://caniuse.com/?search=closewatcher
|
|
4464
|
+
* However, not every browser supports it yet.
|
|
4465
|
+
*
|
|
4466
|
+
* This needs to be a function so that we can
|
|
4467
|
+
* check the config once it has been set.
|
|
4468
|
+
* Otherwise, this code would be evaluated the
|
|
4469
|
+
* moment this file is evaluated which could be
|
|
4470
|
+
* before the config is set.
|
|
4471
|
+
*/
|
|
4472
|
+
const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
|
|
4473
|
+
const OVERLAY_BACK_BUTTON_PRIORITY = 100;
|
|
4474
|
+
const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
|
|
4475
|
+
|
|
4476
4476
|
// TODO(FW-2832): types
|
|
4477
4477
|
const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
|
|
4478
4478
|
var _a;
|
|
@@ -7297,84 +7297,6 @@ const buttonClass$2 = (button) => {
|
|
|
7297
7297
|
return Object.assign({ 'alert-button': true, 'ion-focusable': true, 'ion-activatable': true, [`alert-button-role-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
7298
7298
|
};
|
|
7299
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
|
-
|
|
7378
7300
|
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}";
|
|
7379
7301
|
var IonAppStyle0 = appCss;
|
|
7380
7302
|
|
|
@@ -7382,6 +7304,8 @@ class App {
|
|
|
7382
7304
|
constructor(hostRef) {
|
|
7383
7305
|
registerInstance(this, hostRef);
|
|
7384
7306
|
}
|
|
7307
|
+
componentDidLoad() {
|
|
7308
|
+
}
|
|
7385
7309
|
/**
|
|
7386
7310
|
* @internal
|
|
7387
7311
|
* Used to set focus on an element that uses `ion-focusable`.
|
|
@@ -7393,12 +7317,13 @@ class App {
|
|
|
7393
7317
|
* presented as a result of keyboard action.)
|
|
7394
7318
|
*/
|
|
7395
7319
|
async setFocus(elements) {
|
|
7396
|
-
|
|
7397
|
-
|
|
7320
|
+
if (this.focusVisible) {
|
|
7321
|
+
this.focusVisible.setFocus(elements);
|
|
7322
|
+
}
|
|
7398
7323
|
}
|
|
7399
7324
|
render() {
|
|
7400
7325
|
const mode = getIonMode$1(this);
|
|
7401
|
-
return (hAsync(Host, { key: '
|
|
7326
|
+
return (hAsync(Host, { key: 'a562850f242d9d45573e35efdd4bd178254677ef', class: {
|
|
7402
7327
|
[mode]: true,
|
|
7403
7328
|
'ion-page': true,
|
|
7404
7329
|
'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
|
|
@@ -9204,6 +9129,77 @@ const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
|
|
|
9204
9129
|
}
|
|
9205
9130
|
};
|
|
9206
9131
|
|
|
9132
|
+
const ION_FOCUSED = 'ion-focused';
|
|
9133
|
+
const ION_FOCUSABLE = 'ion-focusable';
|
|
9134
|
+
const FOCUS_KEYS = [
|
|
9135
|
+
'Tab',
|
|
9136
|
+
'ArrowDown',
|
|
9137
|
+
'Space',
|
|
9138
|
+
'Escape',
|
|
9139
|
+
' ',
|
|
9140
|
+
'Shift',
|
|
9141
|
+
'Enter',
|
|
9142
|
+
'ArrowLeft',
|
|
9143
|
+
'ArrowRight',
|
|
9144
|
+
'ArrowUp',
|
|
9145
|
+
'Home',
|
|
9146
|
+
'End',
|
|
9147
|
+
];
|
|
9148
|
+
const startFocusVisible = (rootEl) => {
|
|
9149
|
+
let currentFocus = [];
|
|
9150
|
+
let keyboardMode = true;
|
|
9151
|
+
const ref = rootEl ? rootEl.shadowRoot : document;
|
|
9152
|
+
const root = rootEl ? rootEl : document.body;
|
|
9153
|
+
const setFocus = (elements) => {
|
|
9154
|
+
currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
|
|
9155
|
+
elements.forEach((el) => el.classList.add(ION_FOCUSED));
|
|
9156
|
+
currentFocus = elements;
|
|
9157
|
+
};
|
|
9158
|
+
const pointerDown = () => {
|
|
9159
|
+
keyboardMode = false;
|
|
9160
|
+
setFocus([]);
|
|
9161
|
+
};
|
|
9162
|
+
const onKeydown = (ev) => {
|
|
9163
|
+
keyboardMode = FOCUS_KEYS.includes(ev.key);
|
|
9164
|
+
if (!keyboardMode) {
|
|
9165
|
+
setFocus([]);
|
|
9166
|
+
}
|
|
9167
|
+
};
|
|
9168
|
+
const onFocusin = (ev) => {
|
|
9169
|
+
if (keyboardMode && ev.composedPath !== undefined) {
|
|
9170
|
+
const toFocus = ev.composedPath().filter((el) => {
|
|
9171
|
+
// TODO(FW-2832): type
|
|
9172
|
+
if (el.classList) {
|
|
9173
|
+
return el.classList.contains(ION_FOCUSABLE);
|
|
9174
|
+
}
|
|
9175
|
+
return false;
|
|
9176
|
+
});
|
|
9177
|
+
setFocus(toFocus);
|
|
9178
|
+
}
|
|
9179
|
+
};
|
|
9180
|
+
const onFocusout = () => {
|
|
9181
|
+
if (ref.activeElement === root) {
|
|
9182
|
+
setFocus([]);
|
|
9183
|
+
}
|
|
9184
|
+
};
|
|
9185
|
+
ref.addEventListener('keydown', onKeydown);
|
|
9186
|
+
ref.addEventListener('focusin', onFocusin);
|
|
9187
|
+
ref.addEventListener('focusout', onFocusout);
|
|
9188
|
+
ref.addEventListener('touchstart', pointerDown, { passive: true });
|
|
9189
|
+
ref.addEventListener('mousedown', pointerDown);
|
|
9190
|
+
const destroy = () => {
|
|
9191
|
+
ref.removeEventListener('keydown', onKeydown);
|
|
9192
|
+
ref.removeEventListener('focusin', onFocusin);
|
|
9193
|
+
ref.removeEventListener('focusout', onFocusout);
|
|
9194
|
+
ref.removeEventListener('touchstart', pointerDown);
|
|
9195
|
+
ref.removeEventListener('mousedown', pointerDown);
|
|
9196
|
+
};
|
|
9197
|
+
return {
|
|
9198
|
+
destroy,
|
|
9199
|
+
setFocus,
|
|
9200
|
+
};
|
|
9201
|
+
};
|
|
9202
|
+
|
|
9207
9203
|
/**
|
|
9208
9204
|
* Returns true if the selected day is equal to the reference day
|
|
9209
9205
|
*/
|