voyager-ionic-core 8.7.11 → 8.7.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/action-sheet.js +186 -5
- package/components/button.js +6 -4
- package/components/content.js +13 -3
- package/components/header.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-input-password-toggle.js +2 -2
- package/components/ion-select.js +8 -3
- package/components/item.js +1 -1
- package/components/modal.js +97 -5
- package/components/overlays.js +14 -6
- package/components/popover.js +36 -2
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +184 -5
- package/dist/cjs/ion-alert.cjs.entry.js +1 -1
- package/dist/cjs/ion-app_8.cjs.entry.js +13 -4
- package/dist/cjs/ion-button_2.cjs.entry.js +4 -3
- package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +1 -1
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +97 -6
- package/dist/cjs/ion-popover.cjs.entry.js +37 -3
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +9 -4
- package/dist/cjs/ion-toast.cjs.entry.js +1 -1
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-DxIZwUXI.js → overlays-B2b-TTbl.js} +14 -6
- package/dist/collection/components/accordion/accordion.js +3 -3
- package/dist/collection/components/action-sheet/action-sheet.js +199 -4
- package/dist/collection/components/button/button.js +5 -2
- package/dist/collection/components/content/content.js +32 -3
- package/dist/collection/components/fab-button/fab-button.js +3 -3
- package/dist/collection/components/header/header.md.css +1 -1
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +2 -2
- package/dist/collection/components/item/item.js +3 -3
- package/dist/collection/components/modal/modal.js +97 -5
- package/dist/collection/components/popover/popover.js +36 -2
- package/dist/collection/components/select/select.js +8 -3
- package/dist/collection/utils/overlays.js +14 -6
- package/dist/docs.json +26 -20
- package/dist/esm/index.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +184 -5
- package/dist/esm/ion-alert.entry.js +1 -1
- package/dist/esm/ion-app_8.entry.js +13 -4
- package/dist/esm/ion-button_2.entry.js +4 -3
- package/dist/esm/ion-datetime_3.entry.js +1 -1
- package/dist/esm/ion-input-password-toggle.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +1 -1
- package/dist/esm/ion-menu_3.entry.js +1 -1
- package/dist/esm/ion-modal.entry.js +97 -6
- package/dist/esm/ion-popover.entry.js +37 -3
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +9 -4
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-BymNv-BL.js → overlays-D5YkFThA.js} +14 -6
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-0b80d700.entry.js → p-02d76786.entry.js} +1 -1
- package/dist/ionic/p-11aa58d6.entry.js +4 -0
- package/dist/ionic/p-2072e209.entry.js +4 -0
- package/dist/ionic/p-34642fa1.entry.js +4 -0
- package/dist/ionic/{p-7da39a4d.entry.js → p-35696017.entry.js} +1 -1
- package/dist/ionic/p-6e4c7b5b.entry.js +4 -0
- package/dist/ionic/p-7babec72.entry.js +4 -0
- package/dist/ionic/p-DdR6rpbR.js +4 -0
- package/dist/ionic/{p-15193d01.entry.js → p-b3d44509.entry.js} +1 -1
- package/dist/ionic/{p-cb93126d.entry.js → p-c19af093.entry.js} +1 -1
- package/dist/ionic/{p-83be404e.entry.js → p-db82892c.entry.js} +1 -1
- package/dist/ionic/{p-98fc09eb.entry.js → p-dd1aef77.entry.js} +1 -1
- package/dist/ionic/p-eb024a5b.entry.js +4 -0
- package/dist/ionic/p-f9061316.entry.js +4 -0
- package/dist/ionic/svg/document-sharp.svg +1 -0
- package/dist/ionic/svg/document-text-outline.svg +1 -0
- package/dist/ionic/svg/document-text-sharp.svg +1 -0
- package/dist/ionic/svg/document-text.svg +1 -0
- package/dist/ionic/svg/document.svg +1 -0
- package/dist/ionic/svg/documents-outline.svg +1 -0
- package/dist/ionic/svg/documents-sharp.svg +1 -0
- package/dist/ionic/svg/documents.svg +1 -0
- package/dist/ionic/svg/download-outline.svg +1 -0
- package/dist/ionic/svg/download-sharp.svg +1 -0
- package/dist/ionic/svg/download.svg +1 -0
- package/dist/ionic/svg/duplicate-outline.svg +1 -0
- package/dist/ionic/svg/duplicate-sharp.svg +1 -0
- package/dist/ionic/svg/duplicate.svg +1 -0
- package/dist/ionic/svg/ear-outline.svg +1 -0
- package/dist/ionic/svg/ear-sharp.svg +1 -0
- package/dist/ionic/svg/ear.svg +1 -0
- package/dist/ionic/svg/earth-outline.svg +1 -0
- package/dist/ionic/svg/earth-sharp.svg +1 -0
- package/dist/ionic/svg/earth.svg +1 -0
- package/dist/ionic/svg/easel-outline.svg +1 -0
- package/dist/ionic/svg/easel-sharp.svg +1 -0
- package/dist/ionic/svg/easel.svg +1 -0
- package/dist/ionic/svg/egg-outline.svg +1 -0
- package/dist/ionic/svg/egg-sharp.svg +1 -0
- package/dist/ionic/svg/egg.svg +1 -0
- package/dist/ionic/svg/ellipse-outline.svg +1 -0
- package/dist/ionic/svg/ellipse-sharp.svg +1 -0
- package/dist/ionic/svg/ellipse.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-circle-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-circle-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-circle.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-circle-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-circle-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-circle.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical.svg +1 -0
- package/dist/ionic/svg/enter-outline.svg +1 -0
- package/dist/ionic/svg/enter-sharp.svg +1 -0
- package/dist/ionic/svg/enter.svg +1 -0
- package/dist/ionic/svg/exit-outline.svg +1 -0
- package/dist/ionic/svg/exit-sharp.svg +1 -0
- package/dist/ionic/svg/exit.svg +1 -0
- package/dist/ionic/svg/expand-outline.svg +1 -0
- package/dist/ionic/svg/expand-sharp.svg +1 -0
- package/dist/ionic/svg/expand.svg +1 -0
- package/dist/ionic/svg/extension-puzzle-outline.svg +1 -0
- package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -0
- package/dist/ionic/svg/extension-puzzle.svg +1 -0
- package/dist/ionic/svg/eye-off-outline.svg +1 -0
- package/dist/ionic/svg/eye-off-sharp.svg +1 -0
- package/dist/ionic/svg/eye-off.svg +1 -0
- package/dist/ionic/svg/eye-outline.svg +1 -0
- package/dist/ionic/svg/eye-sharp.svg +1 -0
- package/dist/ionic/svg/eye.svg +1 -0
- package/dist/ionic/svg/eyedrop-outline.svg +1 -0
- package/dist/ionic/svg/eyedrop-sharp.svg +1 -0
- package/dist/ionic/svg/eyedrop.svg +1 -0
- package/dist/ionic/svg/fast-food-outline.svg +1 -0
- package/dist/ionic/svg/fast-food-sharp.svg +1 -0
- package/dist/ionic/svg/fast-food.svg +1 -0
- package/dist/ionic/svg/female-outline.svg +1 -0
- package/dist/ionic/svg/female-sharp.svg +1 -0
- package/dist/ionic/svg/female.svg +1 -0
- package/dist/ionic/svg/file-tray-full-outline.svg +1 -0
- package/dist/ionic/svg/file-tray-full-sharp.svg +1 -0
- package/dist/ionic/svg/file-tray-full.svg +1 -0
- package/dist/ionic/svg/file-tray-outline.svg +1 -0
- package/dist/ionic/svg/file-tray-sharp.svg +1 -0
- package/dist/ionic/svg/file-tray-stacked-outline.svg +1 -0
- package/dist/ionic/svg/file-tray-stacked-sharp.svg +1 -0
- package/dist/ionic/svg/file-tray-stacked.svg +1 -0
- package/dist/ionic/svg/file-tray.svg +1 -0
- package/dist/ionic/svg/film-outline.svg +1 -0
- package/dist/ionic/svg/film-sharp.svg +1 -0
- package/dist/ionic/svg/film.svg +1 -0
- package/dist/ionic/svg/filter-circle-outline.svg +1 -0
- package/dist/ionic/svg/filter-circle-sharp.svg +1 -0
- package/dist/ionic/svg/filter-circle.svg +1 -0
- package/dist/ionic/svg/filter-outline.svg +1 -0
- package/dist/ionic/svg/filter-sharp.svg +1 -0
- package/dist/ionic/svg/filter.svg +1 -0
- package/dist/ionic/svg/finger-print-outline.svg +1 -0
- package/dist/ionic/svg/finger-print-sharp.svg +1 -0
- package/dist/ionic/svg/finger-print.svg +1 -0
- package/dist/ionic/svg/fish-outline.svg +1 -0
- package/dist/ionic/svg/fish-sharp.svg +1 -0
- package/dist/ionic/svg/fish.svg +1 -0
- package/dist/ionic/svg/fitness-outline.svg +1 -0
- package/dist/ionic/svg/fitness-sharp.svg +1 -0
- package/dist/ionic/svg/fitness.svg +1 -0
- package/dist/ionic/svg/flag-outline.svg +1 -0
- package/dist/ionic/svg/flag-sharp.svg +1 -0
- package/dist/ionic/svg/flag.svg +1 -0
- package/dist/ionic/svg/flame-outline.svg +1 -0
- package/dist/ionic/svg/flame-sharp.svg +1 -0
- package/dist/ionic/svg/flame.svg +1 -0
- package/dist/ionic/svg/flash-off-outline.svg +1 -0
- package/dist/ionic/svg/flash-off-sharp.svg +1 -0
- package/dist/ionic/svg/flash-off.svg +1 -0
- package/dist/ionic/svg/flash-outline.svg +1 -0
- package/dist/ionic/svg/flash-sharp.svg +1 -0
- package/dist/ionic/svg/flash.svg +1 -0
- package/dist/ionic/svg/flashlight-outline.svg +1 -0
- package/dist/ionic/svg/flashlight-sharp.svg +1 -0
- package/dist/ionic/svg/flashlight.svg +1 -0
- package/dist/ionic/svg/flask-outline.svg +1 -0
- package/dist/ionic/svg/flask-sharp.svg +1 -0
- package/dist/ionic/svg/flask.svg +1 -0
- package/dist/ionic/svg/flower-outline.svg +1 -0
- package/dist/ionic/svg/flower-sharp.svg +1 -0
- package/dist/ionic/svg/flower.svg +1 -0
- package/dist/ionic/svg/folder-open-outline.svg +1 -0
- package/dist/ionic/svg/folder-open-sharp.svg +1 -0
- package/dist/ionic/svg/folder-open.svg +1 -0
- package/dist/ionic/svg/folder-outline.svg +1 -0
- package/dist/ionic/svg/folder-sharp.svg +1 -0
- package/dist/ionic/svg/folder.svg +1 -0
- package/dist/ionic/svg/football-outline.svg +1 -0
- package/dist/ionic/svg/football-sharp.svg +1 -0
- package/dist/ionic/svg/football.svg +1 -0
- package/dist/ionic/svg/footsteps-outline.svg +1 -0
- package/dist/ionic/svg/footsteps-sharp.svg +1 -0
- package/dist/ionic/svg/footsteps.svg +1 -0
- package/dist/ionic/svg/funnel-outline.svg +1 -0
- package/dist/ionic/svg/funnel-sharp.svg +1 -0
- package/dist/ionic/svg/funnel.svg +1 -0
- package/dist/ionic/svg/game-controller-outline.svg +1 -0
- package/dist/ionic/svg/game-controller-sharp.svg +1 -0
- package/dist/ionic/svg/game-controller.svg +1 -0
- package/dist/ionic/svg/gift-outline.svg +1 -0
- package/dist/ionic/svg/gift-sharp.svg +1 -0
- package/dist/ionic/svg/gift.svg +1 -0
- package/dist/ionic/svg/git-branch-outline.svg +1 -0
- package/dist/ionic/svg/git-branch-sharp.svg +1 -0
- package/dist/ionic/svg/git-branch.svg +1 -0
- package/dist/ionic/svg/git-commit-outline.svg +1 -0
- package/dist/ionic/svg/git-commit-sharp.svg +1 -0
- package/dist/ionic/svg/git-commit.svg +1 -0
- package/dist/ionic/svg/git-compare-outline.svg +1 -0
- package/dist/ionic/svg/git-compare-sharp.svg +1 -0
- package/dist/ionic/svg/git-compare.svg +1 -0
- package/dist/ionic/svg/git-merge-outline.svg +1 -0
- package/dist/ionic/svg/git-merge-sharp.svg +1 -0
- package/dist/ionic/svg/git-merge.svg +1 -0
- package/dist/ionic/svg/git-network-outline.svg +1 -0
- package/dist/ionic/svg/git-network-sharp.svg +1 -0
- package/dist/ionic/svg/git-network.svg +1 -0
- package/dist/ionic/svg/git-pull-request-outline.svg +1 -0
- package/dist/ionic/svg/git-pull-request-sharp.svg +1 -0
- package/dist/ionic/svg/git-pull-request.svg +1 -0
- package/dist/ionic/svg/glasses-outline.svg +1 -0
- package/dist/ionic/svg/glasses-sharp.svg +1 -0
- package/dist/ionic/svg/glasses.svg +1 -0
- package/dist/ionic/svg/globe-outline.svg +1 -0
- package/dist/ionic/svg/globe-sharp.svg +1 -0
- package/dist/ionic/svg/globe.svg +1 -0
- package/dist/ionic/svg/golf-outline.svg +1 -0
- package/dist/ionic/svg/golf-sharp.svg +1 -0
- package/dist/ionic/svg/golf.svg +1 -0
- package/dist/ionic/svg/grid-outline.svg +1 -0
- package/dist/ionic/svg/grid-sharp.svg +1 -0
- package/dist/ionic/svg/grid.svg +1 -0
- package/dist/ionic/svg/hammer-outline.svg +1 -0
- package/dist/ionic/svg/hammer-sharp.svg +1 -0
- package/dist/ionic/svg/hammer.svg +1 -0
- package/dist/ionic/svg/hand-left-outline.svg +1 -0
- package/dist/ionic/svg/hand-left-sharp.svg +1 -0
- package/dist/ionic/svg/hand-left.svg +1 -0
- package/dist/ionic/svg/hand-right-outline.svg +1 -0
- package/dist/ionic/svg/hand-right-sharp.svg +1 -0
- package/dist/ionic/svg/hand-right.svg +1 -0
- package/dist/ionic/svg/happy-outline.svg +1 -0
- package/dist/ionic/svg/happy-sharp.svg +1 -0
- package/dist/ionic/svg/happy.svg +1 -0
- package/dist/ionic/svg/hardware-chip-outline.svg +1 -0
- package/dist/ionic/svg/hardware-chip-sharp.svg +1 -0
- package/dist/ionic/svg/hardware-chip.svg +1 -0
- package/dist/ionic/svg/headset-outline.svg +1 -0
- package/dist/ionic/svg/headset-sharp.svg +1 -0
- package/dist/ionic/svg/headset.svg +1 -0
- package/dist/ionic/svg/heart-circle-outline.svg +1 -0
- package/dist/ionic/svg/heart-circle-sharp.svg +1 -0
- package/dist/ionic/svg/heart-circle.svg +1 -0
- package/dist/ionic/svg/heart-dislike-circle-outline.svg +1 -0
- package/dist/ionic/svg/heart-dislike-circle-sharp.svg +1 -0
- package/dist/ionic/svg/heart-dislike-circle.svg +1 -0
- package/dist/ionic/svg/heart-dislike-outline.svg +1 -0
- package/dist/ionic/svg/heart-dislike-sharp.svg +1 -0
- package/dist/ionic/svg/heart-dislike.svg +1 -0
- package/dist/ionic/svg/heart-half-outline.svg +1 -0
- package/dist/ionic/svg/heart-half-sharp.svg +1 -0
- package/dist/ionic/svg/heart-half.svg +1 -0
- package/dist/ionic/svg/heart-outline.svg +1 -0
- package/dist/ionic/svg/heart-sharp.svg +1 -0
- package/dist/ionic/svg/heart.svg +1 -0
- package/dist/ionic/svg/help-buoy-outline.svg +1 -0
- package/dist/ionic/svg/help-buoy-sharp.svg +1 -0
- package/dist/ionic/svg/help-buoy.svg +1 -0
- package/dist/ionic/svg/help-circle-outline.svg +1 -0
- package/dist/ionic/svg/help-circle-sharp.svg +1 -0
- package/dist/ionic/svg/help-circle.svg +1 -0
- package/dist/ionic/svg/help-outline.svg +1 -0
- package/dist/ionic/svg/help-sharp.svg +1 -0
- package/dist/ionic/svg/help.svg +1 -0
- package/dist/ionic/svg/home-outline.svg +1 -0
- package/dist/ionic/svg/home-sharp.svg +1 -0
- package/dist/ionic/svg/home.svg +1 -0
- package/dist/ionic/svg/hourglass-outline.svg +1 -0
- package/dist/ionic/svg/hourglass-sharp.svg +1 -0
- package/dist/ionic/svg/hourglass.svg +1 -0
- package/dist/ionic/svg/ice-cream-outline.svg +1 -0
- package/dist/ionic/svg/ice-cream-sharp.svg +1 -0
- package/dist/ionic/svg/ice-cream.svg +1 -0
- package/dist/ionic/svg/id-card-outline.svg +1 -0
- package/dist/ionic/svg/id-card-sharp.svg +1 -0
- package/dist/ionic/svg/id-card.svg +1 -0
- package/dist/ionic/svg/image-outline.svg +1 -0
- package/dist/ionic/svg/image-sharp.svg +1 -0
- package/dist/ionic/svg/image.svg +1 -0
- package/dist/ionic/svg/images-outline.svg +1 -0
- package/dist/ionic/svg/images-sharp.svg +1 -0
- package/dist/ionic/svg/images.svg +1 -0
- package/dist/ionic/svg/infinite-outline.svg +1 -0
- package/dist/ionic/svg/infinite-sharp.svg +1 -0
- package/dist/ionic/svg/infinite.svg +1 -0
- package/dist/ionic/svg/information-circle-outline.svg +1 -0
- package/dist/ionic/svg/information-circle-sharp.svg +1 -0
- package/dist/ionic/svg/information-circle.svg +1 -0
- package/dist/ionic/svg/information-outline.svg +1 -0
- package/dist/ionic/svg/information-sharp.svg +1 -0
- package/dist/ionic/svg/information.svg +1 -0
- package/dist/ionic/svg/invert-mode-outline.svg +1 -0
- package/dist/ionic/svg/invert-mode-sharp.svg +1 -0
- package/dist/ionic/svg/invert-mode.svg +1 -0
- package/dist/ionic/svg/journal-outline.svg +1 -0
- package/dist/ionic/svg/journal-sharp.svg +1 -0
- package/dist/ionic/svg/journal.svg +1 -0
- package/dist/ionic/svg/key-outline.svg +1 -0
- package/dist/ionic/svg/key-sharp.svg +1 -0
- package/dist/ionic/svg/key.svg +1 -0
- package/dist/ionic/svg/keypad-outline.svg +1 -0
- package/dist/ionic/svg/keypad-sharp.svg +1 -0
- package/dist/ionic/svg/keypad.svg +1 -0
- package/dist/ionic/svg/language-outline.svg +1 -0
- package/dist/ionic/svg/language-sharp.svg +1 -0
- package/dist/ionic/svg/language.svg +1 -0
- package/dist/ionic/svg/laptop-outline.svg +1 -0
- package/dist/ionic/svg/laptop-sharp.svg +1 -0
- package/dist/ionic/svg/laptop.svg +1 -0
- package/dist/ionic/svg/layers-outline.svg +1 -0
- package/dist/ionic/svg/layers-sharp.svg +1 -0
- package/dist/ionic/svg/layers.svg +1 -0
- package/dist/ionic/svg/leaf-outline.svg +1 -0
- package/dist/ionic/svg/leaf-sharp.svg +1 -0
- package/dist/ionic/svg/leaf.svg +1 -0
- package/dist/ionic/svg/library-outline.svg +1 -0
- package/dist/ionic/svg/library-sharp.svg +1 -0
- package/dist/ionic/svg/library.svg +1 -0
- package/dist/ionic/svg/link-outline.svg +1 -0
- package/dist/ionic/svg/link-sharp.svg +1 -0
- package/dist/ionic/svg/link.svg +1 -0
- package/dist/ionic/svg/list-circle-outline.svg +1 -0
- package/dist/ionic/svg/list-circle-sharp.svg +1 -0
- package/dist/ionic/svg/list-circle.svg +1 -0
- package/dist/ionic/svg/list-outline.svg +1 -0
- package/dist/ionic/svg/list-sharp.svg +1 -0
- package/dist/ionic/svg/list.svg +1 -0
- package/dist/ionic/svg/locate-outline.svg +1 -0
- package/dist/ionic/svg/locate-sharp.svg +1 -0
- package/dist/ionic/svg/locate.svg +1 -0
- package/dist/ionic/svg/location-outline.svg +1 -0
- package/dist/ionic/svg/location-sharp.svg +1 -0
- package/dist/ionic/svg/location.svg +1 -0
- package/dist/ionic/svg/lock-closed-outline.svg +1 -0
- package/dist/ionic/svg/lock-closed-sharp.svg +1 -0
- package/dist/ionic/svg/lock-closed.svg +1 -0
- package/dist/ionic/svg/lock-open-outline.svg +1 -0
- package/dist/ionic/svg/lock-open-sharp.svg +1 -0
- package/dist/ionic/svg/lock-open.svg +1 -0
- package/dist/ionic/svg/log-in-outline.svg +1 -0
- package/dist/ionic/svg/log-in-sharp.svg +1 -0
- package/dist/ionic/svg/log-in.svg +1 -0
- package/dist/ionic/svg/log-out-outline.svg +1 -0
- package/dist/ionic/svg/log-out-sharp.svg +1 -0
- package/dist/ionic/svg/log-out.svg +1 -0
- package/dist/ionic/svg/logo-alipay.svg +1 -0
- package/dist/ionic/svg/logo-amazon.svg +1 -0
- package/dist/ionic/svg/logo-amplify.svg +1 -0
- package/dist/ionic/svg/logo-android.svg +1 -0
- package/dist/ionic/svg/logo-angular.svg +1 -0
- package/dist/ionic/svg/logo-appflow.svg +1 -0
- package/dist/ionic/svg/logo-apple-appstore.svg +1 -0
- package/dist/ionic/svg/logo-apple-ar.svg +1 -0
- package/dist/ionic/svg/logo-apple.svg +1 -0
- package/dist/ionic/svg/logo-behance.svg +1 -0
- package/dist/ionic/svg/logo-bitbucket.svg +1 -0
- package/dist/ionic/svg/logo-bitcoin.svg +1 -0
- package/dist/ionic/svg/logo-buffer.svg +1 -0
- package/dist/ionic/svg/logo-capacitor.svg +1 -0
- package/dist/ionic/svg/logo-chrome.svg +1 -0
- package/dist/ionic/svg/logo-closed-captioning.svg +1 -0
- package/dist/ionic/svg/logo-codepen.svg +1 -0
- package/dist/ionic/svg/logo-css3.svg +1 -0
- package/dist/ionic/svg/logo-designernews.svg +1 -0
- package/dist/ionic/svg/logo-deviantart.svg +1 -0
- package/dist/ionic/svg/logo-discord.svg +1 -0
- package/dist/ionic/svg/logo-docker.svg +1 -0
- package/dist/ionic/svg/logo-dribbble.svg +1 -0
- package/dist/ionic/svg/logo-dropbox.svg +1 -0
- package/dist/ionic/svg/logo-edge.svg +1 -0
- package/dist/ionic/svg/logo-electron.svg +1 -0
- package/dist/ionic/svg/logo-euro.svg +1 -0
- package/dist/ionic/svg/logo-facebook.svg +1 -0
- package/dist/ionic/svg/logo-figma.svg +1 -0
- package/dist/ionic/svg/logo-firebase.svg +1 -0
- package/dist/ionic/svg/logo-firefox.svg +1 -0
- package/dist/ionic/svg/logo-flickr.svg +1 -0
- package/dist/ionic/svg/logo-foursquare.svg +1 -0
- package/dist/ionic/svg/logo-github.svg +1 -0
- package/dist/ionic/svg/logo-gitlab.svg +1 -0
- package/dist/ionic/svg/logo-google-playstore.svg +1 -0
- package/dist/ionic/svg/logo-google.svg +1 -0
- package/dist/ionic/svg/logo-hackernews.svg +1 -0
- package/dist/ionic/svg/logo-html5.svg +1 -0
- package/dist/ionic/svg/logo-instagram.svg +1 -0
- package/dist/ionic/svg/logo-ionic.svg +1 -0
- package/dist/ionic/svg/logo-ionitron.svg +1 -0
- package/dist/ionic/svg/logo-javascript.svg +1 -0
- package/dist/ionic/svg/logo-laravel.svg +1 -0
- package/dist/ionic/svg/logo-linkedin.svg +1 -0
- package/dist/ionic/svg/logo-markdown.svg +1 -0
- package/dist/ionic/svg/logo-mastodon.svg +1 -0
- package/dist/ionic/svg/logo-medium.svg +1 -0
- package/dist/ionic/svg/logo-microsoft.svg +1 -0
- package/dist/ionic/svg/logo-no-smoking.svg +1 -0
- package/dist/ionic/svg/logo-nodejs.svg +1 -0
- package/dist/ionic/svg/logo-npm.svg +1 -0
- package/dist/ionic/svg/logo-octocat.svg +1 -0
- package/dist/ionic/svg/logo-paypal.svg +1 -0
- package/dist/ionic/svg/logo-pinterest.svg +1 -0
- package/dist/ionic/svg/logo-playstation.svg +1 -0
- package/dist/ionic/svg/logo-pwa.svg +1 -0
- package/dist/ionic/svg/logo-python.svg +1 -0
- package/dist/ionic/svg/logo-react.svg +1 -0
- package/dist/ionic/svg/logo-reddit.svg +1 -0
- package/dist/ionic/svg/logo-rss.svg +1 -0
- package/dist/ionic/svg/logo-sass.svg +1 -0
- package/dist/ionic/svg/logo-skype.svg +1 -0
- package/dist/ionic/svg/logo-slack.svg +1 -0
- package/dist/ionic/svg/logo-snapchat.svg +1 -0
- package/dist/ionic/svg/logo-soundcloud.svg +1 -0
- package/dist/ionic/svg/logo-stackoverflow.svg +1 -0
- package/dist/ionic/svg/logo-steam.svg +1 -0
- package/dist/ionic/svg/logo-stencil.svg +1 -0
- package/dist/ionic/svg/logo-tableau.svg +1 -0
- package/dist/ionic/svg/logo-threads.svg +1 -0
- package/dist/ionic/svg/logo-tiktok.svg +1 -0
- package/dist/ionic/svg/logo-trapeze.svg +1 -0
- package/dist/ionic/svg/logo-tumblr.svg +1 -0
- package/dist/ionic/svg/logo-tux.svg +1 -0
- package/dist/ionic/svg/logo-twitch.svg +1 -0
- package/dist/ionic/svg/logo-twitter.svg +1 -0
- package/dist/ionic/svg/logo-usd.svg +1 -0
- package/dist/ionic/svg/logo-venmo.svg +1 -0
- package/dist/ionic/svg/logo-vercel.svg +1 -0
- package/dist/ionic/svg/logo-vimeo.svg +1 -0
- package/dist/ionic/svg/logo-vk.svg +1 -0
- package/dist/ionic/svg/logo-vue.svg +1 -0
- package/dist/ionic/svg/logo-web-component.svg +1 -0
- package/dist/ionic/svg/logo-wechat.svg +1 -0
- package/dist/ionic/svg/logo-whatsapp.svg +1 -0
- package/dist/ionic/svg/logo-windows.svg +1 -0
- package/dist/ionic/svg/logo-wordpress.svg +1 -0
- package/dist/ionic/svg/logo-x.svg +1 -0
- package/dist/ionic/svg/logo-xbox.svg +1 -0
- package/dist/ionic/svg/logo-xing.svg +1 -0
- package/dist/ionic/svg/logo-yahoo.svg +1 -0
- package/dist/ionic/svg/logo-yen.svg +1 -0
- package/dist/ionic/svg/logo-youtube.svg +1 -0
- package/dist/ionic/svg/magnet-outline.svg +1 -0
- package/dist/ionic/svg/magnet-sharp.svg +1 -0
- package/dist/ionic/svg/magnet.svg +1 -0
- package/dist/ionic/svg/mail-open-outline.svg +1 -0
- package/dist/ionic/svg/mail-open-sharp.svg +1 -0
- package/dist/ionic/svg/mail-open.svg +1 -0
- package/dist/ionic/svg/mail-outline.svg +1 -0
- package/dist/ionic/svg/mail-sharp.svg +1 -0
- package/dist/ionic/svg/mail-unread-outline.svg +1 -0
- package/dist/ionic/svg/mail-unread-sharp.svg +1 -0
- package/dist/ionic/svg/mail-unread.svg +1 -0
- package/dist/ionic/svg/mail.svg +1 -0
- package/dist/ionic/svg/male-female-outline.svg +1 -0
- package/dist/ionic/svg/male-female-sharp.svg +1 -0
- package/dist/ionic/svg/male-female.svg +1 -0
- package/dist/ionic/svg/male-outline.svg +1 -0
- package/dist/ionic/svg/male-sharp.svg +1 -0
- package/dist/ionic/svg/male.svg +1 -0
- package/dist/ionic/svg/man-outline.svg +1 -0
- package/dist/ionic/svg/man-sharp.svg +1 -0
- package/dist/ionic/svg/man.svg +1 -0
- package/dist/ionic/svg/map-outline.svg +1 -0
- package/dist/ionic/svg/map-sharp.svg +1 -0
- package/dist/ionic/svg/map.svg +1 -0
- package/dist/ionic/svg/medal-outline.svg +1 -0
- package/dist/ionic/svg/medal-sharp.svg +1 -0
- package/dist/ionic/svg/medal.svg +1 -0
- package/dist/ionic/svg/medical-outline.svg +1 -0
- package/dist/ionic/svg/medical-sharp.svg +1 -0
- package/dist/ionic/svg/medical.svg +1 -0
- package/dist/ionic/svg/medkit-outline.svg +1 -0
- package/dist/ionic/svg/medkit-sharp.svg +1 -0
- package/dist/ionic/svg/medkit.svg +1 -0
- package/dist/ionic/svg/megaphone-outline.svg +1 -0
- package/dist/ionic/svg/megaphone-sharp.svg +1 -0
- package/dist/ionic/svg/megaphone.svg +1 -0
- package/dist/ionic/svg/menu-outline.svg +1 -0
- package/dist/ionic/svg/menu-sharp.svg +1 -0
- package/dist/ionic/svg/menu.svg +1 -0
- package/dist/ionic/svg/mic-circle-outline.svg +1 -0
- package/dist/ionic/svg/mic-circle-sharp.svg +1 -0
- package/dist/ionic/svg/mic-circle.svg +1 -0
- package/dist/ionic/svg/mic-off-circle-outline.svg +1 -0
- package/dist/ionic/svg/mic-off-circle-sharp.svg +1 -0
- package/dist/ionic/svg/mic-off-circle.svg +1 -0
- package/dist/ionic/svg/mic-off-outline.svg +1 -0
- package/dist/ionic/svg/mic-off-sharp.svg +1 -0
- package/dist/ionic/svg/mic-off.svg +1 -0
- package/dist/ionic/svg/mic-outline.svg +1 -0
- package/dist/ionic/svg/mic-sharp.svg +1 -0
- package/dist/ionic/svg/mic.svg +1 -0
- package/dist/ionic/svg/moon-outline.svg +1 -0
- package/dist/ionic/svg/moon-sharp.svg +1 -0
- package/dist/ionic/svg/moon.svg +1 -0
- package/dist/ionic/svg/move-outline.svg +1 -0
- package/dist/ionic/svg/move-sharp.svg +1 -0
- package/dist/ionic/svg/move.svg +1 -0
- package/dist/ionic/svg/musical-note-outline.svg +1 -0
- package/dist/ionic/svg/musical-note-sharp.svg +1 -0
- package/dist/ionic/svg/musical-note.svg +1 -0
- package/dist/ionic/svg/musical-notes-outline.svg +1 -0
- package/dist/ionic/svg/musical-notes-sharp.svg +1 -0
- package/dist/ionic/svg/musical-notes.svg +1 -0
- package/dist/ionic/svg/navigate-circle-outline.svg +1 -0
- package/dist/ionic/svg/navigate-circle-sharp.svg +1 -0
- package/dist/ionic/svg/navigate-circle.svg +1 -0
- package/dist/ionic/svg/navigate-outline.svg +1 -0
- package/dist/ionic/svg/navigate-sharp.svg +1 -0
- package/dist/ionic/svg/navigate.svg +1 -0
- package/dist/ionic/svg/newspaper-outline.svg +1 -0
- package/dist/ionic/svg/newspaper-sharp.svg +1 -0
- package/dist/ionic/svg/newspaper.svg +1 -0
- package/dist/ionic/svg/notifications-circle-outline.svg +1 -0
- package/dist/ionic/svg/notifications-circle-sharp.svg +1 -0
- package/dist/ionic/svg/notifications-circle.svg +1 -0
- package/dist/ionic/svg/notifications-off-circle-outline.svg +1 -0
- package/dist/ionic/svg/notifications-off-circle-sharp.svg +1 -0
- package/dist/ionic/svg/notifications-off-circle.svg +1 -0
- package/dist/ionic/svg/notifications-off-outline.svg +1 -0
- package/dist/ionic/svg/notifications-off-sharp.svg +1 -0
- package/dist/ionic/svg/notifications-off.svg +1 -0
- package/dist/ionic/svg/notifications-outline.svg +1 -0
- package/dist/ionic/svg/notifications-sharp.svg +1 -0
- package/dist/ionic/svg/notifications.svg +1 -0
- package/dist/ionic/svg/nuclear-outline.svg +1 -0
- package/dist/ionic/svg/nuclear-sharp.svg +1 -0
- package/dist/ionic/svg/nuclear.svg +1 -0
- package/dist/ionic/svg/nutrition-outline.svg +1 -0
- package/dist/ionic/svg/nutrition-sharp.svg +1 -0
- package/dist/ionic/svg/nutrition.svg +1 -0
- package/dist/ionic/svg/open-outline.svg +1 -0
- package/dist/ionic/svg/open-sharp.svg +1 -0
- package/dist/ionic/svg/open.svg +1 -0
- package/dist/ionic/svg/options-outline.svg +1 -0
- package/dist/ionic/svg/options-sharp.svg +1 -0
- package/dist/ionic/svg/options.svg +1 -0
- package/dist/ionic/svg/paper-plane-outline.svg +1 -0
- package/dist/ionic/svg/paper-plane-sharp.svg +1 -0
- package/dist/ionic/svg/paper-plane.svg +1 -0
- package/dist/ionic/svg/partly-sunny-outline.svg +1 -0
- package/dist/ionic/svg/partly-sunny-sharp.svg +1 -0
- package/dist/ionic/svg/partly-sunny.svg +1 -0
- package/dist/ionic/svg/pause-circle-outline.svg +1 -0
- package/dist/ionic/svg/pause-circle-sharp.svg +1 -0
- package/dist/ionic/svg/pause-circle.svg +1 -0
- package/dist/ionic/svg/pause-outline.svg +1 -0
- package/dist/ionic/svg/pause-sharp.svg +1 -0
- package/dist/ionic/svg/pause.svg +1 -0
- package/dist/ionic/svg/paw-outline.svg +1 -0
- package/dist/ionic/svg/paw-sharp.svg +1 -0
- package/dist/ionic/svg/paw.svg +1 -0
- package/dist/ionic/svg/pencil-outline.svg +1 -0
- package/dist/ionic/svg/pencil-sharp.svg +1 -0
- package/dist/ionic/svg/pencil.svg +1 -0
- package/dist/ionic/svg/people-circle-outline.svg +1 -0
- package/dist/ionic/svg/people-circle-sharp.svg +1 -0
- package/dist/ionic/svg/people-circle.svg +1 -0
- package/dist/ionic/svg/people-outline.svg +1 -0
- package/dist/ionic/svg/people-sharp.svg +1 -0
- package/dist/ionic/svg/people.svg +1 -0
- package/dist/ionic/svg/person-add-outline.svg +1 -0
- package/dist/ionic/svg/person-add-sharp.svg +1 -0
- package/dist/ionic/svg/person-add.svg +1 -0
- package/dist/ionic/svg/person-circle-outline.svg +1 -0
- package/dist/ionic/svg/person-circle-sharp.svg +1 -0
- package/dist/ionic/svg/person-circle.svg +1 -0
- package/dist/ionic/svg/person-outline.svg +1 -0
- package/dist/ionic/svg/person-remove-outline.svg +1 -0
- package/dist/ionic/svg/person-remove-sharp.svg +1 -0
- package/dist/ionic/svg/person-remove.svg +1 -0
- package/dist/ionic/svg/person-sharp.svg +1 -0
- package/dist/ionic/svg/person.svg +1 -0
- package/dist/ionic/svg/phone-landscape-outline.svg +1 -0
- package/dist/ionic/svg/phone-landscape-sharp.svg +1 -0
- package/dist/ionic/svg/phone-landscape.svg +1 -0
- package/dist/ionic/svg/phone-portrait-outline.svg +1 -0
- package/dist/ionic/svg/phone-portrait-sharp.svg +1 -0
- package/dist/ionic/svg/phone-portrait.svg +1 -0
- package/dist/ionic/svg/pie-chart-outline.svg +1 -0
- package/dist/ionic/svg/pie-chart-sharp.svg +1 -0
- package/dist/ionic/svg/pie-chart.svg +1 -0
- package/dist/ionic/svg/pin-outline.svg +1 -0
- package/dist/ionic/svg/pin-sharp.svg +1 -0
- package/dist/ionic/svg/pin.svg +1 -0
- package/dist/ionic/svg/pint-outline.svg +1 -0
- package/dist/ionic/svg/pint-sharp.svg +1 -0
- package/dist/ionic/svg/pint.svg +1 -0
- package/dist/ionic/svg/pizza-outline.svg +1 -0
- package/dist/ionic/svg/pizza-sharp.svg +1 -0
- package/dist/ionic/svg/pizza.svg +1 -0
- package/dist/ionic/svg/planet-outline.svg +1 -0
- package/dist/ionic/svg/planet-sharp.svg +1 -0
- package/dist/ionic/svg/planet.svg +1 -0
- package/dist/ionic/svg/play-back-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-back-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-back-circle.svg +1 -0
- package/dist/ionic/svg/play-back-outline.svg +1 -0
- package/dist/ionic/svg/play-back-sharp.svg +1 -0
- package/dist/ionic/svg/play-back.svg +1 -0
- package/dist/ionic/svg/play-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-circle.svg +1 -0
- package/dist/ionic/svg/play-forward-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-forward-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-forward-circle.svg +1 -0
- package/dist/ionic/svg/play-forward-outline.svg +1 -0
- package/dist/ionic/svg/play-forward-sharp.svg +1 -0
- package/dist/ionic/svg/play-forward.svg +1 -0
- package/dist/ionic/svg/play-outline.svg +1 -0
- package/dist/ionic/svg/play-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-back-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-back-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-back-circle.svg +1 -0
- package/dist/ionic/svg/play-skip-back-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-back-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-back.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-circle.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-forward.svg +1 -0
- package/dist/ionic/svg/play.svg +1 -0
- package/dist/ionic/svg/podium-outline.svg +1 -0
- package/dist/ionic/svg/podium-sharp.svg +1 -0
- package/dist/ionic/svg/podium.svg +1 -0
- package/dist/ionic/svg/power-outline.svg +1 -0
- package/dist/ionic/svg/power-sharp.svg +1 -0
- package/dist/ionic/svg/power.svg +1 -0
- package/dist/ionic/svg/pricetag-outline.svg +1 -0
- package/dist/ionic/svg/pricetag-sharp.svg +1 -0
- package/dist/ionic/svg/pricetag.svg +1 -0
- package/dist/ionic/svg/pricetags-outline.svg +1 -0
- package/dist/ionic/svg/pricetags-sharp.svg +1 -0
- package/dist/ionic/svg/pricetags.svg +1 -0
- package/dist/ionic/svg/print-outline.svg +1 -0
- package/dist/ionic/svg/print-sharp.svg +1 -0
- package/dist/ionic/svg/print.svg +1 -0
- package/dist/ionic/svg/prism-outline.svg +1 -0
- package/dist/ionic/svg/prism-sharp.svg +1 -0
- package/dist/ionic/svg/prism.svg +1 -0
- package/dist/ionic/svg/pulse-outline.svg +1 -0
- package/dist/ionic/svg/pulse-sharp.svg +1 -0
- package/dist/ionic/svg/pulse.svg +1 -0
- package/dist/ionic/svg/push-outline.svg +1 -0
- package/dist/ionic/svg/push-sharp.svg +1 -0
- package/dist/ionic/svg/push.svg +1 -0
- package/dist/ionic/svg/qr-code-outline.svg +1 -0
- package/dist/ionic/svg/qr-code-sharp.svg +1 -0
- package/dist/ionic/svg/qr-code.svg +1 -0
- package/dist/ionic/svg/radio-button-off-outline.svg +1 -0
- package/dist/ionic/svg/radio-button-off-sharp.svg +1 -0
- package/dist/ionic/svg/radio-button-off.svg +1 -0
- package/dist/ionic/svg/radio-button-on-outline.svg +1 -0
- package/dist/ionic/svg/radio-button-on-sharp.svg +1 -0
- package/dist/ionic/svg/radio-button-on.svg +1 -0
- package/dist/ionic/svg/radio-outline.svg +1 -0
- package/dist/ionic/svg/radio-sharp.svg +1 -0
- package/dist/ionic/svg/radio.svg +1 -0
- package/dist/ionic/svg/rainy-outline.svg +1 -0
- package/dist/ionic/svg/rainy-sharp.svg +1 -0
- package/dist/ionic/svg/rainy.svg +1 -0
- package/dist/ionic/svg/reader-outline.svg +1 -0
- package/dist/ionic/svg/reader-sharp.svg +1 -0
- package/dist/ionic/svg/reader.svg +1 -0
- package/dist/ionic/svg/receipt-outline.svg +1 -0
- package/dist/ionic/svg/receipt-sharp.svg +1 -0
- package/dist/ionic/svg/receipt.svg +1 -0
- package/dist/ionic/svg/recording-outline.svg +1 -0
- package/dist/ionic/svg/recording-sharp.svg +1 -0
- package/dist/ionic/svg/recording.svg +1 -0
- package/dist/ionic/svg/refresh-circle-outline.svg +1 -0
- package/dist/ionic/svg/refresh-circle-sharp.svg +1 -0
- package/dist/ionic/svg/refresh-circle.svg +1 -0
- package/dist/ionic/svg/refresh-outline.svg +1 -0
- package/dist/ionic/svg/refresh-sharp.svg +1 -0
- package/dist/ionic/svg/refresh.svg +1 -0
- package/dist/ionic/svg/reload-circle-outline.svg +1 -0
- package/dist/ionic/svg/reload-circle-sharp.svg +1 -0
- package/dist/ionic/svg/reload-circle.svg +1 -0
- package/dist/ionic/svg/reload-outline.svg +1 -0
- package/dist/ionic/svg/reload-sharp.svg +1 -0
- package/dist/ionic/svg/reload.svg +1 -0
- package/dist/ionic/svg/remove-circle-outline.svg +1 -0
- package/dist/ionic/svg/remove-circle-sharp.svg +1 -0
- package/dist/ionic/svg/remove-circle.svg +1 -0
- package/dist/ionic/svg/remove-outline.svg +1 -0
- package/dist/ionic/svg/remove-sharp.svg +1 -0
- package/dist/ionic/svg/remove.svg +1 -0
- package/dist/ionic/svg/reorder-four-outline.svg +1 -0
- package/dist/ionic/svg/reorder-four-sharp.svg +1 -0
- package/dist/ionic/svg/reorder-four.svg +1 -0
- package/dist/ionic/svg/reorder-three-outline.svg +1 -0
- package/dist/ionic/svg/reorder-three-sharp.svg +1 -0
- package/dist/ionic/svg/reorder-three.svg +1 -0
- package/dist/ionic/svg/reorder-two-outline.svg +1 -0
- package/dist/ionic/svg/reorder-two-sharp.svg +1 -0
- package/dist/ionic/svg/reorder-two.svg +1 -0
- package/dist/ionic/svg/repeat-outline.svg +1 -0
- package/dist/ionic/svg/repeat-sharp.svg +1 -0
- package/dist/ionic/svg/repeat.svg +1 -0
- package/dist/ionic/svg/resize-outline.svg +1 -0
- package/dist/ionic/svg/resize-sharp.svg +1 -0
- package/dist/ionic/svg/resize.svg +1 -0
- package/dist/ionic/svg/restaurant-outline.svg +1 -0
- package/dist/ionic/svg/restaurant-sharp.svg +1 -0
- package/dist/ionic/svg/restaurant.svg +1 -0
- package/dist/ionic/svg/return-down-back-outline.svg +1 -0
- package/dist/ionic/svg/return-down-back-sharp.svg +1 -0
- package/dist/ionic/svg/return-down-back.svg +1 -0
- package/dist/ionic/svg/return-down-forward-outline.svg +1 -0
- package/dist/ionic/svg/return-down-forward-sharp.svg +1 -0
- package/dist/ionic/svg/return-down-forward.svg +1 -0
- package/dist/ionic/svg/return-up-back-outline.svg +1 -0
- package/dist/ionic/svg/return-up-back-sharp.svg +1 -0
- package/dist/ionic/svg/return-up-back.svg +1 -0
- package/dist/ionic/svg/return-up-forward-outline.svg +1 -0
- package/dist/ionic/svg/return-up-forward-sharp.svg +1 -0
- package/dist/ionic/svg/return-up-forward.svg +1 -0
- package/dist/ionic/svg/ribbon-outline.svg +1 -0
- package/dist/ionic/svg/ribbon-sharp.svg +1 -0
- package/dist/ionic/svg/ribbon.svg +1 -0
- package/dist/ionic/svg/rocket-outline.svg +1 -0
- package/dist/ionic/svg/rocket-sharp.svg +1 -0
- package/dist/ionic/svg/rocket.svg +1 -0
- package/dist/ionic/svg/rose-outline.svg +1 -0
- package/dist/ionic/svg/rose-sharp.svg +1 -0
- package/dist/ionic/svg/rose.svg +1 -0
- package/dist/ionic/svg/sad-outline.svg +1 -0
- package/dist/ionic/svg/sad-sharp.svg +1 -0
- package/dist/ionic/svg/sad.svg +1 -0
- package/dist/ionic/svg/save-outline.svg +1 -0
- package/dist/ionic/svg/save-sharp.svg +1 -0
- package/dist/ionic/svg/save.svg +1 -0
- package/dist/ionic/svg/scale-outline.svg +1 -0
- package/dist/ionic/svg/scale-sharp.svg +1 -0
- package/dist/ionic/svg/scale.svg +1 -0
- package/dist/ionic/svg/scan-circle-outline.svg +1 -0
- package/dist/ionic/svg/scan-circle-sharp.svg +1 -0
- package/dist/ionic/svg/scan-circle.svg +1 -0
- package/dist/ionic/svg/scan-outline.svg +1 -0
- package/dist/ionic/svg/scan-sharp.svg +1 -0
- package/dist/ionic/svg/scan.svg +1 -0
- package/dist/ionic/svg/school-outline.svg +1 -0
- package/dist/ionic/svg/school-sharp.svg +1 -0
- package/dist/ionic/svg/school.svg +1 -0
- package/dist/ionic/svg/search-circle-outline.svg +1 -0
- package/dist/ionic/svg/search-circle-sharp.svg +1 -0
- package/dist/ionic/svg/search-circle.svg +1 -0
- package/dist/ionic/svg/search-outline.svg +1 -0
- package/dist/ionic/svg/search-sharp.svg +1 -0
- package/dist/ionic/svg/search.svg +1 -0
- package/dist/ionic/svg/send-outline.svg +1 -0
- package/dist/ionic/svg/send-sharp.svg +1 -0
- package/dist/ionic/svg/send.svg +1 -0
- package/dist/ionic/svg/server-outline.svg +1 -0
- package/dist/ionic/svg/server-sharp.svg +1 -0
- package/dist/ionic/svg/server.svg +1 -0
- package/dist/ionic/svg/settings-outline.svg +1 -0
- package/dist/ionic/svg/settings-sharp.svg +1 -0
- package/dist/ionic/svg/settings.svg +1 -0
- package/dist/ionic/svg/shapes-outline.svg +1 -0
- package/dist/ionic/svg/shapes-sharp.svg +1 -0
- package/dist/ionic/svg/shapes.svg +1 -0
- package/dist/ionic/svg/share-outline.svg +1 -0
- package/dist/ionic/svg/share-sharp.svg +1 -0
- package/dist/ionic/svg/share-social-outline.svg +1 -0
- package/dist/ionic/svg/share-social-sharp.svg +1 -0
- package/dist/ionic/svg/share-social.svg +1 -0
- package/dist/ionic/svg/share.svg +1 -0
- package/dist/ionic/svg/shield-checkmark-outline.svg +1 -0
- package/dist/ionic/svg/shield-checkmark-sharp.svg +1 -0
- package/dist/ionic/svg/shield-checkmark.svg +1 -0
- package/dist/ionic/svg/shield-half-outline.svg +1 -0
- package/dist/ionic/svg/shield-half-sharp.svg +1 -0
- package/dist/ionic/svg/shield-half.svg +1 -0
- package/dist/ionic/svg/shield-outline.svg +1 -0
- package/dist/ionic/svg/shield-sharp.svg +1 -0
- package/dist/ionic/svg/shield.svg +1 -0
- package/dist/ionic/svg/shirt-outline.svg +1 -0
- package/dist/ionic/svg/shirt-sharp.svg +1 -0
- package/dist/ionic/svg/shirt.svg +1 -0
- package/dist/ionic/svg/shuffle-outline.svg +1 -0
- package/dist/ionic/svg/shuffle-sharp.svg +1 -0
- package/dist/ionic/svg/shuffle.svg +1 -0
- package/dist/ionic/svg/skull-outline.svg +1 -0
- package/dist/ionic/svg/skull-sharp.svg +1 -0
- package/dist/ionic/svg/skull.svg +1 -0
- package/dist/ionic/svg/snow-outline.svg +1 -0
- package/dist/ionic/svg/snow-sharp.svg +1 -0
- package/dist/ionic/svg/snow.svg +1 -0
- package/dist/ionic/svg/sparkles-outline.svg +1 -0
- package/dist/ionic/svg/sparkles-sharp.svg +1 -0
- package/dist/ionic/svg/sparkles.svg +1 -0
- package/dist/ionic/svg/speedometer-outline.svg +1 -0
- package/dist/ionic/svg/speedometer-sharp.svg +1 -0
- package/dist/ionic/svg/speedometer.svg +1 -0
- package/dist/ionic/svg/square-outline.svg +1 -0
- package/dist/ionic/svg/square-sharp.svg +1 -0
- package/dist/ionic/svg/square.svg +1 -0
- package/dist/ionic/svg/star-half-outline.svg +1 -0
- package/dist/ionic/svg/star-half-sharp.svg +1 -0
- package/dist/ionic/svg/star-half.svg +1 -0
- package/dist/ionic/svg/star-outline.svg +1 -0
- package/dist/ionic/svg/star-sharp.svg +1 -0
- package/dist/ionic/svg/star.svg +1 -0
- package/dist/ionic/svg/stats-chart-outline.svg +1 -0
- package/dist/ionic/svg/stats-chart-sharp.svg +1 -0
- package/dist/ionic/svg/stats-chart.svg +1 -0
- package/dist/ionic/svg/stop-circle-outline.svg +1 -0
- package/dist/ionic/svg/stop-circle-sharp.svg +1 -0
- package/dist/ionic/svg/stop-circle.svg +1 -0
- package/dist/ionic/svg/stop-outline.svg +1 -0
- package/dist/ionic/svg/stop-sharp.svg +1 -0
- package/dist/ionic/svg/stop.svg +1 -0
- package/dist/ionic/svg/stopwatch-outline.svg +1 -0
- package/dist/ionic/svg/stopwatch-sharp.svg +1 -0
- package/dist/ionic/svg/stopwatch.svg +1 -0
- package/dist/ionic/svg/storefront-outline.svg +1 -0
- package/dist/ionic/svg/storefront-sharp.svg +1 -0
- package/dist/ionic/svg/storefront.svg +1 -0
- package/dist/ionic/svg/subway-outline.svg +1 -0
- package/dist/ionic/svg/subway-sharp.svg +1 -0
- package/dist/ionic/svg/subway.svg +1 -0
- package/dist/ionic/svg/sunny-outline.svg +1 -0
- package/dist/ionic/svg/sunny-sharp.svg +1 -0
- package/dist/ionic/svg/sunny.svg +1 -0
- package/dist/ionic/svg/swap-horizontal-outline.svg +1 -0
- package/dist/ionic/svg/swap-horizontal-sharp.svg +1 -0
- package/dist/ionic/svg/swap-horizontal.svg +1 -0
- package/dist/ionic/svg/swap-vertical-outline.svg +1 -0
- package/dist/ionic/svg/swap-vertical-sharp.svg +1 -0
- package/dist/ionic/svg/swap-vertical.svg +1 -0
- package/dist/ionic/svg/sync-circle-outline.svg +1 -0
- package/dist/ionic/svg/sync-circle-sharp.svg +1 -0
- package/dist/ionic/svg/sync-circle.svg +1 -0
- package/dist/ionic/svg/sync-outline.svg +1 -0
- package/dist/ionic/svg/sync-sharp.svg +1 -0
- package/dist/ionic/svg/sync.svg +1 -0
- package/dist/ionic/svg/tablet-landscape-outline.svg +1 -0
- package/dist/ionic/svg/tablet-landscape-sharp.svg +1 -0
- package/dist/ionic/svg/tablet-landscape.svg +1 -0
- package/dist/ionic/svg/tablet-portrait-outline.svg +1 -0
- package/dist/ionic/svg/tablet-portrait-sharp.svg +1 -0
- package/dist/ionic/svg/tablet-portrait.svg +1 -0
- package/dist/ionic/svg/telescope-outline.svg +1 -0
- package/dist/ionic/svg/telescope-sharp.svg +1 -0
- package/dist/ionic/svg/telescope.svg +1 -0
- package/dist/ionic/svg/tennisball-outline.svg +1 -0
- package/dist/ionic/svg/tennisball-sharp.svg +1 -0
- package/dist/ionic/svg/tennisball.svg +1 -0
- package/dist/ionic/svg/terminal-outline.svg +1 -0
- package/dist/ionic/svg/terminal-sharp.svg +1 -0
- package/dist/ionic/svg/terminal.svg +1 -0
- package/dist/ionic/svg/text-outline.svg +1 -0
- package/dist/ionic/svg/text-sharp.svg +1 -0
- package/dist/ionic/svg/text.svg +1 -0
- package/dist/ionic/svg/thermometer-outline.svg +1 -0
- package/dist/ionic/svg/thermometer-sharp.svg +1 -0
- package/dist/ionic/svg/thermometer.svg +1 -0
- package/dist/ionic/svg/thumbs-down-outline.svg +1 -0
- package/dist/ionic/svg/thumbs-down-sharp.svg +1 -0
- package/dist/ionic/svg/thumbs-down.svg +1 -0
- package/dist/ionic/svg/thumbs-up-outline.svg +1 -0
- package/dist/ionic/svg/thumbs-up-sharp.svg +1 -0
- package/dist/ionic/svg/thumbs-up.svg +1 -0
- package/dist/ionic/svg/thunderstorm-outline.svg +1 -0
- package/dist/ionic/svg/thunderstorm-sharp.svg +1 -0
- package/dist/ionic/svg/thunderstorm.svg +1 -0
- package/dist/ionic/svg/ticket-outline.svg +1 -0
- package/dist/ionic/svg/ticket-sharp.svg +1 -0
- package/dist/ionic/svg/ticket.svg +1 -0
- package/dist/ionic/svg/time-outline.svg +1 -0
- package/dist/ionic/svg/time-sharp.svg +1 -0
- package/dist/ionic/svg/time.svg +1 -0
- package/dist/ionic/svg/timer-outline.svg +1 -0
- package/dist/ionic/svg/timer-sharp.svg +1 -0
- package/dist/ionic/svg/timer.svg +1 -0
- package/dist/ionic/svg/today-outline.svg +1 -0
- package/dist/ionic/svg/today-sharp.svg +1 -0
- package/dist/ionic/svg/today.svg +1 -0
- package/dist/ionic/svg/toggle-outline.svg +1 -0
- package/dist/ionic/svg/toggle-sharp.svg +1 -0
- package/dist/ionic/svg/toggle.svg +1 -0
- package/dist/ionic/svg/trail-sign-outline.svg +1 -0
- package/dist/ionic/svg/trail-sign-sharp.svg +1 -0
- package/dist/ionic/svg/trail-sign.svg +1 -0
- package/dist/ionic/svg/train-outline.svg +1 -0
- package/dist/ionic/svg/train-sharp.svg +1 -0
- package/dist/ionic/svg/train.svg +1 -0
- package/dist/ionic/svg/transgender-outline.svg +1 -0
- package/dist/ionic/svg/transgender-sharp.svg +1 -0
- package/dist/ionic/svg/transgender.svg +1 -0
- package/dist/ionic/svg/trash-bin-outline.svg +1 -0
- package/dist/ionic/svg/trash-bin-sharp.svg +1 -0
- package/dist/ionic/svg/trash-bin.svg +1 -0
- package/dist/ionic/svg/trash-outline.svg +1 -0
- package/dist/ionic/svg/trash-sharp.svg +1 -0
- package/dist/ionic/svg/trash.svg +1 -0
- package/dist/ionic/svg/trending-down-outline.svg +1 -0
- package/dist/ionic/svg/trending-down-sharp.svg +1 -0
- package/dist/ionic/svg/trending-down.svg +1 -0
- package/dist/ionic/svg/trending-up-outline.svg +1 -0
- package/dist/ionic/svg/trending-up-sharp.svg +1 -0
- package/dist/ionic/svg/trending-up.svg +1 -0
- package/dist/ionic/svg/triangle-outline.svg +1 -0
- package/dist/ionic/svg/triangle-sharp.svg +1 -0
- package/dist/ionic/svg/triangle.svg +1 -0
- package/dist/ionic/svg/trophy-outline.svg +1 -0
- package/dist/ionic/svg/trophy-sharp.svg +1 -0
- package/dist/ionic/svg/trophy.svg +1 -0
- package/dist/ionic/svg/tv-outline.svg +1 -0
- package/dist/ionic/svg/tv-sharp.svg +1 -0
- package/dist/ionic/svg/tv.svg +1 -0
- package/dist/ionic/svg/umbrella-outline.svg +1 -0
- package/dist/ionic/svg/umbrella-sharp.svg +1 -0
- package/dist/ionic/svg/umbrella.svg +1 -0
- package/dist/ionic/svg/unlink-outline.svg +1 -0
- package/dist/ionic/svg/unlink-sharp.svg +1 -0
- package/dist/ionic/svg/unlink.svg +1 -0
- package/dist/ionic/svg/videocam-off-outline.svg +1 -0
- package/dist/ionic/svg/videocam-off-sharp.svg +1 -0
- package/dist/ionic/svg/videocam-off.svg +1 -0
- package/dist/ionic/svg/videocam-outline.svg +1 -0
- package/dist/ionic/svg/videocam-sharp.svg +1 -0
- package/dist/ionic/svg/videocam.svg +1 -0
- package/dist/ionic/svg/volume-high-outline.svg +1 -0
- package/dist/ionic/svg/volume-high-sharp.svg +1 -0
- package/dist/ionic/svg/volume-high.svg +1 -0
- package/dist/ionic/svg/volume-low-outline.svg +1 -0
- package/dist/ionic/svg/volume-low-sharp.svg +1 -0
- package/dist/ionic/svg/volume-low.svg +1 -0
- package/dist/ionic/svg/volume-medium-outline.svg +1 -0
- package/dist/ionic/svg/volume-medium-sharp.svg +1 -0
- package/dist/ionic/svg/volume-medium.svg +1 -0
- package/dist/ionic/svg/volume-mute-outline.svg +1 -0
- package/dist/ionic/svg/volume-mute-sharp.svg +1 -0
- package/dist/ionic/svg/volume-mute.svg +1 -0
- package/dist/ionic/svg/volume-off-outline.svg +1 -0
- package/dist/ionic/svg/volume-off-sharp.svg +1 -0
- package/dist/ionic/svg/volume-off.svg +1 -0
- package/dist/ionic/svg/walk-outline.svg +1 -0
- package/dist/ionic/svg/walk-sharp.svg +1 -0
- package/dist/ionic/svg/walk.svg +1 -0
- package/dist/ionic/svg/wallet-outline.svg +1 -0
- package/dist/ionic/svg/wallet-sharp.svg +1 -0
- package/dist/ionic/svg/wallet.svg +1 -0
- package/dist/ionic/svg/warning-outline.svg +1 -0
- package/dist/ionic/svg/warning-sharp.svg +1 -0
- package/dist/ionic/svg/warning.svg +1 -0
- package/dist/ionic/svg/watch-outline.svg +1 -0
- package/dist/ionic/svg/watch-sharp.svg +1 -0
- package/dist/ionic/svg/watch.svg +1 -0
- package/dist/ionic/svg/water-outline.svg +1 -0
- package/dist/ionic/svg/water-sharp.svg +1 -0
- package/dist/ionic/svg/water.svg +1 -0
- package/dist/ionic/svg/wifi-outline.svg +1 -0
- package/dist/ionic/svg/wifi-sharp.svg +1 -0
- package/dist/ionic/svg/wifi.svg +1 -0
- package/dist/ionic/svg/wine-outline.svg +1 -0
- package/dist/ionic/svg/wine-sharp.svg +1 -0
- package/dist/ionic/svg/wine.svg +1 -0
- package/dist/ionic/svg/woman-outline.svg +1 -0
- package/dist/ionic/svg/woman-sharp.svg +1 -0
- package/dist/ionic/svg/woman.svg +1 -0
- package/dist/types/components/accordion/accordion.d.ts +1 -1
- package/dist/types/components/action-sheet/action-sheet.d.ts +37 -0
- package/dist/types/components/content/content.d.ts +7 -0
- package/dist/types/components/fab-button/fab-button.d.ts +1 -1
- package/dist/types/components/item/item.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +14 -0
- package/dist/types/components/popover/popover.d.ts +7 -0
- package/dist/types/components.d.ts +10 -6
- package/hydrate/index.js +363 -33
- package/hydrate/index.mjs +363 -33
- package/package.json +9 -5
- package/dist/ionic/p-43ed1ef5.entry.js +0 -4
- package/dist/ionic/p-510d86e1.entry.js +0 -4
- package/dist/ionic/p-5fb517e4.entry.js +0 -4
- package/dist/ionic/p-7380261c.entry.js +0 -4
- package/dist/ionic/p-95bddd49.entry.js +0 -4
- package/dist/ionic/p-D87hU-Ly.js +0 -4
- package/dist/ionic/p-b57c6d3e.entry.js +0 -4
- package/dist/ionic/p-e16b69e1.entry.js +0 -4
|
@@ -20,6 +20,7 @@ export class ActionSheet {
|
|
|
20
20
|
this.delegateController = createDelegateController(this);
|
|
21
21
|
this.lockController = createLockController();
|
|
22
22
|
this.triggerController = createTriggerController();
|
|
23
|
+
this.hasRadioButtons = false;
|
|
23
24
|
this.presented = false;
|
|
24
25
|
/** @internal */
|
|
25
26
|
this.hasController = false;
|
|
@@ -64,6 +65,19 @@ export class ActionSheet {
|
|
|
64
65
|
}
|
|
65
66
|
};
|
|
66
67
|
}
|
|
68
|
+
buttonsChanged() {
|
|
69
|
+
const radioButtons = this.getRadioButtons();
|
|
70
|
+
this.hasRadioButtons = radioButtons.length > 0;
|
|
71
|
+
// Initialize activeRadioId when buttons change
|
|
72
|
+
if (this.hasRadioButtons) {
|
|
73
|
+
const checkedButton = radioButtons.find((b) => { var _a; return ((_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a['aria-checked']) === 'true'; });
|
|
74
|
+
if (checkedButton) {
|
|
75
|
+
const allButtons = this.getButtons();
|
|
76
|
+
const checkedIndex = allButtons.indexOf(checkedButton);
|
|
77
|
+
this.activeRadioId = this.getButtonId(checkedButton, checkedIndex);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
67
81
|
onIsOpenChange(newValue, oldValue) {
|
|
68
82
|
if (newValue === true && oldValue === false) {
|
|
69
83
|
this.present();
|
|
@@ -144,11 +158,122 @@ export class ActionSheet {
|
|
|
144
158
|
}
|
|
145
159
|
return true;
|
|
146
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Get all buttons regardless of role.
|
|
163
|
+
*/
|
|
147
164
|
getButtons() {
|
|
148
165
|
return this.buttons.map((b) => {
|
|
149
166
|
return typeof b === 'string' ? { text: b } : b;
|
|
150
167
|
});
|
|
151
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Get all radio buttons (buttons with role="radio").
|
|
171
|
+
*/
|
|
172
|
+
getRadioButtons() {
|
|
173
|
+
return this.getButtons().filter((b) => {
|
|
174
|
+
var _a;
|
|
175
|
+
const role = (_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a.role;
|
|
176
|
+
return role === 'radio' && !isCancel(role);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Handle radio button selection and update aria-checked state.
|
|
181
|
+
*
|
|
182
|
+
* @param button The radio button that was selected.
|
|
183
|
+
*/
|
|
184
|
+
selectRadioButton(button) {
|
|
185
|
+
const buttonId = this.getButtonId(button);
|
|
186
|
+
// Set the active radio ID (this will trigger a re-render and update aria-checked)
|
|
187
|
+
this.activeRadioId = buttonId;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get or generate an ID for a button.
|
|
191
|
+
*
|
|
192
|
+
* @param button The button for which to get the ID.
|
|
193
|
+
* @param index Optional index of the button in the buttons array.
|
|
194
|
+
* @returns The ID of the button.
|
|
195
|
+
*/
|
|
196
|
+
getButtonId(button, index) {
|
|
197
|
+
if (button.id) {
|
|
198
|
+
return button.id;
|
|
199
|
+
}
|
|
200
|
+
const allButtons = this.getButtons();
|
|
201
|
+
const buttonIndex = index !== undefined ? index : allButtons.indexOf(button);
|
|
202
|
+
return `action-sheet-button-${this.overlayIndex}-${buttonIndex}`;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* When the action sheet has radio buttons, we want to follow the
|
|
206
|
+
* keyboard navigation pattern for radio groups:
|
|
207
|
+
* - Arrow Down/Right: Move to the next radio button (wrap to first if at end)
|
|
208
|
+
* - Arrow Up/Left: Move to the previous radio button (wrap to last if at start)
|
|
209
|
+
* - Space/Enter: Select the focused radio button and trigger its handler
|
|
210
|
+
*/
|
|
211
|
+
onKeydown(ev) {
|
|
212
|
+
// Only handle keyboard navigation if we have radio buttons
|
|
213
|
+
if (!this.hasRadioButtons || !this.presented) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
const target = ev.target;
|
|
217
|
+
// Ignore if the target element is not within the action sheet or not a radio button
|
|
218
|
+
if (!this.el.contains(target) ||
|
|
219
|
+
!target.classList.contains('action-sheet-button') ||
|
|
220
|
+
target.getAttribute('role') !== 'radio') {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
// Get all radio button elements and filter out disabled ones
|
|
224
|
+
const radios = Array.from(this.el.querySelectorAll('.action-sheet-button[role="radio"]')).filter((el) => !el.disabled);
|
|
225
|
+
const currentIndex = radios.findIndex((radio) => radio.id === target.id);
|
|
226
|
+
if (currentIndex === -1) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const allButtons = this.getButtons();
|
|
230
|
+
const radioButtons = this.getRadioButtons();
|
|
231
|
+
/**
|
|
232
|
+
* Build a map of button element IDs to their ActionSheetButton
|
|
233
|
+
* config objects.
|
|
234
|
+
* This allows us to quickly look up which button config corresponds
|
|
235
|
+
* to a DOM element when handling keyboard navigation
|
|
236
|
+
* (e.g., whenuser presses Space/Enter or arrow keys).
|
|
237
|
+
* The key is the ID that was set on the DOM element during render,
|
|
238
|
+
* and the value is the ActionSheetButton config that contains the
|
|
239
|
+
* handler and other properties.
|
|
240
|
+
*/
|
|
241
|
+
const buttonIdMap = new Map();
|
|
242
|
+
radioButtons.forEach((b) => {
|
|
243
|
+
const allIndex = allButtons.indexOf(b);
|
|
244
|
+
const buttonId = this.getButtonId(b, allIndex);
|
|
245
|
+
buttonIdMap.set(buttonId, b);
|
|
246
|
+
});
|
|
247
|
+
let nextEl;
|
|
248
|
+
if (['ArrowDown', 'ArrowRight'].includes(ev.key)) {
|
|
249
|
+
ev.preventDefault();
|
|
250
|
+
ev.stopPropagation();
|
|
251
|
+
nextEl = currentIndex === radios.length - 1 ? radios[0] : radios[currentIndex + 1];
|
|
252
|
+
}
|
|
253
|
+
else if (['ArrowUp', 'ArrowLeft'].includes(ev.key)) {
|
|
254
|
+
ev.preventDefault();
|
|
255
|
+
ev.stopPropagation();
|
|
256
|
+
nextEl = currentIndex === 0 ? radios[radios.length - 1] : radios[currentIndex - 1];
|
|
257
|
+
}
|
|
258
|
+
else if (ev.key === ' ' || ev.key === 'Enter') {
|
|
259
|
+
ev.preventDefault();
|
|
260
|
+
ev.stopPropagation();
|
|
261
|
+
const button = buttonIdMap.get(target.id);
|
|
262
|
+
if (button) {
|
|
263
|
+
this.selectRadioButton(button);
|
|
264
|
+
this.buttonClick(button);
|
|
265
|
+
}
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
// Focus the next radio button
|
|
269
|
+
if (nextEl) {
|
|
270
|
+
const button = buttonIdMap.get(nextEl.id);
|
|
271
|
+
if (button) {
|
|
272
|
+
this.selectRadioButton(button);
|
|
273
|
+
nextEl.focus();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
152
277
|
connectedCallback() {
|
|
153
278
|
prepareOverlay(this.el);
|
|
154
279
|
this.triggerChanged();
|
|
@@ -165,6 +290,8 @@ export class ActionSheet {
|
|
|
165
290
|
if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
166
291
|
setOverlayId(this.el);
|
|
167
292
|
}
|
|
293
|
+
// Initialize activeRadioId for radio buttons
|
|
294
|
+
this.buttonsChanged();
|
|
168
295
|
}
|
|
169
296
|
componentDidLoad() {
|
|
170
297
|
/**
|
|
@@ -202,19 +329,70 @@ export class ActionSheet {
|
|
|
202
329
|
*/
|
|
203
330
|
this.triggerChanged();
|
|
204
331
|
}
|
|
332
|
+
renderActionSheetButtons(filteredButtons) {
|
|
333
|
+
const mode = getIonMode(this);
|
|
334
|
+
const { activeRadioId } = this;
|
|
335
|
+
return filteredButtons.map((b, index) => {
|
|
336
|
+
var _a;
|
|
337
|
+
const isRadio = ((_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a.role) === 'radio';
|
|
338
|
+
const buttonId = this.getButtonId(b, index);
|
|
339
|
+
const radioButtons = this.getRadioButtons();
|
|
340
|
+
const isActiveRadio = isRadio && buttonId === activeRadioId;
|
|
341
|
+
const isFirstRadio = isRadio && b === radioButtons[0];
|
|
342
|
+
// For radio buttons, set tabindex: 0 for the active one, -1 for others
|
|
343
|
+
// For non-radio buttons, use default tabindex (undefined, which means 0)
|
|
344
|
+
/**
|
|
345
|
+
* For radio buttons, set tabindex based on activeRadioId
|
|
346
|
+
* - If the button is the active radio, tabindex is 0
|
|
347
|
+
* - If no radio is active, the first radio button should have tabindex 0
|
|
348
|
+
* - All other radio buttons have tabindex -1
|
|
349
|
+
* For non-radio buttons, use default tabindex (undefined, which means 0)
|
|
350
|
+
*/
|
|
351
|
+
let tabIndex;
|
|
352
|
+
if (isRadio) {
|
|
353
|
+
// Focus on the active radio button
|
|
354
|
+
if (isActiveRadio) {
|
|
355
|
+
tabIndex = 0;
|
|
356
|
+
}
|
|
357
|
+
else if (!activeRadioId && isFirstRadio) {
|
|
358
|
+
// No active radio, first radio gets focus
|
|
359
|
+
tabIndex = 0;
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
// All other radios are not focusable
|
|
363
|
+
tabIndex = -1;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
tabIndex = undefined;
|
|
368
|
+
}
|
|
369
|
+
// For radio buttons, set aria-checked based on activeRadioId
|
|
370
|
+
// Otherwise, use the value from htmlAttributes if provided
|
|
371
|
+
const htmlAttrs = Object.assign({}, b.htmlAttributes);
|
|
372
|
+
if (isRadio) {
|
|
373
|
+
htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
|
|
374
|
+
}
|
|
375
|
+
return (h("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass(b)), { 'action-sheet-selected': isActiveRadio }), onClick: () => {
|
|
376
|
+
if (isRadio) {
|
|
377
|
+
this.selectRadioButton(b);
|
|
378
|
+
}
|
|
379
|
+
this.buttonClick(b);
|
|
380
|
+
}, disabled: b.disabled, tabIndex: tabIndex }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null)));
|
|
381
|
+
});
|
|
382
|
+
}
|
|
205
383
|
render() {
|
|
206
|
-
const { header, htmlAttributes, overlayIndex } = this;
|
|
384
|
+
const { header, htmlAttributes, overlayIndex, hasRadioButtons } = this;
|
|
207
385
|
const mode = getIonMode(this);
|
|
208
386
|
const allButtons = this.getButtons();
|
|
209
387
|
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
|
210
388
|
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
|
211
389
|
const headerID = `action-sheet-${overlayIndex}-header`;
|
|
212
|
-
return (h(Host, Object.assign({ key: '
|
|
390
|
+
return (h(Host, Object.assign({ key: '173fcff5b1da7c33c267de4667591c946b8c8d03', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
|
|
213
391
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
214
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '
|
|
392
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '521ede659f747864f6c974e09016436eceb7158c', tappable: this.backdropDismiss }), h("div", { key: '7a7946fc434bc444f16a70638f5e948c69d33fcd', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'bcff39a580489dbafa255842e57aa8602c6d0f18', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '84bba13ce14261f0f0daa3f9c77648c9e7f36e0e', class: "action-sheet-container" }, h("div", { key: 'd9c8ac404fd6719a7adf8cb36549f67616f9a0c4', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (h("div", { key: '180433a8ad03ef5c54728a1a8f34715b6921d658', id: headerID, class: {
|
|
215
393
|
'action-sheet-title': true,
|
|
216
394
|
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
|
217
|
-
} }, header, this.subHeader && h("div", { key: '
|
|
395
|
+
} }, header, this.subHeader && h("div", { key: '7138e79e61b1a8f42bc5a9175c57fa2f15d7ec5a', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (h("div", { key: 'b617c722f5b8028d73ed34b69310f312c65f34a7', class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({ key: 'd0dd876fc48815df3710413c201c0b445a8e16c0' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { key: 'e7b960157cc6fc5fe92a12090b2be55e8ae072e4', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: '05498ffc60cab911dbff0ecbc6168dea59ada9a5', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: '3d401346cea301be4ca03671f7370f6f4b0b6bde' })))))), h("div", { key: '971f3c5fcc07f36c28eb469a47ec0290c692e139', tabindex: "0", "aria-hidden": "true" })));
|
|
218
396
|
}
|
|
219
397
|
static get is() { return "ion-action-sheet"; }
|
|
220
398
|
static get encapsulation() { return "scoped"; }
|
|
@@ -568,6 +746,11 @@ export class ActionSheet {
|
|
|
568
746
|
}
|
|
569
747
|
};
|
|
570
748
|
}
|
|
749
|
+
static get states() {
|
|
750
|
+
return {
|
|
751
|
+
"activeRadioId": {}
|
|
752
|
+
};
|
|
753
|
+
}
|
|
571
754
|
static get events() {
|
|
572
755
|
return [{
|
|
573
756
|
"method": "didPresent",
|
|
@@ -822,6 +1005,9 @@ export class ActionSheet {
|
|
|
822
1005
|
static get elementRef() { return "el"; }
|
|
823
1006
|
static get watchers() {
|
|
824
1007
|
return [{
|
|
1008
|
+
"propName": "buttons",
|
|
1009
|
+
"methodName": "buttonsChanged"
|
|
1010
|
+
}, {
|
|
825
1011
|
"propName": "isOpen",
|
|
826
1012
|
"methodName": "onIsOpenChange"
|
|
827
1013
|
}, {
|
|
@@ -829,6 +1015,15 @@ export class ActionSheet {
|
|
|
829
1015
|
"methodName": "triggerChanged"
|
|
830
1016
|
}];
|
|
831
1017
|
}
|
|
1018
|
+
static get listeners() {
|
|
1019
|
+
return [{
|
|
1020
|
+
"name": "keydown",
|
|
1021
|
+
"method": "onKeydown",
|
|
1022
|
+
"target": undefined,
|
|
1023
|
+
"capture": false,
|
|
1024
|
+
"passive": false
|
|
1025
|
+
}];
|
|
1026
|
+
}
|
|
832
1027
|
}
|
|
833
1028
|
const buttonClass = (button) => {
|
|
834
1029
|
return Object.assign({ 'action-sheet-button': true, 'ion-activatable': !button.disabled, 'ion-focusable': !button.disabled, [`action-sheet-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
|
|
@@ -229,7 +229,7 @@ export class Button {
|
|
|
229
229
|
{
|
|
230
230
|
type !== 'button' && this.renderHiddenButton();
|
|
231
231
|
}
|
|
232
|
-
return (h(Host, { key: '
|
|
232
|
+
return (h(Host, { key: 'd148ed2332917f03fafd63dbbef10131df0ec5f0', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
|
|
233
233
|
[mode]: true,
|
|
234
234
|
[buttonType]: true,
|
|
235
235
|
[`${buttonType}-${expand}`]: expand !== undefined,
|
|
@@ -244,7 +244,7 @@ export class Button {
|
|
|
244
244
|
'button-disabled': disabled,
|
|
245
245
|
'ion-activatable': true,
|
|
246
246
|
'ion-focusable': true,
|
|
247
|
-
}) }, h(TagType, Object.assign({ key: '
|
|
247
|
+
}) }, h(TagType, Object.assign({ key: '9da73c530017d510839a224bc4d5315bd44f60ed' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { key: '9046184db918cc53e90796860c43d1dfb7d1f85c', class: "button-inner" }, h("slot", { key: '9dd37ab124803e703567ddde4154c81ed1922be1', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: '01713ecf19c68be05072ffcd00ed7ff2d76c4551', name: "start" }), h("slot", { key: '121124874ba1357bc10ffaf4f7ed13803a02add9' }), h("slot", { key: '09317cf5ced153fbb94d4ebba69db858f9dbe570', name: "end" })), mode === 'md' && h("ion-ripple-effect", { key: '8bdd9d082f48582be903221b13b67095046cd9aa', type: this.rippleType }))));
|
|
248
248
|
}
|
|
249
249
|
static get is() { return "ion-button"; }
|
|
250
250
|
static get encapsulation() { return "shadow"; }
|
|
@@ -643,6 +643,9 @@ export class Button {
|
|
|
643
643
|
}, {
|
|
644
644
|
"propName": "aria-label",
|
|
645
645
|
"methodName": "onAriaChanged"
|
|
646
|
+
}, {
|
|
647
|
+
"propName": "aria-pressed",
|
|
648
|
+
"methodName": "onAriaChanged"
|
|
646
649
|
}];
|
|
647
650
|
}
|
|
648
651
|
}
|
|
@@ -191,6 +191,15 @@ export class Content {
|
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Recalculate content dimensions. Called by overlays (e.g., popover) when
|
|
196
|
+
* sibling elements like headers or footers have finished rendering and their
|
|
197
|
+
* heights are available, ensuring accurate offset-top calculations.
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
async recalculateDimensions() {
|
|
201
|
+
readTask(() => this.readDimensions());
|
|
202
|
+
}
|
|
194
203
|
readDimensions() {
|
|
195
204
|
const page = getPageElement(this.el);
|
|
196
205
|
const top = Math.max(this.el.offsetTop, 0);
|
|
@@ -360,7 +369,7 @@ export class Content {
|
|
|
360
369
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
361
370
|
const transitionShadow = mode === 'ios';
|
|
362
371
|
this.resize();
|
|
363
|
-
return (h(Host, Object.assign({ key: '
|
|
372
|
+
return (h(Host, Object.assign({ key: 'cd8781f848d8dc926fe66f43d43c49564425a507', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
|
|
364
373
|
[mode]: true,
|
|
365
374
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
366
375
|
overscroll: forceOverscroll,
|
|
@@ -368,12 +377,12 @@ export class Content {
|
|
|
368
377
|
}), style: {
|
|
369
378
|
'--offset-top': `${this.cTop}px`,
|
|
370
379
|
'--offset-bottom': `${this.cBottom}px`,
|
|
371
|
-
} }, inheritedAttributes), h("div", { key: '
|
|
380
|
+
} }, inheritedAttributes), h("div", { key: '95b112d7cae30f22ef778ceffb88edb4d941c170', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '2fdfcbc39fb66f11b6191911f2941c660f4c12e5', class: {
|
|
372
381
|
'inner-scroll': true,
|
|
373
382
|
'scroll-x': scrollX,
|
|
374
383
|
'scroll-y': scrollY,
|
|
375
384
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
376
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '
|
|
385
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '6bc77e0054ec8e21635a7f2abfe0ca46e0962e03' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
|
|
377
386
|
}
|
|
378
387
|
static get is() { return "ion-content"; }
|
|
379
388
|
static get encapsulation() { return "shadow"; }
|
|
@@ -603,6 +612,26 @@ export class Content {
|
|
|
603
612
|
}
|
|
604
613
|
static get methods() {
|
|
605
614
|
return {
|
|
615
|
+
"recalculateDimensions": {
|
|
616
|
+
"complexType": {
|
|
617
|
+
"signature": "() => Promise<void>",
|
|
618
|
+
"parameters": [],
|
|
619
|
+
"references": {
|
|
620
|
+
"Promise": {
|
|
621
|
+
"location": "global",
|
|
622
|
+
"id": "global::Promise"
|
|
623
|
+
}
|
|
624
|
+
},
|
|
625
|
+
"return": "Promise<void>"
|
|
626
|
+
},
|
|
627
|
+
"docs": {
|
|
628
|
+
"text": "Recalculate content dimensions. Called by overlays (e.g., popover) when\nsibling elements like headers or footers have finished rendering and their\nheights are available, ensuring accurate offset-top calculations.",
|
|
629
|
+
"tags": [{
|
|
630
|
+
"name": "internal",
|
|
631
|
+
"text": undefined
|
|
632
|
+
}]
|
|
633
|
+
}
|
|
634
|
+
},
|
|
606
635
|
"getScrollElement": {
|
|
607
636
|
"complexType": {
|
|
608
637
|
"signature": "() => Promise<HTMLElement>",
|
|
@@ -381,11 +381,11 @@ export class FabButton {
|
|
|
381
381
|
"attribute": "size"
|
|
382
382
|
},
|
|
383
383
|
"closeIcon": {
|
|
384
|
-
"type": "
|
|
384
|
+
"type": "string",
|
|
385
385
|
"mutable": false,
|
|
386
386
|
"complexType": {
|
|
387
|
-
"original": "
|
|
388
|
-
"resolved": "
|
|
387
|
+
"original": "string",
|
|
388
|
+
"resolved": "string",
|
|
389
389
|
"references": {}
|
|
390
390
|
},
|
|
391
391
|
"required": false,
|
|
@@ -124,7 +124,7 @@ ion-header ion-toolbar:first-of-type {
|
|
|
124
124
|
box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
.header-collapse-condense {
|
|
127
|
+
.header-md.header-collapse-condense {
|
|
128
128
|
display: none;
|
|
129
129
|
}
|
|
130
130
|
|
|
@@ -62,14 +62,14 @@ export class InputPasswordToggle {
|
|
|
62
62
|
const isPasswordVisible = type === 'text';
|
|
63
63
|
return (h(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses(color, {
|
|
64
64
|
[mode]: true,
|
|
65
|
-
}) }, h("ion-button", { key: '
|
|
65
|
+
}) }, h("ion-button", { key: '6344d6838f5cdcba54c6bf4b592f036092044de0', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
|
|
66
66
|
/**
|
|
67
67
|
* This prevents mobile browsers from
|
|
68
68
|
* blurring the input when the password toggle
|
|
69
69
|
* button is activated.
|
|
70
70
|
*/
|
|
71
71
|
ev.preventDefault();
|
|
72
|
-
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '
|
|
72
|
+
}, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'a2bd9197c2635bf8cb155ff25ce022e7d7dc6d00', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
|
|
73
73
|
}
|
|
74
74
|
static get is() { return "ion-input-password-toggle"; }
|
|
75
75
|
static get encapsulation() { return "shadow"; }
|
|
@@ -329,11 +329,11 @@ export class Item {
|
|
|
329
329
|
"attribute": "detail"
|
|
330
330
|
},
|
|
331
331
|
"detailIcon": {
|
|
332
|
-
"type": "
|
|
332
|
+
"type": "string",
|
|
333
333
|
"mutable": false,
|
|
334
334
|
"complexType": {
|
|
335
|
-
"original": "
|
|
336
|
-
"resolved": "
|
|
335
|
+
"original": "string",
|
|
336
|
+
"resolved": "string",
|
|
337
337
|
"references": {}
|
|
338
338
|
},
|
|
339
339
|
"required": false,
|
|
@@ -463,7 +463,13 @@ export class Modal {
|
|
|
463
463
|
};
|
|
464
464
|
window.addEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
|
|
465
465
|
}
|
|
466
|
-
|
|
466
|
+
/**
|
|
467
|
+
* Recalculate isSheetModal because framework bindings (e.g., Angular)
|
|
468
|
+
* may not have been applied when componentWillLoad ran.
|
|
469
|
+
*/
|
|
470
|
+
const isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
|
|
471
|
+
this.isSheetModal = isSheetModal;
|
|
472
|
+
if (isSheetModal) {
|
|
467
473
|
this.initSheetGesture();
|
|
468
474
|
}
|
|
469
475
|
else if (hasCardModal) {
|
|
@@ -545,6 +551,79 @@ export class Modal {
|
|
|
545
551
|
this.gesture = gesture;
|
|
546
552
|
this.moveSheetToBreakpoint = moveSheetToBreakpoint;
|
|
547
553
|
this.gesture.enable(true);
|
|
554
|
+
/**
|
|
555
|
+
* When backdrop interaction is allowed, nested router outlets from child routes
|
|
556
|
+
* may block pointer events to parent content. Apply passthrough styles only when
|
|
557
|
+
* the modal was the sole content of a child route page.
|
|
558
|
+
* See https://github.com/ionic-team/ionic-framework/issues/30700
|
|
559
|
+
*/
|
|
560
|
+
const backdropNotBlocking = this.showBackdrop === false || this.focusTrap === false || backdropBreakpoint > 0;
|
|
561
|
+
if (backdropNotBlocking) {
|
|
562
|
+
this.setupChildRoutePassthrough();
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* For sheet modals that allow background interaction, sets up pointer-events
|
|
567
|
+
* passthrough on child route page wrappers and nested router outlets.
|
|
568
|
+
*/
|
|
569
|
+
setupChildRoutePassthrough() {
|
|
570
|
+
var _a;
|
|
571
|
+
// Cache the page parent for cleanup
|
|
572
|
+
this.cachedPageParent = this.getOriginalPageParent();
|
|
573
|
+
const pageParent = this.cachedPageParent;
|
|
574
|
+
// Skip ion-app (controller modals) and pages with visible sibling content next to the modal
|
|
575
|
+
if (!pageParent || pageParent.tagName === 'ION-APP') {
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
const hasVisibleContent = Array.from(pageParent.children).some((child) => {
|
|
579
|
+
var _a;
|
|
580
|
+
return child !== this.el &&
|
|
581
|
+
!(child instanceof HTMLElement && window.getComputedStyle(child).display === 'none') &&
|
|
582
|
+
child.tagName !== 'TEMPLATE' &&
|
|
583
|
+
child.tagName !== 'SLOT' &&
|
|
584
|
+
!(child.nodeType === Node.TEXT_NODE && !((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()));
|
|
585
|
+
});
|
|
586
|
+
if (hasVisibleContent) {
|
|
587
|
+
return;
|
|
588
|
+
}
|
|
589
|
+
// Child route case: page only contained the modal
|
|
590
|
+
pageParent.classList.add('ion-page-overlay-passthrough');
|
|
591
|
+
// Also make nested router outlets passthrough
|
|
592
|
+
const routerOutlet = pageParent.parentElement;
|
|
593
|
+
if ((routerOutlet === null || routerOutlet === void 0 ? void 0 : routerOutlet.tagName) === 'ION-ROUTER-OUTLET' && ((_a = routerOutlet.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) !== 'ION-APP') {
|
|
594
|
+
routerOutlet.style.setProperty('pointer-events', 'none');
|
|
595
|
+
routerOutlet.setAttribute('data-overlay-passthrough', 'true');
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Finds the ion-page ancestor of the modal's original parent location.
|
|
600
|
+
*/
|
|
601
|
+
getOriginalPageParent() {
|
|
602
|
+
if (!this.cachedOriginalParent) {
|
|
603
|
+
return null;
|
|
604
|
+
}
|
|
605
|
+
let pageParent = this.cachedOriginalParent;
|
|
606
|
+
while (pageParent && !pageParent.classList.contains('ion-page')) {
|
|
607
|
+
pageParent = pageParent.parentElement;
|
|
608
|
+
}
|
|
609
|
+
return pageParent;
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* Removes passthrough styles added by setupChildRoutePassthrough.
|
|
613
|
+
*/
|
|
614
|
+
cleanupChildRoutePassthrough() {
|
|
615
|
+
const pageParent = this.cachedPageParent;
|
|
616
|
+
if (!pageParent) {
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
619
|
+
pageParent.classList.remove('ion-page-overlay-passthrough');
|
|
620
|
+
const routerOutlet = pageParent.parentElement;
|
|
621
|
+
if (routerOutlet === null || routerOutlet === void 0 ? void 0 : routerOutlet.hasAttribute('data-overlay-passthrough')) {
|
|
622
|
+
routerOutlet.style.removeProperty('pointer-events');
|
|
623
|
+
routerOutlet.removeAttribute('data-overlay-passthrough');
|
|
624
|
+
}
|
|
625
|
+
// Clear the cached reference
|
|
626
|
+
this.cachedPageParent = undefined;
|
|
548
627
|
}
|
|
549
628
|
sheetOnDismiss() {
|
|
550
629
|
/**
|
|
@@ -634,6 +713,7 @@ export class Modal {
|
|
|
634
713
|
}
|
|
635
714
|
this.cleanupViewTransitionListener();
|
|
636
715
|
this.cleanupParentRemovalObserver();
|
|
716
|
+
this.cleanupChildRoutePassthrough();
|
|
637
717
|
}
|
|
638
718
|
this.currentBreakpoint = undefined;
|
|
639
719
|
this.animation = undefined;
|
|
@@ -838,6 +918,17 @@ export class Modal {
|
|
|
838
918
|
this.cachedOriginalParent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
839
919
|
return;
|
|
840
920
|
}
|
|
921
|
+
/**
|
|
922
|
+
* Don't observe for controller-based modals or when the parent is the
|
|
923
|
+
* app root (document.body or ion-app). These parents won't be removed,
|
|
924
|
+
* and observing document.body with subtree: true causes performance
|
|
925
|
+
* issues with frameworks like Angular during change detection.
|
|
926
|
+
*/
|
|
927
|
+
if (this.hasController ||
|
|
928
|
+
this.cachedOriginalParent === document.body ||
|
|
929
|
+
this.cachedOriginalParent.tagName === 'ION-APP') {
|
|
930
|
+
return;
|
|
931
|
+
}
|
|
841
932
|
this.parentRemovalObserver = new MutationObserver((mutations) => {
|
|
842
933
|
mutations.forEach((mutation) => {
|
|
843
934
|
if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
|
|
@@ -879,20 +970,20 @@ export class Modal {
|
|
|
879
970
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
880
971
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
881
972
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
882
|
-
return (h(Host, Object.assign({ key: '
|
|
973
|
+
return (h(Host, Object.assign({ key: '9a75095a13de0cfc96f1fa69fd92777d25da8daa', "no-router": true,
|
|
883
974
|
// Allow the modal to be navigable when the handle is focusable
|
|
884
975
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
885
976
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
886
|
-
}, 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: '
|
|
977
|
+
}, 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: 'd02612d8063ef20f59f173ff47795f71cdaaf63e', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '708761b70a93e34c08faae079569f444c7416a4c', class: "modal-shadow" }), h("div", Object.assign({ key: 'a72226ff1a98229f9bfd9207b98fc57e02baa430',
|
|
887
978
|
/*
|
|
888
979
|
role and aria-modal must be used on the
|
|
889
980
|
same element. They must also be set inside the
|
|
890
981
|
shadow DOM otherwise ion-button will not be highlighted
|
|
891
982
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
892
983
|
*/
|
|
893
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
984
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '0547f32323882660221385d84d492929caa77c6b', class: "modal-handle",
|
|
894
985
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
895
|
-
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: '
|
|
986
|
+
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: 'fccbd64518b6fa22f9e874deb6b4ba55d8d89c3b', onSlotchange: this.onSlotChange }))));
|
|
896
987
|
}
|
|
897
988
|
static get is() { return "ion-modal"; }
|
|
898
989
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1451,6 +1542,7 @@ export class Modal {
|
|
|
1451
1542
|
}
|
|
1452
1543
|
static get states() {
|
|
1453
1544
|
return {
|
|
1545
|
+
"isSheetModal": {},
|
|
1454
1546
|
"presented": {}
|
|
1455
1547
|
};
|
|
1456
1548
|
}
|