@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
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
6
|
-
const ionicGlobal = require('./ionic-global-
|
|
7
|
-
const cubicBezier = require('./cubic-bezier-
|
|
8
|
-
const helpers = require('./helpers-
|
|
9
|
-
const index$1 = require('./index-
|
|
10
|
-
const frameworkDelegate = require('./framework-delegate-
|
|
5
|
+
const index = require('./index-eaa0d16e.js');
|
|
6
|
+
const ionicGlobal = require('./ionic-global-f2d95fd3.js');
|
|
7
|
+
const cubicBezier = require('./cubic-bezier-0b702a31.js');
|
|
8
|
+
const helpers = require('./helpers-cb08f5ae.js');
|
|
9
|
+
const index$1 = require('./index-1b07c737.js');
|
|
10
|
+
const frameworkDelegate = require('./framework-delegate-437c0645.js');
|
|
11
11
|
|
|
12
|
+
/*!
|
|
13
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
14
|
+
*/
|
|
12
15
|
const VIEW_STATE_NEW = 1;
|
|
13
16
|
const VIEW_STATE_ATTACHED = 2;
|
|
14
17
|
const VIEW_STATE_DESTROYED = 3;
|
|
@@ -50,28 +53,7 @@ const matches = (view, id, params) => {
|
|
|
50
53
|
if (view.component !== id) {
|
|
51
54
|
return false;
|
|
52
55
|
}
|
|
53
|
-
|
|
54
|
-
if (currentParams === params) {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
if (!currentParams && !params) {
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
if (!currentParams || !params) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
const keysA = Object.keys(currentParams);
|
|
64
|
-
const keysB = Object.keys(params);
|
|
65
|
-
if (keysA.length !== keysB.length) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
// Test for A's keys different from B.
|
|
69
|
-
for (const key of keysA) {
|
|
70
|
-
if (currentParams[key] !== params[key]) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
56
|
+
return helpers.shallowEqualStringMap(view.params, params);
|
|
75
57
|
};
|
|
76
58
|
const convertToView = (page, params) => {
|
|
77
59
|
if (!page) {
|
|
@@ -83,22 +65,17 @@ const convertToView = (page, params) => {
|
|
|
83
65
|
return new ViewController(page, params);
|
|
84
66
|
};
|
|
85
67
|
const convertToViews = (pages) => {
|
|
86
|
-
return pages
|
|
68
|
+
return pages
|
|
69
|
+
.map((page) => {
|
|
87
70
|
if (page instanceof ViewController) {
|
|
88
71
|
return page;
|
|
89
72
|
}
|
|
90
73
|
if ('component' in page) {
|
|
91
|
-
|
|
92
|
-
* TODO Ionic 6:
|
|
93
|
-
* Consider switching to just using `undefined` here
|
|
94
|
-
* as well as on the public interfaces and on
|
|
95
|
-
* `NavComponentWithProps`. Previously `pages` was
|
|
96
|
-
* of type `any[]` so TypeScript did not catch this.
|
|
97
|
-
*/
|
|
98
|
-
return convertToView(page.component, (page.componentProps === null) ? undefined : page.componentProps);
|
|
74
|
+
return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps);
|
|
99
75
|
}
|
|
100
76
|
return convertToView(page, undefined);
|
|
101
|
-
})
|
|
77
|
+
})
|
|
78
|
+
.filter((v) => v !== null);
|
|
102
79
|
};
|
|
103
80
|
|
|
104
81
|
const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}";
|
|
@@ -133,9 +110,7 @@ const Nav = class {
|
|
|
133
110
|
}
|
|
134
111
|
}
|
|
135
112
|
componentWillLoad() {
|
|
136
|
-
this.useRouter =
|
|
137
|
-
!!document.querySelector('ion-router') &&
|
|
138
|
-
!this.el.closest('[no-router]');
|
|
113
|
+
this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
|
|
139
114
|
if (this.swipeGesture === undefined) {
|
|
140
115
|
const mode = ionicGlobal.getIonMode(this);
|
|
141
116
|
this.swipeGesture = ionicGlobal.config.getBoolean('swipeBackEnabled', mode === 'ios');
|
|
@@ -144,20 +119,24 @@ const Nav = class {
|
|
|
144
119
|
}
|
|
145
120
|
async componentDidLoad() {
|
|
146
121
|
this.rootChanged();
|
|
147
|
-
this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-
|
|
122
|
+
this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-666ea8e6.js'); })).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
|
|
148
123
|
this.swipeGestureChanged();
|
|
149
124
|
}
|
|
125
|
+
connectedCallback() {
|
|
126
|
+
this.destroyed = false;
|
|
127
|
+
}
|
|
150
128
|
disconnectedCallback() {
|
|
151
129
|
for (const view of this.views) {
|
|
152
130
|
index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_UNLOAD);
|
|
153
131
|
view._destroy();
|
|
154
132
|
}
|
|
133
|
+
// Release swipe back gesture and transition.
|
|
155
134
|
if (this.gesture) {
|
|
156
135
|
this.gesture.destroy();
|
|
157
136
|
this.gesture = undefined;
|
|
158
137
|
}
|
|
159
|
-
|
|
160
|
-
this.
|
|
138
|
+
this.transInstr.length = 0;
|
|
139
|
+
this.views.length = 0;
|
|
161
140
|
this.destroyed = true;
|
|
162
141
|
}
|
|
163
142
|
/**
|
|
@@ -171,11 +150,7 @@ const Nav = class {
|
|
|
171
150
|
* @param done The transition complete function.
|
|
172
151
|
*/
|
|
173
152
|
push(component, componentProps, opts, done) {
|
|
174
|
-
return this.
|
|
175
|
-
insertStart: -1,
|
|
176
|
-
insertViews: [{ component, componentProps }],
|
|
177
|
-
opts
|
|
178
|
-
}, done);
|
|
153
|
+
return this.insert(-1, component, componentProps, opts, done);
|
|
179
154
|
}
|
|
180
155
|
/**
|
|
181
156
|
* Inserts a component into the navigation stack at the specified index.
|
|
@@ -188,11 +163,7 @@ const Nav = class {
|
|
|
188
163
|
* @param done The transition complete function.
|
|
189
164
|
*/
|
|
190
165
|
insert(insertIndex, component, componentProps, opts, done) {
|
|
191
|
-
return this.
|
|
192
|
-
insertStart: insertIndex,
|
|
193
|
-
insertViews: [{ component, componentProps }],
|
|
194
|
-
opts
|
|
195
|
-
}, done);
|
|
166
|
+
return this.insertPages(insertIndex, [{ component, componentProps }], opts, done);
|
|
196
167
|
}
|
|
197
168
|
/**
|
|
198
169
|
* Inserts an array of components into the navigation stack at the specified index.
|
|
@@ -208,7 +179,7 @@ const Nav = class {
|
|
|
208
179
|
return this.queueTrns({
|
|
209
180
|
insertStart: insertIndex,
|
|
210
181
|
insertViews: insertComponents,
|
|
211
|
-
opts
|
|
182
|
+
opts,
|
|
212
183
|
}, done);
|
|
213
184
|
}
|
|
214
185
|
/**
|
|
@@ -219,11 +190,7 @@ const Nav = class {
|
|
|
219
190
|
* @param done The transition complete function.
|
|
220
191
|
*/
|
|
221
192
|
pop(opts, done) {
|
|
222
|
-
return this.
|
|
223
|
-
removeStart: -1,
|
|
224
|
-
removeCount: 1,
|
|
225
|
-
opts
|
|
226
|
-
}, done);
|
|
193
|
+
return this.removeIndex(-1, 1, opts, done);
|
|
227
194
|
}
|
|
228
195
|
/**
|
|
229
196
|
* Pop to a specific index in the navigation stack.
|
|
@@ -233,19 +200,19 @@ const Nav = class {
|
|
|
233
200
|
* @param done The transition complete function.
|
|
234
201
|
*/
|
|
235
202
|
popTo(indexOrViewCtrl, opts, done) {
|
|
236
|
-
const
|
|
203
|
+
const ti = {
|
|
237
204
|
removeStart: -1,
|
|
238
205
|
removeCount: -1,
|
|
239
|
-
opts
|
|
206
|
+
opts,
|
|
240
207
|
};
|
|
241
208
|
if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {
|
|
242
|
-
|
|
243
|
-
|
|
209
|
+
ti.removeView = indexOrViewCtrl;
|
|
210
|
+
ti.removeStart = 1;
|
|
244
211
|
}
|
|
245
212
|
else if (typeof indexOrViewCtrl === 'number') {
|
|
246
|
-
|
|
213
|
+
ti.removeStart = indexOrViewCtrl + 1;
|
|
247
214
|
}
|
|
248
|
-
return this.queueTrns(
|
|
215
|
+
return this.queueTrns(ti, done);
|
|
249
216
|
}
|
|
250
217
|
/**
|
|
251
218
|
* Navigate back to the root of the stack, no matter how far back that is.
|
|
@@ -254,11 +221,7 @@ const Nav = class {
|
|
|
254
221
|
* @param done The transition complete function.
|
|
255
222
|
*/
|
|
256
223
|
popToRoot(opts, done) {
|
|
257
|
-
return this.
|
|
258
|
-
removeStart: 1,
|
|
259
|
-
removeCount: -1,
|
|
260
|
-
opts
|
|
261
|
-
}, done);
|
|
224
|
+
return this.removeIndex(1, -1, opts, done);
|
|
262
225
|
}
|
|
263
226
|
/**
|
|
264
227
|
* Removes a component from the navigation stack at the specified index.
|
|
@@ -272,7 +235,7 @@ const Nav = class {
|
|
|
272
235
|
return this.queueTrns({
|
|
273
236
|
removeStart: startIndex,
|
|
274
237
|
removeCount,
|
|
275
|
-
opts
|
|
238
|
+
opts,
|
|
276
239
|
}, done);
|
|
277
240
|
}
|
|
278
241
|
/**
|
|
@@ -297,9 +260,7 @@ const Nav = class {
|
|
|
297
260
|
* @param done The transition complete function.
|
|
298
261
|
*/
|
|
299
262
|
setPages(views, opts, done) {
|
|
300
|
-
|
|
301
|
-
opts = {};
|
|
302
|
-
}
|
|
263
|
+
opts !== null && opts !== void 0 ? opts : (opts = {});
|
|
303
264
|
// if animation wasn't set to true then default it to NOT animate
|
|
304
265
|
if (opts.animated !== true) {
|
|
305
266
|
opts.animated = false;
|
|
@@ -309,42 +270,53 @@ const Nav = class {
|
|
|
309
270
|
insertViews: views,
|
|
310
271
|
removeStart: 0,
|
|
311
272
|
removeCount: -1,
|
|
312
|
-
opts
|
|
273
|
+
opts,
|
|
313
274
|
}, done);
|
|
314
275
|
}
|
|
315
|
-
/**
|
|
276
|
+
/**
|
|
277
|
+
* Called by the router to update the view.
|
|
278
|
+
*
|
|
279
|
+
* @param id The component tag.
|
|
280
|
+
* @param params The component params.
|
|
281
|
+
* @param direction A direction hint.
|
|
282
|
+
* @param animation an AnimationBuilder.
|
|
283
|
+
*
|
|
284
|
+
* @return the status.
|
|
285
|
+
* @internal
|
|
286
|
+
*/
|
|
316
287
|
setRouteId(id, params, direction, animation) {
|
|
317
288
|
const active = this.getActiveSync();
|
|
318
289
|
if (matches(active, id, params)) {
|
|
319
290
|
return Promise.resolve({
|
|
320
291
|
changed: false,
|
|
321
|
-
element: active.element
|
|
292
|
+
element: active.element,
|
|
322
293
|
});
|
|
323
294
|
}
|
|
324
295
|
let resolve;
|
|
325
|
-
const promise = new Promise(r => (resolve = r));
|
|
296
|
+
const promise = new Promise((r) => (resolve = r));
|
|
326
297
|
let finish;
|
|
327
298
|
const commonOpts = {
|
|
328
299
|
updateURL: false,
|
|
329
|
-
viewIsReady: enteringEl => {
|
|
300
|
+
viewIsReady: (enteringEl) => {
|
|
330
301
|
let mark;
|
|
331
|
-
const p = new Promise(r => (mark = r));
|
|
302
|
+
const p = new Promise((r) => (mark = r));
|
|
332
303
|
resolve({
|
|
333
304
|
changed: true,
|
|
334
305
|
element: enteringEl,
|
|
335
306
|
markVisible: async () => {
|
|
336
307
|
mark();
|
|
337
308
|
await finish;
|
|
338
|
-
}
|
|
309
|
+
},
|
|
339
310
|
});
|
|
340
311
|
return p;
|
|
341
|
-
}
|
|
312
|
+
},
|
|
342
313
|
};
|
|
343
314
|
if (direction === 'root') {
|
|
344
315
|
finish = this.setRoot(id, params, commonOpts);
|
|
345
316
|
}
|
|
346
317
|
else {
|
|
347
|
-
|
|
318
|
+
// Look for a view matching the target in the view stack.
|
|
319
|
+
const viewController = this.views.find((v) => matches(v, id, params));
|
|
348
320
|
if (viewController) {
|
|
349
321
|
finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
|
|
350
322
|
}
|
|
@@ -357,46 +329,51 @@ const Nav = class {
|
|
|
357
329
|
}
|
|
358
330
|
return promise;
|
|
359
331
|
}
|
|
360
|
-
/**
|
|
332
|
+
/**
|
|
333
|
+
* Called by <ion-router> to retrieve the current component.
|
|
334
|
+
*
|
|
335
|
+
* @internal
|
|
336
|
+
*/
|
|
361
337
|
async getRouteId() {
|
|
362
338
|
const active = this.getActiveSync();
|
|
363
|
-
|
|
364
|
-
|
|
339
|
+
if (active) {
|
|
340
|
+
return {
|
|
365
341
|
id: active.element.tagName,
|
|
366
342
|
params: active.params,
|
|
367
|
-
element: active.element
|
|
368
|
-
}
|
|
369
|
-
|
|
343
|
+
element: active.element,
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
return undefined;
|
|
370
347
|
}
|
|
371
348
|
/**
|
|
372
349
|
* Get the active view.
|
|
373
350
|
*/
|
|
374
|
-
getActive() {
|
|
375
|
-
return
|
|
351
|
+
async getActive() {
|
|
352
|
+
return this.getActiveSync();
|
|
376
353
|
}
|
|
377
354
|
/**
|
|
378
355
|
* Get the view at the specified index.
|
|
379
356
|
*
|
|
380
357
|
* @param index The index of the view.
|
|
381
358
|
*/
|
|
382
|
-
getByIndex(index) {
|
|
383
|
-
return
|
|
359
|
+
async getByIndex(index) {
|
|
360
|
+
return this.views[index];
|
|
384
361
|
}
|
|
385
362
|
/**
|
|
386
363
|
* Returns `true` if the current view can go back.
|
|
387
364
|
*
|
|
388
365
|
* @param view The view to check.
|
|
389
366
|
*/
|
|
390
|
-
canGoBack(view) {
|
|
391
|
-
return
|
|
367
|
+
async canGoBack(view) {
|
|
368
|
+
return this.canGoBackSync(view);
|
|
392
369
|
}
|
|
393
370
|
/**
|
|
394
371
|
* Get the previous view.
|
|
395
372
|
*
|
|
396
373
|
* @param view The view to get.
|
|
397
374
|
*/
|
|
398
|
-
getPrevious(view) {
|
|
399
|
-
return
|
|
375
|
+
async getPrevious(view) {
|
|
376
|
+
return this.getPreviousSync(view);
|
|
400
377
|
}
|
|
401
378
|
getLength() {
|
|
402
379
|
return this.views.length;
|
|
@@ -415,19 +392,15 @@ const Nav = class {
|
|
|
415
392
|
const index = views.indexOf(view);
|
|
416
393
|
return index > 0 ? views[index - 1] : undefined;
|
|
417
394
|
}
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
// 5. _transitionInit(): initializes the visual transition if required and schedules it to run
|
|
424
|
-
// 6. _viewAttachToDOM(): attaches the enteringView to the DOM
|
|
425
|
-
// 7. _transitionStart(): called once the transition actually starts, it initializes the Animation underneath.
|
|
426
|
-
// 8. _transitionFinish(): called once the transition finishes
|
|
427
|
-
// 9. _cleanup(): syncs the navigation internal state with the DOM. For example it removes the pages from the DOM or hides/show them.
|
|
395
|
+
/**
|
|
396
|
+
* Adds a navigation stack change to the queue and schedules it to run.
|
|
397
|
+
*
|
|
398
|
+
* @returns Whether the transition succeeds.
|
|
399
|
+
*/
|
|
428
400
|
async queueTrns(ti, done) {
|
|
429
|
-
|
|
430
|
-
|
|
401
|
+
var _a, _b;
|
|
402
|
+
if (this.isTransitioning && ((_a = ti.opts) === null || _a === void 0 ? void 0 : _a.skipIfBusy)) {
|
|
403
|
+
return false;
|
|
431
404
|
}
|
|
432
405
|
const promise = new Promise((resolve, reject) => {
|
|
433
406
|
ti.resolve = resolve;
|
|
@@ -445,16 +418,16 @@ const Nav = class {
|
|
|
445
418
|
if (router) {
|
|
446
419
|
const canTransition = await router.canTransition();
|
|
447
420
|
if (canTransition === false) {
|
|
448
|
-
return
|
|
421
|
+
return false;
|
|
449
422
|
}
|
|
450
|
-
|
|
423
|
+
if (typeof canTransition === 'string') {
|
|
451
424
|
router.push(canTransition, ti.opts.direction || 'back');
|
|
452
|
-
return
|
|
425
|
+
return false;
|
|
453
426
|
}
|
|
454
427
|
}
|
|
455
428
|
}
|
|
456
429
|
// Normalize empty
|
|
457
|
-
if (ti.insertViews
|
|
430
|
+
if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
|
|
458
431
|
ti.insertViews = undefined;
|
|
459
432
|
}
|
|
460
433
|
// Enqueue transition instruction
|
|
@@ -500,14 +473,18 @@ const Nav = class {
|
|
|
500
473
|
ti.resolve(false);
|
|
501
474
|
}
|
|
502
475
|
}
|
|
476
|
+
/**
|
|
477
|
+
* Consumes the next transition in the queue.
|
|
478
|
+
*
|
|
479
|
+
* @returns whether the transition is executed.
|
|
480
|
+
*/
|
|
503
481
|
nextTrns() {
|
|
504
482
|
// this is the framework's bread 'n butta function
|
|
505
483
|
// only one transition is allowed at any given time
|
|
506
484
|
if (this.isTransitioning) {
|
|
507
485
|
return false;
|
|
508
486
|
}
|
|
509
|
-
// there is no transition happening right now
|
|
510
|
-
// get the next instruction
|
|
487
|
+
// there is no transition happening right now, executes the next instructions.
|
|
511
488
|
const ti = this.transInstr.shift();
|
|
512
489
|
if (!ti) {
|
|
513
490
|
return false;
|
|
@@ -515,6 +492,7 @@ const Nav = class {
|
|
|
515
492
|
this.runTransition(ti);
|
|
516
493
|
return true;
|
|
517
494
|
}
|
|
495
|
+
/** Executes all the transition instruction from the queue. */
|
|
518
496
|
async runTransition(ti) {
|
|
519
497
|
try {
|
|
520
498
|
// set that this nav is actively transitioning
|
|
@@ -531,8 +509,7 @@ const Nav = class {
|
|
|
531
509
|
}
|
|
532
510
|
this.postViewInit(enteringView, leavingView, ti);
|
|
533
511
|
// Needs transition?
|
|
534
|
-
const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) &&
|
|
535
|
-
enteringView !== leavingView;
|
|
512
|
+
const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && enteringView !== leavingView;
|
|
536
513
|
if (requiresTransition && ti.opts && leavingView) {
|
|
537
514
|
const isBackDirection = ti.opts.direction === 'back';
|
|
538
515
|
/**
|
|
@@ -540,20 +517,24 @@ const Nav = class {
|
|
|
540
517
|
* unless otherwise specified by the developer.
|
|
541
518
|
*/
|
|
542
519
|
if (isBackDirection) {
|
|
543
|
-
ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView
|
|
520
|
+
ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView === null || enteringView === void 0 ? void 0 : enteringView.animationBuilder);
|
|
544
521
|
}
|
|
545
522
|
leavingView.animationBuilder = ti.opts.animationBuilder;
|
|
546
523
|
}
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
524
|
+
let result;
|
|
525
|
+
if (requiresTransition) {
|
|
526
|
+
result = await this.transition(enteringView, leavingView, ti);
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
// transition is not required, so we are already done!
|
|
530
|
+
// they're inserting/removing the views somewhere in the middle or
|
|
531
|
+
// beginning, so visually nothing needs to animate/transition
|
|
532
|
+
// resolve immediately because there's no animation that's happening
|
|
533
|
+
result = {
|
|
554
534
|
hasCompleted: true,
|
|
555
|
-
requiresTransition: false
|
|
535
|
+
requiresTransition: false,
|
|
556
536
|
};
|
|
537
|
+
}
|
|
557
538
|
this.success(result, ti);
|
|
558
539
|
this.ionNavDidChange.emit();
|
|
559
540
|
}
|
|
@@ -564,11 +545,11 @@ const Nav = class {
|
|
|
564
545
|
this.nextTrns();
|
|
565
546
|
}
|
|
566
547
|
prepareTI(ti) {
|
|
548
|
+
var _a, _b;
|
|
549
|
+
var _c;
|
|
567
550
|
const viewsLength = this.views.length;
|
|
568
|
-
ti.opts
|
|
569
|
-
|
|
570
|
-
ti.opts.delegate = this.delegate;
|
|
571
|
-
}
|
|
551
|
+
(_a = ti.opts) !== null && _a !== void 0 ? _a : (ti.opts = {});
|
|
552
|
+
(_b = (_c = ti.opts).delegate) !== null && _b !== void 0 ? _b : (_c.delegate = this.delegate);
|
|
572
553
|
if (ti.removeView !== undefined) {
|
|
573
554
|
helpers.assert(ti.removeStart !== undefined, 'removeView needs removeStart');
|
|
574
555
|
helpers.assert(ti.removeCount !== undefined, 'removeView needs removeCount');
|
|
@@ -585,8 +566,7 @@ const Nav = class {
|
|
|
585
566
|
if (ti.removeCount < 0) {
|
|
586
567
|
ti.removeCount = viewsLength - ti.removeStart;
|
|
587
568
|
}
|
|
588
|
-
ti.leavingRequiresTransition =
|
|
589
|
-
ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
|
569
|
+
ti.leavingRequiresTransition = ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
|
590
570
|
}
|
|
591
571
|
if (ti.insertViews) {
|
|
592
572
|
// allow -1 to be passed in to auto push it on the end
|
|
@@ -618,13 +598,21 @@ const Nav = class {
|
|
|
618
598
|
}
|
|
619
599
|
ti.insertViews = viewControllers;
|
|
620
600
|
}
|
|
601
|
+
/**
|
|
602
|
+
* Returns the view that will be entered considering the transition instructions.
|
|
603
|
+
*
|
|
604
|
+
* @param ti The instructions.
|
|
605
|
+
* @param leavingView The view being left or undefined if none.
|
|
606
|
+
*
|
|
607
|
+
* @returns The view that will be entered, undefined if none.
|
|
608
|
+
*/
|
|
621
609
|
getEnteringView(ti, leavingView) {
|
|
610
|
+
// The last inserted view will be entered when view are inserted.
|
|
622
611
|
const insertViews = ti.insertViews;
|
|
623
612
|
if (insertViews !== undefined) {
|
|
624
|
-
// grab the very last view of the views to be inserted
|
|
625
|
-
// and initialize it as the new entering view
|
|
626
613
|
return insertViews[insertViews.length - 1];
|
|
627
614
|
}
|
|
615
|
+
// When views are deleted, we will enter the last view that is not removed and not the view being left.
|
|
628
616
|
const removeStart = ti.removeStart;
|
|
629
617
|
if (removeStart !== undefined) {
|
|
630
618
|
const views = this.views;
|
|
@@ -638,39 +626,45 @@ const Nav = class {
|
|
|
638
626
|
}
|
|
639
627
|
return undefined;
|
|
640
628
|
}
|
|
629
|
+
/**
|
|
630
|
+
* Adds and Removes the views from the navigation stack.
|
|
631
|
+
*
|
|
632
|
+
* @param enteringView The view being entered.
|
|
633
|
+
* @param leavingView The view being left.
|
|
634
|
+
* @param ti The instructions.
|
|
635
|
+
*/
|
|
641
636
|
postViewInit(enteringView, leavingView, ti) {
|
|
637
|
+
var _a, _b, _c;
|
|
642
638
|
helpers.assert(leavingView || enteringView, 'Both leavingView and enteringView are null');
|
|
643
639
|
helpers.assert(ti.resolve, 'resolve must be valid');
|
|
644
640
|
helpers.assert(ti.reject, 'reject must be valid');
|
|
641
|
+
// Compute the views to remove.
|
|
645
642
|
const opts = ti.opts;
|
|
646
|
-
const insertViews = ti
|
|
647
|
-
|
|
648
|
-
const removeCount = ti.removeCount;
|
|
643
|
+
const { insertViews, removeStart, removeCount } = ti;
|
|
644
|
+
/** Records the view to destroy */
|
|
649
645
|
let destroyQueue;
|
|
650
646
|
// there are views to remove
|
|
651
647
|
if (removeStart !== undefined && removeCount !== undefined) {
|
|
652
648
|
helpers.assert(removeStart >= 0, 'removeStart can not be negative');
|
|
653
649
|
helpers.assert(removeCount >= 0, 'removeCount can not be negative');
|
|
654
650
|
destroyQueue = [];
|
|
655
|
-
for (let i =
|
|
656
|
-
const view = this.views[i
|
|
657
|
-
if (view && view !== enteringView && view !== leavingView) {
|
|
651
|
+
for (let i = removeStart; i < removeStart + removeCount; i++) {
|
|
652
|
+
const view = this.views[i];
|
|
653
|
+
if (view !== undefined && view !== enteringView && view !== leavingView) {
|
|
658
654
|
destroyQueue.push(view);
|
|
659
655
|
}
|
|
660
656
|
}
|
|
661
657
|
// default the direction to "back"
|
|
662
|
-
opts.direction
|
|
658
|
+
(_a = opts.direction) !== null && _a !== void 0 ? _a : (opts.direction = 'back');
|
|
663
659
|
}
|
|
664
|
-
const
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
helpers.assert(finalBalance >= 0, 'final balance can not be negative');
|
|
668
|
-
if (finalBalance === 0) {
|
|
660
|
+
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);
|
|
661
|
+
helpers.assert(finalNumViews >= 0, 'final balance can not be negative');
|
|
662
|
+
if (finalNumViews === 0) {
|
|
669
663
|
console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);
|
|
670
664
|
throw new Error('navigation stack needs at least one root page');
|
|
671
665
|
}
|
|
672
666
|
// At this point the transition can not be rejected, any throw should be an error
|
|
673
|
-
//
|
|
667
|
+
// Insert the new views in the stack.
|
|
674
668
|
if (insertViews) {
|
|
675
669
|
// add the views to the
|
|
676
670
|
let insertIndex = ti.insertStart;
|
|
@@ -680,7 +674,7 @@ const Nav = class {
|
|
|
680
674
|
}
|
|
681
675
|
if (ti.enteringRequiresTransition) {
|
|
682
676
|
// default to forward if not already set
|
|
683
|
-
opts.direction
|
|
677
|
+
(_c = opts.direction) !== null && _c !== void 0 ? _c : (opts.direction = 'forward');
|
|
684
678
|
}
|
|
685
679
|
}
|
|
686
680
|
// if the views to be removed are in the beginning or middle
|
|
@@ -704,9 +698,7 @@ const Nav = class {
|
|
|
704
698
|
// we should animate (duration > 0) if the pushed page is not the first one (startup)
|
|
705
699
|
// or if it is a portal (modal, actionsheet, etc.)
|
|
706
700
|
const opts = ti.opts;
|
|
707
|
-
const progressCallback = opts.progressAnimation
|
|
708
|
-
? (ani) => this.sbAni = ani
|
|
709
|
-
: undefined;
|
|
701
|
+
const progressCallback = opts.progressAnimation ? (ani) => (this.sbAni = ani) : undefined;
|
|
710
702
|
const mode = ionicGlobal.getIonMode(this);
|
|
711
703
|
const enteringEl = enteringView.element;
|
|
712
704
|
const leavingEl = leavingView && leavingView.element;
|
|
@@ -716,36 +708,53 @@ const Nav = class {
|
|
|
716
708
|
return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);
|
|
717
709
|
}
|
|
718
710
|
transitionFinish(hasCompleted, enteringView, leavingView, opts) {
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
711
|
+
/**
|
|
712
|
+
* If the transition did not complete, the leavingView will still be the active
|
|
713
|
+
* view on the stack. Otherwise unmount all the views after the enteringView.
|
|
714
|
+
*/
|
|
715
|
+
const activeView = hasCompleted ? enteringView : leavingView;
|
|
716
|
+
if (activeView) {
|
|
717
|
+
this.unmountInactiveViews(activeView);
|
|
722
718
|
}
|
|
723
719
|
return {
|
|
724
720
|
hasCompleted,
|
|
725
721
|
requiresTransition: true,
|
|
726
722
|
enteringView,
|
|
727
723
|
leavingView,
|
|
728
|
-
direction: opts.direction
|
|
724
|
+
direction: opts.direction,
|
|
729
725
|
};
|
|
730
726
|
}
|
|
727
|
+
/**
|
|
728
|
+
* Inserts a view at the specified index.
|
|
729
|
+
*
|
|
730
|
+
* When the view already is in the stack it will be moved to the new position.
|
|
731
|
+
*
|
|
732
|
+
* @param view The view to insert.
|
|
733
|
+
* @param index The index where to insert the view.
|
|
734
|
+
*/
|
|
731
735
|
insertViewAt(view, index) {
|
|
732
736
|
const views = this.views;
|
|
733
737
|
const existingIndex = views.indexOf(view);
|
|
734
738
|
if (existingIndex > -1) {
|
|
735
|
-
// this view is already in the stack!!
|
|
736
|
-
// move it to its new location
|
|
737
739
|
helpers.assert(view.nav === this, 'view is not part of the nav');
|
|
738
|
-
|
|
740
|
+
// The view already in the stack, removes it.
|
|
741
|
+
views.splice(existingIndex, 1);
|
|
742
|
+
// and add it back at the requested index.
|
|
743
|
+
views.splice(index, 0, view);
|
|
739
744
|
}
|
|
740
745
|
else {
|
|
741
746
|
helpers.assert(!view.nav, 'nav is used');
|
|
742
747
|
// this is a new view to add to the stack
|
|
743
748
|
// create the new entering view
|
|
744
749
|
view.nav = this;
|
|
745
|
-
// insert the entering view into the correct index in the stack
|
|
746
750
|
views.splice(index, 0, view);
|
|
747
751
|
}
|
|
748
752
|
}
|
|
753
|
+
/**
|
|
754
|
+
* Removes a view from the stack.
|
|
755
|
+
*
|
|
756
|
+
* @param view The view to remove.
|
|
757
|
+
*/
|
|
749
758
|
removeView(view) {
|
|
750
759
|
helpers.assert(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed');
|
|
751
760
|
const views = this.views;
|
|
@@ -760,9 +769,13 @@ const Nav = class {
|
|
|
760
769
|
this.removeView(view);
|
|
761
770
|
}
|
|
762
771
|
/**
|
|
772
|
+
* Unmounts all inactive views after the specified active view.
|
|
773
|
+
*
|
|
763
774
|
* DOM WRITE
|
|
775
|
+
*
|
|
776
|
+
* @param activeView The view that is actively visible in the stack. Used to calculate which views to unmount.
|
|
764
777
|
*/
|
|
765
|
-
|
|
778
|
+
unmountInactiveViews(activeView) {
|
|
766
779
|
// ok, cleanup time!! Destroy all of the views that are
|
|
767
780
|
// INACTIVE and come after the active view
|
|
768
781
|
// only do this if the views exist, though
|
|
@@ -805,14 +818,7 @@ const Nav = class {
|
|
|
805
818
|
this.canGoBackSync());
|
|
806
819
|
}
|
|
807
820
|
onStart() {
|
|
808
|
-
this.
|
|
809
|
-
removeStart: -1,
|
|
810
|
-
removeCount: 1,
|
|
811
|
-
opts: {
|
|
812
|
-
direction: 'back',
|
|
813
|
-
progressAnimation: true
|
|
814
|
-
}
|
|
815
|
-
}, undefined);
|
|
821
|
+
this.pop({ direction: 'back', progressAnimation: true });
|
|
816
822
|
}
|
|
817
823
|
onMove(stepValue) {
|
|
818
824
|
if (this.sbAni) {
|
|
@@ -826,7 +832,7 @@ const Nav = class {
|
|
|
826
832
|
this.animationEnabled = true;
|
|
827
833
|
}, { oneTimeCallback: true });
|
|
828
834
|
// Account for rounding errors in JS
|
|
829
|
-
let newStepValue =
|
|
835
|
+
let newStepValue = shouldComplete ? -0.001 : 0.001;
|
|
830
836
|
/**
|
|
831
837
|
* Animation will be reversed here, so need to
|
|
832
838
|
* reverse the easing curve as well
|
|
@@ -846,7 +852,7 @@ const Nav = class {
|
|
|
846
852
|
}
|
|
847
853
|
}
|
|
848
854
|
render() {
|
|
849
|
-
return
|
|
855
|
+
return index.h("slot", null);
|
|
850
856
|
}
|
|
851
857
|
get el() { return index.getElement(this); }
|
|
852
858
|
static get watchers() { return {
|