@ionic/react 8.8.4-dev.11775078622.1402ffa2 → 8.8.4-dev.11775666666.132201b7
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/bundle.ionic.css +1 -0
- package/css/ionic/bundle.ionic.css.map +1 -0
- package/css/ionic/core.ionic.css +1 -0
- package/css/ionic/core.ionic.css.map +1 -0
- package/css/ionic/global.bundle.ionic.css +1 -0
- package/css/ionic/global.bundle.ionic.css.map +1 -0
- package/css/ionic/ionic-swiper.ionic.css +1 -0
- package/css/ionic/ionic-swiper.ionic.css.map +1 -0
- package/css/ionic/link.ionic.css +1 -0
- package/css/ionic/link.ionic.css.map +1 -0
- package/css/ionic/structure.ionic.css +1 -0
- package/css/ionic/structure.ionic.css.map +1 -0
- package/css/ionic/typography.ionic.css +1 -0
- package/css/ionic/typography.ionic.css.map +1 -0
- package/css/ionic/utils.bundle.ionic.css +1 -0
- package/css/ionic/utils.bundle.ionic.css.map +1 -0
- 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 +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css +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 +189 -254
- package/dist/index.js.map +1 -1
- package/dist/types/components/IonRedirect.d.ts +16 -0
- package/dist/types/components/IonRoute.d.ts +2 -3
- package/dist/types/components/IonRouterContext.d.ts +0 -8
- package/dist/types/components/IonRouterOutlet.d.ts +0 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/proxies.d.ts +1 -0
- package/dist/types/contexts/NavContext.d.ts +2 -0
- package/dist/types/routing/LocationHistory.d.ts +0 -7
- package/dist/types/routing/NavManager.d.ts +4 -1
- package/dist/types/routing/OutletPageManager.d.ts +0 -1
- package/dist/types/routing/PageManager.d.ts +0 -7
- package/dist/types/routing/RouteManagerContext.d.ts +1 -6
- package/dist/types/routing/ViewStacks.d.ts +2 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -20,61 +20,62 @@ 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
|
|
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
|
|
31
|
-
import { defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-
|
|
32
|
-
import { defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-input
|
|
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
|
|
41
|
-
import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-
|
|
42
|
-
import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-menu
|
|
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
|
|
49
|
-
import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-picker-column
|
|
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
|
|
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
|
|
56
|
-
import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-
|
|
57
|
-
import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-reorder
|
|
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
|
|
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
|
|
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-
|
|
23
|
+
import { defineCustomElement as defineCustomElement$i } from '@ionic/core/components/ion-divider.js';
|
|
24
|
+
import { defineCustomElement as defineCustomElement$j } from '@ionic/core/components/ion-fab.js';
|
|
25
|
+
import { defineCustomElement as defineCustomElement$k } from '@ionic/core/components/ion-fab-list.js';
|
|
26
|
+
import { defineCustomElement as defineCustomElement$l } from '@ionic/core/components/ion-footer.js';
|
|
27
|
+
import { defineCustomElement as defineCustomElement$m } from '@ionic/core/components/ion-grid.js';
|
|
28
|
+
import { defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-header.js';
|
|
29
|
+
import { defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-img.js';
|
|
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-infinite-scroll-content.js';
|
|
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-otp.js';
|
|
34
|
+
import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-input-password-toggle.js';
|
|
35
|
+
import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-item-divider.js';
|
|
36
|
+
import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-item-group.js';
|
|
37
|
+
import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-item-options.js';
|
|
38
|
+
import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-item-sliding.js';
|
|
39
|
+
import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-label.js';
|
|
40
|
+
import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-list.js';
|
|
41
|
+
import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-list-header.js';
|
|
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-button.js';
|
|
44
|
+
import { defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-menu-toggle.js';
|
|
45
|
+
import { defineCustomElement as defineCustomElement$1n } from '@ionic/core/components/ion-nav.js';
|
|
46
|
+
import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-nav-link.js';
|
|
47
|
+
import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-note.js';
|
|
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-picker-column-option.js';
|
|
51
|
+
import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-progress-bar.js';
|
|
52
|
+
import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-radio.js';
|
|
53
|
+
import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-radio-group.js';
|
|
54
|
+
import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-range.js';
|
|
55
|
+
import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-refresher.js';
|
|
56
|
+
import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-refresher-content.js';
|
|
57
|
+
import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-reorder.js';
|
|
58
|
+
import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-reorder-group.js';
|
|
59
|
+
import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-ripple-effect.js';
|
|
60
|
+
import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-row.js';
|
|
61
|
+
import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-searchbar.js';
|
|
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-button.js';
|
|
64
|
+
import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-segment-content.js';
|
|
65
|
+
import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-segment-view.js';
|
|
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-modal.js';
|
|
68
|
+
import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-select-option.js';
|
|
69
|
+
import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-skeleton-text.js';
|
|
70
|
+
import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-spinner.js';
|
|
71
|
+
import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-split-pane.js';
|
|
72
|
+
import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-tab.js';
|
|
73
|
+
import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-text.js';
|
|
74
|
+
import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-textarea.js';
|
|
75
|
+
import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-thumbnail.js';
|
|
76
|
+
import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-title.js';
|
|
77
|
+
import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/components/ion-toggle.js';
|
|
78
|
+
import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-toolbar.js';
|
|
78
79
|
import { IonBreadcrumb as IonBreadcrumb$1 } from '@ionic/core/components/ion-breadcrumb.js';
|
|
79
80
|
import { IonButton as IonButton$1 } from '@ionic/core/components/ion-button.js';
|
|
80
81
|
import { IonCard as IonCard$1 } from '@ionic/core/components/ion-card.js';
|
|
@@ -82,20 +83,20 @@ import { IonFabButton as IonFabButton$1 } from '@ionic/core/components/ion-fab-b
|
|
|
82
83
|
import { IonItemOption as IonItemOption$1 } from '@ionic/core/components/ion-item-option.js';
|
|
83
84
|
import { IonItem as IonItem$1 } from '@ionic/core/components/ion-item.js';
|
|
84
85
|
import { IonRouterLink as IonRouterLink$1 } from '@ionic/core/components/ion-router-link.js';
|
|
85
|
-
import { defineCustomElement as defineCustomElement$
|
|
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$
|
|
86
|
+
import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-alert.js';
|
|
87
|
+
import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-loading.js';
|
|
88
|
+
import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-toast.js';
|
|
89
|
+
import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-picker-legacy.js';
|
|
90
|
+
import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-action-sheet.js';
|
|
91
|
+
import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-modal.js';
|
|
92
|
+
import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-popover.js';
|
|
93
|
+
import { defineCustomElement as defineCustomElement$1l } from '@ionic/core/components/ion-app.js';
|
|
94
|
+
import { defineCustomElement as defineCustomElement$1j } from '@ionic/core/components/ion-back-button.js';
|
|
95
|
+
import { defineCustomElement as defineCustomElement$1k } from '@ionic/core/components/ion-router-outlet.js';
|
|
96
|
+
import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-tab-bar.js';
|
|
97
|
+
import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-tab-button.js';
|
|
98
|
+
import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-tabs.js';
|
|
99
|
+
import { defineCustomElement as defineCustomElement$1m } from 'ionicons/components/ion-icon.js';
|
|
99
100
|
|
|
100
101
|
const IonLifeCycleContext = /*@__PURE__*/ React.createContext({
|
|
101
102
|
onIonViewWillEnter: () => {
|
|
@@ -380,7 +381,9 @@ const useIonViewDidLeave = (callback, deps = []) => {
|
|
|
380
381
|
};
|
|
381
382
|
|
|
382
383
|
const NavContext = /*@__PURE__*/ React.createContext({
|
|
384
|
+
getIonRedirect: () => undefined,
|
|
383
385
|
getIonRoute: () => undefined,
|
|
386
|
+
getPageManager: () => undefined,
|
|
384
387
|
getStackManager: () => undefined,
|
|
385
388
|
goBack: (route) => {
|
|
386
389
|
if (typeof window !== 'undefined') {
|
|
@@ -641,60 +644,61 @@ const IonCol = /*@__PURE__*/ createReactComponent('ion-col', undefined, undefine
|
|
|
641
644
|
const IonContent = /*@__PURE__*/ createReactComponent('ion-content', undefined, undefined, defineCustomElement$f);
|
|
642
645
|
const IonDatetime = /*@__PURE__*/ createReactComponent('ion-datetime', undefined, undefined, defineCustomElement$g);
|
|
643
646
|
const IonDatetimeButton = /*@__PURE__*/ createReactComponent('ion-datetime-button', undefined, undefined, defineCustomElement$h);
|
|
644
|
-
const
|
|
645
|
-
const
|
|
646
|
-
const
|
|
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
|
|
647
|
+
const IonDivider = /*@__PURE__*/ createReactComponent('ion-divider', undefined, undefined, defineCustomElement$i);
|
|
648
|
+
const IonFab = /*@__PURE__*/ createReactComponent('ion-fab', undefined, undefined, defineCustomElement$j);
|
|
649
|
+
const IonFabList = /*@__PURE__*/ createReactComponent('ion-fab-list', undefined, undefined, defineCustomElement$k);
|
|
650
|
+
const IonFooter = /*@__PURE__*/ createReactComponent('ion-footer', undefined, undefined, defineCustomElement$l);
|
|
651
|
+
const IonGrid = /*@__PURE__*/ createReactComponent('ion-grid', undefined, undefined, defineCustomElement$m);
|
|
652
|
+
const IonHeader = /*@__PURE__*/ createReactComponent('ion-header', undefined, undefined, defineCustomElement$n);
|
|
653
|
+
const IonImg = /*@__PURE__*/ createReactComponent('ion-img', undefined, undefined, defineCustomElement$o);
|
|
654
|
+
const IonInfiniteScroll = /*@__PURE__*/ createReactComponent('ion-infinite-scroll', undefined, undefined, defineCustomElement$p);
|
|
655
|
+
const IonInfiniteScrollContent = /*@__PURE__*/ createReactComponent('ion-infinite-scroll-content', undefined, undefined, defineCustomElement$q);
|
|
656
|
+
const IonInput = /*@__PURE__*/ createReactComponent('ion-input', undefined, undefined, defineCustomElement$r);
|
|
657
|
+
const IonInputOtp = /*@__PURE__*/ createReactComponent('ion-input-otp', undefined, undefined, defineCustomElement$s);
|
|
658
|
+
const IonInputPasswordToggle = /*@__PURE__*/ createReactComponent('ion-input-password-toggle', undefined, undefined, defineCustomElement$t);
|
|
659
|
+
const IonItemDivider = /*@__PURE__*/ createReactComponent('ion-item-divider', undefined, undefined, defineCustomElement$u);
|
|
660
|
+
const IonItemGroup = /*@__PURE__*/ createReactComponent('ion-item-group', undefined, undefined, defineCustomElement$v);
|
|
661
|
+
const IonItemOptions = /*@__PURE__*/ createReactComponent('ion-item-options', undefined, undefined, defineCustomElement$w);
|
|
662
|
+
const IonItemSliding = /*@__PURE__*/ createReactComponent('ion-item-sliding', undefined, undefined, defineCustomElement$x);
|
|
663
|
+
const IonLabel = /*@__PURE__*/ createReactComponent('ion-label', undefined, undefined, defineCustomElement$y);
|
|
664
|
+
const IonList = /*@__PURE__*/ createReactComponent('ion-list', undefined, undefined, defineCustomElement$z);
|
|
665
|
+
const IonListHeader = /*@__PURE__*/ createReactComponent('ion-list-header', undefined, undefined, defineCustomElement$A);
|
|
666
|
+
const IonMenu = /*@__PURE__*/ createReactComponent('ion-menu', undefined, undefined, defineCustomElement$B);
|
|
667
|
+
const IonMenuButton = /*@__PURE__*/ createReactComponent('ion-menu-button', undefined, undefined, defineCustomElement$C);
|
|
668
|
+
const IonMenuToggle = /*@__PURE__*/ createReactComponent('ion-menu-toggle', undefined, undefined, defineCustomElement$D);
|
|
669
|
+
const IonNavLink = /*@__PURE__*/ createReactComponent('ion-nav-link', undefined, undefined, defineCustomElement$E);
|
|
670
|
+
const IonNote = /*@__PURE__*/ createReactComponent('ion-note', undefined, undefined, defineCustomElement$F);
|
|
671
|
+
const IonPicker = /*@__PURE__*/ createReactComponent('ion-picker', undefined, undefined, defineCustomElement$G);
|
|
672
|
+
const IonPickerColumn = /*@__PURE__*/ createReactComponent('ion-picker-column', undefined, undefined, defineCustomElement$H);
|
|
673
|
+
const IonPickerColumnOption = /*@__PURE__*/ createReactComponent('ion-picker-column-option', undefined, undefined, defineCustomElement$I);
|
|
674
|
+
const IonProgressBar = /*@__PURE__*/ createReactComponent('ion-progress-bar', undefined, undefined, defineCustomElement$J);
|
|
675
|
+
const IonRadio = /*@__PURE__*/ createReactComponent('ion-radio', undefined, undefined, defineCustomElement$K);
|
|
676
|
+
const IonRadioGroup = /*@__PURE__*/ createReactComponent('ion-radio-group', undefined, undefined, defineCustomElement$L);
|
|
677
|
+
const IonRange = /*@__PURE__*/ createReactComponent('ion-range', undefined, undefined, defineCustomElement$M);
|
|
678
|
+
const IonRefresher = /*@__PURE__*/ createReactComponent('ion-refresher', undefined, undefined, defineCustomElement$N);
|
|
679
|
+
const IonRefresherContent = /*@__PURE__*/ createReactComponent('ion-refresher-content', undefined, undefined, defineCustomElement$O);
|
|
680
|
+
const IonReorder = /*@__PURE__*/ createReactComponent('ion-reorder', undefined, undefined, defineCustomElement$P);
|
|
681
|
+
const IonReorderGroup = /*@__PURE__*/ createReactComponent('ion-reorder-group', undefined, undefined, defineCustomElement$Q);
|
|
682
|
+
const IonRippleEffect = /*@__PURE__*/ createReactComponent('ion-ripple-effect', undefined, undefined, defineCustomElement$R);
|
|
683
|
+
const IonRow = /*@__PURE__*/ createReactComponent('ion-row', undefined, undefined, defineCustomElement$S);
|
|
684
|
+
const IonSearchbar = /*@__PURE__*/ createReactComponent('ion-searchbar', undefined, undefined, defineCustomElement$T);
|
|
685
|
+
const IonSegment = /*@__PURE__*/ createReactComponent('ion-segment', undefined, undefined, defineCustomElement$U);
|
|
686
|
+
const IonSegmentButton = /*@__PURE__*/ createReactComponent('ion-segment-button', undefined, undefined, defineCustomElement$V);
|
|
687
|
+
const IonSegmentContent = /*@__PURE__*/ createReactComponent('ion-segment-content', undefined, undefined, defineCustomElement$W);
|
|
688
|
+
const IonSegmentView = /*@__PURE__*/ createReactComponent('ion-segment-view', undefined, undefined, defineCustomElement$X);
|
|
689
|
+
const IonSelect = /*@__PURE__*/ createReactComponent('ion-select', undefined, undefined, defineCustomElement$Y);
|
|
690
|
+
const IonSelectModal = /*@__PURE__*/ createReactComponent('ion-select-modal', undefined, undefined, defineCustomElement$Z);
|
|
691
|
+
const IonSelectOption = /*@__PURE__*/ createReactComponent('ion-select-option', undefined, undefined, defineCustomElement$_);
|
|
692
|
+
const IonSkeletonText = /*@__PURE__*/ createReactComponent('ion-skeleton-text', undefined, undefined, defineCustomElement$$);
|
|
693
|
+
const IonSpinner = /*@__PURE__*/ createReactComponent('ion-spinner', undefined, undefined, defineCustomElement$10);
|
|
694
|
+
const IonSplitPane = /*@__PURE__*/ createReactComponent('ion-split-pane', undefined, undefined, defineCustomElement$11);
|
|
695
|
+
const IonTab = /*@__PURE__*/ createReactComponent('ion-tab', undefined, undefined, defineCustomElement$12);
|
|
696
|
+
const IonText = /*@__PURE__*/ createReactComponent('ion-text', undefined, undefined, defineCustomElement$13);
|
|
697
|
+
const IonTextarea = /*@__PURE__*/ createReactComponent('ion-textarea', undefined, undefined, defineCustomElement$14);
|
|
698
|
+
const IonThumbnail = /*@__PURE__*/ createReactComponent('ion-thumbnail', undefined, undefined, defineCustomElement$15);
|
|
699
|
+
const IonTitle = /*@__PURE__*/ createReactComponent('ion-title', undefined, undefined, defineCustomElement$16);
|
|
700
|
+
const IonToggle = /*@__PURE__*/ createReactComponent('ion-toggle', undefined, undefined, defineCustomElement$17);
|
|
701
|
+
const IonToolbar = /*@__PURE__*/ createReactComponent('ion-toolbar', undefined, undefined, defineCustomElement$18);
|
|
698
702
|
|
|
699
703
|
const createForwardRef = (ReactComponent, // TODO(FW-2959): type
|
|
700
704
|
displayName) => {
|
|
@@ -729,11 +733,6 @@ const createRoutingComponent = (tagName, customElement) => {
|
|
|
729
733
|
this.handleClick = (e) => {
|
|
730
734
|
const { routerLink, routerDirection, routerOptions, routerAnimation } = this.props;
|
|
731
735
|
if (routerLink !== undefined) {
|
|
732
|
-
// Allow modifier key clicks (ctrl/cmd/shift) to open the link in a new tab/window
|
|
733
|
-
// without triggering SPA navigation on the current page.
|
|
734
|
-
if (e.metaKey || e.ctrlKey || e.shiftKey) {
|
|
735
|
-
return;
|
|
736
|
-
}
|
|
737
736
|
e.preventDefault();
|
|
738
737
|
this.context.navigate(routerLink, routerDirection, undefined, routerAnimation, routerOptions);
|
|
739
738
|
}
|
|
@@ -991,19 +990,19 @@ const createInlineOverlayComponent = (tagName, defineCustomElement, hasDelegateH
|
|
|
991
990
|
};
|
|
992
991
|
const DELEGATE_HOST = 'ion-delegate-host';
|
|
993
992
|
|
|
994
|
-
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$
|
|
993
|
+
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$19);
|
|
995
994
|
|
|
996
|
-
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$
|
|
995
|
+
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$1a);
|
|
997
996
|
|
|
998
|
-
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$
|
|
997
|
+
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$1b);
|
|
999
998
|
|
|
1000
|
-
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$
|
|
999
|
+
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$1c);
|
|
1001
1000
|
|
|
1002
|
-
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$
|
|
1001
|
+
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$1d);
|
|
1003
1002
|
|
|
1004
|
-
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$
|
|
1003
|
+
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$1e, true);
|
|
1005
1004
|
|
|
1006
|
-
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$
|
|
1005
|
+
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$1f);
|
|
1007
1006
|
|
|
1008
1007
|
const IonContext = React.createContext({
|
|
1009
1008
|
addOverlay: () => {
|
|
@@ -1095,14 +1094,14 @@ const IonOverlayManager = ({ onAddOverlay, onRemoveOverlay }) => {
|
|
|
1095
1094
|
}) }));
|
|
1096
1095
|
};
|
|
1097
1096
|
|
|
1098
|
-
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$
|
|
1099
|
-
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$
|
|
1100
|
-
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$
|
|
1101
|
-
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$
|
|
1102
|
-
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$
|
|
1103
|
-
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$
|
|
1097
|
+
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1g);
|
|
1098
|
+
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1h);
|
|
1099
|
+
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1i);
|
|
1100
|
+
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1j);
|
|
1101
|
+
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$1k);
|
|
1102
|
+
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1l);
|
|
1104
1103
|
// ionicons
|
|
1105
|
-
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$
|
|
1104
|
+
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$1m);
|
|
1106
1105
|
|
|
1107
1106
|
class IonApp extends React.Component {
|
|
1108
1107
|
constructor(props) {
|
|
@@ -1140,18 +1139,7 @@ class PageManager extends React.PureComponent {
|
|
|
1140
1139
|
super(props);
|
|
1141
1140
|
this.ionPageElementRef = React.createRef();
|
|
1142
1141
|
// React refs must be stable (not created inline).
|
|
1143
|
-
|
|
1144
|
-
const baseMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1145
|
-
this.stableMergedRefs = (node) => {
|
|
1146
|
-
if (node && !node.classList.contains('ion-page-invisible') && !node.classList.contains('ion-page-hidden')) {
|
|
1147
|
-
// Add ion-page-invisible synchronously before first paint (if in an outlet)
|
|
1148
|
-
// This prevents the flash that occurs when componentDidMount runs after paint
|
|
1149
|
-
if (this.context?.isInOutlet?.()) {
|
|
1150
|
-
node.classList.add('ion-page-invisible');
|
|
1151
|
-
}
|
|
1152
|
-
}
|
|
1153
|
-
baseMergedRefs(node);
|
|
1154
|
-
};
|
|
1142
|
+
this.stableMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1155
1143
|
/**
|
|
1156
1144
|
* This binds the scope of the following methods to the class scope.
|
|
1157
1145
|
* The `.bind` method returns a new function, so we need to assign it
|
|
@@ -1163,38 +1151,11 @@ class PageManager extends React.PureComponent {
|
|
|
1163
1151
|
this.ionViewWillLeaveHandler = this.ionViewWillLeaveHandler.bind(this);
|
|
1164
1152
|
this.ionViewDidLeaveHandler = this.ionViewDidLeaveHandler.bind(this);
|
|
1165
1153
|
}
|
|
1166
|
-
parseClasses(className) {
|
|
1167
|
-
if (!className)
|
|
1168
|
-
return new Set();
|
|
1169
|
-
return new Set(className.split(/\s+/).filter(Boolean));
|
|
1170
|
-
}
|
|
1171
|
-
/**
|
|
1172
|
-
* Updates classList by diffing old/new className props.
|
|
1173
|
-
* Preserves framework-added classes (can-go-back, ion-page-invisible, etc.).
|
|
1174
|
-
*/
|
|
1175
|
-
updateUserClasses(oldClassName, newClassName) {
|
|
1176
|
-
if (!this.ionPageElementRef.current)
|
|
1177
|
-
return;
|
|
1178
|
-
const oldClasses = this.parseClasses(oldClassName);
|
|
1179
|
-
const newClasses = this.parseClasses(newClassName);
|
|
1180
|
-
oldClasses.forEach((cls) => {
|
|
1181
|
-
if (!newClasses.has(cls)) {
|
|
1182
|
-
this.ionPageElementRef.current.classList.remove(cls);
|
|
1183
|
-
}
|
|
1184
|
-
});
|
|
1185
|
-
newClasses.forEach((cls) => {
|
|
1186
|
-
if (!oldClasses.has(cls)) {
|
|
1187
|
-
this.ionPageElementRef.current.classList.add(cls);
|
|
1188
|
-
}
|
|
1189
|
-
});
|
|
1190
|
-
}
|
|
1191
1154
|
componentDidMount() {
|
|
1192
1155
|
if (this.ionPageElementRef.current) {
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
// The ref callback runs synchronously when the element is created, before the browser paints.
|
|
1197
|
-
this.updateUserClasses(undefined, this.props.className);
|
|
1156
|
+
if (this.context.isInOutlet()) {
|
|
1157
|
+
this.ionPageElementRef.current.classList.add('ion-page-invisible');
|
|
1158
|
+
}
|
|
1198
1159
|
this.context.registerIonPage(this.ionPageElementRef.current, this.props.routeInfo);
|
|
1199
1160
|
this.ionPageElementRef.current.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
1200
1161
|
this.ionPageElementRef.current.addEventListener('ionViewDidEnter', this.ionViewDidEnterHandler);
|
|
@@ -1202,11 +1163,6 @@ class PageManager extends React.PureComponent {
|
|
|
1202
1163
|
this.ionPageElementRef.current.addEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler);
|
|
1203
1164
|
}
|
|
1204
1165
|
}
|
|
1205
|
-
componentDidUpdate(prevProps) {
|
|
1206
|
-
if (prevProps.className !== this.props.className) {
|
|
1207
|
-
this.updateUserClasses(prevProps.className, this.props.className);
|
|
1208
|
-
}
|
|
1209
|
-
}
|
|
1210
1166
|
componentWillUnmount() {
|
|
1211
1167
|
if (this.ionPageElementRef.current) {
|
|
1212
1168
|
this.ionPageElementRef.current.removeEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
@@ -1236,11 +1192,9 @@ class PageManager extends React.PureComponent {
|
|
|
1236
1192
|
render() {
|
|
1237
1193
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1238
1194
|
const { className, children, routeInfo, forwardedRef, ...props } = this.props;
|
|
1239
|
-
// Only set "ion-page" in JSX. User classes are managed via DOM in componentDidMount/componentDidUpdate
|
|
1240
|
-
// to preserve framework-added classes (can-go-back, ion-page-invisible, etc.) when className prop changes.
|
|
1241
1195
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1242
1196
|
this.ionLifeCycleContext = context;
|
|
1243
|
-
return (jsx("div", { className:
|
|
1197
|
+
return (jsx("div", { className: className ? `${className} ion-page` : `ion-page`, ref: this.stableMergedRefs, ...props, children: children }));
|
|
1244
1198
|
} }));
|
|
1245
1199
|
}
|
|
1246
1200
|
static get contextType() {
|
|
@@ -1300,7 +1254,7 @@ const ReactDelegate = (addView, removeView) => {
|
|
|
1300
1254
|
};
|
|
1301
1255
|
};
|
|
1302
1256
|
|
|
1303
|
-
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$
|
|
1257
|
+
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$1n);
|
|
1304
1258
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1305
1259
|
const IonNavInternal = ({ children, forwardedRef, ...restOfProps }) => {
|
|
1306
1260
|
const [views, setViews] = useState([]);
|
|
@@ -1379,10 +1333,10 @@ class OutletPageManager extends React.Component {
|
|
|
1379
1333
|
this.ionLifeCycleContext.ionViewDidLeave();
|
|
1380
1334
|
}
|
|
1381
1335
|
render() {
|
|
1382
|
-
const { StackManager, children, routeInfo,
|
|
1336
|
+
const { StackManager, children, routeInfo, ...props } = this.props;
|
|
1383
1337
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1384
1338
|
this.ionLifeCycleContext = context;
|
|
1385
|
-
return (jsx(StackManager, {
|
|
1339
|
+
return (jsx(StackManager, { routeInfo: routeInfo, children: jsx(IonRouterOutletInner, { setRef: (val) => (this.ionRouterOutlet = val), ...props, children: children }) }));
|
|
1386
1340
|
} }));
|
|
1387
1341
|
}
|
|
1388
1342
|
static get contextType() {
|
|
@@ -1393,13 +1347,11 @@ class OutletPageManager extends React.Component {
|
|
|
1393
1347
|
class IonRouterOutletContainer extends React.Component {
|
|
1394
1348
|
constructor(props) {
|
|
1395
1349
|
super(props);
|
|
1396
|
-
this.outletId = props.id ?? `routerOutlet-${generateId('routerOutlet')}`;
|
|
1397
1350
|
}
|
|
1398
1351
|
render() {
|
|
1399
1352
|
const StackManager = this.context.getStackManager();
|
|
1400
1353
|
const { children, forwardedRef, ...props } = this.props;
|
|
1401
|
-
|
|
1402
|
-
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 }));
|
|
1354
|
+
return this.context.hasIonicRouter() ? (props.ionPage ? (jsx(OutletPageManager, { StackManager: StackManager, routeInfo: this.context.routeInfo, ...props, children: children })) : (jsx(StackManager, { routeInfo: this.context.routeInfo, children: jsx(IonRouterOutletInner, { ...props, forwardedRef: forwardedRef, children: children }) }))) : (jsx(IonRouterOutletInner, { ref: forwardedRef, ...this.props, children: this.props.children }));
|
|
1403
1355
|
}
|
|
1404
1356
|
static get contextType() {
|
|
1405
1357
|
return NavContext;
|
|
@@ -1596,9 +1548,7 @@ const matchesTab = (pathname, href) => {
|
|
|
1596
1548
|
if (href === undefined) {
|
|
1597
1549
|
return false;
|
|
1598
1550
|
}
|
|
1599
|
-
|
|
1600
|
-
const hrefPathname = href.split('?')[0];
|
|
1601
|
-
const normalizedHref = hrefPathname.endsWith('/') && hrefPathname !== '/' ? hrefPathname.slice(0, -1) : hrefPathname;
|
|
1551
|
+
const normalizedHref = href.endsWith('/') && href !== '/' ? href.slice(0, -1) : href;
|
|
1602
1552
|
return pathname === normalizedHref || pathname.startsWith(normalizedHref + '/');
|
|
1603
1553
|
};
|
|
1604
1554
|
class IonTabBarUnwrapped extends React.PureComponent {
|
|
@@ -1690,7 +1640,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
1690
1640
|
const prevHref = state.tabs[prevActiveTab].currentHref;
|
|
1691
1641
|
const prevRouteOptions = state.tabs[prevActiveTab].currentRouteOptions;
|
|
1692
1642
|
if (activeTab !== prevActiveTab ||
|
|
1693
|
-
prevHref !==
|
|
1643
|
+
prevHref !== props.routeInfo?.pathname ||
|
|
1694
1644
|
prevRouteOptions !== props.routeInfo?.routeOptions) {
|
|
1695
1645
|
tabs[activeTab] = {
|
|
1696
1646
|
originalHref: tabs[activeTab].originalHref,
|
|
@@ -1757,7 +1707,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
1757
1707
|
return (child) => {
|
|
1758
1708
|
if (child != null && child.props && (child.type === IonTabButton || child.type.isTabButton)) {
|
|
1759
1709
|
const href = child.props.tab === activeTab
|
|
1760
|
-
?
|
|
1710
|
+
? this.props.routeInfo?.pathname
|
|
1761
1711
|
: this.state.tabs[child.props.tab].currentHref;
|
|
1762
1712
|
const routeOptions = child.props.tab === activeTab
|
|
1763
1713
|
? this.props.routeInfo?.routeOptions
|
|
@@ -1882,6 +1832,20 @@ class IonRoute extends React.PureComponent {
|
|
|
1882
1832
|
}
|
|
1883
1833
|
}
|
|
1884
1834
|
|
|
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
|
+
|
|
1885
1849
|
const IonRouterContext = React.createContext({
|
|
1886
1850
|
routeInfo: undefined, // TODO(FW-2959): type
|
|
1887
1851
|
push: () => {
|
|
@@ -1890,9 +1854,6 @@ const IonRouterContext = React.createContext({
|
|
|
1890
1854
|
back: () => {
|
|
1891
1855
|
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
1892
1856
|
},
|
|
1893
|
-
navigateRoot: () => {
|
|
1894
|
-
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
1895
|
-
},
|
|
1896
1857
|
canGoBack: () => {
|
|
1897
1858
|
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
1898
1859
|
},
|
|
@@ -1909,10 +1870,9 @@ function useIonRouter() {
|
|
|
1909
1870
|
back: context.back,
|
|
1910
1871
|
push: context.push,
|
|
1911
1872
|
goBack: context.back,
|
|
1912
|
-
navigateRoot: context.navigateRoot,
|
|
1913
1873
|
canGoBack: context.canGoBack,
|
|
1914
1874
|
routeInfo: context.routeInfo,
|
|
1915
|
-
}), [context.back, context.push, context.
|
|
1875
|
+
}), [context.back, context.push, context.canGoBack, context.routeInfo]);
|
|
1916
1876
|
}
|
|
1917
1877
|
|
|
1918
1878
|
class CreateAnimation extends React.PureComponent {
|
|
@@ -2066,7 +2026,7 @@ function useController(displayName, controller, defineCustomElement) {
|
|
|
2066
2026
|
* @returns Returns the present and dismiss methods in an array
|
|
2067
2027
|
*/
|
|
2068
2028
|
function useIonActionSheet() {
|
|
2069
|
-
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$
|
|
2029
|
+
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$1d);
|
|
2070
2030
|
const present = useCallback((buttonsOrOptions, header) => {
|
|
2071
2031
|
if (Array.isArray(buttonsOrOptions)) {
|
|
2072
2032
|
return controller.present({
|
|
@@ -2086,7 +2046,7 @@ function useIonActionSheet() {
|
|
|
2086
2046
|
* @returns Returns the present and dismiss methods in an array
|
|
2087
2047
|
*/
|
|
2088
2048
|
function useIonAlert() {
|
|
2089
|
-
const controller = useController('IonAlert', alertController, defineCustomElement$
|
|
2049
|
+
const controller = useController('IonAlert', alertController, defineCustomElement$19);
|
|
2090
2050
|
const present = useCallback((messageOrOptions, buttons) => {
|
|
2091
2051
|
if (typeof messageOrOptions === 'string') {
|
|
2092
2052
|
return controller.present({
|
|
@@ -2106,7 +2066,7 @@ function useIonAlert() {
|
|
|
2106
2066
|
* @returns Returns the present and dismiss methods in an array
|
|
2107
2067
|
*/
|
|
2108
2068
|
function useIonToast() {
|
|
2109
|
-
const controller = useController('IonToast', toastController, defineCustomElement$
|
|
2069
|
+
const controller = useController('IonToast', toastController, defineCustomElement$1b);
|
|
2110
2070
|
const present = useCallback((messageOrOptions, duration) => {
|
|
2111
2071
|
if (typeof messageOrOptions === 'string') {
|
|
2112
2072
|
return controller.present({
|
|
@@ -2192,7 +2152,7 @@ function useOverlay(displayName, controller, defineCustomElement, component, com
|
|
|
2192
2152
|
* @returns Returns the present and dismiss methods in an array
|
|
2193
2153
|
*/
|
|
2194
2154
|
function useIonModal(component, componentProps) {
|
|
2195
|
-
const controller = useOverlay('IonModal', modalController, defineCustomElement$
|
|
2155
|
+
const controller = useOverlay('IonModal', modalController, defineCustomElement$1e, component, componentProps);
|
|
2196
2156
|
const present = useCallback((options = {}) => {
|
|
2197
2157
|
controller.present(options);
|
|
2198
2158
|
}, [controller.present]);
|
|
@@ -2207,7 +2167,7 @@ function useIonModal(component, componentProps) {
|
|
|
2207
2167
|
* @returns Returns the present and dismiss methods in an array
|
|
2208
2168
|
*/
|
|
2209
2169
|
function useIonPopover(component, componentProps) {
|
|
2210
|
-
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$
|
|
2170
|
+
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$1f, component, componentProps);
|
|
2211
2171
|
const present = useCallback((options = {}) => {
|
|
2212
2172
|
controller.present(options);
|
|
2213
2173
|
}, [controller.present]);
|
|
@@ -2220,7 +2180,7 @@ function useIonPopover(component, componentProps) {
|
|
|
2220
2180
|
* @deprecated Use the inline ion-picker component instead.
|
|
2221
2181
|
*/
|
|
2222
2182
|
function useIonPicker() {
|
|
2223
|
-
const controller = useController('IonPicker', pickerController, defineCustomElement$
|
|
2183
|
+
const controller = useController('IonPicker', pickerController, defineCustomElement$1c);
|
|
2224
2184
|
const present = useCallback((columnsOrOptions, buttons) => {
|
|
2225
2185
|
if (Array.isArray(columnsOrOptions)) {
|
|
2226
2186
|
return controller.present({
|
|
@@ -2240,7 +2200,7 @@ function useIonPicker() {
|
|
|
2240
2200
|
* @returns Returns the present and dismiss methods in an array
|
|
2241
2201
|
*/
|
|
2242
2202
|
function useIonLoading() {
|
|
2243
|
-
const controller = useController('IonLoading', loadingController, defineCustomElement$
|
|
2203
|
+
const controller = useController('IonLoading', loadingController, defineCustomElement$1a);
|
|
2244
2204
|
const present = useCallback((messageOrOptions = {}, duration, spinner) => {
|
|
2245
2205
|
if (typeof messageOrOptions === 'string') {
|
|
2246
2206
|
return controller.present({
|
|
@@ -2282,7 +2242,6 @@ const RouteManagerContext = /*@__PURE__*/ React.createContext({
|
|
|
2282
2242
|
findLeavingViewItemByRouteInfo: () => undefined,
|
|
2283
2243
|
findViewItemByRouteInfo: () => undefined,
|
|
2284
2244
|
getChildrenToRender: () => undefined,
|
|
2285
|
-
getViewItemsForOutlet: () => [],
|
|
2286
2245
|
goBack: () => undefined,
|
|
2287
2246
|
unMountViewItem: () => undefined,
|
|
2288
2247
|
});
|
|
@@ -2401,14 +2360,7 @@ class LocationHistory {
|
|
|
2401
2360
|
_replace(routeInfo) {
|
|
2402
2361
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
2403
2362
|
routeInfos && routeInfos.pop();
|
|
2404
|
-
|
|
2405
|
-
const currentRoute = this.locationHistory[this.locationHistory.length - 1];
|
|
2406
|
-
// Only pop from global history if we're replacing in the same outlet context.
|
|
2407
|
-
// Don't pop if we're entering a nested outlet (current route has no tab, new route has a tab)
|
|
2408
|
-
const isEnteringNestedOutlet = currentRoute && !currentRoute.tab && !!routeInfo.tab;
|
|
2409
|
-
if (!isEnteringNestedOutlet) {
|
|
2410
|
-
this.locationHistory.pop();
|
|
2411
|
-
}
|
|
2363
|
+
this.locationHistory.pop();
|
|
2412
2364
|
this._add(routeInfo);
|
|
2413
2365
|
}
|
|
2414
2366
|
_clear() {
|
|
@@ -2440,20 +2392,6 @@ class LocationHistory {
|
|
|
2440
2392
|
}
|
|
2441
2393
|
return undefined;
|
|
2442
2394
|
}
|
|
2443
|
-
/**
|
|
2444
|
-
* Returns the most recent RouteInfo in global history (excluding the current
|
|
2445
|
-
* entry) whose pathname matches the given value. Unlike findLastLocation,
|
|
2446
|
-
* this search is tab-agnostic. Used by the multi-step back detection.
|
|
2447
|
-
*/
|
|
2448
|
-
findLastLocationByPathname(pathname) {
|
|
2449
|
-
for (let i = this.locationHistory.length - 2; i >= 0; i--) {
|
|
2450
|
-
const ri = this.locationHistory[i];
|
|
2451
|
-
if (ri && ri.pathname === pathname) {
|
|
2452
|
-
return ri;
|
|
2453
|
-
}
|
|
2454
|
-
}
|
|
2455
|
-
return undefined;
|
|
2456
|
-
}
|
|
2457
2395
|
findLastLocation(routeInfo) {
|
|
2458
2396
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
2459
2397
|
if (routeInfos) {
|
|
@@ -2485,17 +2423,6 @@ class LocationHistory {
|
|
|
2485
2423
|
canGoBack() {
|
|
2486
2424
|
return this.locationHistory.length > 1;
|
|
2487
2425
|
}
|
|
2488
|
-
findTabForPathname(pathname) {
|
|
2489
|
-
for (const tab of Object.keys(this.tabHistory)) {
|
|
2490
|
-
const routeInfos = this.tabHistory[tab];
|
|
2491
|
-
for (let i = routeInfos.length - 1; i >= 0; i--) {
|
|
2492
|
-
if (routeInfos[i].pathname === pathname) {
|
|
2493
|
-
return tab;
|
|
2494
|
-
}
|
|
2495
|
-
}
|
|
2496
|
-
}
|
|
2497
|
-
return undefined;
|
|
2498
|
-
}
|
|
2499
2426
|
}
|
|
2500
2427
|
|
|
2501
2428
|
class NavManager extends React.PureComponent {
|
|
@@ -2508,9 +2435,6 @@ class NavManager extends React.PureComponent {
|
|
|
2508
2435
|
back: (animationBuilder) => {
|
|
2509
2436
|
this.goBack(undefined, animationBuilder);
|
|
2510
2437
|
},
|
|
2511
|
-
navigateRoot: (pathname, animationBuilder) => {
|
|
2512
|
-
this.props.onNavigateRoot(pathname, animationBuilder);
|
|
2513
|
-
},
|
|
2514
2438
|
canGoBack: () => this.props.locationHistory.canGoBack(),
|
|
2515
2439
|
nativeBack: () => this.props.onNativeBack(),
|
|
2516
2440
|
routeInfo: this.props.routeInfo,
|
|
@@ -2519,8 +2443,10 @@ class NavManager extends React.PureComponent {
|
|
|
2519
2443
|
goBack: this.goBack.bind(this),
|
|
2520
2444
|
hasIonicRouter: () => true,
|
|
2521
2445
|
navigate: this.navigate.bind(this),
|
|
2446
|
+
getIonRedirect: this.getIonRedirect.bind(this),
|
|
2522
2447
|
getIonRoute: this.getIonRoute.bind(this),
|
|
2523
2448
|
getStackManager: this.getStackManager.bind(this),
|
|
2449
|
+
getPageManager: this.getPageManager.bind(this),
|
|
2524
2450
|
routeInfo: this.props.routeInfo,
|
|
2525
2451
|
setCurrentTab: this.props.onSetCurrentTab,
|
|
2526
2452
|
changeTab: this.props.onChangeTab,
|
|
@@ -2553,6 +2479,12 @@ class NavManager extends React.PureComponent {
|
|
|
2553
2479
|
navigate(path, direction = 'forward', action = 'push', animationBuilder, options, tab) {
|
|
2554
2480
|
this.props.onNavigate(path, action, direction, animationBuilder, options, tab);
|
|
2555
2481
|
}
|
|
2482
|
+
getPageManager() {
|
|
2483
|
+
return PageManager;
|
|
2484
|
+
}
|
|
2485
|
+
getIonRedirect() {
|
|
2486
|
+
return this.props.ionRedirect;
|
|
2487
|
+
}
|
|
2556
2488
|
getIonRoute() {
|
|
2557
2489
|
return this.props.ionRoute;
|
|
2558
2490
|
}
|
|
@@ -2582,7 +2514,10 @@ class ViewStacks {
|
|
|
2582
2514
|
}
|
|
2583
2515
|
}
|
|
2584
2516
|
clear(outletId) {
|
|
2585
|
-
|
|
2517
|
+
// Give some time for the leaving views to transition before removing
|
|
2518
|
+
return setTimeout(() => {
|
|
2519
|
+
delete this.viewStacks[outletId];
|
|
2520
|
+
}, 500);
|
|
2586
2521
|
}
|
|
2587
2522
|
getViewItemsForOutlet(outletId) {
|
|
2588
2523
|
return this.viewStacks[outletId] || [];
|
|
@@ -2611,5 +2546,5 @@ class ViewStacks {
|
|
|
2611
2546
|
}
|
|
2612
2547
|
}
|
|
2613
2548
|
|
|
2614
|
-
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 };
|
|
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, IonDivider, 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, IonRedirect, 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 };
|
|
2615
2550
|
//# sourceMappingURL=index.js.map
|