voyager-ionic-core 8.7.9 → 8.7.13
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/checkbox.js +63 -9
- package/components/content.js +13 -3
- package/components/ion-accordion.js +1 -1
- package/components/ion-datetime.js +35 -2
- package/components/ion-fab-button.js +1 -1
- package/components/ion-input.js +2 -1
- package/components/ion-select.js +15 -9
- package/components/ion-textarea.js +2 -1
- package/components/ion-toggle.js +62 -12
- package/components/item.js +1 -1
- package/components/modal.js +97 -5
- package/components/notch-controller.js +153 -0
- package/components/overlays.js +11 -5
- package/components/popover.js +36 -2
- package/components/radio-group.js +60 -7
- package/components/validity.js +1 -150
- 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 +12 -3
- package/dist/cjs/ion-checkbox.cjs.entry.js +60 -8
- package/dist/cjs/ion-datetime_3.cjs.entry.js +36 -3
- package/dist/cjs/ion-input.cjs.entry.js +3 -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-radio_2.cjs.entry.js +57 -6
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +16 -10
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -2
- package/dist/cjs/ion-toast.cjs.entry.js +1 -1
- package/dist/cjs/ion-toggle.cjs.entry.js +58 -10
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{validity-C8QoAYT2.js → notch-controller-Bzqhjm4f.js} +0 -14
- package/dist/cjs/{overlays-DxIZwUXI.js → overlays--dagG4QM.js} +11 -5
- package/dist/cjs/validity-BpS37YFM.js +19 -0
- package/dist/collection/components/accordion/accordion.js +3 -3
- package/dist/collection/components/action-sheet/action-sheet.js +199 -4
- package/dist/collection/components/checkbox/checkbox.js +67 -9
- package/dist/collection/components/content/content.js +32 -3
- package/dist/collection/components/datetime/datetime.js +35 -2
- package/dist/collection/components/fab-button/fab-button.js +3 -3
- 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/radio-group/radio-group.js +64 -7
- package/dist/collection/components/select/select.js +13 -8
- package/dist/collection/components/toggle/toggle.js +62 -12
- package/dist/collection/utils/overlays.js +11 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +7 -0
- 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 +12 -3
- package/dist/esm/ion-checkbox.entry.js +60 -8
- package/dist/esm/ion-datetime_3.entry.js +36 -3
- package/dist/esm/ion-input.entry.js +2 -1
- 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-radio_2.entry.js +57 -6
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +15 -9
- package/dist/esm/ion-textarea.entry.js +2 -1
- package/dist/esm/ion-toast.entry.js +1 -1
- package/dist/esm/ion-toggle.entry.js +58 -10
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{validity-B8oWougr.js → notch-controller-BwelN_JM.js} +1 -14
- package/dist/esm/{overlays-BymNv-BL.js → overlays-DCabi1dI.js} +11 -5
- package/dist/esm/validity-DJztqcrH.js +17 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-071e8c1b.entry.js +4 -0
- package/dist/ionic/{p-7da39a4d.entry.js → p-07753df3.entry.js} +1 -1
- package/dist/ionic/{p-0b80d700.entry.js → p-0abeb0fc.entry.js} +1 -1
- package/dist/ionic/p-0bf76d0f.entry.js +4 -0
- package/dist/ionic/p-40c261a3.entry.js +4 -0
- package/dist/ionic/p-4b658a7c.entry.js +4 -0
- package/dist/ionic/p-4e41ea20.entry.js +4 -0
- package/dist/ionic/{p-98fc09eb.entry.js → p-576e0965.entry.js} +1 -1
- package/dist/ionic/p-60e0728c.entry.js +4 -0
- package/dist/ionic/p-75ae4733.entry.js +4 -0
- package/dist/ionic/p-C6F4hat2.js +4 -0
- package/dist/ionic/{p-DieJyvMP.js → p-DCv9sLH2.js} +1 -1
- package/dist/ionic/p-DJztqcrH.js +4 -0
- package/dist/ionic/{p-83be404e.entry.js → p-a8ed848b.entry.js} +1 -1
- package/dist/ionic/p-c19f63d0.entry.js +4 -0
- package/dist/ionic/p-c85a2127.entry.js +4 -0
- package/dist/ionic/p-d1f54e28.entry.js +4 -0
- package/dist/ionic/p-d3014190.entry.js +4 -0
- package/dist/ionic/{p-15193d01.entry.js → p-ec654c42.entry.js} +1 -1
- 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/checkbox/checkbox.d.ts +9 -1
- package/dist/types/components/content/content.d.ts +7 -0
- package/dist/types/components/datetime/datetime.d.ts +10 -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/radio-group/radio-group.d.ts +9 -1
- package/dist/types/components/select/select.d.ts +2 -2
- package/dist/types/components/toggle/toggle.d.ts +7 -1
- package/dist/types/components.d.ts +10 -6
- package/dist/types/utils/forms/validity.d.ts +1 -1
- package/hydrate/index.js +863 -451
- package/hydrate/index.mjs +863 -451
- package/package.json +10 -6
- package/dist/ionic/p-4cc26913.entry.js +0 -4
- package/dist/ionic/p-4efea47a.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-7bcfc421.entry.js +0 -4
- package/dist/ionic/p-8bdfc8f6.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-dc2e126d.entry.js +0 -4
- package/dist/ionic/p-e16b69e1.entry.js +0 -4
- package/dist/ionic/p-f65f9308.entry.js +0 -4
- package/dist/ionic/p-fc278823.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));
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { Host, h } from "@stencil/core";
|
|
4
|
+
import { Build, Host, h } from "@stencil/core";
|
|
5
|
+
import { checkInvalidState } from "../../utils/forms/index";
|
|
5
6
|
import { inheritAriaAttributes, renderHiddenInput } from "../../utils/helpers";
|
|
6
7
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
7
8
|
import { getIonMode } from "../../global/ionic-global";
|
|
@@ -62,6 +63,10 @@ export class Checkbox {
|
|
|
62
63
|
* submitting if the value is invalid.
|
|
63
64
|
*/
|
|
64
65
|
this.required = false;
|
|
66
|
+
/**
|
|
67
|
+
* Track validation state for proper aria-live announcements.
|
|
68
|
+
*/
|
|
69
|
+
this.isInvalid = false;
|
|
65
70
|
/**
|
|
66
71
|
* Sets the checked property and emits
|
|
67
72
|
* the ionChange event. Use this to update the
|
|
@@ -108,16 +113,63 @@ export class Checkbox {
|
|
|
108
113
|
ev.stopPropagation();
|
|
109
114
|
};
|
|
110
115
|
}
|
|
116
|
+
connectedCallback() {
|
|
117
|
+
const { el } = this;
|
|
118
|
+
// Watch for class changes to update validation state.
|
|
119
|
+
if (Build.isBrowser && typeof MutationObserver !== 'undefined') {
|
|
120
|
+
this.validationObserver = new MutationObserver(() => {
|
|
121
|
+
const newIsInvalid = checkInvalidState(el);
|
|
122
|
+
if (this.isInvalid !== newIsInvalid) {
|
|
123
|
+
this.isInvalid = newIsInvalid;
|
|
124
|
+
/**
|
|
125
|
+
* Screen readers tend to announce changes
|
|
126
|
+
* to `aria-describedby` when the attribute
|
|
127
|
+
* is changed during a blur event for a
|
|
128
|
+
* native form control.
|
|
129
|
+
* However, the announcement can be spotty
|
|
130
|
+
* when using a non-native form control
|
|
131
|
+
* and `forceUpdate()`.
|
|
132
|
+
* This is due to `forceUpdate()` internally
|
|
133
|
+
* rescheduling the DOM update to a lower
|
|
134
|
+
* priority queue regardless if it's called
|
|
135
|
+
* inside a Promise or not, thus causing
|
|
136
|
+
* the screen reader to potentially miss the
|
|
137
|
+
* change.
|
|
138
|
+
* By using a State variable inside a Promise,
|
|
139
|
+
* it guarantees a re-render immediately at
|
|
140
|
+
* a higher priority.
|
|
141
|
+
*/
|
|
142
|
+
Promise.resolve().then(() => {
|
|
143
|
+
this.hintTextId = this.getHintTextId();
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
this.validationObserver.observe(el, {
|
|
148
|
+
attributes: true,
|
|
149
|
+
attributeFilter: ['class'],
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
// Always set initial state
|
|
153
|
+
this.isInvalid = checkInvalidState(el);
|
|
154
|
+
}
|
|
111
155
|
componentWillLoad() {
|
|
112
156
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
157
|
+
this.hintTextId = this.getHintTextId();
|
|
158
|
+
}
|
|
159
|
+
disconnectedCallback() {
|
|
160
|
+
// Clean up validation observer to prevent memory leaks.
|
|
161
|
+
if (this.validationObserver) {
|
|
162
|
+
this.validationObserver.disconnect();
|
|
163
|
+
this.validationObserver = undefined;
|
|
164
|
+
}
|
|
113
165
|
}
|
|
114
166
|
/** @internal */
|
|
115
167
|
async setFocus() {
|
|
116
168
|
this.el.focus();
|
|
117
169
|
}
|
|
118
|
-
|
|
119
|
-
const {
|
|
120
|
-
if (
|
|
170
|
+
getHintTextId() {
|
|
171
|
+
const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
|
|
172
|
+
if (isInvalid && errorText) {
|
|
121
173
|
return errorTextId;
|
|
122
174
|
}
|
|
123
175
|
if (helperText) {
|
|
@@ -130,7 +182,7 @@ export class Checkbox {
|
|
|
130
182
|
* This element should only be rendered if hint text is set.
|
|
131
183
|
*/
|
|
132
184
|
renderHintText() {
|
|
133
|
-
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
185
|
+
const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
|
|
134
186
|
/**
|
|
135
187
|
* undefined and empty string values should
|
|
136
188
|
* be treated as not having helper/error text.
|
|
@@ -139,7 +191,7 @@ export class Checkbox {
|
|
|
139
191
|
if (!hasHintText) {
|
|
140
192
|
return;
|
|
141
193
|
}
|
|
142
|
-
return (h("div", { class: "checkbox-bottom" }, h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText), h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText)));
|
|
194
|
+
return (h("div", { class: "checkbox-bottom" }, h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null), h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text", role: "alert" }, isInvalid ? errorText : null)));
|
|
143
195
|
}
|
|
144
196
|
render() {
|
|
145
197
|
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
|
|
@@ -149,7 +201,7 @@ export class Checkbox {
|
|
|
149
201
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
150
202
|
// The host element must have a checkbox role to ensure proper VoiceOver
|
|
151
203
|
// support in Safari for accessibility.
|
|
152
|
-
return (h(Host, { key: '
|
|
204
|
+
return (h(Host, { key: 'ae0fbd4b21accbac132e6b85c513512ad9179394', role: "checkbox", "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": hasLabelContent ? this.inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
153
205
|
[mode]: true,
|
|
154
206
|
'in-item': hostContext('ion-item', el),
|
|
155
207
|
'checkbox-checked': checked,
|
|
@@ -159,10 +211,10 @@ export class Checkbox {
|
|
|
159
211
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
160
212
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
161
213
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
162
|
-
}) }, h("label", { key: '
|
|
214
|
+
}) }, h("label", { key: '7a3d7f3c27dde514f2dbf2e34f4629fad33ec3bf', class: "checkbox-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '4130d77ddf034271fecccda14e101a5a809921b6', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, required: required }, inheritedAttributes)), h("div", { key: '5daa74f4e62b0947e37764762524001ee42609d9', class: {
|
|
163
215
|
'label-text-wrapper': true,
|
|
164
216
|
'label-text-wrapper-hidden': !hasLabelContent,
|
|
165
|
-
}, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '
|
|
217
|
+
}, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '23ff66138f8c3a2f56f39113fc842d54b2f7952a' }), this.renderHintText()), h("div", { key: 'ab914d9623c19fc46821d5e62db92f1192ebbe7e', class: "native-wrapper" }, h("svg", { key: '66e3f4f5dcaa9756fb0e9452299954f9ed3dcb7b', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container", "aria-hidden": "true" }, path)))));
|
|
166
218
|
}
|
|
167
219
|
getSVGPath(mode, indeterminate) {
|
|
168
220
|
let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
|
@@ -430,6 +482,12 @@ export class Checkbox {
|
|
|
430
482
|
}
|
|
431
483
|
};
|
|
432
484
|
}
|
|
485
|
+
static get states() {
|
|
486
|
+
return {
|
|
487
|
+
"isInvalid": {},
|
|
488
|
+
"hintTextId": {}
|
|
489
|
+
};
|
|
490
|
+
}
|
|
433
491
|
static get events() {
|
|
434
492
|
return [{
|
|
435
493
|
"method": "ionChange",
|
|
@@ -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>",
|
|
@@ -585,6 +585,28 @@ export class Datetime {
|
|
|
585
585
|
destroyKeyboardMO();
|
|
586
586
|
}
|
|
587
587
|
};
|
|
588
|
+
/**
|
|
589
|
+
* TODO(FW-6931): Remove this fallback upon solving the root cause
|
|
590
|
+
* Fallback to ensure the datetime becomes ready even if
|
|
591
|
+
* IntersectionObserver never reports it as intersecting.
|
|
592
|
+
*
|
|
593
|
+
* This is primarily used in environments where the observer
|
|
594
|
+
* might not fire as expected, such as when running under
|
|
595
|
+
* synthetic tests that stub IntersectionObserver.
|
|
596
|
+
*/
|
|
597
|
+
this.ensureReadyIfVisible = () => {
|
|
598
|
+
if (this.el.classList.contains('datetime-ready')) {
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
const rect = this.el.getBoundingClientRect();
|
|
602
|
+
if (rect.width === 0 || rect.height === 0) {
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
605
|
+
this.initializeListeners();
|
|
606
|
+
writeTask(() => {
|
|
607
|
+
this.el.classList.add('datetime-ready');
|
|
608
|
+
});
|
|
609
|
+
};
|
|
588
610
|
this.processValue = (value) => {
|
|
589
611
|
const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
|
|
590
612
|
const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
|
|
@@ -902,6 +924,17 @@ export class Datetime {
|
|
|
902
924
|
* triggering the `hiddenIO` observer below.
|
|
903
925
|
*/
|
|
904
926
|
raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
|
|
927
|
+
/**
|
|
928
|
+
* TODO(FW-6931): Remove this fallback upon solving the root cause
|
|
929
|
+
* Fallback: If IntersectionObserver never reports that the
|
|
930
|
+
* datetime is visible but the host clearly has layout, ensure
|
|
931
|
+
* we still initialize listeners and mark the component as ready.
|
|
932
|
+
*
|
|
933
|
+
* We schedule this after everything has had a chance to run.
|
|
934
|
+
*/
|
|
935
|
+
setTimeout(() => {
|
|
936
|
+
this.ensureReadyIfVisible();
|
|
937
|
+
}, 100);
|
|
905
938
|
/**
|
|
906
939
|
* We need to clean up listeners when the datetime is hidden
|
|
907
940
|
* in a popover/modal so that we can properly scroll containers
|
|
@@ -1657,7 +1690,7 @@ export class Datetime {
|
|
|
1657
1690
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1658
1691
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1659
1692
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1660
|
-
return (h(Host, { key: '
|
|
1693
|
+
return (h(Host, { key: 'efdbc0922670a841bc667ceac392cdc1dedffd01', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1661
1694
|
[mode]: true,
|
|
1662
1695
|
['datetime-readonly']: readonly,
|
|
1663
1696
|
['datetime-disabled']: disabled,
|
|
@@ -1667,7 +1700,7 @@ export class Datetime {
|
|
|
1667
1700
|
[`datetime-size-${size}`]: true,
|
|
1668
1701
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1669
1702
|
[`datetime-grid`]: isGridStyle,
|
|
1670
|
-
})) }, h("div", { key: '
|
|
1703
|
+
})) }, h("div", { key: '3f8bb75fcb0baff55182ef3aa1b535eacc58d81f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1671
1704
|
}
|
|
1672
1705
|
static get is() { return "ion-datetime"; }
|
|
1673
1706
|
static get encapsulation() { return "shadow"; }
|
|
@@ -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,
|
|
@@ -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,
|