@ionic/core 8.8.14-dev.11784238294.131cd99d → 8.8.14-dev.11784563563.137a903a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/{p-BLmJ0zRm.js → p-8cRBED2y.js} +1 -1
- package/components/{p-BSEgsdFI.js → p-B5Ia5kbJ.js} +1 -1
- package/components/p-BG9RNTmW.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BnTB62Lu.js +4 -0
- package/components/p-BwKpO3Is.js +4 -0
- package/components/p-CEktCi-l.js +4 -0
- package/components/{p-B60hm8Qv.js → p-CHdYfvVx.js} +1 -1
- package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
- package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
- package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
- package/components/{p-rCa2eL0j.js → p-CtQ-1ZRt.js} +1 -1
- package/components/p-CwcD5kE9.js +4 -0
- package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
- package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
- package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
- package/components/p-D1-tlI3U.js +4 -0
- package/components/p-D2D6VdCA.js +4 -0
- package/components/{p-BHrrc-3d.js → p-D355UF9s.js} +1 -1
- package/components/{p-5bE_Wz4Y.js → p-DEI720fP.js} +1 -1
- package/components/p-DK0D_QD_.js +4 -0
- package/components/p-DXTfY6aF.js +4 -0
- package/components/{p-Cfx4M1Bn.js → p-DfjhtfFw.js} +1 -1
- package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
- package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
- package/components/p-Dtmv7Nm_.js +4 -0
- package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
- package/components/p-FV45cfy9.js +4 -0
- package/components/p-LMGfIvTf.js +4 -0
- package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
- package/components/p-jOtMJMv8.js +4 -0
- package/components/p-xjzudrQv.js +4 -0
- package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
- package/dist/cjs/config-DWdFbSNK.js +35 -0
- package/dist/cjs/index-Cueg3U4w.js +429 -0
- package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
- package/dist/cjs/index.cjs.js +7 -7
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +28 -8
- package/dist/cjs/ion-alert.cjs.entry.js +65 -26
- package/dist/cjs/ion-app_8.cjs.entry.js +24 -10
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- 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 +1 -1
- 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 +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
- package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +13 -657
- package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-img.cjs.entry.js +4 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -3
- package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ion-input.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-loading.cjs.entry.js +11 -6
- package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-modal.cjs.entry.js +24 -33
- package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
- package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
- package/dist/cjs/ion-popover.cjs.entry.js +10 -6
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +19 -5
- package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-select-modal.cjs.entry.js +85 -31
- package/dist/cjs/ion-select_3.cjs.entry.js +408 -50
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +3 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +7 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
- package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
- package/dist/cjs/ionic.cjs.js +3 -3
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DXnnHORC.js} +28 -32
- package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
- package/dist/collection/collection-manifest.json +6 -10
- package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
- package/dist/collection/components/action-sheet/action-sheet.js +24 -5
- package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
- package/dist/collection/components/alert/alert.ios.css +280 -10
- package/dist/collection/components/alert/alert.js +59 -21
- package/dist/collection/components/alert/alert.md.css +269 -20
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +10 -17
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +3 -10
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/img/img.js +6 -1
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +7 -3
- package/dist/collection/components/modal/gestures/sheet.js +0 -7
- package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
- package/dist/collection/components/modal/modal.ios.css +0 -8
- package/dist/collection/components/modal/modal.js +23 -18
- package/dist/collection/components/modal/modal.md.css +0 -8
- package/dist/collection/components/nav/nav.js +4 -219
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +4 -11
- package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +7 -3
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +4 -4
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/route/route.js +1 -1
- package/dist/collection/components/router/utils/dom.js +22 -3
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +38 -5
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +9 -9
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.ios.css +33 -0
- package/dist/collection/components/select/select.js +323 -16
- package/dist/collection/components/select/select.md.css +33 -0
- package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
- package/dist/collection/components/select-modal/select-modal.js +79 -26
- package/dist/collection/components/select-modal/select-modal.md.css +165 -0
- package/dist/collection/components/select-option/select-option.js +67 -3
- package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
- package/dist/collection/components/select-popover/select-popover.js +78 -26
- package/dist/collection/components/select-popover/select-popover.md.css +165 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +26 -30
- package/dist/collection/utils/platform.js +2 -2
- package/dist/collection/utils/sanitization/index.js +274 -18
- package/dist/collection/utils/select-option-render.js +119 -0
- package/dist/collection/utils/test/playwright/drag-element.js +0 -5
- package/dist/docs.json +556 -1272
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
- package/dist/esm/config-BwKpO3Is.js +31 -0
- package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
- package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
- package/dist/esm/index-DQSkZyOJ.js +424 -0
- package/dist/esm/index.js +5 -4
- package/dist/esm/ion-accordion_2.entry.js +2 -2
- package/dist/esm/ion-action-sheet.entry.js +28 -8
- package/dist/esm/ion-alert.entry.js +64 -25
- package/dist/esm/ion-app_8.entry.js +24 -10
- 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 +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +1 -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 +2 -2
- package/dist/esm/ion-datetime-button.entry.js +5 -11
- package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +17 -659
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +5 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
- package/dist/esm/ion-input-otp.entry.js +1 -1
- package/dist/esm/ion-input-password-toggle.entry.js +2 -2
- package/dist/esm/ion-input.entry.js +6 -6
- package/dist/esm/ion-item-option_3.entry.js +1 -1
- package/dist/esm/ion-item_8.entry.js +4 -4
- package/dist/esm/ion-loading.entry.js +10 -5
- package/dist/esm/ion-menu_3.entry.js +4 -4
- package/dist/esm/ion-modal.entry.js +24 -33
- package/dist/esm/ion-nav_2.entry.js +4 -117
- package/dist/esm/ion-picker-column-option.entry.js +4 -10
- package/dist/esm/ion-picker-column.entry.js +5 -11
- package/dist/esm/ion-popover.entry.js +10 -6
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +4 -4
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +6 -5
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +19 -5
- package/dist/esm/ion-searchbar.entry.js +7 -7
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +5 -5
- package/dist/esm/ion-select-modal.entry.js +85 -31
- package/dist/esm/ion-select_3.entry.js +411 -53
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +3 -3
- package/dist/esm/ion-tab-bar_2.entry.js +5 -5
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +3 -3
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +6 -5
- package/dist/esm/ion-toggle.entry.js +5 -5
- package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
- package/dist/esm/ionic.js +3 -3
- package/dist/esm/loader.js +3 -3
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DVgWBV3s.js} +29 -33
- package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
- package/dist/html.html-data.json +52 -80
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
- package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
- package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
- package/dist/ionic/p-129d3ed9.entry.js +4 -0
- package/dist/ionic/p-1d9e649a.entry.js +4 -0
- package/dist/ionic/p-2b3a2a38.entry.js +4 -0
- package/dist/ionic/{p-0fa9c382.entry.js → p-306b2e91.entry.js} +1 -1
- package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
- package/dist/ionic/{p-37e720da.entry.js → p-34c8f2dc.entry.js} +1 -1
- package/dist/ionic/{p-e0be05c5.entry.js → p-3ce3a59d.entry.js} +1 -1
- package/dist/ionic/p-3d719e91.entry.js +4 -0
- package/dist/ionic/{p-3a7d1e91.entry.js → p-408afa6d.entry.js} +1 -1
- package/dist/ionic/{p-9a65ac7f.entry.js → p-426130ad.entry.js} +1 -1
- package/dist/ionic/p-5599e1e1.entry.js +4 -0
- package/dist/ionic/{p-75dc25ba.entry.js → p-567b25e9.entry.js} +1 -1
- package/dist/ionic/p-570a212e.entry.js +4 -0
- package/dist/ionic/{p-4858af1f.entry.js → p-656e8181.entry.js} +1 -1
- package/dist/ionic/p-686de5dc.entry.js +4 -0
- package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
- package/dist/ionic/p-73d06afe.entry.js +4 -0
- package/dist/ionic/{p-34586ead.entry.js → p-79054426.entry.js} +1 -1
- package/dist/ionic/{p-9f1103ce.entry.js → p-79b2abe6.entry.js} +1 -1
- package/dist/ionic/p-7cb5cf53.entry.js +4 -0
- package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
- package/dist/ionic/p-845eb5d5.entry.js +4 -0
- package/dist/ionic/p-88f33e44.entry.js +4 -0
- package/dist/ionic/p-89c9c057.entry.js +4 -0
- package/dist/ionic/{p-c4d8641b.entry.js → p-8c4bdd70.entry.js} +1 -1
- package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
- package/dist/ionic/p-8cde6208.entry.js +4 -0
- package/dist/ionic/{p-5d1da0a2.entry.js → p-9366f06d.entry.js} +1 -1
- package/dist/ionic/p-9a29ba8c.entry.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
- package/dist/ionic/p-BDtODLZ4.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BwKpO3Is.js +4 -0
- package/dist/ionic/p-CGqbOURp.js +4 -0
- package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
- package/dist/ionic/p-DCOvXkOm.js +4 -0
- package/dist/ionic/p-DZigX5id.js +4 -0
- package/dist/ionic/p-DeSfrUWZ.js +4 -0
- package/dist/ionic/{p-84d5ce05.entry.js → p-a1448991.entry.js} +1 -1
- package/dist/ionic/{p-390ca786.entry.js → p-a256aeb6.entry.js} +1 -1
- package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
- package/dist/ionic/{p-8eb8ee76.entry.js → p-b2f15bd0.entry.js} +1 -1
- package/dist/ionic/p-b7737b44.entry.js +4 -0
- package/dist/ionic/p-ba99d16b.entry.js +4 -0
- package/dist/ionic/{p-ef4c3bee.entry.js → p-cdfe2531.entry.js} +1 -1
- package/dist/ionic/p-cf68f89c.entry.js +4 -0
- package/dist/ionic/p-d183a4ba.entry.js +4 -0
- package/dist/ionic/p-d57560ff.entry.js +4 -0
- package/dist/ionic/p-d5be2815.entry.js +4 -0
- package/dist/ionic/{p-874b4bd8.entry.js → p-d6d91a44.entry.js} +1 -1
- package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
- package/dist/ionic/{p-3ae5f277.entry.js → p-e56b1836.entry.js} +1 -1
- package/dist/ionic/p-f09f9642.entry.js +4 -0
- package/dist/ionic/p-f2ae690a.entry.js +4 -0
- package/dist/ionic/{p-3a126bca.entry.js → p-f5b104d9.entry.js} +1 -1
- package/dist/ionic/p-f88310b9.entry.js +4 -0
- package/dist/ionic/p-fd4e56cd.entry.js +4 -0
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/nav/nav-interface.d.ts +0 -1
- package/dist/types/components/nav/nav.d.ts +2 -22
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +18 -0
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components.d.ts +74 -311
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/config.d.ts +0 -8
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +11 -9
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/hydrate/index.js +1355 -1261
- package/hydrate/index.mjs +1355 -1261
- package/package.json +37 -5
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-BIPPbW0M.js +0 -4
- package/components/p-BUYFy35a.js +0 -4
- package/components/p-BWEZufiK.js +0 -4
- package/components/p-BjfgFSSR.js +0 -4
- package/components/p-BqpciLfi.js +0 -4
- package/components/p-BsPelv04.js +0 -4
- package/components/p-BsQPAqo9.js +0 -4
- package/components/p-CRNiQiYf.js +0 -4
- package/components/p-CU5rbWAW.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-W5nO8mX_.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-nyXeHk23.js +0 -4
- package/dist/cjs/config-xninhj0J.js +0 -201
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-06c232a4.entry.js +0 -4
- package/dist/ionic/p-0dc33652.entry.js +0 -4
- package/dist/ionic/p-20b1a044.entry.js +0 -4
- package/dist/ionic/p-21eb76d5.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2a05aa64.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-485fda23.entry.js +0 -4
- package/dist/ionic/p-4baa5b82.entry.js +0 -4
- package/dist/ionic/p-5018dfc8.entry.js +0 -4
- package/dist/ionic/p-50e1194a.entry.js +0 -4
- package/dist/ionic/p-5eb8e86d.entry.js +0 -4
- package/dist/ionic/p-65ebdf1b.entry.js +0 -4
- package/dist/ionic/p-6ebdbebe.entry.js +0 -4
- package/dist/ionic/p-8fce95d5.entry.js +0 -4
- package/dist/ionic/p-9f9db3a2.entry.js +0 -4
- package/dist/ionic/p-D-3ycHmd.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-a21add2f.entry.js +0 -4
- package/dist/ionic/p-c0fb8edd.entry.js +0 -4
- package/dist/ionic/p-c38b648e.entry.js +0 -4
- package/dist/ionic/p-ca2ab74d.entry.js +0 -4
- package/dist/ionic/p-e6a4bb56.entry.js +0 -4
- package/dist/ionic/p-ec090e0a.entry.js +0 -4
- package/dist/ionic/p-f386f6ae.entry.js +0 -4
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
|
@@ -23,12 +23,6 @@ export class DatetimeButton {
|
|
|
23
23
|
this.overlayEl = null;
|
|
24
24
|
this.datetimePresentation = 'date-time';
|
|
25
25
|
this.datetimeActive = false;
|
|
26
|
-
/**
|
|
27
|
-
* The color to use from your application's color palette.
|
|
28
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
29
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
|
30
|
-
*/
|
|
31
|
-
this.color = 'primary';
|
|
32
26
|
/**
|
|
33
27
|
* If `true`, the user cannot interact with the button.
|
|
34
28
|
*/
|
|
@@ -342,11 +336,11 @@ export class DatetimeButton {
|
|
|
342
336
|
render() {
|
|
343
337
|
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
|
344
338
|
const mode = getIonMode(this);
|
|
345
|
-
return (h(Host, { key: '
|
|
339
|
+
return (h(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses(color, {
|
|
346
340
|
[mode]: true,
|
|
347
341
|
[`${selectedButton}-active`]: datetimeActive,
|
|
348
342
|
['datetime-button-disabled']: disabled,
|
|
349
|
-
}) }, dateText && (h("button", { key: '
|
|
343
|
+
}) }, dateText && (h("button", { key: 'd9698471fa5d5c834ca73db57f9ed98dfc705b4c', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'c8761a7f25ae5b93c953b3486dd6335f5ad4fd53', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '3dd5e97af8d35a2b008de4ab01f690b3c2223135' }))), timeText && (h("button", { key: '1107ca2382940b642b551f885f7ca763012c236c', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5cff53e486923b03715b9ab4dc0947e26f4ea1d9', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '5aac1facb6fc7457307c4f59a241e3a5b31facc8' })))));
|
|
350
344
|
}
|
|
351
345
|
static get is() { return "ion-datetime-button"; }
|
|
352
346
|
static get encapsulation() { return "shadow"; }
|
|
@@ -388,8 +382,7 @@ export class DatetimeButton {
|
|
|
388
382
|
"getter": false,
|
|
389
383
|
"setter": false,
|
|
390
384
|
"reflect": true,
|
|
391
|
-
"attribute": "color"
|
|
392
|
-
"defaultValue": "'primary'"
|
|
385
|
+
"attribute": "color"
|
|
393
386
|
},
|
|
394
387
|
"disabled": {
|
|
395
388
|
"type": "boolean",
|
|
@@ -82,6 +82,11 @@
|
|
|
82
82
|
|
|
83
83
|
:host(.time-active) #time-button,
|
|
84
84
|
:host(.date-active) #date-button {
|
|
85
|
+
color: var(--ion-color-primary, #0054e9);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
:host(.ion-color.time-active) #time-button,
|
|
89
|
+
:host(.ion-color.date-active) #date-button {
|
|
85
90
|
color: var(--ion-color-base);
|
|
86
91
|
}
|
|
87
92
|
|
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
5
|
import { inheritAttributes } from "../../utils/helpers";
|
|
6
|
+
import { printIonWarning } from "../../utils/logging/index";
|
|
6
7
|
import { getIonMode } from "../../global/ionic-global";
|
|
7
8
|
/**
|
|
9
|
+
* @deprecated
|
|
10
|
+
*
|
|
8
11
|
* @part image - The inner `img` element.
|
|
9
12
|
*/
|
|
10
13
|
export class Img {
|
|
@@ -24,6 +27,8 @@ export class Img {
|
|
|
24
27
|
this.inheritedAttributes = inheritAttributes(this.el, ['draggable']);
|
|
25
28
|
}
|
|
26
29
|
componentDidLoad() {
|
|
30
|
+
printIonWarning('[ion-img] - This component is deprecated and will be removed in Ionic v10. ' +
|
|
31
|
+
'Use a native <img> with the loading="lazy" attribute instead.', this.el);
|
|
27
32
|
this.addIO();
|
|
28
33
|
}
|
|
29
34
|
disconnectedCallback() {
|
|
@@ -76,7 +81,7 @@ export class Img {
|
|
|
76
81
|
render() {
|
|
77
82
|
const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
|
|
78
83
|
const { draggable } = inheritedAttributes;
|
|
79
|
-
return (h(Host, { key: '
|
|
84
|
+
return (h(Host, { key: '57bfb44d9850381fe7b6fcf0c9019b03f7ef86ec', class: getIonMode(this) }, h("img", { key: '888ec06a266fa2751fc0147ede6a567f4e2b29a6', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
|
|
80
85
|
}
|
|
81
86
|
static get is() { return "ion-img"; }
|
|
82
87
|
static get encapsulation() { return "shadow"; }
|
|
@@ -56,7 +56,7 @@ export class Input {
|
|
|
56
56
|
/**
|
|
57
57
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
58
58
|
*/
|
|
59
|
-
this.autocorrect =
|
|
59
|
+
this.autocorrect = false;
|
|
60
60
|
/**
|
|
61
61
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
62
62
|
*
|
|
@@ -540,7 +540,7 @@ export class Input {
|
|
|
540
540
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
541
541
|
*/
|
|
542
542
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
|
|
543
|
-
return (h(Host, { key: '
|
|
543
|
+
return (h(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses(this.color, {
|
|
544
544
|
[mode]: true,
|
|
545
545
|
'has-value': hasValue,
|
|
546
546
|
'has-focus': hasFocus,
|
|
@@ -551,14 +551,14 @@ export class Input {
|
|
|
551
551
|
'in-item': inItem,
|
|
552
552
|
'in-item-color': hostContext('ion-item.ion-color', this.el),
|
|
553
553
|
'input-disabled': disabled,
|
|
554
|
-
}) }, h("label", { key: '
|
|
554
|
+
}) }, h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), h("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
|
|
555
555
|
/**
|
|
556
556
|
* This prevents mobile browsers from
|
|
557
557
|
* blurring the input when the clear
|
|
558
558
|
* button is activated.
|
|
559
559
|
*/
|
|
560
560
|
ev.preventDefault();
|
|
561
|
-
}, onClick: this.clearTextInput }, h("ion-icon", { key: '
|
|
561
|
+
}, onClick: this.clearTextInput }, h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
|
|
562
562
|
}
|
|
563
563
|
static get is() { return "ion-input"; }
|
|
564
564
|
static get encapsulation() { return "scoped"; }
|
|
@@ -650,11 +650,11 @@ export class Input {
|
|
|
650
650
|
"defaultValue": "'off'"
|
|
651
651
|
},
|
|
652
652
|
"autocorrect": {
|
|
653
|
-
"type": "
|
|
653
|
+
"type": "boolean",
|
|
654
654
|
"mutable": false,
|
|
655
655
|
"complexType": {
|
|
656
|
-
"original": "
|
|
657
|
-
"resolved": "
|
|
656
|
+
"original": "boolean",
|
|
657
|
+
"resolved": "boolean",
|
|
658
658
|
"references": {}
|
|
659
659
|
},
|
|
660
660
|
"required": false,
|
|
@@ -667,7 +667,7 @@ export class Input {
|
|
|
667
667
|
"setter": false,
|
|
668
668
|
"reflect": false,
|
|
669
669
|
"attribute": "autocorrect",
|
|
670
|
-
"defaultValue": "
|
|
670
|
+
"defaultValue": "false"
|
|
671
671
|
},
|
|
672
672
|
"autofocus": {
|
|
673
673
|
"type": "boolean",
|
|
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
|
|
6
6
|
import { raf } from "../../utils/helpers";
|
|
7
7
|
import { createLockController } from "../../utils/lock-controller";
|
|
8
|
-
import { BACKDROP, dismiss, eventMethod, prepareOverlay, present,
|
|
8
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
|
|
9
9
|
import { sanitizeDOMString } from "../../utils/sanitization/index";
|
|
10
10
|
import { getClassMap } from "../../utils/theme";
|
|
11
11
|
import { config } from "../../global/config";
|
|
@@ -114,6 +114,10 @@ export class Loading {
|
|
|
114
114
|
}
|
|
115
115
|
disconnectedCallback() {
|
|
116
116
|
this.triggerController.removeClickListener();
|
|
117
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
118
|
+
if (this.presented) {
|
|
119
|
+
cleanupRootFocusTrapAccessibility();
|
|
120
|
+
}
|
|
117
121
|
}
|
|
118
122
|
/**
|
|
119
123
|
* Present the loading overlay after it has been created.
|
|
@@ -179,9 +183,9 @@ export class Loading {
|
|
|
179
183
|
* Otherwise, don't set aria-labelledby.
|
|
180
184
|
*/
|
|
181
185
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
182
|
-
return (h(Host, Object.assign({ key: '
|
|
186
|
+
return (h(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
183
187
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
184
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
188
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
|
|
185
189
|
}
|
|
186
190
|
static get is() { return "ion-loading"; }
|
|
187
191
|
static get encapsulation() { return "scoped"; }
|
|
@@ -224,13 +224,6 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
224
224
|
return true;
|
|
225
225
|
};
|
|
226
226
|
const onStart = (detail) => {
|
|
227
|
-
var _a;
|
|
228
|
-
/**
|
|
229
|
-
* Firefox automatically selects the header text during drag
|
|
230
|
-
* due to the focusable wrapper (tabindex="-1"). Remove any
|
|
231
|
-
* selection that may have occurred.
|
|
232
|
-
*/
|
|
233
|
-
(_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
|
|
234
227
|
/**
|
|
235
228
|
* If canDismiss is anything other than `true`
|
|
236
229
|
* then users should be able to swipe down
|
|
@@ -96,14 +96,7 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
|
|
|
96
96
|
return false;
|
|
97
97
|
};
|
|
98
98
|
const onStart = (detail) => {
|
|
99
|
-
var _a;
|
|
100
99
|
const { deltaY } = detail;
|
|
101
|
-
/**
|
|
102
|
-
* Firefox automatically selects the header text during drag
|
|
103
|
-
* due to the focusable wrapper (tabindex="-1"). Remove any
|
|
104
|
-
* selection that may have occurred.
|
|
105
|
-
*/
|
|
106
|
-
(_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
|
|
107
100
|
/**
|
|
108
101
|
* Get the initial scrollY value so
|
|
109
102
|
* that we can correctly reset the scrollY
|
|
@@ -126,14 +126,6 @@ ion-backdrop {
|
|
|
126
126
|
z-index: 10;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
/**
|
|
130
|
-
* The wrapper receives programmatic focus for screen readers but should not
|
|
131
|
-
* show a visible focus ring, which is meant only for keyboard navigation.
|
|
132
|
-
*/
|
|
133
|
-
.modal-wrapper {
|
|
134
|
-
outline: none;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
129
|
.modal-shadow {
|
|
138
130
|
position: absolute;
|
|
139
131
|
background: transparent;
|
|
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
|
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
10
|
import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
|
|
11
|
-
import {
|
|
11
|
+
import { BACKDROP, cleanupRootFocusTrapAccessibility, createTriggerController, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, GESTURE, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
14
14
|
import { config } from "../../global/config";
|
|
@@ -77,13 +77,20 @@ export class Modal {
|
|
|
77
77
|
/**
|
|
78
78
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
79
79
|
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
80
|
+
* Handle behavior is unavailable when the `handle` property is set to
|
|
81
|
+
* `false` or when the `breakpoints` property is not set (using a
|
|
82
|
+
* fullscreen or card modal).
|
|
82
83
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
84
|
+
* Set to `"cycle"` to make the handle focusable and let the sheet modal
|
|
85
|
+
* cycle between available breakpoints when pressed. This keeps the sheet
|
|
86
|
+
* operable with assistive technology.
|
|
87
|
+
*
|
|
88
|
+
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
89
|
+
* removed from the tab order.
|
|
90
|
+
*
|
|
91
|
+
* Defaults to `"cycle"`.
|
|
85
92
|
*/
|
|
86
|
-
this.handleBehavior = '
|
|
93
|
+
this.handleBehavior = 'cycle';
|
|
87
94
|
/**
|
|
88
95
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
89
96
|
*/
|
|
@@ -275,6 +282,10 @@ export class Modal {
|
|
|
275
282
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
276
283
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
277
284
|
this.cleanupSafeAreaOverrides();
|
|
285
|
+
// Clean up aria-hidden if removed without dismiss() being called
|
|
286
|
+
if (this.presented) {
|
|
287
|
+
cleanupRootFocusTrapAccessibility();
|
|
288
|
+
}
|
|
278
289
|
}
|
|
279
290
|
componentWillLoad() {
|
|
280
291
|
var _a;
|
|
@@ -1162,26 +1173,20 @@ export class Modal {
|
|
|
1162
1173
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1163
1174
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1164
1175
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
1165
|
-
return (h(Host, Object.assign({ key: '
|
|
1176
|
+
return (h(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
|
|
1166
1177
|
// Allow the modal to be navigable when the handle is focusable
|
|
1167
1178
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
1168
1179
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1169
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '
|
|
1180
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
|
|
1170
1181
|
/*
|
|
1171
1182
|
role and aria-modal must be used on the
|
|
1172
1183
|
same element. They must also be set inside the
|
|
1173
1184
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1174
1185
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1175
|
-
|
|
1176
|
-
tabIndex={-1} is required so present() can move focus to this
|
|
1177
|
-
element (which carries the dialog role) instead of the role-less
|
|
1178
|
-
host. role="dialog" alone does not make an element focusable, so
|
|
1179
|
-
without the tabindex focus() would be a no-op and screen readers
|
|
1180
|
-
may not properly announce the dialog and its content when it opens.
|
|
1181
1186
|
*/
|
|
1182
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true",
|
|
1187
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
|
|
1183
1188
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1184
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '
|
|
1189
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
|
|
1185
1190
|
}
|
|
1186
1191
|
static get is() { return "ion-modal"; }
|
|
1187
1192
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1453,13 +1458,13 @@ export class Modal {
|
|
|
1453
1458
|
"optional": true,
|
|
1454
1459
|
"docs": {
|
|
1455
1460
|
"tags": [],
|
|
1456
|
-
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\
|
|
1461
|
+
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nHandle behavior is unavailable when the `handle` property is set to\n`false` or when the `breakpoints` property is not set (using a\nfullscreen or card modal).\n\nSet to `\"cycle\"` to make the handle focusable and let the sheet modal\ncycle between available breakpoints when pressed. This keeps the sheet\noperable with assistive technology.\n\nSet to `\"none\"` to make the handle purely decorative when pressed and\nremoved from the tab order.\n\nDefaults to `\"cycle\"`."
|
|
1457
1462
|
},
|
|
1458
1463
|
"getter": false,
|
|
1459
1464
|
"setter": false,
|
|
1460
1465
|
"reflect": false,
|
|
1461
1466
|
"attribute": "handle-behavior",
|
|
1462
|
-
"defaultValue": "'
|
|
1467
|
+
"defaultValue": "'cycle'"
|
|
1463
1468
|
},
|
|
1464
1469
|
"component": {
|
|
1465
1470
|
"type": "string",
|
|
@@ -126,14 +126,6 @@ ion-backdrop {
|
|
|
126
126
|
z-index: 10;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
/**
|
|
130
|
-
* The wrapper receives programmatic focus for screen readers but should not
|
|
131
|
-
* show a visible focus ring, which is meant only for keyboard navigation.
|
|
132
|
-
*/
|
|
133
|
-
.modal-wrapper {
|
|
134
|
-
outline: none;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
129
|
.modal-shadow {
|
|
138
130
|
position: absolute;
|
|
139
131
|
background: transparent;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { h } from "@stencil/core";
|
|
5
5
|
import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
|
|
6
6
|
import { assert } from "../../utils/helpers";
|
|
7
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
@@ -9,12 +9,11 @@ import { lifecycle, setPageHidden, transition } from "../../utils/transition/ind
|
|
|
9
9
|
import { config } from "../../global/config";
|
|
10
10
|
import { getIonMode } from "../../global/ionic-global";
|
|
11
11
|
import { LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_LEAVE, LIFECYCLE_WILL_UNLOAD } from "./constants";
|
|
12
|
-
import { VIEW_STATE_ATTACHED, VIEW_STATE_DESTROYED, VIEW_STATE_NEW, convertToViews
|
|
12
|
+
import { VIEW_STATE_ATTACHED, VIEW_STATE_DESTROYED, VIEW_STATE_NEW, convertToViews } from "./view-controller";
|
|
13
13
|
export class Nav {
|
|
14
14
|
constructor() {
|
|
15
15
|
this.transInstr = [];
|
|
16
16
|
this.gestureOrAnimationInProgress = false;
|
|
17
|
-
this.useRouter = false;
|
|
18
17
|
this.isTransitioning = false;
|
|
19
18
|
this.destroyed = false;
|
|
20
19
|
this.views = [];
|
|
@@ -30,7 +29,6 @@ export class Nav {
|
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
31
|
rootChanged() {
|
|
33
|
-
const isDev = Build.isDev;
|
|
34
32
|
if (this.root === undefined) {
|
|
35
33
|
return;
|
|
36
34
|
}
|
|
@@ -41,17 +39,9 @@ export class Nav {
|
|
|
41
39
|
*/
|
|
42
40
|
return;
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
if (this.root !== undefined) {
|
|
46
|
-
this.setRoot(this.root, this.rootParams);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
else if (isDev) {
|
|
50
|
-
printIonWarning('[ion-nav] - A root attribute is not supported when using ion-router.', this.el);
|
|
51
|
-
}
|
|
42
|
+
this.setRoot(this.root, this.rootParams);
|
|
52
43
|
}
|
|
53
44
|
componentWillLoad() {
|
|
54
|
-
this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
|
|
55
45
|
if (this.swipeGesture === undefined) {
|
|
56
46
|
const mode = getIonMode(this);
|
|
57
47
|
this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');
|
|
@@ -216,78 +206,6 @@ export class Nav {
|
|
|
216
206
|
opts,
|
|
217
207
|
}, done);
|
|
218
208
|
}
|
|
219
|
-
/**
|
|
220
|
-
* Called by the router to update the view.
|
|
221
|
-
*
|
|
222
|
-
* @param id The component tag.
|
|
223
|
-
* @param params The component params.
|
|
224
|
-
* @param direction A direction hint.
|
|
225
|
-
* @param animation an AnimationBuilder.
|
|
226
|
-
*
|
|
227
|
-
* @return the status.
|
|
228
|
-
* @internal
|
|
229
|
-
*/
|
|
230
|
-
setRouteId(id, params, direction, animation) {
|
|
231
|
-
const active = this.getActiveSync();
|
|
232
|
-
if (matches(active, id, params)) {
|
|
233
|
-
return Promise.resolve({
|
|
234
|
-
changed: false,
|
|
235
|
-
element: active.element,
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
let resolve;
|
|
239
|
-
const promise = new Promise((r) => (resolve = r));
|
|
240
|
-
let finish;
|
|
241
|
-
const commonOpts = {
|
|
242
|
-
updateURL: false,
|
|
243
|
-
viewIsReady: (enteringEl) => {
|
|
244
|
-
let mark;
|
|
245
|
-
const p = new Promise((r) => (mark = r));
|
|
246
|
-
resolve({
|
|
247
|
-
changed: true,
|
|
248
|
-
element: enteringEl,
|
|
249
|
-
markVisible: async () => {
|
|
250
|
-
mark();
|
|
251
|
-
await finish;
|
|
252
|
-
},
|
|
253
|
-
});
|
|
254
|
-
return p;
|
|
255
|
-
},
|
|
256
|
-
};
|
|
257
|
-
if (direction === 'root') {
|
|
258
|
-
finish = this.setRoot(id, params, commonOpts);
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
// Look for a view matching the target in the view stack.
|
|
262
|
-
const viewController = this.views.find((v) => matches(v, id, params));
|
|
263
|
-
if (viewController) {
|
|
264
|
-
finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
|
|
265
|
-
}
|
|
266
|
-
else if (direction === 'forward') {
|
|
267
|
-
finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
|
|
268
|
-
}
|
|
269
|
-
else if (direction === 'back') {
|
|
270
|
-
finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
return promise;
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Called by <ion-router> to retrieve the current component.
|
|
277
|
-
*
|
|
278
|
-
* @internal
|
|
279
|
-
*/
|
|
280
|
-
async getRouteId() {
|
|
281
|
-
const active = this.getActiveSync();
|
|
282
|
-
if (active) {
|
|
283
|
-
return {
|
|
284
|
-
id: active.element.tagName,
|
|
285
|
-
params: active.params,
|
|
286
|
-
element: active.element,
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
return undefined;
|
|
290
|
-
}
|
|
291
209
|
/**
|
|
292
210
|
* Get the active view.
|
|
293
211
|
*/
|
|
@@ -353,25 +271,6 @@ export class Nav {
|
|
|
353
271
|
ti.reject = reject;
|
|
354
272
|
});
|
|
355
273
|
ti.done = done;
|
|
356
|
-
/**
|
|
357
|
-
* If using router, check to see if navigation hooks
|
|
358
|
-
* will allow us to perform this transition. This
|
|
359
|
-
* is required in order for hooks to work with
|
|
360
|
-
* the ion-back-button or swipe to go back.
|
|
361
|
-
*/
|
|
362
|
-
if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
|
|
363
|
-
const router = document.querySelector('ion-router');
|
|
364
|
-
if (router) {
|
|
365
|
-
const canTransition = await router.canTransition();
|
|
366
|
-
if (canTransition === false) {
|
|
367
|
-
return false;
|
|
368
|
-
}
|
|
369
|
-
if (typeof canTransition === 'string') {
|
|
370
|
-
router.push(canTransition, ti.opts.direction || 'back');
|
|
371
|
-
return false;
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
274
|
// Normalize empty
|
|
376
275
|
if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
377
276
|
ti.insertViews = undefined;
|
|
@@ -392,13 +291,6 @@ export class Nav {
|
|
|
392
291
|
ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
|
|
393
292
|
}
|
|
394
293
|
ti.resolve(result.hasCompleted);
|
|
395
|
-
if (ti.opts.updateURL !== false && this.useRouter) {
|
|
396
|
-
const router = document.querySelector('ion-router');
|
|
397
|
-
if (router) {
|
|
398
|
-
const direction = result.direction === 'back' ? 'back' : 'forward';
|
|
399
|
-
router.navChanged(direction);
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
294
|
}
|
|
403
295
|
failed(rejectReason, ti) {
|
|
404
296
|
if (this.destroyed) {
|
|
@@ -828,7 +720,7 @@ export class Nav {
|
|
|
828
720
|
}
|
|
829
721
|
}
|
|
830
722
|
render() {
|
|
831
|
-
return h("slot", { key: '
|
|
723
|
+
return h("slot", { key: 'bb4a201a3a8079548f5474ff42293b28fc7599fb' });
|
|
832
724
|
}
|
|
833
725
|
static get is() { return "ion-nav"; }
|
|
834
726
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1601,113 +1493,6 @@ export class Nav {
|
|
|
1601
1493
|
}]
|
|
1602
1494
|
}
|
|
1603
1495
|
},
|
|
1604
|
-
"setRouteId": {
|
|
1605
|
-
"complexType": {
|
|
1606
|
-
"signature": "(id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>",
|
|
1607
|
-
"parameters": [{
|
|
1608
|
-
"name": "id",
|
|
1609
|
-
"type": "string",
|
|
1610
|
-
"docs": "The component tag."
|
|
1611
|
-
}, {
|
|
1612
|
-
"name": "params",
|
|
1613
|
-
"type": "ComponentProps | undefined",
|
|
1614
|
-
"docs": "The component params."
|
|
1615
|
-
}, {
|
|
1616
|
-
"name": "direction",
|
|
1617
|
-
"type": "\"root\" | \"back\" | \"forward\"",
|
|
1618
|
-
"docs": "A direction hint."
|
|
1619
|
-
}, {
|
|
1620
|
-
"name": "animation",
|
|
1621
|
-
"type": "AnimationBuilder | undefined",
|
|
1622
|
-
"docs": "an AnimationBuilder."
|
|
1623
|
-
}],
|
|
1624
|
-
"references": {
|
|
1625
|
-
"Promise": {
|
|
1626
|
-
"location": "global",
|
|
1627
|
-
"id": "global::Promise"
|
|
1628
|
-
},
|
|
1629
|
-
"RouteWrite": {
|
|
1630
|
-
"location": "import",
|
|
1631
|
-
"path": "../router/utils/interface",
|
|
1632
|
-
"id": "src/components/router/utils/interface.ts::RouteWrite",
|
|
1633
|
-
"referenceLocation": "RouteWrite"
|
|
1634
|
-
},
|
|
1635
|
-
"ComponentProps": {
|
|
1636
|
-
"location": "import",
|
|
1637
|
-
"path": "../../interface",
|
|
1638
|
-
"id": "src/interface.d.ts::ComponentProps",
|
|
1639
|
-
"referenceLocation": "ComponentProps"
|
|
1640
|
-
},
|
|
1641
|
-
"RouterDirection": {
|
|
1642
|
-
"location": "import",
|
|
1643
|
-
"path": "../router/utils/interface",
|
|
1644
|
-
"id": "src/components/router/utils/interface.ts::RouterDirection",
|
|
1645
|
-
"referenceLocation": "RouterDirection"
|
|
1646
|
-
},
|
|
1647
|
-
"AnimationBuilder": {
|
|
1648
|
-
"location": "import",
|
|
1649
|
-
"path": "../../interface",
|
|
1650
|
-
"id": "src/interface.d.ts::AnimationBuilder",
|
|
1651
|
-
"referenceLocation": "AnimationBuilder"
|
|
1652
|
-
},
|
|
1653
|
-
"NavOptions": {
|
|
1654
|
-
"location": "import",
|
|
1655
|
-
"path": "./nav-interface",
|
|
1656
|
-
"id": "src/components/nav/nav-interface.ts::NavOptions",
|
|
1657
|
-
"referenceLocation": "NavOptions"
|
|
1658
|
-
}
|
|
1659
|
-
},
|
|
1660
|
-
"return": "Promise<RouteWrite>"
|
|
1661
|
-
},
|
|
1662
|
-
"docs": {
|
|
1663
|
-
"text": "Called by the router to update the view.",
|
|
1664
|
-
"tags": [{
|
|
1665
|
-
"name": "param",
|
|
1666
|
-
"text": "id The component tag."
|
|
1667
|
-
}, {
|
|
1668
|
-
"name": "param",
|
|
1669
|
-
"text": "params The component params."
|
|
1670
|
-
}, {
|
|
1671
|
-
"name": "param",
|
|
1672
|
-
"text": "direction A direction hint."
|
|
1673
|
-
}, {
|
|
1674
|
-
"name": "param",
|
|
1675
|
-
"text": "animation an AnimationBuilder."
|
|
1676
|
-
}, {
|
|
1677
|
-
"name": "return",
|
|
1678
|
-
"text": "the status."
|
|
1679
|
-
}, {
|
|
1680
|
-
"name": "internal",
|
|
1681
|
-
"text": undefined
|
|
1682
|
-
}]
|
|
1683
|
-
}
|
|
1684
|
-
},
|
|
1685
|
-
"getRouteId": {
|
|
1686
|
-
"complexType": {
|
|
1687
|
-
"signature": "() => Promise<RouteID | undefined>",
|
|
1688
|
-
"parameters": [],
|
|
1689
|
-
"references": {
|
|
1690
|
-
"Promise": {
|
|
1691
|
-
"location": "global",
|
|
1692
|
-
"id": "global::Promise"
|
|
1693
|
-
},
|
|
1694
|
-
"RouteID": {
|
|
1695
|
-
"location": "import",
|
|
1696
|
-
"path": "../router/utils/interface",
|
|
1697
|
-
"id": "src/components/router/utils/interface.ts::RouteID",
|
|
1698
|
-
"referenceLocation": "RouteID"
|
|
1699
|
-
}
|
|
1700
|
-
},
|
|
1701
|
-
"return": "Promise<RouteID | undefined>"
|
|
1702
|
-
},
|
|
1703
|
-
"docs": {
|
|
1704
|
-
"text": "Called by <ion-router> to retrieve the current component.",
|
|
1705
|
-
"tags": [{
|
|
1706
|
-
"name": "internal",
|
|
1707
|
-
"text": undefined
|
|
1708
|
-
}]
|
|
1709
|
-
}
|
|
1710
|
-
},
|
|
1711
1496
|
"getActive": {
|
|
1712
1497
|
"complexType": {
|
|
1713
1498
|
"signature": "() => Promise<ViewController | undefined>",
|
|
@@ -223,6 +223,9 @@
|
|
|
223
223
|
@media (any-hover: hover) {
|
|
224
224
|
:host(:focus) .picker-opts {
|
|
225
225
|
outline: none;
|
|
226
|
+
background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
|
|
227
|
+
}
|
|
228
|
+
:host(.ion-color:focus) .picker-opts {
|
|
226
229
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
227
230
|
}
|
|
228
231
|
}
|