@pod-os/elements 0.7.1-92705ee.0 → 0.7.1-a71f01c.0
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/dist/cjs/{animation-5840e4df.js → animation-9bea118f.js} +115 -84
- package/dist/cjs/{app-globals-1aedd05c.js → app-globals-6352043e.js} +1 -1
- package/dist/cjs/{cubic-bezier-dcb7bfef.js → cubic-bezier-0b702a31.js} +13 -12
- package/dist/cjs/data-0c9489d7.js +1510 -0
- package/dist/cjs/dir-011f46ea.js +20 -0
- package/dist/cjs/elements.cjs.js +5 -5
- package/dist/cjs/focus-visible-2624ec15.js +76 -0
- package/dist/cjs/framework-delegate-437c0645.js +119 -0
- package/dist/cjs/{gesture-controller-fbbe9a65.js → gesture-controller-00a6b02f.js} +6 -2
- package/dist/cjs/{haptic-09e73337.js → haptic-7358cb0b.js} +37 -8
- package/dist/cjs/{hardware-back-button-01027575.js → hardware-back-button-25372ec7.js} +11 -8
- package/dist/cjs/{helpers-398ced09.js → helpers-cb08f5ae.js} +115 -15
- package/dist/cjs/{index-2067b305.js → index-1b07c737.js} +35 -24
- package/dist/cjs/{index-68ae43d2.js → index-2dc3637c.js} +34 -28
- package/dist/cjs/index-57b9fa9e.js +30 -0
- package/dist/cjs/{index-d01d9183.js → index-643851c6.js} +34 -19
- package/dist/cjs/index-731691ca.js +48 -0
- package/dist/cjs/{index-6bbae9b1.js → index-7d56774d.js} +12 -8
- package/dist/cjs/index-9fca5d6f.js +140 -0
- package/dist/cjs/index-b2a479e4.js +38 -0
- package/dist/cjs/{index-b4a9ece2.js → index-eaa0d16e.js} +7 -0
- package/dist/cjs/{tap-click-f24cb477.js → index-ed2ce04f.js} +37 -19
- package/dist/cjs/{input-shims-e959d9e2.js → input-shims-427999f7.js} +89 -38
- package/dist/cjs/ion-accordion-group.cjs.entry.js +205 -0
- package/dist/cjs/ion-accordion.cjs.entry.js +336 -0
- package/dist/cjs/ion-action-sheet_3.cjs.entry.js +865 -0
- package/dist/cjs/{ion-app_45.cjs.entry.js → ion-app_46.cjs.entry.js} +1906 -1492
- package/dist/cjs/ion-avatar.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +12 -11
- package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
- package/dist/cjs/ion-breadcrumb.cjs.entry.js +101 -0
- package/dist/cjs/ion-breadcrumbs.cjs.entry.js +137 -0
- package/dist/cjs/ion-buttons_3.cjs.entry.js +799 -0
- package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
- package/dist/cjs/{ion-list-header_3.cjs.entry.js → ion-checkbox_4.cjs.entry.js} +124 -23
- package/dist/cjs/ion-chip.cjs.entry.js +5 -10
- package/dist/cjs/ion-datetime-button.cjs.entry.js +346 -0
- package/dist/cjs/ion-datetime.cjs.entry.js +1548 -856
- package/dist/cjs/ion-fab-button.cjs.entry.js +26 -9
- package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
- package/dist/cjs/ion-fab.cjs.entry.js +15 -13
- package/dist/cjs/ion-img.cjs.entry.js +28 -4
- package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
- package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -13
- package/dist/cjs/ion-input.cjs.entry.js +57 -23
- package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
- package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-sliding.cjs.entry.js +59 -63
- package/dist/cjs/ion-loading.cjs.entry.js +38 -37
- package/dist/cjs/ion-menu-button.cjs.entry.js +14 -12
- package/dist/cjs/ion-menu-toggle.cjs.entry.js +8 -7
- package/dist/cjs/ion-menu.cjs.entry.js +71 -57
- package/dist/cjs/ion-modal.cjs.entry.js +1386 -156
- package/dist/cjs/ion-nav-link.cjs.entry.js +5 -2
- package/dist/cjs/ion-nav.cjs.entry.js +177 -171
- package/dist/cjs/ion-picker-column.cjs.entry.js +25 -27
- package/dist/cjs/ion-picker.cjs.entry.js +22 -17
- package/dist/cjs/ion-popover.cjs.entry.js +1208 -182
- package/dist/cjs/ion-range.cjs.entry.js +137 -57
- package/dist/cjs/ion-refresher-content.cjs.entry.js +7 -12
- package/dist/cjs/ion-refresher.cjs.entry.js +150 -148
- package/dist/cjs/ion-reorder-group.cjs.entry.js +42 -35
- package/dist/cjs/ion-reorder.cjs.entry.js +5 -4
- package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route.cjs.entry.js +1 -1
- package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
- package/dist/cjs/ion-router-outlet.cjs.entry.js +24 -20
- package/dist/cjs/ion-router.cjs.entry.js +291 -194
- package/dist/cjs/ion-segment-button.cjs.entry.js +10 -17
- package/dist/cjs/ion-segment.cjs.entry.js +127 -26
- package/dist/cjs/ion-select-option.cjs.entry.js +3 -3
- package/dist/cjs/ion-select.cjs.entry.js +113 -78
- package/dist/cjs/ion-slide.cjs.entry.js +3 -3
- package/dist/cjs/ion-slides.cjs.entry.js +26 -27
- package/dist/cjs/ion-spinner.cjs.entry.js +10 -9
- package/dist/cjs/ion-split-pane.cjs.entry.js +16 -12
- package/dist/cjs/ion-tab-bar.cjs.entry.js +16 -23
- package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab.cjs.entry.js +4 -4
- package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
- package/dist/cjs/ion-text.cjs.entry.js +3 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +31 -29
- package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +50 -60
- package/dist/cjs/ion-toggle.cjs.entry.js +41 -22
- package/dist/cjs/ion-virtual-scroll.cjs.entry.js +39 -31
- package/dist/cjs/{ionic-global-56e10eb5.js → ionic-global-f2d95fd3.js} +112 -93
- package/dist/cjs/{ios.transition-32e4623d.js → ios.transition-0f31ec9a.js} +78 -53
- package/dist/cjs/{keyboard-9e8103e4.js → keyboard-79afcba2.js} +6 -3
- package/dist/cjs/keyboard-controller-a934d106.js +42 -0
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/{md.transition-169c54f0.js → md.transition-d2a33a23.js} +15 -17
- package/dist/cjs/{menu-toggle-util-087678e0.js → menu-toggle-util-0a43ff7c.js} +5 -2
- package/dist/cjs/{overlays-49fe9ba7.js → overlays-f7d24abf.js} +190 -72
- package/dist/cjs/spinner-configs-cd0abbeb.js +147 -0
- package/dist/cjs/{status-tap-ada894ff.js → status-tap-beaa3a71.js} +10 -5
- package/dist/cjs/{swipe-back-c4a778df.js → swipe-back-666ea8e6.js} +34 -15
- package/dist/cjs/{theme-2259d0f5.js → theme-fc63803b.js} +9 -5
- package/dist/collection/collection-manifest.json +10 -4
- package/dist/collection/components/pos-rich-link/pos-rich-link.js +1 -1
- package/dist/components/ResourceAware.js +5 -0
- package/dist/components/action-sheet.js +309 -0
- package/dist/{esm/ion-alert.entry.js → components/alert.js} +150 -105
- package/dist/{esm/animation-fe6ed422.js → components/animation.js} +115 -84
- package/dist/components/app.js +112 -0
- package/dist/components/backdrop.js +82 -0
- package/dist/components/badge.js +42 -0
- package/dist/{esm/button-active-fd9d6d91.js → components/button-active.js} +9 -6
- package/dist/components/button.js +207 -0
- package/dist/{esm/ion-buttons.entry.js → components/buttons.js} +28 -12
- package/dist/components/card-content.js +40 -0
- package/dist/components/card-header.js +51 -0
- package/dist/components/card-title.js +43 -0
- package/dist/components/card.js +102 -0
- package/dist/{esm/ion-checkbox.entry.js → components/checkbox.js} +42 -24
- package/dist/components/col.js +161 -0
- package/dist/components/content.js +356 -0
- package/dist/{esm/cubic-bezier-108b8579.js → components/cubic-bezier.js} +13 -12
- package/dist/components/data.js +1463 -0
- package/dist/components/dir.js +18 -0
- package/dist/components/focus-visible.js +74 -0
- package/dist/components/footer.js +149 -0
- package/dist/components/framework-delegate.js +115 -0
- package/dist/{esm/gesture-controller-8f35af24.js → components/gesture-controller.js} +6 -2
- package/dist/components/grid.js +41 -0
- package/dist/{esm/haptic-c424e670.js → components/haptic.js} +38 -9
- package/dist/{esm/hardware-back-button-bb4c578a.js → components/hardware-back-button.js} +11 -8
- package/dist/components/header.js +360 -0
- package/dist/{esm/helpers-44e3bd9f.js → components/helpers.js} +113 -16
- package/dist/components/icon.js +367 -0
- package/dist/components/index.d.ts +41 -0
- package/dist/components/index.js +123 -0
- package/dist/components/index10.js +28 -0
- package/dist/{esm/tap-click-a7e55ef5.js → components/index11.js} +37 -19
- package/dist/components/index2.js +25 -0
- package/dist/{esm/index-8d682224.js → components/index3.js} +12 -8
- package/dist/components/index4.js +34 -0
- package/dist/components/index5.js +128 -0
- package/dist/{esm/index-97199683.js → components/index6.js} +34 -28
- package/dist/{esm/index-8a463a85.js → components/index7.js} +35 -24
- package/dist/{custom-elements/index.js → components/index8.js} +1049 -20945
- package/dist/{esm/index-3a1bd803.js → components/index9.js} +35 -20
- package/dist/{custom-elements → components}/input-shims.js +88 -38
- package/dist/components/ion-accordion-group.js +228 -0
- package/dist/components/ion-accordion.js +365 -0
- package/dist/components/ion-action-sheet.js +6 -0
- package/dist/components/ion-alert.js +6 -0
- package/dist/components/ion-app.js +6 -0
- package/dist/components/ion-avatar.js +39 -0
- package/dist/components/ion-back-button.js +128 -0
- package/dist/components/ion-backdrop.js +6 -0
- package/dist/components/ion-badge.js +6 -0
- package/dist/components/ion-breadcrumb.js +135 -0
- package/dist/components/ion-breadcrumbs.js +158 -0
- package/dist/components/ion-button.js +6 -0
- package/dist/components/ion-buttons.js +6 -0
- package/dist/components/ion-card-content.js +6 -0
- package/dist/components/ion-card-header.js +6 -0
- package/dist/components/ion-card-subtitle.js +46 -0
- package/dist/components/ion-card-title.js +6 -0
- package/dist/components/ion-card.js +6 -0
- package/dist/components/ion-checkbox.js +6 -0
- package/dist/components/ion-chip.js +59 -0
- package/dist/components/ion-col.js +6 -0
- package/dist/components/ion-content.js +6 -0
- package/dist/components/ion-datetime-button.js +375 -0
- package/dist/components/ion-datetime.js +1802 -0
- package/dist/components/ion-fab-button.js +149 -0
- package/dist/components/ion-fab-list.js +62 -0
- package/dist/components/ion-fab.js +97 -0
- package/dist/components/ion-footer.js +6 -0
- package/dist/components/ion-grid.js +6 -0
- package/dist/components/ion-header.js +6 -0
- package/dist/components/ion-icon.js +6 -0
- package/dist/components/ion-img.js +120 -0
- package/dist/components/ion-infinite-scroll-content.js +59 -0
- package/dist/components/ion-infinite-scroll.js +223 -0
- package/dist/components/ion-input.js +352 -0
- package/dist/components/ion-item-divider.js +6 -0
- package/dist/components/ion-item-group.js +6 -0
- package/dist/components/ion-item-option.js +89 -0
- package/dist/components/ion-item-options.js +63 -0
- package/dist/components/ion-item-sliding.js +419 -0
- package/dist/components/ion-item.js +6 -0
- package/dist/components/ion-label.js +6 -0
- package/dist/components/ion-list-header.js +6 -0
- package/dist/components/ion-list.js +6 -0
- package/dist/components/ion-loading.js +256 -0
- package/dist/components/ion-menu-button.js +107 -0
- package/dist/components/ion-menu-toggle.js +62 -0
- package/dist/components/ion-menu.js +611 -0
- package/dist/components/ion-modal.js +1765 -0
- package/dist/components/ion-nav-link.js +65 -0
- package/dist/components/ion-nav.js +905 -0
- package/dist/components/ion-note.js +6 -0
- package/dist/components/ion-picker-column-internal.js +6 -0
- package/dist/components/ion-picker-column.js +6 -0
- package/dist/components/ion-picker-internal.js +6 -0
- package/dist/components/ion-picker.js +263 -0
- package/dist/components/ion-popover.js +6 -0
- package/dist/components/ion-progress-bar.js +6 -0
- package/dist/components/ion-radio-group.js +6 -0
- package/dist/components/ion-radio.js +6 -0
- package/dist/components/ion-range.js +550 -0
- package/dist/components/ion-refresher-content.js +64 -0
- package/dist/components/ion-refresher.js +826 -0
- package/dist/components/ion-reorder-group.js +303 -0
- package/dist/components/ion-reorder.js +58 -0
- package/dist/components/ion-ripple-effect.js +6 -0
- package/dist/components/ion-route-redirect.js +40 -0
- package/dist/components/ion-route.js +68 -0
- package/dist/components/ion-router-link.js +59 -0
- package/dist/components/ion-router-outlet.js +223 -0
- package/dist/components/ion-router.js +852 -0
- package/dist/components/ion-row.js +6 -0
- package/dist/components/ion-searchbar.js +6 -0
- package/dist/components/ion-segment-button.js +128 -0
- package/dist/components/ion-segment.js +463 -0
- package/dist/components/ion-select-option.js +44 -0
- package/dist/components/ion-select-popover.js +6 -0
- package/dist/components/ion-select.js +596 -0
- package/dist/components/ion-skeleton-text.js +6 -0
- package/dist/components/ion-slide.js +38 -0
- package/dist/components/ion-slides.js +423 -0
- package/dist/components/ion-spinner.js +6 -0
- package/dist/components/ion-split-pane.js +179 -0
- package/dist/components/ion-tab-bar.js +86 -0
- package/dist/components/ion-tab-button.js +132 -0
- package/dist/components/ion-tab.js +86 -0
- package/dist/components/ion-tabs.js +176 -0
- package/dist/components/ion-text.js +40 -0
- package/dist/components/ion-textarea.js +287 -0
- package/dist/components/ion-thumbnail.js +34 -0
- package/dist/components/ion-title.js +6 -0
- package/dist/components/ion-toast.js +317 -0
- package/dist/components/ion-toggle.js +207 -0
- package/dist/components/ion-toolbar.js +6 -0
- package/dist/components/ion-virtual-scroll.js +588 -0
- package/dist/components/ionic-global.js +226 -0
- package/dist/{custom-elements → components}/ios.transition.js +75 -50
- package/dist/components/item-divider.js +54 -0
- package/dist/components/item-group.js +41 -0
- package/dist/components/item.js +323 -0
- package/dist/components/keyboard-controller.js +40 -0
- package/dist/{custom-elements → components}/keyboard.js +6 -3
- package/dist/components/label.js +95 -0
- package/dist/components/list-header.js +45 -0
- package/dist/components/list.js +66 -0
- package/dist/{custom-elements → components}/md.transition.js +12 -14
- package/dist/{esm/menu-toggle-util-562dfc9c.js → components/menu-toggle-util.js} +5 -2
- package/dist/components/note.js +42 -0
- package/dist/{esm/overlays-fc9a0625.js → components/overlays.js} +188 -72
- package/dist/components/picker-column-internal.js +315 -0
- package/dist/components/picker-column.js +343 -0
- package/dist/components/picker-internal.js +486 -0
- package/dist/components/popover.js +1440 -0
- package/dist/components/pos-app-browser.d.ts +11 -0
- package/dist/components/pos-app-browser.js +299 -0
- package/dist/components/pos-app-generic.d.ts +11 -0
- package/dist/components/pos-app-generic.js +6 -0
- package/dist/components/pos-app-generic2.js +194 -0
- package/dist/components/pos-app-image-viewer.d.ts +11 -0
- package/dist/components/pos-app-image-viewer.js +6 -0
- package/dist/components/pos-app-image-viewer2.js +162 -0
- package/dist/components/pos-app-rdf-document.d.ts +11 -0
- package/dist/components/pos-app-rdf-document.js +6 -0
- package/dist/components/pos-app-rdf-document2.js +170 -0
- package/dist/components/pos-app.d.ts +11 -0
- package/dist/components/pos-app.js +6 -0
- package/dist/components/pos-app2.js +53 -0
- package/dist/components/pos-description.d.ts +11 -0
- package/dist/components/pos-description.js +6 -0
- package/dist/components/pos-description2.js +38 -0
- package/dist/components/pos-image.d.ts +11 -0
- package/dist/components/pos-image.js +6 -0
- package/dist/components/pos-image2.js +117 -0
- package/dist/components/pos-label.d.ts +11 -0
- package/dist/components/pos-label.js +6 -0
- package/dist/components/pos-label2.js +38 -0
- package/dist/components/pos-literals.d.ts +11 -0
- package/dist/components/pos-literals.js +6 -0
- package/dist/components/pos-literals2.js +87 -0
- package/dist/components/pos-login.d.ts +11 -0
- package/dist/components/pos-login.js +6 -0
- package/dist/components/pos-login2.js +120 -0
- package/dist/components/pos-navigation-bar.d.ts +11 -0
- package/dist/components/pos-navigation-bar.js +6 -0
- package/dist/components/pos-navigation-bar2.js +52 -0
- package/dist/components/pos-picture.d.ts +11 -0
- package/dist/components/pos-picture.js +6 -0
- package/dist/components/pos-picture2.js +62 -0
- package/dist/components/pos-relations.d.ts +11 -0
- package/dist/components/pos-relations.js +6 -0
- package/dist/components/pos-relations2.js +135 -0
- package/dist/components/pos-resource.d.ts +11 -0
- package/dist/components/pos-resource.js +6 -0
- package/dist/components/pos-resource2.js +126 -0
- package/dist/components/pos-reverse-relations.d.ts +11 -0
- package/dist/components/pos-reverse-relations.js +6 -0
- package/dist/components/pos-reverse-relations2.js +135 -0
- package/dist/components/pos-rich-link.d.ts +11 -0
- package/dist/components/pos-rich-link.js +6 -0
- package/dist/components/pos-rich-link2.js +106 -0
- package/dist/components/pos-router.d.ts +11 -0
- package/dist/components/pos-router.js +6 -0
- package/dist/components/pos-router2.js +813 -0
- package/dist/components/pos-subjects.d.ts +11 -0
- package/dist/components/pos-subjects.js +6 -0
- package/dist/components/pos-subjects2.js +125 -0
- package/dist/components/pos-type-badges.d.ts +11 -0
- package/dist/components/pos-type-badges.js +6 -0
- package/dist/components/pos-type-badges2.js +69 -0
- package/dist/components/pos-type-router.d.ts +11 -0
- package/dist/components/pos-type-router.js +6 -0
- package/dist/components/pos-type-router2.js +241 -0
- package/dist/components/progress-bar.js +91 -0
- package/dist/components/radio-group.js +139 -0
- package/dist/components/radio.js +135 -0
- package/dist/components/ripple-effect.js +107 -0
- package/dist/components/row.js +31 -0
- package/dist/components/searchbar.js +412 -0
- package/dist/components/select-popover.js +174 -0
- package/dist/components/session.js +202 -0
- package/dist/components/skeleton-text.js +46 -0
- package/dist/components/spinner.js +224 -0
- package/dist/{custom-elements → components}/status-tap.js +8 -4
- package/dist/{custom-elements → components}/swipe-back.js +33 -13
- package/dist/{custom-elements → components}/swiper.bundle.js +0 -0
- package/dist/{esm/theme-d21826a7.js → components/theme.js} +9 -5
- package/dist/components/title.js +66 -0
- package/dist/components/toolbar.js +87 -0
- package/dist/elements/elements.css +1 -1
- package/dist/elements/elements.esm.js +1 -1
- package/dist/elements/p-00f19b1d.js +4 -0
- package/dist/elements/p-0587332d.entry.js +1 -0
- package/dist/elements/p-07f54139.entry.js +7 -0
- package/dist/elements/{p-cfc0e54d.js → p-0991c811.js} +3 -0
- package/dist/elements/p-0a69a563.entry.js +1 -0
- package/dist/elements/p-0d284fe0.entry.js +1 -0
- package/dist/elements/p-116437b0.entry.js +13 -0
- package/dist/elements/p-12880671.entry.js +1 -0
- package/dist/elements/p-14ccd586.entry.js +1 -0
- package/dist/elements/{p-83d45051.entry.js → p-14df6ac0.entry.js} +1 -1
- package/dist/elements/{p-e860be6a.entry.js → p-17079f06.entry.js} +1 -1
- package/dist/elements/p-19e4a688.js +4 -0
- package/dist/elements/p-1afc4eb4.js +4 -0
- package/dist/elements/p-1beaf6bf.js +4 -0
- package/dist/elements/p-1d1c6a6f.entry.js +1 -0
- package/dist/elements/{p-31d30e42.entry.js → p-1d98f84b.entry.js} +1 -1
- package/dist/elements/p-1e617706.entry.js +7 -0
- package/dist/elements/p-278ca4c9.js +4 -0
- package/dist/elements/p-27f5629c.entry.js +1 -0
- package/dist/elements/p-29c0f03f.js +4 -0
- package/dist/elements/p-2a629468.entry.js +4 -0
- package/dist/elements/p-2da59aca.js +4 -0
- package/dist/elements/p-3152143f.js +4 -0
- package/dist/elements/p-343ff720.entry.js +7 -0
- package/dist/elements/p-36d4c9a8.js +4 -0
- package/dist/elements/p-3a30dfb2.entry.js +1 -0
- package/dist/elements/p-3c013bf1.entry.js +1 -0
- package/dist/elements/{p-74ba1e42.entry.js → p-3c318da5.entry.js} +1 -1
- package/dist/elements/p-3cee3222.entry.js +1 -0
- package/dist/elements/p-3d0f59af.entry.js +7 -0
- package/dist/elements/p-41cb5688.entry.js +1 -0
- package/dist/elements/p-480b3c4f.entry.js +1 -0
- package/dist/elements/p-4e9d8f18.entry.js +1 -0
- package/dist/elements/p-53e23176.js +2 -0
- package/dist/elements/p-548524f3.js +4 -0
- package/dist/elements/p-5739fa41.entry.js +1 -0
- package/dist/elements/p-5808c505.js +1 -0
- package/dist/elements/p-58a8cc2a.js +4 -0
- package/dist/elements/p-6035415e.entry.js +1 -0
- package/dist/elements/p-60eeae90.js +4 -0
- package/dist/elements/p-667550a9.entry.js +14 -0
- package/dist/elements/p-67777478.entry.js +1 -0
- package/dist/elements/p-6ab826e1.entry.js +1 -0
- package/dist/elements/p-6f5a2827.entry.js +1 -0
- package/dist/elements/p-7916ecc5.entry.js +1 -0
- package/dist/elements/p-79f06b80.entry.js +1 -0
- package/dist/elements/p-7d0def79.js +5 -0
- package/dist/elements/p-8112afea.js +4 -0
- package/dist/elements/p-83678d7d.entry.js +4 -0
- package/dist/elements/p-87e45c94.entry.js +1 -0
- package/dist/elements/p-8f80768f.entry.js +4 -0
- package/dist/elements/p-8fe0433b.js +4 -0
- package/dist/elements/{p-4cb27b48.entry.js → p-9147d82b.entry.js} +1 -1
- package/dist/elements/p-96aeb07a.entry.js +1 -0
- package/dist/elements/p-97abb434.entry.js +1 -0
- package/dist/elements/p-98497a4b.entry.js +1 -0
- package/dist/elements/p-9c719139.js +4 -0
- package/dist/elements/p-9ca37332.js +4 -0
- package/dist/elements/{p-37de7110.js → p-9d48def2.js} +3 -0
- package/dist/elements/p-a805f2f9.entry.js +1 -0
- package/dist/elements/p-a86a5bfa.entry.js +1 -0
- package/dist/elements/{p-9c1dbe52.entry.js → p-ac34eab7.entry.js} +1 -1
- package/dist/elements/p-ad366eab.entry.js +4 -0
- package/dist/elements/p-aef3a931.js +7 -0
- package/dist/elements/p-b0537eb3.entry.js +1 -0
- package/dist/elements/p-b41e66f0.entry.js +1 -0
- package/dist/elements/p-b47e7091.entry.js +1 -0
- package/dist/elements/p-b840320e.js +4 -0
- package/dist/elements/p-b934ac5d.entry.js +1 -0
- package/dist/elements/p-bc63f4b6.entry.js +1 -0
- package/dist/elements/p-bd12806f.entry.js +1 -0
- package/dist/elements/p-bf90022d.entry.js +4 -0
- package/dist/elements/p-c16d38d5.js +4 -0
- package/dist/elements/p-c84205a3.js +4 -0
- package/dist/elements/{p-06675ac7.entry.js → p-cbe318f8.entry.js} +1 -1
- package/dist/elements/p-cfed7395.js +4 -0
- package/dist/elements/p-d3e75c94.entry.js +1 -0
- package/dist/elements/p-d8e7ebf4.entry.js +7 -0
- package/dist/elements/p-d9880221.entry.js +4 -0
- package/dist/elements/p-da5db8fb.entry.js +1 -0
- package/dist/elements/{p-91fe653f.js → p-dcc6b03c.js} +3 -0
- package/dist/elements/{p-305e246c.entry.js → p-dd846020.entry.js} +1 -1
- package/dist/elements/p-dffd8689.js +4 -0
- package/dist/elements/p-e3bcb6e8.entry.js +1 -0
- package/dist/elements/p-e495a095.js +4 -0
- package/dist/elements/p-e59d9789.entry.js +1 -0
- package/dist/elements/p-e5fc7d42.entry.js +1 -0
- package/dist/elements/{p-aaa8393e.entry.js → p-eb137e9d.entry.js} +1 -1
- package/dist/elements/p-f4e54a17.js +7 -0
- package/dist/elements/p-f67d0717.entry.js +1 -0
- package/dist/elements/p-f7f4c640.js +1 -0
- package/dist/elements/p-f851b91a.js +4 -0
- package/dist/elements/p-fb27ee76.entry.js +1 -0
- package/dist/elements/p-fbddca35.entry.js +1 -0
- package/dist/elements/p-fdac5f3a.js +4 -0
- package/dist/elements/p-feb0cea8.entry.js +4 -0
- package/dist/esm/animation-801a007a.js +986 -0
- package/dist/esm/{app-globals-27d92837.js → app-globals-05a3abfb.js} +1 -1
- package/dist/esm/cubic-bezier-538b6253.js +90 -0
- package/dist/esm/data-62c81c24.js +1463 -0
- package/dist/esm/dir-defb16c6.js +18 -0
- package/dist/esm/elements.js +5 -5
- package/dist/esm/focus-visible-78d55799.js +74 -0
- package/dist/esm/framework-delegate-7e2b767b.js +115 -0
- package/dist/esm/gesture-controller-c466ff14.js +195 -0
- package/dist/esm/haptic-e7d5ef4d.js +135 -0
- package/dist/esm/hardware-back-button-242191a7.js +71 -0
- package/dist/esm/helpers-aeff219b.js +410 -0
- package/dist/esm/index-0dbaca1a.js +28 -0
- package/dist/esm/index-1f3d8582.js +34 -0
- package/dist/esm/index-2be9a18b.js +312 -0
- package/dist/esm/index-51e4a829.js +137 -0
- package/dist/esm/index-6048aed6.js +224 -0
- package/dist/esm/index-65ecd543.js +25 -0
- package/dist/{custom-elements/tap-click.js → esm/index-b212db1c.js} +37 -19
- package/dist/esm/{index-e4deec27.js → index-cb938ffb.js} +7 -1
- package/dist/esm/index-d39eb62b.js +463 -0
- package/dist/esm/index-ebf7f059.js +128 -0
- package/dist/esm/{input-shims-3b48722f.js → input-shims-8a389148.js} +89 -38
- package/dist/esm/ion-accordion-group.entry.js +201 -0
- package/dist/esm/ion-accordion.entry.js +332 -0
- package/dist/esm/ion-action-sheet_3.entry.js +859 -0
- package/dist/esm/{ion-app_45.entry.js → ion-app_46.entry.js} +1906 -1493
- package/dist/esm/ion-avatar.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +12 -11
- package/dist/esm/ion-backdrop.entry.js +4 -4
- package/dist/esm/ion-breadcrumb.entry.js +97 -0
- package/dist/esm/ion-breadcrumbs.entry.js +133 -0
- package/dist/esm/ion-buttons_3.entry.js +793 -0
- package/dist/esm/ion-card-subtitle.entry.js +4 -4
- package/dist/esm/{ion-list-header_3.entry.js → ion-checkbox_4.entry.js} +124 -24
- package/dist/esm/ion-chip.entry.js +5 -10
- package/dist/esm/ion-datetime-button.entry.js +342 -0
- package/dist/esm/ion-datetime.entry.js +1548 -856
- package/dist/esm/ion-fab-button.entry.js +26 -9
- package/dist/esm/ion-fab-list.entry.js +4 -4
- package/dist/esm/ion-fab.entry.js +15 -13
- package/dist/esm/ion-img.entry.js +28 -4
- package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
- package/dist/esm/ion-infinite-scroll.entry.js +13 -13
- package/dist/esm/ion-input.entry.js +57 -23
- package/dist/esm/ion-item-option.entry.js +8 -8
- package/dist/esm/ion-item-options.entry.js +5 -5
- package/dist/esm/ion-item-sliding.entry.js +59 -63
- package/dist/esm/ion-loading.entry.js +38 -37
- package/dist/esm/ion-menu-button.entry.js +14 -12
- package/dist/esm/ion-menu-toggle.entry.js +8 -7
- package/dist/esm/ion-menu.entry.js +71 -57
- package/dist/esm/ion-modal.entry.js +1377 -147
- package/dist/esm/ion-nav-link.entry.js +5 -2
- package/dist/esm/ion-nav.entry.js +177 -171
- package/dist/esm/ion-picker-column.entry.js +25 -27
- package/dist/esm/ion-picker.entry.js +22 -17
- package/dist/esm/ion-popover.entry.js +1208 -182
- package/dist/esm/ion-range.entry.js +137 -57
- package/dist/esm/ion-refresher-content.entry.js +7 -12
- package/dist/esm/ion-refresher.entry.js +149 -147
- package/dist/esm/ion-reorder-group.entry.js +42 -35
- package/dist/esm/ion-reorder.entry.js +5 -4
- package/dist/esm/ion-route-redirect.entry.js +1 -1
- package/dist/esm/ion-route.entry.js +1 -1
- package/dist/esm/ion-router-link.entry.js +5 -5
- package/dist/esm/ion-router-outlet.entry.js +24 -20
- package/dist/esm/ion-router.entry.js +291 -194
- package/dist/esm/ion-segment-button.entry.js +10 -17
- package/dist/esm/ion-segment.entry.js +127 -26
- package/dist/esm/ion-select-option.entry.js +3 -3
- package/dist/esm/ion-select.entry.js +113 -78
- package/dist/esm/ion-slide.entry.js +3 -3
- package/dist/esm/ion-slides.entry.js +26 -27
- package/dist/esm/ion-spinner.entry.js +10 -9
- package/dist/esm/ion-split-pane.entry.js +16 -12
- package/dist/esm/ion-tab-bar.entry.js +16 -23
- package/dist/esm/ion-tab-button.entry.js +6 -6
- package/dist/esm/ion-tab.entry.js +4 -4
- package/dist/esm/ion-tabs.entry.js +4 -5
- package/dist/esm/ion-text.entry.js +3 -3
- package/dist/esm/ion-textarea.entry.js +31 -29
- package/dist/esm/ion-thumbnail.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +50 -60
- package/dist/esm/ion-toggle.entry.js +41 -22
- package/dist/esm/ion-virtual-scroll.entry.js +39 -31
- package/dist/esm/{ionic-global-2e28f7c7.js → ionic-global-6cd57191.js} +112 -93
- package/dist/esm/{ios.transition-a783e3cd.js → ios.transition-bbd952f2.js} +78 -53
- package/dist/esm/{keyboard-e6abcb80.js → keyboard-413afe04.js} +6 -3
- package/dist/esm/keyboard-controller-33693bc2.js +40 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-5a4a8c82.js → md.transition-5170a6d3.js} +15 -17
- package/dist/esm/menu-toggle-util-82bf888a.js +12 -0
- package/dist/esm/overlays-bd4abb68.js +502 -0
- package/dist/esm/spinner-configs-cbcd1f62.js +145 -0
- package/dist/esm/{status-tap-69e62ad6.js → status-tap-ad757b8a.js} +10 -5
- package/dist/esm/swipe-back-7ef22876.js +69 -0
- package/dist/esm/theme-7cf2cab0.js +43 -0
- package/dist/types/components.d.ts +0 -13
- package/package.json +7 -8
- package/dist/cjs/button-active-c14dab31.js +0 -66
- package/dist/cjs/focus-visible-16c98640.js +0 -45
- package/dist/cjs/framework-delegate-c45292a3.js +0 -37
- package/dist/cjs/ion-action-sheet.cjs.entry.js +0 -265
- package/dist/cjs/ion-alert.cjs.entry.js +0 -456
- package/dist/cjs/ion-buttons.cjs.entry.js +0 -42
- package/dist/cjs/ion-checkbox.cjs.entry.js +0 -117
- package/dist/cjs/ion-note.cjs.entry.js +0 -29
- package/dist/cjs/ion-select-popover.cjs.entry.js +0 -35
- package/dist/cjs/spinner-configs-fb16b986.js +0 -112
- package/dist/cjs/test-component.cjs.entry.js +0 -13
- package/dist/collection/test/TestComponent.js +0 -3
- package/dist/collection/test/mockPodOS.js +0 -35
- package/dist/collection/test/renderFunctionalComponent.js +0 -8
- package/dist/custom-elements/focus-visible.js +0 -43
- package/dist/custom-elements/index.d.ts +0 -165
- package/dist/elements/p-03bda390.js +0 -1
- package/dist/elements/p-0be044f1.entry.js +0 -1
- package/dist/elements/p-119c7c6c.entry.js +0 -1
- package/dist/elements/p-14c7c3ea.entry.js +0 -1
- package/dist/elements/p-1d4a2c61.js +0 -1
- package/dist/elements/p-1d894ac4.entry.js +0 -1
- package/dist/elements/p-1dafa1ce.entry.js +0 -1
- package/dist/elements/p-23b89ccb.entry.js +0 -1
- package/dist/elements/p-2c03b9ab.entry.js +0 -1
- package/dist/elements/p-346985f2.js +0 -1
- package/dist/elements/p-360f1c62.entry.js +0 -1
- package/dist/elements/p-373e1f25.entry.js +0 -1
- package/dist/elements/p-40547acb.entry.js +0 -1
- package/dist/elements/p-40b68014.entry.js +0 -1
- package/dist/elements/p-42e4f702.entry.js +0 -1
- package/dist/elements/p-489807e5.js +0 -1
- package/dist/elements/p-4ad72d54.entry.js +0 -1
- package/dist/elements/p-4cca7b5e.entry.js +0 -1
- package/dist/elements/p-4f24d306.js +0 -1
- package/dist/elements/p-519d6a53.entry.js +0 -1
- package/dist/elements/p-536e8e52.entry.js +0 -1
- package/dist/elements/p-599bb53f.entry.js +0 -1
- package/dist/elements/p-5eb7a546.js +0 -1
- package/dist/elements/p-60df2bed.entry.js +0 -1
- package/dist/elements/p-65133e33.js +0 -1
- package/dist/elements/p-6693fce8.js +0 -1
- package/dist/elements/p-689bdcc1.entry.js +0 -1
- package/dist/elements/p-70713b3d.entry.js +0 -1
- package/dist/elements/p-707d5d76.js +0 -1
- package/dist/elements/p-7212b7f2.js +0 -1
- package/dist/elements/p-73992898.entry.js +0 -1
- package/dist/elements/p-792c1e0f.entry.js +0 -1
- package/dist/elements/p-7e5300af.js +0 -2
- package/dist/elements/p-8068987c.entry.js +0 -1
- package/dist/elements/p-83accf46.entry.js +0 -1
- package/dist/elements/p-86635d06.entry.js +0 -1
- package/dist/elements/p-874c2b44.js +0 -1
- package/dist/elements/p-89c12ce8.entry.js +0 -1
- package/dist/elements/p-8bcba3f7.entry.js +0 -1
- package/dist/elements/p-8c759f51.entry.js +0 -1
- package/dist/elements/p-8f945e6b.entry.js +0 -1
- package/dist/elements/p-9300ab6a.js +0 -1
- package/dist/elements/p-93cacd51.entry.js +0 -1
- package/dist/elements/p-9408d0b4.entry.js +0 -1
- package/dist/elements/p-98c79eda.js +0 -1
- package/dist/elements/p-99f8abed.js +0 -1
- package/dist/elements/p-9ca7e079.js +0 -1
- package/dist/elements/p-a4648b74.entry.js +0 -1
- package/dist/elements/p-aab0f63c.js +0 -1
- package/dist/elements/p-ad4e2295.entry.js +0 -1
- package/dist/elements/p-afb8f7d5.entry.js +0 -1
- package/dist/elements/p-b055ec44.js +0 -1
- package/dist/elements/p-b078d63b.entry.js +0 -1
- package/dist/elements/p-b3460325.entry.js +0 -1
- package/dist/elements/p-b5406b58.entry.js +0 -1
- package/dist/elements/p-b5ef0c91.entry.js +0 -1
- package/dist/elements/p-b6ba623e.entry.js +0 -1
- package/dist/elements/p-b9926d8b.entry.js +0 -1
- package/dist/elements/p-bfd4cfcd.entry.js +0 -1
- package/dist/elements/p-c08dd7d0.entry.js +0 -1
- package/dist/elements/p-c0db9c51.entry.js +0 -1
- package/dist/elements/p-c1e7fbfb.js +0 -1
- package/dist/elements/p-ca69d6c9.js +0 -1
- package/dist/elements/p-cc4cb1ac.entry.js +0 -1
- package/dist/elements/p-cf8a7031.entry.js +0 -1
- package/dist/elements/p-cff82b6f.js +0 -1
- package/dist/elements/p-d01009b8.entry.js +0 -67
- package/dist/elements/p-d6d1e65f.entry.js +0 -1
- package/dist/elements/p-d9462b66.entry.js +0 -1
- package/dist/elements/p-e2e0fee9.entry.js +0 -1
- package/dist/elements/p-e642b266.entry.js +0 -1
- package/dist/elements/p-e953934f.entry.js +0 -1
- package/dist/elements/p-f0474f46.js +0 -1
- package/dist/elements/p-f10a94f6.entry.js +0 -1
- package/dist/elements/p-f2426182.entry.js +0 -1
- package/dist/elements/p-f327fd21.js +0 -1
- package/dist/elements/p-f84987ee.js +0 -1
- package/dist/elements/p-f8a3367d.entry.js +0 -1
- package/dist/esm/focus-visible-edb28f19.js +0 -43
- package/dist/esm/framework-delegate-9cd8048f.js +0 -34
- package/dist/esm/ion-action-sheet.entry.js +0 -261
- package/dist/esm/ion-note.entry.js +0 -25
- package/dist/esm/ion-select-popover.entry.js +0 -31
- package/dist/esm/spinner-configs-aaf2a1a9.js +0 -110
- package/dist/esm/swipe-back-d84cfc8a.js +0 -50
- package/dist/esm/test-component.entry.js +0 -9
- package/dist/types/test/TestComponent.d.ts +0 -2
- package/dist/types/test/mockPodOS.d.ts +0 -11
- package/dist/types/test/renderFunctionalComponent.d.ts +0 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { r as registerInstance,
|
|
2
|
-
import { g as getIonMode, c as config } from './ionic-global-
|
|
3
|
-
import { g as getTimeGivenProgression } from './cubic-bezier-
|
|
4
|
-
import { n as assert } from './helpers-
|
|
5
|
-
import { l as lifecycle, t as transition, s as setPageHidden, L as LIFECYCLE_WILL_UNLOAD, a as LIFECYCLE_WILL_LEAVE, b as LIFECYCLE_DID_LEAVE } from './index-
|
|
6
|
-
import { a as attachComponent } from './framework-delegate-
|
|
1
|
+
import { r as registerInstance, d as createEvent, h, c as getElement } from './index-cb938ffb.js';
|
|
2
|
+
import { g as getIonMode, c as config } from './ionic-global-6cd57191.js';
|
|
3
|
+
import { g as getTimeGivenProgression } from './cubic-bezier-538b6253.js';
|
|
4
|
+
import { n as assert, s as shallowEqualStringMap } from './helpers-aeff219b.js';
|
|
5
|
+
import { l as lifecycle, t as transition, s as setPageHidden, L as LIFECYCLE_WILL_UNLOAD, a as LIFECYCLE_WILL_LEAVE, b as LIFECYCLE_DID_LEAVE } from './index-6048aed6.js';
|
|
6
|
+
import { a as attachComponent } from './framework-delegate-7e2b767b.js';
|
|
7
7
|
|
|
8
|
+
/*!
|
|
9
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
10
|
+
*/
|
|
8
11
|
const VIEW_STATE_NEW = 1;
|
|
9
12
|
const VIEW_STATE_ATTACHED = 2;
|
|
10
13
|
const VIEW_STATE_DESTROYED = 3;
|
|
@@ -46,28 +49,7 @@ const matches = (view, id, params) => {
|
|
|
46
49
|
if (view.component !== id) {
|
|
47
50
|
return false;
|
|
48
51
|
}
|
|
49
|
-
|
|
50
|
-
if (currentParams === params) {
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
if (!currentParams && !params) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
if (!currentParams || !params) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
const keysA = Object.keys(currentParams);
|
|
60
|
-
const keysB = Object.keys(params);
|
|
61
|
-
if (keysA.length !== keysB.length) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
// Test for A's keys different from B.
|
|
65
|
-
for (const key of keysA) {
|
|
66
|
-
if (currentParams[key] !== params[key]) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return true;
|
|
52
|
+
return shallowEqualStringMap(view.params, params);
|
|
71
53
|
};
|
|
72
54
|
const convertToView = (page, params) => {
|
|
73
55
|
if (!page) {
|
|
@@ -79,22 +61,17 @@ const convertToView = (page, params) => {
|
|
|
79
61
|
return new ViewController(page, params);
|
|
80
62
|
};
|
|
81
63
|
const convertToViews = (pages) => {
|
|
82
|
-
return pages
|
|
64
|
+
return pages
|
|
65
|
+
.map((page) => {
|
|
83
66
|
if (page instanceof ViewController) {
|
|
84
67
|
return page;
|
|
85
68
|
}
|
|
86
69
|
if ('component' in page) {
|
|
87
|
-
|
|
88
|
-
* TODO Ionic 6:
|
|
89
|
-
* Consider switching to just using `undefined` here
|
|
90
|
-
* as well as on the public interfaces and on
|
|
91
|
-
* `NavComponentWithProps`. Previously `pages` was
|
|
92
|
-
* of type `any[]` so TypeScript did not catch this.
|
|
93
|
-
*/
|
|
94
|
-
return convertToView(page.component, (page.componentProps === null) ? undefined : page.componentProps);
|
|
70
|
+
return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps);
|
|
95
71
|
}
|
|
96
72
|
return convertToView(page, undefined);
|
|
97
|
-
})
|
|
73
|
+
})
|
|
74
|
+
.filter((v) => v !== null);
|
|
98
75
|
};
|
|
99
76
|
|
|
100
77
|
const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}";
|
|
@@ -129,9 +106,7 @@ const Nav = class {
|
|
|
129
106
|
}
|
|
130
107
|
}
|
|
131
108
|
componentWillLoad() {
|
|
132
|
-
this.useRouter =
|
|
133
|
-
!!document.querySelector('ion-router') &&
|
|
134
|
-
!this.el.closest('[no-router]');
|
|
109
|
+
this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
|
|
135
110
|
if (this.swipeGesture === undefined) {
|
|
136
111
|
const mode = getIonMode(this);
|
|
137
112
|
this.swipeGesture = config.getBoolean('swipeBackEnabled', mode === 'ios');
|
|
@@ -140,20 +115,24 @@ const Nav = class {
|
|
|
140
115
|
}
|
|
141
116
|
async componentDidLoad() {
|
|
142
117
|
this.rootChanged();
|
|
143
|
-
this.gesture = (await import('./swipe-back-
|
|
118
|
+
this.gesture = (await import('./swipe-back-7ef22876.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
|
|
144
119
|
this.swipeGestureChanged();
|
|
145
120
|
}
|
|
121
|
+
connectedCallback() {
|
|
122
|
+
this.destroyed = false;
|
|
123
|
+
}
|
|
146
124
|
disconnectedCallback() {
|
|
147
125
|
for (const view of this.views) {
|
|
148
126
|
lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);
|
|
149
127
|
view._destroy();
|
|
150
128
|
}
|
|
129
|
+
// Release swipe back gesture and transition.
|
|
151
130
|
if (this.gesture) {
|
|
152
131
|
this.gesture.destroy();
|
|
153
132
|
this.gesture = undefined;
|
|
154
133
|
}
|
|
155
|
-
|
|
156
|
-
this.
|
|
134
|
+
this.transInstr.length = 0;
|
|
135
|
+
this.views.length = 0;
|
|
157
136
|
this.destroyed = true;
|
|
158
137
|
}
|
|
159
138
|
/**
|
|
@@ -167,11 +146,7 @@ const Nav = class {
|
|
|
167
146
|
* @param done The transition complete function.
|
|
168
147
|
*/
|
|
169
148
|
push(component, componentProps, opts, done) {
|
|
170
|
-
return this.
|
|
171
|
-
insertStart: -1,
|
|
172
|
-
insertViews: [{ component, componentProps }],
|
|
173
|
-
opts
|
|
174
|
-
}, done);
|
|
149
|
+
return this.insert(-1, component, componentProps, opts, done);
|
|
175
150
|
}
|
|
176
151
|
/**
|
|
177
152
|
* Inserts a component into the navigation stack at the specified index.
|
|
@@ -184,11 +159,7 @@ const Nav = class {
|
|
|
184
159
|
* @param done The transition complete function.
|
|
185
160
|
*/
|
|
186
161
|
insert(insertIndex, component, componentProps, opts, done) {
|
|
187
|
-
return this.
|
|
188
|
-
insertStart: insertIndex,
|
|
189
|
-
insertViews: [{ component, componentProps }],
|
|
190
|
-
opts
|
|
191
|
-
}, done);
|
|
162
|
+
return this.insertPages(insertIndex, [{ component, componentProps }], opts, done);
|
|
192
163
|
}
|
|
193
164
|
/**
|
|
194
165
|
* Inserts an array of components into the navigation stack at the specified index.
|
|
@@ -204,7 +175,7 @@ const Nav = class {
|
|
|
204
175
|
return this.queueTrns({
|
|
205
176
|
insertStart: insertIndex,
|
|
206
177
|
insertViews: insertComponents,
|
|
207
|
-
opts
|
|
178
|
+
opts,
|
|
208
179
|
}, done);
|
|
209
180
|
}
|
|
210
181
|
/**
|
|
@@ -215,11 +186,7 @@ const Nav = class {
|
|
|
215
186
|
* @param done The transition complete function.
|
|
216
187
|
*/
|
|
217
188
|
pop(opts, done) {
|
|
218
|
-
return this.
|
|
219
|
-
removeStart: -1,
|
|
220
|
-
removeCount: 1,
|
|
221
|
-
opts
|
|
222
|
-
}, done);
|
|
189
|
+
return this.removeIndex(-1, 1, opts, done);
|
|
223
190
|
}
|
|
224
191
|
/**
|
|
225
192
|
* Pop to a specific index in the navigation stack.
|
|
@@ -229,19 +196,19 @@ const Nav = class {
|
|
|
229
196
|
* @param done The transition complete function.
|
|
230
197
|
*/
|
|
231
198
|
popTo(indexOrViewCtrl, opts, done) {
|
|
232
|
-
const
|
|
199
|
+
const ti = {
|
|
233
200
|
removeStart: -1,
|
|
234
201
|
removeCount: -1,
|
|
235
|
-
opts
|
|
202
|
+
opts,
|
|
236
203
|
};
|
|
237
204
|
if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {
|
|
238
|
-
|
|
239
|
-
|
|
205
|
+
ti.removeView = indexOrViewCtrl;
|
|
206
|
+
ti.removeStart = 1;
|
|
240
207
|
}
|
|
241
208
|
else if (typeof indexOrViewCtrl === 'number') {
|
|
242
|
-
|
|
209
|
+
ti.removeStart = indexOrViewCtrl + 1;
|
|
243
210
|
}
|
|
244
|
-
return this.queueTrns(
|
|
211
|
+
return this.queueTrns(ti, done);
|
|
245
212
|
}
|
|
246
213
|
/**
|
|
247
214
|
* Navigate back to the root of the stack, no matter how far back that is.
|
|
@@ -250,11 +217,7 @@ const Nav = class {
|
|
|
250
217
|
* @param done The transition complete function.
|
|
251
218
|
*/
|
|
252
219
|
popToRoot(opts, done) {
|
|
253
|
-
return this.
|
|
254
|
-
removeStart: 1,
|
|
255
|
-
removeCount: -1,
|
|
256
|
-
opts
|
|
257
|
-
}, done);
|
|
220
|
+
return this.removeIndex(1, -1, opts, done);
|
|
258
221
|
}
|
|
259
222
|
/**
|
|
260
223
|
* Removes a component from the navigation stack at the specified index.
|
|
@@ -268,7 +231,7 @@ const Nav = class {
|
|
|
268
231
|
return this.queueTrns({
|
|
269
232
|
removeStart: startIndex,
|
|
270
233
|
removeCount,
|
|
271
|
-
opts
|
|
234
|
+
opts,
|
|
272
235
|
}, done);
|
|
273
236
|
}
|
|
274
237
|
/**
|
|
@@ -293,9 +256,7 @@ const Nav = class {
|
|
|
293
256
|
* @param done The transition complete function.
|
|
294
257
|
*/
|
|
295
258
|
setPages(views, opts, done) {
|
|
296
|
-
|
|
297
|
-
opts = {};
|
|
298
|
-
}
|
|
259
|
+
opts !== null && opts !== void 0 ? opts : (opts = {});
|
|
299
260
|
// if animation wasn't set to true then default it to NOT animate
|
|
300
261
|
if (opts.animated !== true) {
|
|
301
262
|
opts.animated = false;
|
|
@@ -305,42 +266,53 @@ const Nav = class {
|
|
|
305
266
|
insertViews: views,
|
|
306
267
|
removeStart: 0,
|
|
307
268
|
removeCount: -1,
|
|
308
|
-
opts
|
|
269
|
+
opts,
|
|
309
270
|
}, done);
|
|
310
271
|
}
|
|
311
|
-
/**
|
|
272
|
+
/**
|
|
273
|
+
* Called by the router to update the view.
|
|
274
|
+
*
|
|
275
|
+
* @param id The component tag.
|
|
276
|
+
* @param params The component params.
|
|
277
|
+
* @param direction A direction hint.
|
|
278
|
+
* @param animation an AnimationBuilder.
|
|
279
|
+
*
|
|
280
|
+
* @return the status.
|
|
281
|
+
* @internal
|
|
282
|
+
*/
|
|
312
283
|
setRouteId(id, params, direction, animation) {
|
|
313
284
|
const active = this.getActiveSync();
|
|
314
285
|
if (matches(active, id, params)) {
|
|
315
286
|
return Promise.resolve({
|
|
316
287
|
changed: false,
|
|
317
|
-
element: active.element
|
|
288
|
+
element: active.element,
|
|
318
289
|
});
|
|
319
290
|
}
|
|
320
291
|
let resolve;
|
|
321
|
-
const promise = new Promise(r => (resolve = r));
|
|
292
|
+
const promise = new Promise((r) => (resolve = r));
|
|
322
293
|
let finish;
|
|
323
294
|
const commonOpts = {
|
|
324
295
|
updateURL: false,
|
|
325
|
-
viewIsReady: enteringEl => {
|
|
296
|
+
viewIsReady: (enteringEl) => {
|
|
326
297
|
let mark;
|
|
327
|
-
const p = new Promise(r => (mark = r));
|
|
298
|
+
const p = new Promise((r) => (mark = r));
|
|
328
299
|
resolve({
|
|
329
300
|
changed: true,
|
|
330
301
|
element: enteringEl,
|
|
331
302
|
markVisible: async () => {
|
|
332
303
|
mark();
|
|
333
304
|
await finish;
|
|
334
|
-
}
|
|
305
|
+
},
|
|
335
306
|
});
|
|
336
307
|
return p;
|
|
337
|
-
}
|
|
308
|
+
},
|
|
338
309
|
};
|
|
339
310
|
if (direction === 'root') {
|
|
340
311
|
finish = this.setRoot(id, params, commonOpts);
|
|
341
312
|
}
|
|
342
313
|
else {
|
|
343
|
-
|
|
314
|
+
// Look for a view matching the target in the view stack.
|
|
315
|
+
const viewController = this.views.find((v) => matches(v, id, params));
|
|
344
316
|
if (viewController) {
|
|
345
317
|
finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
|
|
346
318
|
}
|
|
@@ -353,46 +325,51 @@ const Nav = class {
|
|
|
353
325
|
}
|
|
354
326
|
return promise;
|
|
355
327
|
}
|
|
356
|
-
/**
|
|
328
|
+
/**
|
|
329
|
+
* Called by <ion-router> to retrieve the current component.
|
|
330
|
+
*
|
|
331
|
+
* @internal
|
|
332
|
+
*/
|
|
357
333
|
async getRouteId() {
|
|
358
334
|
const active = this.getActiveSync();
|
|
359
|
-
|
|
360
|
-
|
|
335
|
+
if (active) {
|
|
336
|
+
return {
|
|
361
337
|
id: active.element.tagName,
|
|
362
338
|
params: active.params,
|
|
363
|
-
element: active.element
|
|
364
|
-
}
|
|
365
|
-
|
|
339
|
+
element: active.element,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
return undefined;
|
|
366
343
|
}
|
|
367
344
|
/**
|
|
368
345
|
* Get the active view.
|
|
369
346
|
*/
|
|
370
|
-
getActive() {
|
|
371
|
-
return
|
|
347
|
+
async getActive() {
|
|
348
|
+
return this.getActiveSync();
|
|
372
349
|
}
|
|
373
350
|
/**
|
|
374
351
|
* Get the view at the specified index.
|
|
375
352
|
*
|
|
376
353
|
* @param index The index of the view.
|
|
377
354
|
*/
|
|
378
|
-
getByIndex(index) {
|
|
379
|
-
return
|
|
355
|
+
async getByIndex(index) {
|
|
356
|
+
return this.views[index];
|
|
380
357
|
}
|
|
381
358
|
/**
|
|
382
359
|
* Returns `true` if the current view can go back.
|
|
383
360
|
*
|
|
384
361
|
* @param view The view to check.
|
|
385
362
|
*/
|
|
386
|
-
canGoBack(view) {
|
|
387
|
-
return
|
|
363
|
+
async canGoBack(view) {
|
|
364
|
+
return this.canGoBackSync(view);
|
|
388
365
|
}
|
|
389
366
|
/**
|
|
390
367
|
* Get the previous view.
|
|
391
368
|
*
|
|
392
369
|
* @param view The view to get.
|
|
393
370
|
*/
|
|
394
|
-
getPrevious(view) {
|
|
395
|
-
return
|
|
371
|
+
async getPrevious(view) {
|
|
372
|
+
return this.getPreviousSync(view);
|
|
396
373
|
}
|
|
397
374
|
getLength() {
|
|
398
375
|
return this.views.length;
|
|
@@ -411,19 +388,15 @@ const Nav = class {
|
|
|
411
388
|
const index = views.indexOf(view);
|
|
412
389
|
return index > 0 ? views[index - 1] : undefined;
|
|
413
390
|
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
// 5. _transitionInit(): initializes the visual transition if required and schedules it to run
|
|
420
|
-
// 6. _viewAttachToDOM(): attaches the enteringView to the DOM
|
|
421
|
-
// 7. _transitionStart(): called once the transition actually starts, it initializes the Animation underneath.
|
|
422
|
-
// 8. _transitionFinish(): called once the transition finishes
|
|
423
|
-
// 9. _cleanup(): syncs the navigation internal state with the DOM. For example it removes the pages from the DOM or hides/show them.
|
|
391
|
+
/**
|
|
392
|
+
* Adds a navigation stack change to the queue and schedules it to run.
|
|
393
|
+
*
|
|
394
|
+
* @returns Whether the transition succeeds.
|
|
395
|
+
*/
|
|
424
396
|
async queueTrns(ti, done) {
|
|
425
|
-
|
|
426
|
-
|
|
397
|
+
var _a, _b;
|
|
398
|
+
if (this.isTransitioning && ((_a = ti.opts) === null || _a === void 0 ? void 0 : _a.skipIfBusy)) {
|
|
399
|
+
return false;
|
|
427
400
|
}
|
|
428
401
|
const promise = new Promise((resolve, reject) => {
|
|
429
402
|
ti.resolve = resolve;
|
|
@@ -441,16 +414,16 @@ const Nav = class {
|
|
|
441
414
|
if (router) {
|
|
442
415
|
const canTransition = await router.canTransition();
|
|
443
416
|
if (canTransition === false) {
|
|
444
|
-
return
|
|
417
|
+
return false;
|
|
445
418
|
}
|
|
446
|
-
|
|
419
|
+
if (typeof canTransition === 'string') {
|
|
447
420
|
router.push(canTransition, ti.opts.direction || 'back');
|
|
448
|
-
return
|
|
421
|
+
return false;
|
|
449
422
|
}
|
|
450
423
|
}
|
|
451
424
|
}
|
|
452
425
|
// Normalize empty
|
|
453
|
-
if (ti.insertViews
|
|
426
|
+
if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
454
427
|
ti.insertViews = undefined;
|
|
455
428
|
}
|
|
456
429
|
// Enqueue transition instruction
|
|
@@ -496,14 +469,18 @@ const Nav = class {
|
|
|
496
469
|
ti.resolve(false);
|
|
497
470
|
}
|
|
498
471
|
}
|
|
472
|
+
/**
|
|
473
|
+
* Consumes the next transition in the queue.
|
|
474
|
+
*
|
|
475
|
+
* @returns whether the transition is executed.
|
|
476
|
+
*/
|
|
499
477
|
nextTrns() {
|
|
500
478
|
// this is the framework's bread 'n butta function
|
|
501
479
|
// only one transition is allowed at any given time
|
|
502
480
|
if (this.isTransitioning) {
|
|
503
481
|
return false;
|
|
504
482
|
}
|
|
505
|
-
// there is no transition happening right now
|
|
506
|
-
// get the next instruction
|
|
483
|
+
// there is no transition happening right now, executes the next instructions.
|
|
507
484
|
const ti = this.transInstr.shift();
|
|
508
485
|
if (!ti) {
|
|
509
486
|
return false;
|
|
@@ -511,6 +488,7 @@ const Nav = class {
|
|
|
511
488
|
this.runTransition(ti);
|
|
512
489
|
return true;
|
|
513
490
|
}
|
|
491
|
+
/** Executes all the transition instruction from the queue. */
|
|
514
492
|
async runTransition(ti) {
|
|
515
493
|
try {
|
|
516
494
|
// set that this nav is actively transitioning
|
|
@@ -527,8 +505,7 @@ const Nav = class {
|
|
|
527
505
|
}
|
|
528
506
|
this.postViewInit(enteringView, leavingView, ti);
|
|
529
507
|
// Needs transition?
|
|
530
|
-
const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) &&
|
|
531
|
-
enteringView !== leavingView;
|
|
508
|
+
const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && enteringView !== leavingView;
|
|
532
509
|
if (requiresTransition && ti.opts && leavingView) {
|
|
533
510
|
const isBackDirection = ti.opts.direction === 'back';
|
|
534
511
|
/**
|
|
@@ -536,20 +513,24 @@ const Nav = class {
|
|
|
536
513
|
* unless otherwise specified by the developer.
|
|
537
514
|
*/
|
|
538
515
|
if (isBackDirection) {
|
|
539
|
-
ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView
|
|
516
|
+
ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView === null || enteringView === void 0 ? void 0 : enteringView.animationBuilder);
|
|
540
517
|
}
|
|
541
518
|
leavingView.animationBuilder = ti.opts.animationBuilder;
|
|
542
519
|
}
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
520
|
+
let result;
|
|
521
|
+
if (requiresTransition) {
|
|
522
|
+
result = await this.transition(enteringView, leavingView, ti);
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
// transition is not required, so we are already done!
|
|
526
|
+
// they're inserting/removing the views somewhere in the middle or
|
|
527
|
+
// beginning, so visually nothing needs to animate/transition
|
|
528
|
+
// resolve immediately because there's no animation that's happening
|
|
529
|
+
result = {
|
|
550
530
|
hasCompleted: true,
|
|
551
|
-
requiresTransition: false
|
|
531
|
+
requiresTransition: false,
|
|
552
532
|
};
|
|
533
|
+
}
|
|
553
534
|
this.success(result, ti);
|
|
554
535
|
this.ionNavDidChange.emit();
|
|
555
536
|
}
|
|
@@ -560,11 +541,11 @@ const Nav = class {
|
|
|
560
541
|
this.nextTrns();
|
|
561
542
|
}
|
|
562
543
|
prepareTI(ti) {
|
|
544
|
+
var _a, _b;
|
|
545
|
+
var _c;
|
|
563
546
|
const viewsLength = this.views.length;
|
|
564
|
-
ti.opts
|
|
565
|
-
|
|
566
|
-
ti.opts.delegate = this.delegate;
|
|
567
|
-
}
|
|
547
|
+
(_a = ti.opts) !== null && _a !== void 0 ? _a : (ti.opts = {});
|
|
548
|
+
(_b = (_c = ti.opts).delegate) !== null && _b !== void 0 ? _b : (_c.delegate = this.delegate);
|
|
568
549
|
if (ti.removeView !== undefined) {
|
|
569
550
|
assert(ti.removeStart !== undefined, 'removeView needs removeStart');
|
|
570
551
|
assert(ti.removeCount !== undefined, 'removeView needs removeCount');
|
|
@@ -581,8 +562,7 @@ const Nav = class {
|
|
|
581
562
|
if (ti.removeCount < 0) {
|
|
582
563
|
ti.removeCount = viewsLength - ti.removeStart;
|
|
583
564
|
}
|
|
584
|
-
ti.leavingRequiresTransition =
|
|
585
|
-
ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
|
565
|
+
ti.leavingRequiresTransition = ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
|
586
566
|
}
|
|
587
567
|
if (ti.insertViews) {
|
|
588
568
|
// allow -1 to be passed in to auto push it on the end
|
|
@@ -614,13 +594,21 @@ const Nav = class {
|
|
|
614
594
|
}
|
|
615
595
|
ti.insertViews = viewControllers;
|
|
616
596
|
}
|
|
597
|
+
/**
|
|
598
|
+
* Returns the view that will be entered considering the transition instructions.
|
|
599
|
+
*
|
|
600
|
+
* @param ti The instructions.
|
|
601
|
+
* @param leavingView The view being left or undefined if none.
|
|
602
|
+
*
|
|
603
|
+
* @returns The view that will be entered, undefined if none.
|
|
604
|
+
*/
|
|
617
605
|
getEnteringView(ti, leavingView) {
|
|
606
|
+
// The last inserted view will be entered when view are inserted.
|
|
618
607
|
const insertViews = ti.insertViews;
|
|
619
608
|
if (insertViews !== undefined) {
|
|
620
|
-
// grab the very last view of the views to be inserted
|
|
621
|
-
// and initialize it as the new entering view
|
|
622
609
|
return insertViews[insertViews.length - 1];
|
|
623
610
|
}
|
|
611
|
+
// When views are deleted, we will enter the last view that is not removed and not the view being left.
|
|
624
612
|
const removeStart = ti.removeStart;
|
|
625
613
|
if (removeStart !== undefined) {
|
|
626
614
|
const views = this.views;
|
|
@@ -634,39 +622,45 @@ const Nav = class {
|
|
|
634
622
|
}
|
|
635
623
|
return undefined;
|
|
636
624
|
}
|
|
625
|
+
/**
|
|
626
|
+
* Adds and Removes the views from the navigation stack.
|
|
627
|
+
*
|
|
628
|
+
* @param enteringView The view being entered.
|
|
629
|
+
* @param leavingView The view being left.
|
|
630
|
+
* @param ti The instructions.
|
|
631
|
+
*/
|
|
637
632
|
postViewInit(enteringView, leavingView, ti) {
|
|
633
|
+
var _a, _b, _c;
|
|
638
634
|
assert(leavingView || enteringView, 'Both leavingView and enteringView are null');
|
|
639
635
|
assert(ti.resolve, 'resolve must be valid');
|
|
640
636
|
assert(ti.reject, 'reject must be valid');
|
|
637
|
+
// Compute the views to remove.
|
|
641
638
|
const opts = ti.opts;
|
|
642
|
-
const insertViews = ti
|
|
643
|
-
|
|
644
|
-
const removeCount = ti.removeCount;
|
|
639
|
+
const { insertViews, removeStart, removeCount } = ti;
|
|
640
|
+
/** Records the view to destroy */
|
|
645
641
|
let destroyQueue;
|
|
646
642
|
// there are views to remove
|
|
647
643
|
if (removeStart !== undefined && removeCount !== undefined) {
|
|
648
644
|
assert(removeStart >= 0, 'removeStart can not be negative');
|
|
649
645
|
assert(removeCount >= 0, 'removeCount can not be negative');
|
|
650
646
|
destroyQueue = [];
|
|
651
|
-
for (let i =
|
|
652
|
-
const view = this.views[i
|
|
653
|
-
if (view && view !== enteringView && view !== leavingView) {
|
|
647
|
+
for (let i = removeStart; i < removeStart + removeCount; i++) {
|
|
648
|
+
const view = this.views[i];
|
|
649
|
+
if (view !== undefined && view !== enteringView && view !== leavingView) {
|
|
654
650
|
destroyQueue.push(view);
|
|
655
651
|
}
|
|
656
652
|
}
|
|
657
653
|
// default the direction to "back"
|
|
658
|
-
opts.direction
|
|
654
|
+
(_a = opts.direction) !== null && _a !== void 0 ? _a : (opts.direction = 'back');
|
|
659
655
|
}
|
|
660
|
-
const
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
assert(finalBalance >= 0, 'final balance can not be negative');
|
|
664
|
-
if (finalBalance === 0) {
|
|
656
|
+
const finalNumViews = this.views.length + ((_b = insertViews === null || insertViews === void 0 ? void 0 : insertViews.length) !== null && _b !== void 0 ? _b : 0) - (removeCount !== null && removeCount !== void 0 ? removeCount : 0);
|
|
657
|
+
assert(finalNumViews >= 0, 'final balance can not be negative');
|
|
658
|
+
if (finalNumViews === 0) {
|
|
665
659
|
console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);
|
|
666
660
|
throw new Error('navigation stack needs at least one root page');
|
|
667
661
|
}
|
|
668
662
|
// At this point the transition can not be rejected, any throw should be an error
|
|
669
|
-
//
|
|
663
|
+
// Insert the new views in the stack.
|
|
670
664
|
if (insertViews) {
|
|
671
665
|
// add the views to the
|
|
672
666
|
let insertIndex = ti.insertStart;
|
|
@@ -676,7 +670,7 @@ const Nav = class {
|
|
|
676
670
|
}
|
|
677
671
|
if (ti.enteringRequiresTransition) {
|
|
678
672
|
// default to forward if not already set
|
|
679
|
-
opts.direction
|
|
673
|
+
(_c = opts.direction) !== null && _c !== void 0 ? _c : (opts.direction = 'forward');
|
|
680
674
|
}
|
|
681
675
|
}
|
|
682
676
|
// if the views to be removed are in the beginning or middle
|
|
@@ -700,9 +694,7 @@ const Nav = class {
|
|
|
700
694
|
// we should animate (duration > 0) if the pushed page is not the first one (startup)
|
|
701
695
|
// or if it is a portal (modal, actionsheet, etc.)
|
|
702
696
|
const opts = ti.opts;
|
|
703
|
-
const progressCallback = opts.progressAnimation
|
|
704
|
-
? (ani) => this.sbAni = ani
|
|
705
|
-
: undefined;
|
|
697
|
+
const progressCallback = opts.progressAnimation ? (ani) => (this.sbAni = ani) : undefined;
|
|
706
698
|
const mode = getIonMode(this);
|
|
707
699
|
const enteringEl = enteringView.element;
|
|
708
700
|
const leavingEl = leavingView && leavingView.element;
|
|
@@ -712,36 +704,53 @@ const Nav = class {
|
|
|
712
704
|
return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);
|
|
713
705
|
}
|
|
714
706
|
transitionFinish(hasCompleted, enteringView, leavingView, opts) {
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
707
|
+
/**
|
|
708
|
+
* If the transition did not complete, the leavingView will still be the active
|
|
709
|
+
* view on the stack. Otherwise unmount all the views after the enteringView.
|
|
710
|
+
*/
|
|
711
|
+
const activeView = hasCompleted ? enteringView : leavingView;
|
|
712
|
+
if (activeView) {
|
|
713
|
+
this.unmountInactiveViews(activeView);
|
|
718
714
|
}
|
|
719
715
|
return {
|
|
720
716
|
hasCompleted,
|
|
721
717
|
requiresTransition: true,
|
|
722
718
|
enteringView,
|
|
723
719
|
leavingView,
|
|
724
|
-
direction: opts.direction
|
|
720
|
+
direction: opts.direction,
|
|
725
721
|
};
|
|
726
722
|
}
|
|
723
|
+
/**
|
|
724
|
+
* Inserts a view at the specified index.
|
|
725
|
+
*
|
|
726
|
+
* When the view already is in the stack it will be moved to the new position.
|
|
727
|
+
*
|
|
728
|
+
* @param view The view to insert.
|
|
729
|
+
* @param index The index where to insert the view.
|
|
730
|
+
*/
|
|
727
731
|
insertViewAt(view, index) {
|
|
728
732
|
const views = this.views;
|
|
729
733
|
const existingIndex = views.indexOf(view);
|
|
730
734
|
if (existingIndex > -1) {
|
|
731
|
-
// this view is already in the stack!!
|
|
732
|
-
// move it to its new location
|
|
733
735
|
assert(view.nav === this, 'view is not part of the nav');
|
|
734
|
-
|
|
736
|
+
// The view already in the stack, removes it.
|
|
737
|
+
views.splice(existingIndex, 1);
|
|
738
|
+
// and add it back at the requested index.
|
|
739
|
+
views.splice(index, 0, view);
|
|
735
740
|
}
|
|
736
741
|
else {
|
|
737
742
|
assert(!view.nav, 'nav is used');
|
|
738
743
|
// this is a new view to add to the stack
|
|
739
744
|
// create the new entering view
|
|
740
745
|
view.nav = this;
|
|
741
|
-
// insert the entering view into the correct index in the stack
|
|
742
746
|
views.splice(index, 0, view);
|
|
743
747
|
}
|
|
744
748
|
}
|
|
749
|
+
/**
|
|
750
|
+
* Removes a view from the stack.
|
|
751
|
+
*
|
|
752
|
+
* @param view The view to remove.
|
|
753
|
+
*/
|
|
745
754
|
removeView(view) {
|
|
746
755
|
assert(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed');
|
|
747
756
|
const views = this.views;
|
|
@@ -756,9 +765,13 @@ const Nav = class {
|
|
|
756
765
|
this.removeView(view);
|
|
757
766
|
}
|
|
758
767
|
/**
|
|
768
|
+
* Unmounts all inactive views after the specified active view.
|
|
769
|
+
*
|
|
759
770
|
* DOM WRITE
|
|
771
|
+
*
|
|
772
|
+
* @param activeView The view that is actively visible in the stack. Used to calculate which views to unmount.
|
|
760
773
|
*/
|
|
761
|
-
|
|
774
|
+
unmountInactiveViews(activeView) {
|
|
762
775
|
// ok, cleanup time!! Destroy all of the views that are
|
|
763
776
|
// INACTIVE and come after the active view
|
|
764
777
|
// only do this if the views exist, though
|
|
@@ -801,14 +814,7 @@ const Nav = class {
|
|
|
801
814
|
this.canGoBackSync());
|
|
802
815
|
}
|
|
803
816
|
onStart() {
|
|
804
|
-
this.
|
|
805
|
-
removeStart: -1,
|
|
806
|
-
removeCount: 1,
|
|
807
|
-
opts: {
|
|
808
|
-
direction: 'back',
|
|
809
|
-
progressAnimation: true
|
|
810
|
-
}
|
|
811
|
-
}, undefined);
|
|
817
|
+
this.pop({ direction: 'back', progressAnimation: true });
|
|
812
818
|
}
|
|
813
819
|
onMove(stepValue) {
|
|
814
820
|
if (this.sbAni) {
|
|
@@ -822,7 +828,7 @@ const Nav = class {
|
|
|
822
828
|
this.animationEnabled = true;
|
|
823
829
|
}, { oneTimeCallback: true });
|
|
824
830
|
// Account for rounding errors in JS
|
|
825
|
-
let newStepValue =
|
|
831
|
+
let newStepValue = shouldComplete ? -0.001 : 0.001;
|
|
826
832
|
/**
|
|
827
833
|
* Animation will be reversed here, so need to
|
|
828
834
|
* reverse the easing curve as well
|
|
@@ -842,7 +848,7 @@ const Nav = class {
|
|
|
842
848
|
}
|
|
843
849
|
}
|
|
844
850
|
render() {
|
|
845
|
-
return
|
|
851
|
+
return h("slot", null);
|
|
846
852
|
}
|
|
847
853
|
get el() { return getElement(this); }
|
|
848
854
|
static get watchers() { return {
|