@ionic/react 8.8.1-dev.11773242897.1966d6b2 → 8.8.1-dev.11773432149.19826d0c
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/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/dist/index.js +221 -181
- package/dist/index.js.map +1 -1
- package/dist/types/components/IonRoute.d.ts +3 -2
- package/dist/types/components/IonRouterOutlet.d.ts +1 -0
- package/dist/types/components/index.d.ts +0 -1
- package/dist/types/components/proxies.d.ts +0 -1
- package/dist/types/contexts/NavContext.d.ts +0 -2
- package/dist/types/routing/LocationHistory.d.ts +1 -0
- package/dist/types/routing/NavManager.d.ts +0 -4
- package/dist/types/routing/OutletPageManager.d.ts +1 -0
- package/dist/types/routing/PageManager.d.ts +7 -0
- package/dist/types/routing/RouteManagerContext.d.ts +6 -1
- package/dist/types/routing/ViewStacks.d.ts +1 -1
- package/package.json +2 -2
- package/css/ionic/bundle.ionic.css +0 -1
- package/css/ionic/bundle.ionic.css.map +0 -1
- package/css/ionic/core.ionic.css +0 -1
- package/css/ionic/core.ionic.css.map +0 -1
- package/css/ionic/global.bundle.ionic.css +0 -1
- package/css/ionic/global.bundle.ionic.css.map +0 -1
- package/css/ionic/ionic-swiper.ionic.css +0 -1
- package/css/ionic/ionic-swiper.ionic.css.map +0 -1
- package/css/ionic/link.ionic.css +0 -1
- package/css/ionic/link.ionic.css.map +0 -1
- package/css/ionic/structure.ionic.css +0 -1
- package/css/ionic/structure.ionic.css.map +0 -1
- package/css/ionic/typography.ionic.css +0 -1
- package/css/ionic/typography.ionic.css.map +0 -1
- package/css/ionic/utils.bundle.ionic.css +0 -1
- package/css/ionic/utils.bundle.ionic.css.map +0 -1
- package/dist/types/components/IonRedirect.d.ts +0 -16
package/dist/index.js
CHANGED
|
@@ -20,62 +20,61 @@ import { defineCustomElement as defineCustomElement$e } from '@ionic/core/compon
|
|
|
20
20
|
import { defineCustomElement as defineCustomElement$f } from '@ionic/core/components/ion-content.js';
|
|
21
21
|
import { defineCustomElement as defineCustomElement$g } from '@ionic/core/components/ion-datetime.js';
|
|
22
22
|
import { defineCustomElement as defineCustomElement$h } from '@ionic/core/components/ion-datetime-button.js';
|
|
23
|
-
import { defineCustomElement as defineCustomElement$i } from '@ionic/core/components/ion-
|
|
24
|
-
import { defineCustomElement as defineCustomElement$j } from '@ionic/core/components/ion-fab.js';
|
|
25
|
-
import { defineCustomElement as defineCustomElement$k } from '@ionic/core/components/ion-
|
|
26
|
-
import { defineCustomElement as defineCustomElement$l } from '@ionic/core/components/ion-
|
|
27
|
-
import { defineCustomElement as defineCustomElement$m } from '@ionic/core/components/ion-
|
|
28
|
-
import { defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-
|
|
29
|
-
import { defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-
|
|
30
|
-
import { defineCustomElement as defineCustomElement$p } from '@ionic/core/components/ion-infinite-scroll.js';
|
|
31
|
-
import { defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-
|
|
32
|
-
import { defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-input.js';
|
|
33
|
-
import { defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-input-
|
|
34
|
-
import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-
|
|
35
|
-
import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-item-
|
|
36
|
-
import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-item-
|
|
37
|
-
import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-item-
|
|
38
|
-
import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-
|
|
39
|
-
import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-
|
|
40
|
-
import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-list.js';
|
|
41
|
-
import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-
|
|
42
|
-
import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-menu.js';
|
|
43
|
-
import { defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-menu-
|
|
44
|
-
import { defineCustomElement as defineCustomElement$
|
|
45
|
-
import { defineCustomElement as defineCustomElement$
|
|
46
|
-
import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-
|
|
47
|
-
import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-
|
|
48
|
-
import { defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-picker.js';
|
|
49
|
-
import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-picker-column.js';
|
|
50
|
-
import { defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-
|
|
51
|
-
import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-
|
|
52
|
-
import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-radio.js';
|
|
53
|
-
import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-
|
|
54
|
-
import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-
|
|
55
|
-
import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-refresher.js';
|
|
56
|
-
import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-
|
|
57
|
-
import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-reorder.js';
|
|
58
|
-
import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-
|
|
59
|
-
import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-
|
|
60
|
-
import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-
|
|
61
|
-
import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-
|
|
62
|
-
import { defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-segment.js';
|
|
63
|
-
import { defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-segment-
|
|
64
|
-
import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-segment-
|
|
65
|
-
import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-
|
|
66
|
-
import { defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-select.js';
|
|
67
|
-
import { defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-select-
|
|
68
|
-
import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-
|
|
69
|
-
import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-
|
|
70
|
-
import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-
|
|
71
|
-
import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-
|
|
72
|
-
import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-
|
|
73
|
-
import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-
|
|
74
|
-
import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-
|
|
75
|
-
import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-
|
|
76
|
-
import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-
|
|
77
|
-
import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/components/ion-
|
|
78
|
-
import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-toolbar.js';
|
|
23
|
+
import { defineCustomElement as defineCustomElement$i } from '@ionic/core/components/ion-fab.js';
|
|
24
|
+
import { defineCustomElement as defineCustomElement$j } from '@ionic/core/components/ion-fab-list.js';
|
|
25
|
+
import { defineCustomElement as defineCustomElement$k } from '@ionic/core/components/ion-footer.js';
|
|
26
|
+
import { defineCustomElement as defineCustomElement$l } from '@ionic/core/components/ion-grid.js';
|
|
27
|
+
import { defineCustomElement as defineCustomElement$m } from '@ionic/core/components/ion-header.js';
|
|
28
|
+
import { defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-img.js';
|
|
29
|
+
import { defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-infinite-scroll.js';
|
|
30
|
+
import { defineCustomElement as defineCustomElement$p } from '@ionic/core/components/ion-infinite-scroll-content.js';
|
|
31
|
+
import { defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-input.js';
|
|
32
|
+
import { defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-input-otp.js';
|
|
33
|
+
import { defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-input-password-toggle.js';
|
|
34
|
+
import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-item-divider.js';
|
|
35
|
+
import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-item-group.js';
|
|
36
|
+
import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-item-options.js';
|
|
37
|
+
import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-item-sliding.js';
|
|
38
|
+
import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-label.js';
|
|
39
|
+
import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-list.js';
|
|
40
|
+
import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-list-header.js';
|
|
41
|
+
import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-menu.js';
|
|
42
|
+
import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-menu-button.js';
|
|
43
|
+
import { defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-menu-toggle.js';
|
|
44
|
+
import { defineCustomElement as defineCustomElement$1m } from '@ionic/core/components/ion-nav.js';
|
|
45
|
+
import { defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-nav-link.js';
|
|
46
|
+
import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-note.js';
|
|
47
|
+
import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-picker.js';
|
|
48
|
+
import { defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-picker-column.js';
|
|
49
|
+
import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-picker-column-option.js';
|
|
50
|
+
import { defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-progress-bar.js';
|
|
51
|
+
import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-radio.js';
|
|
52
|
+
import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-radio-group.js';
|
|
53
|
+
import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-range.js';
|
|
54
|
+
import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-refresher.js';
|
|
55
|
+
import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-refresher-content.js';
|
|
56
|
+
import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-reorder.js';
|
|
57
|
+
import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-reorder-group.js';
|
|
58
|
+
import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-ripple-effect.js';
|
|
59
|
+
import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-row.js';
|
|
60
|
+
import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-searchbar.js';
|
|
61
|
+
import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-segment.js';
|
|
62
|
+
import { defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-segment-button.js';
|
|
63
|
+
import { defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-segment-content.js';
|
|
64
|
+
import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-segment-view.js';
|
|
65
|
+
import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-select.js';
|
|
66
|
+
import { defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-select-modal.js';
|
|
67
|
+
import { defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-select-option.js';
|
|
68
|
+
import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-skeleton-text.js';
|
|
69
|
+
import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-spinner.js';
|
|
70
|
+
import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-split-pane.js';
|
|
71
|
+
import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-tab.js';
|
|
72
|
+
import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-text.js';
|
|
73
|
+
import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-textarea.js';
|
|
74
|
+
import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-thumbnail.js';
|
|
75
|
+
import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-title.js';
|
|
76
|
+
import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-toggle.js';
|
|
77
|
+
import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/components/ion-toolbar.js';
|
|
79
78
|
import { IonBreadcrumb as IonBreadcrumb$1 } from '@ionic/core/components/ion-breadcrumb.js';
|
|
80
79
|
import { IonButton as IonButton$1 } from '@ionic/core/components/ion-button.js';
|
|
81
80
|
import { IonCard as IonCard$1 } from '@ionic/core/components/ion-card.js';
|
|
@@ -83,20 +82,20 @@ import { IonFabButton as IonFabButton$1 } from '@ionic/core/components/ion-fab-b
|
|
|
83
82
|
import { IonItemOption as IonItemOption$1 } from '@ionic/core/components/ion-item-option.js';
|
|
84
83
|
import { IonItem as IonItem$1 } from '@ionic/core/components/ion-item.js';
|
|
85
84
|
import { IonRouterLink as IonRouterLink$1 } from '@ionic/core/components/ion-router-link.js';
|
|
86
|
-
import { defineCustomElement as defineCustomElement$
|
|
87
|
-
import { defineCustomElement as defineCustomElement$
|
|
88
|
-
import { defineCustomElement as defineCustomElement$
|
|
89
|
-
import { defineCustomElement as defineCustomElement$
|
|
90
|
-
import { defineCustomElement as defineCustomElement$
|
|
91
|
-
import { defineCustomElement as defineCustomElement$
|
|
92
|
-
import { defineCustomElement as defineCustomElement$
|
|
93
|
-
import { defineCustomElement as defineCustomElement$
|
|
94
|
-
import { defineCustomElement as defineCustomElement$
|
|
95
|
-
import { defineCustomElement as defineCustomElement$
|
|
96
|
-
import { defineCustomElement as defineCustomElement$
|
|
97
|
-
import { defineCustomElement as defineCustomElement$
|
|
98
|
-
import { defineCustomElement as defineCustomElement$
|
|
99
|
-
import { defineCustomElement as defineCustomElement$
|
|
85
|
+
import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-alert.js';
|
|
86
|
+
import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-loading.js';
|
|
87
|
+
import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-toast.js';
|
|
88
|
+
import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-picker-legacy.js';
|
|
89
|
+
import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-action-sheet.js';
|
|
90
|
+
import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-modal.js';
|
|
91
|
+
import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-popover.js';
|
|
92
|
+
import { defineCustomElement as defineCustomElement$1k } from '@ionic/core/components/ion-app.js';
|
|
93
|
+
import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-back-button.js';
|
|
94
|
+
import { defineCustomElement as defineCustomElement$1j } from '@ionic/core/components/ion-router-outlet.js';
|
|
95
|
+
import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-tab-bar.js';
|
|
96
|
+
import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-tab-button.js';
|
|
97
|
+
import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-tabs.js';
|
|
98
|
+
import { defineCustomElement as defineCustomElement$1l } from 'ionicons/components/ion-icon.js';
|
|
100
99
|
|
|
101
100
|
const IonLifeCycleContext = /*@__PURE__*/ React.createContext({
|
|
102
101
|
onIonViewWillEnter: () => {
|
|
@@ -381,9 +380,7 @@ const useIonViewDidLeave = (callback, deps = []) => {
|
|
|
381
380
|
};
|
|
382
381
|
|
|
383
382
|
const NavContext = /*@__PURE__*/ React.createContext({
|
|
384
|
-
getIonRedirect: () => undefined,
|
|
385
383
|
getIonRoute: () => undefined,
|
|
386
|
-
getPageManager: () => undefined,
|
|
387
384
|
getStackManager: () => undefined,
|
|
388
385
|
goBack: (route) => {
|
|
389
386
|
if (typeof window !== 'undefined') {
|
|
@@ -644,61 +641,60 @@ const IonCol = /*@__PURE__*/ createReactComponent('ion-col', undefined, undefine
|
|
|
644
641
|
const IonContent = /*@__PURE__*/ createReactComponent('ion-content', undefined, undefined, defineCustomElement$f);
|
|
645
642
|
const IonDatetime = /*@__PURE__*/ createReactComponent('ion-datetime', undefined, undefined, defineCustomElement$g);
|
|
646
643
|
const IonDatetimeButton = /*@__PURE__*/ createReactComponent('ion-datetime-button', undefined, undefined, defineCustomElement$h);
|
|
647
|
-
const
|
|
648
|
-
const
|
|
649
|
-
const
|
|
650
|
-
const
|
|
651
|
-
const
|
|
652
|
-
const
|
|
653
|
-
const
|
|
654
|
-
const
|
|
655
|
-
const
|
|
656
|
-
const
|
|
657
|
-
const
|
|
658
|
-
const
|
|
659
|
-
const
|
|
660
|
-
const
|
|
661
|
-
const
|
|
662
|
-
const
|
|
663
|
-
const
|
|
664
|
-
const
|
|
665
|
-
const
|
|
666
|
-
const
|
|
667
|
-
const
|
|
668
|
-
const
|
|
669
|
-
const
|
|
670
|
-
const
|
|
671
|
-
const
|
|
672
|
-
const
|
|
673
|
-
const
|
|
674
|
-
const
|
|
675
|
-
const
|
|
676
|
-
const
|
|
677
|
-
const
|
|
678
|
-
const
|
|
679
|
-
const
|
|
680
|
-
const
|
|
681
|
-
const
|
|
682
|
-
const
|
|
683
|
-
const
|
|
684
|
-
const
|
|
685
|
-
const
|
|
686
|
-
const
|
|
687
|
-
const
|
|
688
|
-
const
|
|
689
|
-
const
|
|
690
|
-
const
|
|
691
|
-
const
|
|
692
|
-
const
|
|
693
|
-
const
|
|
694
|
-
const
|
|
695
|
-
const
|
|
696
|
-
const
|
|
697
|
-
const
|
|
698
|
-
const
|
|
699
|
-
const
|
|
700
|
-
const
|
|
701
|
-
const IonToolbar = /*@__PURE__*/ createReactComponent('ion-toolbar', undefined, undefined, defineCustomElement$18);
|
|
644
|
+
const IonFab = /*@__PURE__*/ createReactComponent('ion-fab', undefined, undefined, defineCustomElement$i);
|
|
645
|
+
const IonFabList = /*@__PURE__*/ createReactComponent('ion-fab-list', undefined, undefined, defineCustomElement$j);
|
|
646
|
+
const IonFooter = /*@__PURE__*/ createReactComponent('ion-footer', undefined, undefined, defineCustomElement$k);
|
|
647
|
+
const IonGrid = /*@__PURE__*/ createReactComponent('ion-grid', undefined, undefined, defineCustomElement$l);
|
|
648
|
+
const IonHeader = /*@__PURE__*/ createReactComponent('ion-header', undefined, undefined, defineCustomElement$m);
|
|
649
|
+
const IonImg = /*@__PURE__*/ createReactComponent('ion-img', undefined, undefined, defineCustomElement$n);
|
|
650
|
+
const IonInfiniteScroll = /*@__PURE__*/ createReactComponent('ion-infinite-scroll', undefined, undefined, defineCustomElement$o);
|
|
651
|
+
const IonInfiniteScrollContent = /*@__PURE__*/ createReactComponent('ion-infinite-scroll-content', undefined, undefined, defineCustomElement$p);
|
|
652
|
+
const IonInput = /*@__PURE__*/ createReactComponent('ion-input', undefined, undefined, defineCustomElement$q);
|
|
653
|
+
const IonInputOtp = /*@__PURE__*/ createReactComponent('ion-input-otp', undefined, undefined, defineCustomElement$r);
|
|
654
|
+
const IonInputPasswordToggle = /*@__PURE__*/ createReactComponent('ion-input-password-toggle', undefined, undefined, defineCustomElement$s);
|
|
655
|
+
const IonItemDivider = /*@__PURE__*/ createReactComponent('ion-item-divider', undefined, undefined, defineCustomElement$t);
|
|
656
|
+
const IonItemGroup = /*@__PURE__*/ createReactComponent('ion-item-group', undefined, undefined, defineCustomElement$u);
|
|
657
|
+
const IonItemOptions = /*@__PURE__*/ createReactComponent('ion-item-options', undefined, undefined, defineCustomElement$v);
|
|
658
|
+
const IonItemSliding = /*@__PURE__*/ createReactComponent('ion-item-sliding', undefined, undefined, defineCustomElement$w);
|
|
659
|
+
const IonLabel = /*@__PURE__*/ createReactComponent('ion-label', undefined, undefined, defineCustomElement$x);
|
|
660
|
+
const IonList = /*@__PURE__*/ createReactComponent('ion-list', undefined, undefined, defineCustomElement$y);
|
|
661
|
+
const IonListHeader = /*@__PURE__*/ createReactComponent('ion-list-header', undefined, undefined, defineCustomElement$z);
|
|
662
|
+
const IonMenu = /*@__PURE__*/ createReactComponent('ion-menu', undefined, undefined, defineCustomElement$A);
|
|
663
|
+
const IonMenuButton = /*@__PURE__*/ createReactComponent('ion-menu-button', undefined, undefined, defineCustomElement$B);
|
|
664
|
+
const IonMenuToggle = /*@__PURE__*/ createReactComponent('ion-menu-toggle', undefined, undefined, defineCustomElement$C);
|
|
665
|
+
const IonNavLink = /*@__PURE__*/ createReactComponent('ion-nav-link', undefined, undefined, defineCustomElement$D);
|
|
666
|
+
const IonNote = /*@__PURE__*/ createReactComponent('ion-note', undefined, undefined, defineCustomElement$E);
|
|
667
|
+
const IonPicker = /*@__PURE__*/ createReactComponent('ion-picker', undefined, undefined, defineCustomElement$F);
|
|
668
|
+
const IonPickerColumn = /*@__PURE__*/ createReactComponent('ion-picker-column', undefined, undefined, defineCustomElement$G);
|
|
669
|
+
const IonPickerColumnOption = /*@__PURE__*/ createReactComponent('ion-picker-column-option', undefined, undefined, defineCustomElement$H);
|
|
670
|
+
const IonProgressBar = /*@__PURE__*/ createReactComponent('ion-progress-bar', undefined, undefined, defineCustomElement$I);
|
|
671
|
+
const IonRadio = /*@__PURE__*/ createReactComponent('ion-radio', undefined, undefined, defineCustomElement$J);
|
|
672
|
+
const IonRadioGroup = /*@__PURE__*/ createReactComponent('ion-radio-group', undefined, undefined, defineCustomElement$K);
|
|
673
|
+
const IonRange = /*@__PURE__*/ createReactComponent('ion-range', undefined, undefined, defineCustomElement$L);
|
|
674
|
+
const IonRefresher = /*@__PURE__*/ createReactComponent('ion-refresher', undefined, undefined, defineCustomElement$M);
|
|
675
|
+
const IonRefresherContent = /*@__PURE__*/ createReactComponent('ion-refresher-content', undefined, undefined, defineCustomElement$N);
|
|
676
|
+
const IonReorder = /*@__PURE__*/ createReactComponent('ion-reorder', undefined, undefined, defineCustomElement$O);
|
|
677
|
+
const IonReorderGroup = /*@__PURE__*/ createReactComponent('ion-reorder-group', undefined, undefined, defineCustomElement$P);
|
|
678
|
+
const IonRippleEffect = /*@__PURE__*/ createReactComponent('ion-ripple-effect', undefined, undefined, defineCustomElement$Q);
|
|
679
|
+
const IonRow = /*@__PURE__*/ createReactComponent('ion-row', undefined, undefined, defineCustomElement$R);
|
|
680
|
+
const IonSearchbar = /*@__PURE__*/ createReactComponent('ion-searchbar', undefined, undefined, defineCustomElement$S);
|
|
681
|
+
const IonSegment = /*@__PURE__*/ createReactComponent('ion-segment', undefined, undefined, defineCustomElement$T);
|
|
682
|
+
const IonSegmentButton = /*@__PURE__*/ createReactComponent('ion-segment-button', undefined, undefined, defineCustomElement$U);
|
|
683
|
+
const IonSegmentContent = /*@__PURE__*/ createReactComponent('ion-segment-content', undefined, undefined, defineCustomElement$V);
|
|
684
|
+
const IonSegmentView = /*@__PURE__*/ createReactComponent('ion-segment-view', undefined, undefined, defineCustomElement$W);
|
|
685
|
+
const IonSelect = /*@__PURE__*/ createReactComponent('ion-select', undefined, undefined, defineCustomElement$X);
|
|
686
|
+
const IonSelectModal = /*@__PURE__*/ createReactComponent('ion-select-modal', undefined, undefined, defineCustomElement$Y);
|
|
687
|
+
const IonSelectOption = /*@__PURE__*/ createReactComponent('ion-select-option', undefined, undefined, defineCustomElement$Z);
|
|
688
|
+
const IonSkeletonText = /*@__PURE__*/ createReactComponent('ion-skeleton-text', undefined, undefined, defineCustomElement$_);
|
|
689
|
+
const IonSpinner = /*@__PURE__*/ createReactComponent('ion-spinner', undefined, undefined, defineCustomElement$$);
|
|
690
|
+
const IonSplitPane = /*@__PURE__*/ createReactComponent('ion-split-pane', undefined, undefined, defineCustomElement$10);
|
|
691
|
+
const IonTab = /*@__PURE__*/ createReactComponent('ion-tab', undefined, undefined, defineCustomElement$11);
|
|
692
|
+
const IonText = /*@__PURE__*/ createReactComponent('ion-text', undefined, undefined, defineCustomElement$12);
|
|
693
|
+
const IonTextarea = /*@__PURE__*/ createReactComponent('ion-textarea', undefined, undefined, defineCustomElement$13);
|
|
694
|
+
const IonThumbnail = /*@__PURE__*/ createReactComponent('ion-thumbnail', undefined, undefined, defineCustomElement$14);
|
|
695
|
+
const IonTitle = /*@__PURE__*/ createReactComponent('ion-title', undefined, undefined, defineCustomElement$15);
|
|
696
|
+
const IonToggle = /*@__PURE__*/ createReactComponent('ion-toggle', undefined, undefined, defineCustomElement$16);
|
|
697
|
+
const IonToolbar = /*@__PURE__*/ createReactComponent('ion-toolbar', undefined, undefined, defineCustomElement$17);
|
|
702
698
|
|
|
703
699
|
const createForwardRef = (ReactComponent, // TODO(FW-2959): type
|
|
704
700
|
displayName) => {
|
|
@@ -990,19 +986,19 @@ const createInlineOverlayComponent = (tagName, defineCustomElement, hasDelegateH
|
|
|
990
986
|
};
|
|
991
987
|
const DELEGATE_HOST = 'ion-delegate-host';
|
|
992
988
|
|
|
993
|
-
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$
|
|
989
|
+
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$18);
|
|
994
990
|
|
|
995
|
-
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$
|
|
991
|
+
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$19);
|
|
996
992
|
|
|
997
|
-
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$
|
|
993
|
+
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$1a);
|
|
998
994
|
|
|
999
|
-
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$
|
|
995
|
+
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$1b);
|
|
1000
996
|
|
|
1001
|
-
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$
|
|
997
|
+
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$1c);
|
|
1002
998
|
|
|
1003
|
-
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$
|
|
999
|
+
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$1d, true);
|
|
1004
1000
|
|
|
1005
|
-
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$
|
|
1001
|
+
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$1e);
|
|
1006
1002
|
|
|
1007
1003
|
const IonContext = React.createContext({
|
|
1008
1004
|
addOverlay: () => {
|
|
@@ -1094,14 +1090,14 @@ const IonOverlayManager = ({ onAddOverlay, onRemoveOverlay }) => {
|
|
|
1094
1090
|
}) }));
|
|
1095
1091
|
};
|
|
1096
1092
|
|
|
1097
|
-
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$
|
|
1098
|
-
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$
|
|
1099
|
-
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$
|
|
1100
|
-
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$
|
|
1101
|
-
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$
|
|
1102
|
-
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$
|
|
1093
|
+
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1f);
|
|
1094
|
+
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1g);
|
|
1095
|
+
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1h);
|
|
1096
|
+
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1i);
|
|
1097
|
+
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$1j);
|
|
1098
|
+
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1k);
|
|
1103
1099
|
// ionicons
|
|
1104
|
-
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$
|
|
1100
|
+
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$1l);
|
|
1105
1101
|
|
|
1106
1102
|
class IonApp extends React.Component {
|
|
1107
1103
|
constructor(props) {
|
|
@@ -1139,7 +1135,18 @@ class PageManager extends React.PureComponent {
|
|
|
1139
1135
|
super(props);
|
|
1140
1136
|
this.ionPageElementRef = React.createRef();
|
|
1141
1137
|
// React refs must be stable (not created inline).
|
|
1142
|
-
|
|
1138
|
+
// Wrap merged refs to add ion-page-invisible synchronously when element is created
|
|
1139
|
+
const baseMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1140
|
+
this.stableMergedRefs = (node) => {
|
|
1141
|
+
if (node && !node.classList.contains('ion-page-invisible') && !node.classList.contains('ion-page-hidden')) {
|
|
1142
|
+
// Add ion-page-invisible synchronously before first paint (if in an outlet)
|
|
1143
|
+
// This prevents the flash that occurs when componentDidMount runs after paint
|
|
1144
|
+
if (this.context?.isInOutlet?.()) {
|
|
1145
|
+
node.classList.add('ion-page-invisible');
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
baseMergedRefs(node);
|
|
1149
|
+
};
|
|
1143
1150
|
/**
|
|
1144
1151
|
* This binds the scope of the following methods to the class scope.
|
|
1145
1152
|
* The `.bind` method returns a new function, so we need to assign it
|
|
@@ -1151,11 +1158,38 @@ class PageManager extends React.PureComponent {
|
|
|
1151
1158
|
this.ionViewWillLeaveHandler = this.ionViewWillLeaveHandler.bind(this);
|
|
1152
1159
|
this.ionViewDidLeaveHandler = this.ionViewDidLeaveHandler.bind(this);
|
|
1153
1160
|
}
|
|
1161
|
+
parseClasses(className) {
|
|
1162
|
+
if (!className)
|
|
1163
|
+
return new Set();
|
|
1164
|
+
return new Set(className.split(/\s+/).filter(Boolean));
|
|
1165
|
+
}
|
|
1166
|
+
/**
|
|
1167
|
+
* Updates classList by diffing old/new className props.
|
|
1168
|
+
* Preserves framework-added classes (can-go-back, ion-page-invisible, etc.).
|
|
1169
|
+
*/
|
|
1170
|
+
updateUserClasses(oldClassName, newClassName) {
|
|
1171
|
+
if (!this.ionPageElementRef.current)
|
|
1172
|
+
return;
|
|
1173
|
+
const oldClasses = this.parseClasses(oldClassName);
|
|
1174
|
+
const newClasses = this.parseClasses(newClassName);
|
|
1175
|
+
oldClasses.forEach((cls) => {
|
|
1176
|
+
if (!newClasses.has(cls)) {
|
|
1177
|
+
this.ionPageElementRef.current.classList.remove(cls);
|
|
1178
|
+
}
|
|
1179
|
+
});
|
|
1180
|
+
newClasses.forEach((cls) => {
|
|
1181
|
+
if (!oldClasses.has(cls)) {
|
|
1182
|
+
this.ionPageElementRef.current.classList.add(cls);
|
|
1183
|
+
}
|
|
1184
|
+
});
|
|
1185
|
+
}
|
|
1154
1186
|
componentDidMount() {
|
|
1155
1187
|
if (this.ionPageElementRef.current) {
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1188
|
+
// Add user classes via DOM manipulation to preserve framework-added classes.
|
|
1189
|
+
// We only set "ion-page" in JSX; user classes are added here.
|
|
1190
|
+
// Note: ion-page-invisible is added in the ref callback (stableMergedRefs) to prevent flash.
|
|
1191
|
+
// The ref callback runs synchronously when the element is created, before the browser paints.
|
|
1192
|
+
this.updateUserClasses(undefined, this.props.className);
|
|
1159
1193
|
this.context.registerIonPage(this.ionPageElementRef.current, this.props.routeInfo);
|
|
1160
1194
|
this.ionPageElementRef.current.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
1161
1195
|
this.ionPageElementRef.current.addEventListener('ionViewDidEnter', this.ionViewDidEnterHandler);
|
|
@@ -1163,6 +1197,11 @@ class PageManager extends React.PureComponent {
|
|
|
1163
1197
|
this.ionPageElementRef.current.addEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler);
|
|
1164
1198
|
}
|
|
1165
1199
|
}
|
|
1200
|
+
componentDidUpdate(prevProps) {
|
|
1201
|
+
if (prevProps.className !== this.props.className) {
|
|
1202
|
+
this.updateUserClasses(prevProps.className, this.props.className);
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1166
1205
|
componentWillUnmount() {
|
|
1167
1206
|
if (this.ionPageElementRef.current) {
|
|
1168
1207
|
this.ionPageElementRef.current.removeEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
@@ -1192,9 +1231,11 @@ class PageManager extends React.PureComponent {
|
|
|
1192
1231
|
render() {
|
|
1193
1232
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1194
1233
|
const { className, children, routeInfo, forwardedRef, ...props } = this.props;
|
|
1234
|
+
// Only set "ion-page" in JSX. User classes are managed via DOM in componentDidMount/componentDidUpdate
|
|
1235
|
+
// to preserve framework-added classes (can-go-back, ion-page-invisible, etc.) when className prop changes.
|
|
1195
1236
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1196
1237
|
this.ionLifeCycleContext = context;
|
|
1197
|
-
return (jsx("div", { className:
|
|
1238
|
+
return (jsx("div", { className: "ion-page", ref: this.stableMergedRefs, ...props, children: children }));
|
|
1198
1239
|
} }));
|
|
1199
1240
|
}
|
|
1200
1241
|
static get contextType() {
|
|
@@ -1254,7 +1295,7 @@ const ReactDelegate = (addView, removeView) => {
|
|
|
1254
1295
|
};
|
|
1255
1296
|
};
|
|
1256
1297
|
|
|
1257
|
-
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$
|
|
1298
|
+
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$1m);
|
|
1258
1299
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1259
1300
|
const IonNavInternal = ({ children, forwardedRef, ...restOfProps }) => {
|
|
1260
1301
|
const [views, setViews] = useState([]);
|
|
@@ -1333,10 +1374,10 @@ class OutletPageManager extends React.Component {
|
|
|
1333
1374
|
this.ionLifeCycleContext.ionViewDidLeave();
|
|
1334
1375
|
}
|
|
1335
1376
|
render() {
|
|
1336
|
-
const { StackManager, children, routeInfo, ...props } = this.props;
|
|
1377
|
+
const { StackManager, children, routeInfo, id, ...props } = this.props;
|
|
1337
1378
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1338
1379
|
this.ionLifeCycleContext = context;
|
|
1339
|
-
return (jsx(StackManager, { routeInfo: routeInfo, children: jsx(IonRouterOutletInner, { setRef: (val) => (this.ionRouterOutlet = val), ...props, children: children }) }));
|
|
1380
|
+
return (jsx(StackManager, { id: id, routeInfo: routeInfo, children: jsx(IonRouterOutletInner, { id: id, setRef: (val) => (this.ionRouterOutlet = val), ...props, children: children }) }));
|
|
1340
1381
|
} }));
|
|
1341
1382
|
}
|
|
1342
1383
|
static get contextType() {
|
|
@@ -1347,11 +1388,13 @@ class OutletPageManager extends React.Component {
|
|
|
1347
1388
|
class IonRouterOutletContainer extends React.Component {
|
|
1348
1389
|
constructor(props) {
|
|
1349
1390
|
super(props);
|
|
1391
|
+
this.outletId = props.id ?? `routerOutlet-${generateId('routerOutlet')}`;
|
|
1350
1392
|
}
|
|
1351
1393
|
render() {
|
|
1352
1394
|
const StackManager = this.context.getStackManager();
|
|
1353
1395
|
const { children, forwardedRef, ...props } = this.props;
|
|
1354
|
-
|
|
1396
|
+
const outletId = props.id ?? this.outletId;
|
|
1397
|
+
return this.context.hasIonicRouter() ? (props.ionPage ? (jsx(OutletPageManager, { StackManager: StackManager, routeInfo: this.context.routeInfo, ...props, children: children })) : (jsx(StackManager, { routeInfo: this.context.routeInfo, id: outletId, children: jsx(IonRouterOutletInner, { ...props, id: outletId, forwardedRef: forwardedRef, children: children }) }))) : (jsx(IonRouterOutletInner, { ref: forwardedRef, ...this.props, children: this.props.children }));
|
|
1355
1398
|
}
|
|
1356
1399
|
static get contextType() {
|
|
1357
1400
|
return NavContext;
|
|
@@ -1832,20 +1875,6 @@ class IonRoute extends React.PureComponent {
|
|
|
1832
1875
|
}
|
|
1833
1876
|
}
|
|
1834
1877
|
|
|
1835
|
-
class IonRedirect extends React.PureComponent {
|
|
1836
|
-
render() {
|
|
1837
|
-
const IonRedirectInner = this.context.getIonRedirect();
|
|
1838
|
-
if (!this.context.hasIonicRouter() || !IonRedirect) {
|
|
1839
|
-
console.error('You either do not have an Ionic Router package, or your router does not support using <IonRedirect>');
|
|
1840
|
-
return null;
|
|
1841
|
-
}
|
|
1842
|
-
return jsx(IonRedirectInner, { ...this.props });
|
|
1843
|
-
}
|
|
1844
|
-
static get contextType() {
|
|
1845
|
-
return NavContext;
|
|
1846
|
-
}
|
|
1847
|
-
}
|
|
1848
|
-
|
|
1849
1878
|
const IonRouterContext = React.createContext({
|
|
1850
1879
|
routeInfo: undefined, // TODO(FW-2959): type
|
|
1851
1880
|
push: () => {
|
|
@@ -2026,7 +2055,7 @@ function useController(displayName, controller, defineCustomElement) {
|
|
|
2026
2055
|
* @returns Returns the present and dismiss methods in an array
|
|
2027
2056
|
*/
|
|
2028
2057
|
function useIonActionSheet() {
|
|
2029
|
-
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$
|
|
2058
|
+
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$1c);
|
|
2030
2059
|
const present = useCallback((buttonsOrOptions, header) => {
|
|
2031
2060
|
if (Array.isArray(buttonsOrOptions)) {
|
|
2032
2061
|
return controller.present({
|
|
@@ -2046,7 +2075,7 @@ function useIonActionSheet() {
|
|
|
2046
2075
|
* @returns Returns the present and dismiss methods in an array
|
|
2047
2076
|
*/
|
|
2048
2077
|
function useIonAlert() {
|
|
2049
|
-
const controller = useController('IonAlert', alertController, defineCustomElement$
|
|
2078
|
+
const controller = useController('IonAlert', alertController, defineCustomElement$18);
|
|
2050
2079
|
const present = useCallback((messageOrOptions, buttons) => {
|
|
2051
2080
|
if (typeof messageOrOptions === 'string') {
|
|
2052
2081
|
return controller.present({
|
|
@@ -2066,7 +2095,7 @@ function useIonAlert() {
|
|
|
2066
2095
|
* @returns Returns the present and dismiss methods in an array
|
|
2067
2096
|
*/
|
|
2068
2097
|
function useIonToast() {
|
|
2069
|
-
const controller = useController('IonToast', toastController, defineCustomElement$
|
|
2098
|
+
const controller = useController('IonToast', toastController, defineCustomElement$1a);
|
|
2070
2099
|
const present = useCallback((messageOrOptions, duration) => {
|
|
2071
2100
|
if (typeof messageOrOptions === 'string') {
|
|
2072
2101
|
return controller.present({
|
|
@@ -2152,7 +2181,7 @@ function useOverlay(displayName, controller, defineCustomElement, component, com
|
|
|
2152
2181
|
* @returns Returns the present and dismiss methods in an array
|
|
2153
2182
|
*/
|
|
2154
2183
|
function useIonModal(component, componentProps) {
|
|
2155
|
-
const controller = useOverlay('IonModal', modalController, defineCustomElement$
|
|
2184
|
+
const controller = useOverlay('IonModal', modalController, defineCustomElement$1d, component, componentProps);
|
|
2156
2185
|
const present = useCallback((options = {}) => {
|
|
2157
2186
|
controller.present(options);
|
|
2158
2187
|
}, [controller.present]);
|
|
@@ -2167,7 +2196,7 @@ function useIonModal(component, componentProps) {
|
|
|
2167
2196
|
* @returns Returns the present and dismiss methods in an array
|
|
2168
2197
|
*/
|
|
2169
2198
|
function useIonPopover(component, componentProps) {
|
|
2170
|
-
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$
|
|
2199
|
+
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$1e, component, componentProps);
|
|
2171
2200
|
const present = useCallback((options = {}) => {
|
|
2172
2201
|
controller.present(options);
|
|
2173
2202
|
}, [controller.present]);
|
|
@@ -2180,7 +2209,7 @@ function useIonPopover(component, componentProps) {
|
|
|
2180
2209
|
* @deprecated Use the inline ion-picker component instead.
|
|
2181
2210
|
*/
|
|
2182
2211
|
function useIonPicker() {
|
|
2183
|
-
const controller = useController('IonPicker', pickerController, defineCustomElement$
|
|
2212
|
+
const controller = useController('IonPicker', pickerController, defineCustomElement$1b);
|
|
2184
2213
|
const present = useCallback((columnsOrOptions, buttons) => {
|
|
2185
2214
|
if (Array.isArray(columnsOrOptions)) {
|
|
2186
2215
|
return controller.present({
|
|
@@ -2200,7 +2229,7 @@ function useIonPicker() {
|
|
|
2200
2229
|
* @returns Returns the present and dismiss methods in an array
|
|
2201
2230
|
*/
|
|
2202
2231
|
function useIonLoading() {
|
|
2203
|
-
const controller = useController('IonLoading', loadingController, defineCustomElement$
|
|
2232
|
+
const controller = useController('IonLoading', loadingController, defineCustomElement$19);
|
|
2204
2233
|
const present = useCallback((messageOrOptions = {}, duration, spinner) => {
|
|
2205
2234
|
if (typeof messageOrOptions === 'string') {
|
|
2206
2235
|
return controller.present({
|
|
@@ -2242,6 +2271,7 @@ const RouteManagerContext = /*@__PURE__*/ React.createContext({
|
|
|
2242
2271
|
findLeavingViewItemByRouteInfo: () => undefined,
|
|
2243
2272
|
findViewItemByRouteInfo: () => undefined,
|
|
2244
2273
|
getChildrenToRender: () => undefined,
|
|
2274
|
+
getViewItemsForOutlet: () => [],
|
|
2245
2275
|
goBack: () => undefined,
|
|
2246
2276
|
unMountViewItem: () => undefined,
|
|
2247
2277
|
});
|
|
@@ -2360,7 +2390,14 @@ class LocationHistory {
|
|
|
2360
2390
|
_replace(routeInfo) {
|
|
2361
2391
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
2362
2392
|
routeInfos && routeInfos.pop();
|
|
2363
|
-
|
|
2393
|
+
// Get the current route that's being replaced
|
|
2394
|
+
const currentRoute = this.locationHistory[this.locationHistory.length - 1];
|
|
2395
|
+
// Only pop from global history if we're replacing in the same outlet context.
|
|
2396
|
+
// Don't pop if we're entering a nested outlet (current route has no tab, new route has a tab)
|
|
2397
|
+
const isEnteringNestedOutlet = currentRoute && !currentRoute.tab && !!routeInfo.tab;
|
|
2398
|
+
if (!isEnteringNestedOutlet) {
|
|
2399
|
+
this.locationHistory.pop();
|
|
2400
|
+
}
|
|
2364
2401
|
this._add(routeInfo);
|
|
2365
2402
|
}
|
|
2366
2403
|
_clear() {
|
|
@@ -2423,6 +2460,17 @@ class LocationHistory {
|
|
|
2423
2460
|
canGoBack() {
|
|
2424
2461
|
return this.locationHistory.length > 1;
|
|
2425
2462
|
}
|
|
2463
|
+
findTabForPathname(pathname) {
|
|
2464
|
+
for (const tab of Object.keys(this.tabHistory)) {
|
|
2465
|
+
const routeInfos = this.tabHistory[tab];
|
|
2466
|
+
for (let i = routeInfos.length - 1; i >= 0; i--) {
|
|
2467
|
+
if (routeInfos[i].pathname === pathname) {
|
|
2468
|
+
return tab;
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
return undefined;
|
|
2473
|
+
}
|
|
2426
2474
|
}
|
|
2427
2475
|
|
|
2428
2476
|
class NavManager extends React.PureComponent {
|
|
@@ -2443,10 +2491,8 @@ class NavManager extends React.PureComponent {
|
|
|
2443
2491
|
goBack: this.goBack.bind(this),
|
|
2444
2492
|
hasIonicRouter: () => true,
|
|
2445
2493
|
navigate: this.navigate.bind(this),
|
|
2446
|
-
getIonRedirect: this.getIonRedirect.bind(this),
|
|
2447
2494
|
getIonRoute: this.getIonRoute.bind(this),
|
|
2448
2495
|
getStackManager: this.getStackManager.bind(this),
|
|
2449
|
-
getPageManager: this.getPageManager.bind(this),
|
|
2450
2496
|
routeInfo: this.props.routeInfo,
|
|
2451
2497
|
setCurrentTab: this.props.onSetCurrentTab,
|
|
2452
2498
|
changeTab: this.props.onChangeTab,
|
|
@@ -2479,12 +2525,6 @@ class NavManager extends React.PureComponent {
|
|
|
2479
2525
|
navigate(path, direction = 'forward', action = 'push', animationBuilder, options, tab) {
|
|
2480
2526
|
this.props.onNavigate(path, action, direction, animationBuilder, options, tab);
|
|
2481
2527
|
}
|
|
2482
|
-
getPageManager() {
|
|
2483
|
-
return PageManager;
|
|
2484
|
-
}
|
|
2485
|
-
getIonRedirect() {
|
|
2486
|
-
return this.props.ionRedirect;
|
|
2487
|
-
}
|
|
2488
2528
|
getIonRoute() {
|
|
2489
2529
|
return this.props.ionRoute;
|
|
2490
2530
|
}
|
|
@@ -2546,5 +2586,5 @@ class ViewStacks {
|
|
|
2546
2586
|
}
|
|
2547
2587
|
}
|
|
2548
2588
|
|
|
2549
|
-
export { CreateAnimation, DefaultIonLifeCycleContext, IonAccordion, IonAccordionGroup, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton,
|
|
2589
|
+
export { CreateAnimation, DefaultIonLifeCycleContext, IonAccordion, IonAccordionGroup, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonInputOtp, IonInputPasswordToggle, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonLifeCycleContext, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPage, IonPicker, IonPickerColumn, IonPickerColumnOption, IonPickerLegacy, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRoute, IonRouterContext, IonRouterLink, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSegmentContent, IonSegmentView, IonSelect, IonSelectModal, IonSelectOption, IonSkeletonText, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonTabsContext, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, LocationHistory, NavContext, NavManager, RouteManagerContext, StackContext, ViewLifeCycleManager, ViewStacks, generateId, getConfig, getPlatforms, isPlatform, setupIonicReact, useIonActionSheet, useIonAlert, useIonLoading, useIonModal, useIonPicker, useIonPopover, useIonRouter, useIonToast, useIonViewDidEnter, useIonViewDidLeave, useIonViewWillEnter, useIonViewWillLeave, withIonLifeCycle };
|
|
2550
2590
|
//# sourceMappingURL=index.js.map
|