@ionic/core 8.8.14-dev.11784216165.1ecbf364 → 8.8.14-dev.11784238294.131cd99d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
- package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
- package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
- package/components/p-BIPPbW0M.js +4 -0
- package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
- package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
- package/components/p-BUYFy35a.js +4 -0
- package/components/p-BWEZufiK.js +4 -0
- package/components/p-BqpciLfi.js +4 -0
- package/components/p-BsQPAqo9.js +4 -0
- package/components/p-CRNiQiYf.js +4 -0
- package/components/p-CU5rbWAW.js +4 -0
- package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/p-nyXeHk23.js +4 -0
- package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
- package/dist/cjs/config-xninhj0J.js +201 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
- package/dist/cjs/ion-alert.cjs.entry.js +25 -64
- package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +639 -1
- package/dist/cjs/ion-img.cjs.entry.js +1 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +5 -10
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +32 -23
- package/dist/cjs/ion-nav_2.cjs.entry.js +115 -2
- package/dist/cjs/ion-popover.cjs.entry.js +5 -9
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +4 -18
- package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +30 -84
- package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +5 -6
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{overlays-DSmSrd_4.js → overlays-DdtIYQUH.js} +31 -27
- package/dist/collection/collection-manifest.json +10 -6
- package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
- package/dist/collection/components/action-sheet/action-sheet.js +5 -24
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
- package/dist/collection/components/alert/alert.ios.css +10 -280
- package/dist/collection/components/alert/alert.js +21 -59
- package/dist/collection/components/alert/alert.md.css +20 -269
- package/dist/collection/components/img/img.js +1 -6
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +3 -7
- package/dist/collection/components/modal/gestures/sheet.js +7 -0
- package/dist/collection/components/modal/gestures/swipe-to-close.js +7 -0
- package/dist/collection/components/modal/modal.ios.css +8 -0
- package/dist/collection/components/modal/modal.js +18 -23
- package/dist/collection/components/modal/modal.md.css +8 -0
- package/dist/collection/components/nav/nav.js +219 -4
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
- package/dist/collection/components/picker-legacy/picker.js +890 -0
- package/dist/collection/components/picker-legacy/picker.md.css +287 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/popover.ios.css +0 -15
- package/dist/collection/components/popover/popover.js +3 -7
- package/dist/collection/components/popover/popover.md.css +0 -15
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +4 -4
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/route/route.js +1 -1
- package/dist/collection/components/router/utils/dom.js +3 -22
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +5 -38
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +9 -9
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.ios.css +0 -33
- package/dist/collection/components/select/select.js +16 -323
- package/dist/collection/components/select/select.md.css +0 -33
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
- package/dist/collection/components/select-modal/select-modal.js +26 -79
- package/dist/collection/components/select-modal/select-modal.md.css +0 -165
- package/dist/collection/components/select-option/select-option.js +3 -67
- package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
- package/dist/collection/components/select-popover/select-popover.js +26 -78
- package/dist/collection/components/select-popover/select-popover.md.css +0 -165
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/overlays.js +30 -26
- package/dist/collection/utils/sanitization/index.js +18 -274
- package/dist/collection/utils/test/playwright/drag-element.js +5 -0
- package/dist/docs.json +1189 -497
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +7 -27
- package/dist/esm/ion-alert.entry.js +24 -63
- package/dist/esm/ion-app_8.entry.js +9 -23
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +641 -5
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +2 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +4 -9
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +32 -23
- package/dist/esm/ion-nav_2.entry.js +116 -3
- package/dist/esm/ion-popover.entry.js +5 -9
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +4 -5
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +4 -18
- package/dist/esm/ion-searchbar.entry.js +6 -6
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +30 -84
- package/dist/esm/ion-select_3.entry.js +52 -410
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +4 -5
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-DLNOHWNc.js → overlays-Dg0q2_tJ.js} +32 -28
- package/dist/html.html-data.json +80 -52
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01f81ea5.entry.js +4 -0
- package/dist/ionic/p-0dc33652.entry.js +4 -0
- package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
- package/dist/ionic/p-20b1a044.entry.js +4 -0
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2a05aa64.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
- package/dist/ionic/{p-c93553d2.entry.js → p-34586ead.entry.js} +1 -1
- package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
- package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
- package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
- package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
- package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
- package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
- package/dist/ionic/p-485fda23.entry.js +4 -0
- package/dist/ionic/p-4baa5b82.entry.js +4 -0
- package/dist/ionic/p-5018dfc8.entry.js +4 -0
- package/dist/ionic/p-50e1194a.entry.js +4 -0
- package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
- package/dist/ionic/p-5eb8e86d.entry.js +4 -0
- package/dist/ionic/p-65ebdf1b.entry.js +4 -0
- package/dist/ionic/p-6ebdbebe.entry.js +4 -0
- package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
- package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
- package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
- package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
- package/dist/ionic/p-8fce95d5.entry.js +4 -0
- package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
- package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
- package/dist/ionic/p-9f9db3a2.entry.js +4 -0
- package/dist/ionic/p-D-3ycHmd.js +4 -0
- package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/p-a21add2f.entry.js +4 -0
- package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
- package/dist/ionic/p-ca2ab74d.entry.js +4 -0
- package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
- package/dist/ionic/p-e6a4bb56.entry.js +4 -0
- package/dist/ionic/p-ec090e0a.entry.js +4 -0
- package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
- package/dist/ionic/p-f386f6ae.entry.js +4 -0
- package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
- package/dist/types/components/img/img.d.ts +0 -2
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +4 -11
- package/dist/types/components/nav/nav-interface.d.ts +1 -0
- package/dist/types/components/nav/nav.d.ts +22 -2
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +0 -31
- package/dist/types/components/select/select.d.ts +0 -18
- package/dist/types/components/select-option/select-option.d.ts +1 -42
- package/dist/types/components.d.ts +303 -74
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/config.d.ts +8 -0
- package/dist/types/utils/overlays.d.ts +9 -11
- package/dist/types/utils/sanitization/index.d.ts +2 -58
- package/hydrate/index.js +1296 -1414
- package/hydrate/index.mjs +1296 -1414
- package/package.json +5 -37
- package/components/p-279dFMvg.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BwKpO3Is.js +0 -4
- package/components/p-C-Rx1zny.js +0 -4
- package/components/p-CHzfYZbv.js +0 -4
- package/components/p-D4h1H_hh.js +0 -4
- package/components/p-LMGfIvTf.js +0 -4
- package/components/p-_lHSumhG.js +0 -4
- package/components/p-j9Da6cYO.js +0 -4
- package/components/p-jOtMJMv8.js +0 -4
- package/components/p-uTR_dEqg.js +0 -4
- package/dist/cjs/config-DWdFbSNK.js +0 -35
- package/dist/cjs/index-Cueg3U4w.js +0 -429
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
- package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
- package/dist/collection/utils/overlay-control-label.js +0 -45
- package/dist/collection/utils/select-option-render.js +0 -119
- package/dist/esm/config-BwKpO3Is.js +0 -31
- package/dist/esm/index-DQSkZyOJ.js +0 -424
- package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
- package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
- package/dist/ionic/p-038eb991.entry.js +0 -4
- package/dist/ionic/p-4621c387.entry.js +0 -4
- package/dist/ionic/p-4ace7762.entry.js +0 -4
- package/dist/ionic/p-4bb3eb60.entry.js +0 -4
- package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
- package/dist/ionic/p-5c3ec490.entry.js +0 -4
- package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
- package/dist/ionic/p-700795f6.entry.js +0 -4
- package/dist/ionic/p-79a36078.entry.js +0 -4
- package/dist/ionic/p-913b218a.entry.js +0 -4
- package/dist/ionic/p-BDtODLZ4.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BwKpO3Is.js +0 -4
- package/dist/ionic/p-Cg5-OQYy.js +0 -4
- package/dist/ionic/p-DCOvXkOm.js +0 -4
- package/dist/ionic/p-a18dcb3c.entry.js +0 -4
- package/dist/ionic/p-a9a33367.entry.js +0 -4
- package/dist/ionic/p-ad728198.entry.js +0 -4
- package/dist/ionic/p-bfc8c629.entry.js +0 -4
- package/dist/ionic/p-c08e666a.entry.js +0 -4
- package/dist/ionic/p-c474f471.entry.js +0 -4
- package/dist/ionic/p-ce7992c4.entry.js +0 -4
- package/dist/ionic/p-ed797c72.entry.js +0 -4
- package/dist/ionic/p-f09f9642.entry.js +0 -4
- package/dist/ionic/p-f1c06f82.entry.js +0 -4
- package/dist/ionic/p-f718fccb.entry.js +0 -4
- package/dist/types/utils/overlay-control-label.d.ts +0 -32
- package/dist/types/utils/select-option-render.d.ts +0 -53
|
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
|
|
|
8
8
|
import { createLockController } from "../../utils/lock-controller";
|
|
9
9
|
import { printIonWarning } from "../../utils/logging/index";
|
|
10
10
|
import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
|
|
11
|
-
import {
|
|
11
|
+
import { GESTURE, BACKDROP, dismiss, eventMethod, prepareOverlay, present, createTriggerController, setOverlayId, FOCUS_TRAP_DISABLE_CLASS, } from "../../utils/overlays";
|
|
12
12
|
import { getClassMap } from "../../utils/theme";
|
|
13
13
|
import { deepReady, waitForMount } from "../../utils/transition/index";
|
|
14
14
|
import { config } from "../../global/config";
|
|
@@ -77,20 +77,13 @@ export class Modal {
|
|
|
77
77
|
/**
|
|
78
78
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
79
79
|
*
|
|
80
|
-
*
|
|
81
|
-
* `
|
|
82
|
-
* fullscreen or card modal).
|
|
80
|
+
* Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
|
|
81
|
+
* Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
|
|
83
82
|
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* operable with assistive technology.
|
|
87
|
-
*
|
|
88
|
-
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
89
|
-
* removed from the tab order.
|
|
90
|
-
*
|
|
91
|
-
* Defaults to `"cycle"`.
|
|
83
|
+
* Handle behavior is unavailable when the `handle` property is set to `false` or
|
|
84
|
+
* when the `breakpoints` property is not set (using a fullscreen or card modal).
|
|
92
85
|
*/
|
|
93
|
-
this.handleBehavior = '
|
|
86
|
+
this.handleBehavior = 'none';
|
|
94
87
|
/**
|
|
95
88
|
* If `true`, the modal will be dismissed when the backdrop is clicked.
|
|
96
89
|
*/
|
|
@@ -282,10 +275,6 @@ export class Modal {
|
|
|
282
275
|
// Also called in dismiss() — intentional dual cleanup covers both
|
|
283
276
|
// dismiss-then-remove and direct DOM removal without dismiss.
|
|
284
277
|
this.cleanupSafeAreaOverrides();
|
|
285
|
-
// Clean up aria-hidden if removed without dismiss() being called
|
|
286
|
-
if (this.presented) {
|
|
287
|
-
cleanupRootFocusTrapAccessibility();
|
|
288
|
-
}
|
|
289
278
|
}
|
|
290
279
|
componentWillLoad() {
|
|
291
280
|
var _a;
|
|
@@ -1173,20 +1162,26 @@ export class Modal {
|
|
|
1173
1162
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
1174
1163
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
1175
1164
|
const isSheetModalWithHandle = isSheetModal && showHandle;
|
|
1176
|
-
return (h(Host, Object.assign({ key: '
|
|
1165
|
+
return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
|
|
1177
1166
|
// Allow the modal to be navigable when the handle is focusable
|
|
1178
1167
|
tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
|
|
1179
1168
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
1180
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '
|
|
1169
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), h("div", Object.assign({ key: 'dccf3c774355429bc0ea7461d9b1ef941ea91902',
|
|
1181
1170
|
/*
|
|
1182
1171
|
role and aria-modal must be used on the
|
|
1183
1172
|
same element. They must also be set inside the
|
|
1184
1173
|
shadow DOM otherwise ion-button will not be highlighted
|
|
1185
1174
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
1175
|
+
|
|
1176
|
+
tabIndex={-1} is required so present() can move focus to this
|
|
1177
|
+
element (which carries the dialog role) instead of the role-less
|
|
1178
|
+
host. role="dialog" alone does not make an element focusable, so
|
|
1179
|
+
without the tabindex focus() would be a no-op and screen readers
|
|
1180
|
+
may not properly announce the dialog and its content when it opens.
|
|
1186
1181
|
*/
|
|
1187
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
1182
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'ba4ebd6364faba46ac8532d1c83cb655ae873a14', class: "modal-handle",
|
|
1188
1183
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
1189
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '
|
|
1184
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '11d5921a8ebbcd0017d4f28a33d68049253f63f0', onSlotchange: this.onSlotChange }))));
|
|
1190
1185
|
}
|
|
1191
1186
|
static get is() { return "ion-modal"; }
|
|
1192
1187
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1458,13 +1453,13 @@ export class Modal {
|
|
|
1458
1453
|
"optional": true,
|
|
1459
1454
|
"docs": {
|
|
1460
1455
|
"tags": [],
|
|
1461
|
-
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\
|
|
1456
|
+
"text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nDefaults to `\"none\"`, which means the modal will not change size or position when the handle is pressed.\nSet to `\"cycle\"` to let the modal cycle between available breakpoints when pressed.\n\nHandle behavior is unavailable when the `handle` property is set to `false` or\nwhen the `breakpoints` property is not set (using a fullscreen or card modal)."
|
|
1462
1457
|
},
|
|
1463
1458
|
"getter": false,
|
|
1464
1459
|
"setter": false,
|
|
1465
1460
|
"reflect": false,
|
|
1466
1461
|
"attribute": "handle-behavior",
|
|
1467
|
-
"defaultValue": "'
|
|
1462
|
+
"defaultValue": "'none'"
|
|
1468
1463
|
},
|
|
1469
1464
|
"component": {
|
|
1470
1465
|
"type": "string",
|
|
@@ -126,6 +126,14 @@ ion-backdrop {
|
|
|
126
126
|
z-index: 10;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
/**
|
|
130
|
+
* The wrapper receives programmatic focus for screen readers but should not
|
|
131
|
+
* show a visible focus ring, which is meant only for keyboard navigation.
|
|
132
|
+
*/
|
|
133
|
+
.modal-wrapper {
|
|
134
|
+
outline: none;
|
|
135
|
+
}
|
|
136
|
+
|
|
129
137
|
.modal-shadow {
|
|
130
138
|
position: absolute;
|
|
131
139
|
background: transparent;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { h } from "@stencil/core";
|
|
4
|
+
import { Build, h } from "@stencil/core";
|
|
5
5
|
import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
|
|
6
6
|
import { assert } from "../../utils/helpers";
|
|
7
7
|
import { printIonWarning } from "../../utils/logging/index";
|
|
@@ -9,11 +9,12 @@ import { lifecycle, setPageHidden, transition } from "../../utils/transition/ind
|
|
|
9
9
|
import { config } from "../../global/config";
|
|
10
10
|
import { getIonMode } from "../../global/ionic-global";
|
|
11
11
|
import { LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_LEAVE, LIFECYCLE_WILL_UNLOAD } from "./constants";
|
|
12
|
-
import { VIEW_STATE_ATTACHED, VIEW_STATE_DESTROYED, VIEW_STATE_NEW, convertToViews } from "./view-controller";
|
|
12
|
+
import { VIEW_STATE_ATTACHED, VIEW_STATE_DESTROYED, VIEW_STATE_NEW, convertToViews, matches } from "./view-controller";
|
|
13
13
|
export class Nav {
|
|
14
14
|
constructor() {
|
|
15
15
|
this.transInstr = [];
|
|
16
16
|
this.gestureOrAnimationInProgress = false;
|
|
17
|
+
this.useRouter = false;
|
|
17
18
|
this.isTransitioning = false;
|
|
18
19
|
this.destroyed = false;
|
|
19
20
|
this.views = [];
|
|
@@ -29,6 +30,7 @@ export class Nav {
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
rootChanged() {
|
|
33
|
+
const isDev = Build.isDev;
|
|
32
34
|
if (this.root === undefined) {
|
|
33
35
|
return;
|
|
34
36
|
}
|
|
@@ -39,9 +41,17 @@ export class Nav {
|
|
|
39
41
|
*/
|
|
40
42
|
return;
|
|
41
43
|
}
|
|
42
|
-
|
|
44
|
+
if (!this.useRouter) {
|
|
45
|
+
if (this.root !== undefined) {
|
|
46
|
+
this.setRoot(this.root, this.rootParams);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (isDev) {
|
|
50
|
+
printIonWarning('[ion-nav] - A root attribute is not supported when using ion-router.', this.el);
|
|
51
|
+
}
|
|
43
52
|
}
|
|
44
53
|
componentWillLoad() {
|
|
54
|
+
this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
|
|
45
55
|
if (this.swipeGesture === undefined) {
|
|
46
56
|
const mode = getIonMode(this);
|
|
47
57
|
this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');
|
|
@@ -206,6 +216,78 @@ export class Nav {
|
|
|
206
216
|
opts,
|
|
207
217
|
}, done);
|
|
208
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Called by the router to update the view.
|
|
221
|
+
*
|
|
222
|
+
* @param id The component tag.
|
|
223
|
+
* @param params The component params.
|
|
224
|
+
* @param direction A direction hint.
|
|
225
|
+
* @param animation an AnimationBuilder.
|
|
226
|
+
*
|
|
227
|
+
* @return the status.
|
|
228
|
+
* @internal
|
|
229
|
+
*/
|
|
230
|
+
setRouteId(id, params, direction, animation) {
|
|
231
|
+
const active = this.getActiveSync();
|
|
232
|
+
if (matches(active, id, params)) {
|
|
233
|
+
return Promise.resolve({
|
|
234
|
+
changed: false,
|
|
235
|
+
element: active.element,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
let resolve;
|
|
239
|
+
const promise = new Promise((r) => (resolve = r));
|
|
240
|
+
let finish;
|
|
241
|
+
const commonOpts = {
|
|
242
|
+
updateURL: false,
|
|
243
|
+
viewIsReady: (enteringEl) => {
|
|
244
|
+
let mark;
|
|
245
|
+
const p = new Promise((r) => (mark = r));
|
|
246
|
+
resolve({
|
|
247
|
+
changed: true,
|
|
248
|
+
element: enteringEl,
|
|
249
|
+
markVisible: async () => {
|
|
250
|
+
mark();
|
|
251
|
+
await finish;
|
|
252
|
+
},
|
|
253
|
+
});
|
|
254
|
+
return p;
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
if (direction === 'root') {
|
|
258
|
+
finish = this.setRoot(id, params, commonOpts);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
// Look for a view matching the target in the view stack.
|
|
262
|
+
const viewController = this.views.find((v) => matches(v, id, params));
|
|
263
|
+
if (viewController) {
|
|
264
|
+
finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
|
|
265
|
+
}
|
|
266
|
+
else if (direction === 'forward') {
|
|
267
|
+
finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
|
|
268
|
+
}
|
|
269
|
+
else if (direction === 'back') {
|
|
270
|
+
finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return promise;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Called by <ion-router> to retrieve the current component.
|
|
277
|
+
*
|
|
278
|
+
* @internal
|
|
279
|
+
*/
|
|
280
|
+
async getRouteId() {
|
|
281
|
+
const active = this.getActiveSync();
|
|
282
|
+
if (active) {
|
|
283
|
+
return {
|
|
284
|
+
id: active.element.tagName,
|
|
285
|
+
params: active.params,
|
|
286
|
+
element: active.element,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
return undefined;
|
|
290
|
+
}
|
|
209
291
|
/**
|
|
210
292
|
* Get the active view.
|
|
211
293
|
*/
|
|
@@ -271,6 +353,25 @@ export class Nav {
|
|
|
271
353
|
ti.reject = reject;
|
|
272
354
|
});
|
|
273
355
|
ti.done = done;
|
|
356
|
+
/**
|
|
357
|
+
* If using router, check to see if navigation hooks
|
|
358
|
+
* will allow us to perform this transition. This
|
|
359
|
+
* is required in order for hooks to work with
|
|
360
|
+
* the ion-back-button or swipe to go back.
|
|
361
|
+
*/
|
|
362
|
+
if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
|
|
363
|
+
const router = document.querySelector('ion-router');
|
|
364
|
+
if (router) {
|
|
365
|
+
const canTransition = await router.canTransition();
|
|
366
|
+
if (canTransition === false) {
|
|
367
|
+
return false;
|
|
368
|
+
}
|
|
369
|
+
if (typeof canTransition === 'string') {
|
|
370
|
+
router.push(canTransition, ti.opts.direction || 'back');
|
|
371
|
+
return false;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
274
375
|
// Normalize empty
|
|
275
376
|
if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
276
377
|
ti.insertViews = undefined;
|
|
@@ -291,6 +392,13 @@ export class Nav {
|
|
|
291
392
|
ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
|
|
292
393
|
}
|
|
293
394
|
ti.resolve(result.hasCompleted);
|
|
395
|
+
if (ti.opts.updateURL !== false && this.useRouter) {
|
|
396
|
+
const router = document.querySelector('ion-router');
|
|
397
|
+
if (router) {
|
|
398
|
+
const direction = result.direction === 'back' ? 'back' : 'forward';
|
|
399
|
+
router.navChanged(direction);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
294
402
|
}
|
|
295
403
|
failed(rejectReason, ti) {
|
|
296
404
|
if (this.destroyed) {
|
|
@@ -720,7 +828,7 @@ export class Nav {
|
|
|
720
828
|
}
|
|
721
829
|
}
|
|
722
830
|
render() {
|
|
723
|
-
return h("slot", { key: '
|
|
831
|
+
return h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
|
|
724
832
|
}
|
|
725
833
|
static get is() { return "ion-nav"; }
|
|
726
834
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1493,6 +1601,113 @@ export class Nav {
|
|
|
1493
1601
|
}]
|
|
1494
1602
|
}
|
|
1495
1603
|
},
|
|
1604
|
+
"setRouteId": {
|
|
1605
|
+
"complexType": {
|
|
1606
|
+
"signature": "(id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder) => Promise<RouteWrite>",
|
|
1607
|
+
"parameters": [{
|
|
1608
|
+
"name": "id",
|
|
1609
|
+
"type": "string",
|
|
1610
|
+
"docs": "The component tag."
|
|
1611
|
+
}, {
|
|
1612
|
+
"name": "params",
|
|
1613
|
+
"type": "ComponentProps | undefined",
|
|
1614
|
+
"docs": "The component params."
|
|
1615
|
+
}, {
|
|
1616
|
+
"name": "direction",
|
|
1617
|
+
"type": "\"root\" | \"back\" | \"forward\"",
|
|
1618
|
+
"docs": "A direction hint."
|
|
1619
|
+
}, {
|
|
1620
|
+
"name": "animation",
|
|
1621
|
+
"type": "AnimationBuilder | undefined",
|
|
1622
|
+
"docs": "an AnimationBuilder."
|
|
1623
|
+
}],
|
|
1624
|
+
"references": {
|
|
1625
|
+
"Promise": {
|
|
1626
|
+
"location": "global",
|
|
1627
|
+
"id": "global::Promise"
|
|
1628
|
+
},
|
|
1629
|
+
"RouteWrite": {
|
|
1630
|
+
"location": "import",
|
|
1631
|
+
"path": "../router/utils/interface",
|
|
1632
|
+
"id": "src/components/router/utils/interface.ts::RouteWrite",
|
|
1633
|
+
"referenceLocation": "RouteWrite"
|
|
1634
|
+
},
|
|
1635
|
+
"ComponentProps": {
|
|
1636
|
+
"location": "import",
|
|
1637
|
+
"path": "../../interface",
|
|
1638
|
+
"id": "src/interface.d.ts::ComponentProps",
|
|
1639
|
+
"referenceLocation": "ComponentProps"
|
|
1640
|
+
},
|
|
1641
|
+
"RouterDirection": {
|
|
1642
|
+
"location": "import",
|
|
1643
|
+
"path": "../router/utils/interface",
|
|
1644
|
+
"id": "src/components/router/utils/interface.ts::RouterDirection",
|
|
1645
|
+
"referenceLocation": "RouterDirection"
|
|
1646
|
+
},
|
|
1647
|
+
"AnimationBuilder": {
|
|
1648
|
+
"location": "import",
|
|
1649
|
+
"path": "../../interface",
|
|
1650
|
+
"id": "src/interface.d.ts::AnimationBuilder",
|
|
1651
|
+
"referenceLocation": "AnimationBuilder"
|
|
1652
|
+
},
|
|
1653
|
+
"NavOptions": {
|
|
1654
|
+
"location": "import",
|
|
1655
|
+
"path": "./nav-interface",
|
|
1656
|
+
"id": "src/components/nav/nav-interface.ts::NavOptions",
|
|
1657
|
+
"referenceLocation": "NavOptions"
|
|
1658
|
+
}
|
|
1659
|
+
},
|
|
1660
|
+
"return": "Promise<RouteWrite>"
|
|
1661
|
+
},
|
|
1662
|
+
"docs": {
|
|
1663
|
+
"text": "Called by the router to update the view.",
|
|
1664
|
+
"tags": [{
|
|
1665
|
+
"name": "param",
|
|
1666
|
+
"text": "id The component tag."
|
|
1667
|
+
}, {
|
|
1668
|
+
"name": "param",
|
|
1669
|
+
"text": "params The component params."
|
|
1670
|
+
}, {
|
|
1671
|
+
"name": "param",
|
|
1672
|
+
"text": "direction A direction hint."
|
|
1673
|
+
}, {
|
|
1674
|
+
"name": "param",
|
|
1675
|
+
"text": "animation an AnimationBuilder."
|
|
1676
|
+
}, {
|
|
1677
|
+
"name": "return",
|
|
1678
|
+
"text": "the status."
|
|
1679
|
+
}, {
|
|
1680
|
+
"name": "internal",
|
|
1681
|
+
"text": undefined
|
|
1682
|
+
}]
|
|
1683
|
+
}
|
|
1684
|
+
},
|
|
1685
|
+
"getRouteId": {
|
|
1686
|
+
"complexType": {
|
|
1687
|
+
"signature": "() => Promise<RouteID | undefined>",
|
|
1688
|
+
"parameters": [],
|
|
1689
|
+
"references": {
|
|
1690
|
+
"Promise": {
|
|
1691
|
+
"location": "global",
|
|
1692
|
+
"id": "global::Promise"
|
|
1693
|
+
},
|
|
1694
|
+
"RouteID": {
|
|
1695
|
+
"location": "import",
|
|
1696
|
+
"path": "../router/utils/interface",
|
|
1697
|
+
"id": "src/components/router/utils/interface.ts::RouteID",
|
|
1698
|
+
"referenceLocation": "RouteID"
|
|
1699
|
+
}
|
|
1700
|
+
},
|
|
1701
|
+
"return": "Promise<RouteID | undefined>"
|
|
1702
|
+
},
|
|
1703
|
+
"docs": {
|
|
1704
|
+
"text": "Called by <ion-router> to retrieve the current component.",
|
|
1705
|
+
"tags": [{
|
|
1706
|
+
"name": "internal",
|
|
1707
|
+
"text": undefined
|
|
1708
|
+
}]
|
|
1709
|
+
}
|
|
1710
|
+
},
|
|
1496
1711
|
"getActive": {
|
|
1497
1712
|
"complexType": {
|
|
1498
1713
|
"signature": "() => Promise<ViewController | undefined>",
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { createAnimation } from "../../../utils/animation/animation";
|
|
5
|
+
/**
|
|
6
|
+
* iOS Picker Enter Animation
|
|
7
|
+
*/
|
|
8
|
+
export const iosEnterAnimation = (baseEl) => {
|
|
9
|
+
const baseAnimation = createAnimation();
|
|
10
|
+
const backdropAnimation = createAnimation();
|
|
11
|
+
const wrapperAnimation = createAnimation();
|
|
12
|
+
backdropAnimation
|
|
13
|
+
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
14
|
+
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
15
|
+
.beforeStyles({
|
|
16
|
+
'pointer-events': 'none',
|
|
17
|
+
})
|
|
18
|
+
.afterClearStyles(['pointer-events']);
|
|
19
|
+
wrapperAnimation
|
|
20
|
+
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
21
|
+
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
22
|
+
return baseAnimation
|
|
23
|
+
.addElement(baseEl)
|
|
24
|
+
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
25
|
+
.duration(400)
|
|
26
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
27
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { createAnimation } from "../../../utils/animation/animation";
|
|
5
|
+
/**
|
|
6
|
+
* iOS Picker Leave Animation
|
|
7
|
+
*/
|
|
8
|
+
export const iosLeaveAnimation = (baseEl) => {
|
|
9
|
+
const baseAnimation = createAnimation();
|
|
10
|
+
const backdropAnimation = createAnimation();
|
|
11
|
+
const wrapperAnimation = createAnimation();
|
|
12
|
+
backdropAnimation
|
|
13
|
+
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
14
|
+
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
15
|
+
wrapperAnimation
|
|
16
|
+
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
17
|
+
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
18
|
+
return baseAnimation
|
|
19
|
+
.addElement(baseEl)
|
|
20
|
+
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
21
|
+
.duration(400)
|
|
22
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|