@ionic/react 8.8.1-dev.11773873479.192398dc → 8.8.1-dev.11773929121.1aabdf46
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.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 +184 -240
- 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/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 -0
- 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 +1 -1
- 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) => {
|
|
@@ -986,19 +990,19 @@ const createInlineOverlayComponent = (tagName, defineCustomElement, hasDelegateH
|
|
|
986
990
|
};
|
|
987
991
|
const DELEGATE_HOST = 'ion-delegate-host';
|
|
988
992
|
|
|
989
|
-
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$
|
|
993
|
+
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$19);
|
|
990
994
|
|
|
991
|
-
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$
|
|
995
|
+
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$1a);
|
|
992
996
|
|
|
993
|
-
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$
|
|
997
|
+
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$1b);
|
|
994
998
|
|
|
995
|
-
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$
|
|
999
|
+
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$1c);
|
|
996
1000
|
|
|
997
|
-
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$
|
|
1001
|
+
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$1d);
|
|
998
1002
|
|
|
999
|
-
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$
|
|
1003
|
+
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$1e, true);
|
|
1000
1004
|
|
|
1001
|
-
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$
|
|
1005
|
+
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$1f);
|
|
1002
1006
|
|
|
1003
1007
|
const IonContext = React.createContext({
|
|
1004
1008
|
addOverlay: () => {
|
|
@@ -1090,14 +1094,14 @@ const IonOverlayManager = ({ onAddOverlay, onRemoveOverlay }) => {
|
|
|
1090
1094
|
}) }));
|
|
1091
1095
|
};
|
|
1092
1096
|
|
|
1093
|
-
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$
|
|
1094
|
-
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$
|
|
1095
|
-
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$
|
|
1096
|
-
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$
|
|
1097
|
-
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$
|
|
1098
|
-
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);
|
|
1099
1103
|
// ionicons
|
|
1100
|
-
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$
|
|
1104
|
+
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$1m);
|
|
1101
1105
|
|
|
1102
1106
|
class IonApp extends React.Component {
|
|
1103
1107
|
constructor(props) {
|
|
@@ -1135,18 +1139,7 @@ class PageManager extends React.PureComponent {
|
|
|
1135
1139
|
super(props);
|
|
1136
1140
|
this.ionPageElementRef = React.createRef();
|
|
1137
1141
|
// React refs must be stable (not created inline).
|
|
1138
|
-
|
|
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
|
-
};
|
|
1142
|
+
this.stableMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1150
1143
|
/**
|
|
1151
1144
|
* This binds the scope of the following methods to the class scope.
|
|
1152
1145
|
* The `.bind` method returns a new function, so we need to assign it
|
|
@@ -1158,38 +1151,11 @@ class PageManager extends React.PureComponent {
|
|
|
1158
1151
|
this.ionViewWillLeaveHandler = this.ionViewWillLeaveHandler.bind(this);
|
|
1159
1152
|
this.ionViewDidLeaveHandler = this.ionViewDidLeaveHandler.bind(this);
|
|
1160
1153
|
}
|
|
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
|
-
}
|
|
1186
1154
|
componentDidMount() {
|
|
1187
1155
|
if (this.ionPageElementRef.current) {
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
// The ref callback runs synchronously when the element is created, before the browser paints.
|
|
1192
|
-
this.updateUserClasses(undefined, this.props.className);
|
|
1156
|
+
if (this.context.isInOutlet()) {
|
|
1157
|
+
this.ionPageElementRef.current.classList.add('ion-page-invisible');
|
|
1158
|
+
}
|
|
1193
1159
|
this.context.registerIonPage(this.ionPageElementRef.current, this.props.routeInfo);
|
|
1194
1160
|
this.ionPageElementRef.current.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
1195
1161
|
this.ionPageElementRef.current.addEventListener('ionViewDidEnter', this.ionViewDidEnterHandler);
|
|
@@ -1197,11 +1163,6 @@ class PageManager extends React.PureComponent {
|
|
|
1197
1163
|
this.ionPageElementRef.current.addEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler);
|
|
1198
1164
|
}
|
|
1199
1165
|
}
|
|
1200
|
-
componentDidUpdate(prevProps) {
|
|
1201
|
-
if (prevProps.className !== this.props.className) {
|
|
1202
|
-
this.updateUserClasses(prevProps.className, this.props.className);
|
|
1203
|
-
}
|
|
1204
|
-
}
|
|
1205
1166
|
componentWillUnmount() {
|
|
1206
1167
|
if (this.ionPageElementRef.current) {
|
|
1207
1168
|
this.ionPageElementRef.current.removeEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
@@ -1231,11 +1192,9 @@ class PageManager extends React.PureComponent {
|
|
|
1231
1192
|
render() {
|
|
1232
1193
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1233
1194
|
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.
|
|
1236
1195
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1237
1196
|
this.ionLifeCycleContext = context;
|
|
1238
|
-
return (jsx("div", { className:
|
|
1197
|
+
return (jsx("div", { className: className ? `${className} ion-page` : `ion-page`, ref: this.stableMergedRefs, ...props, children: children }));
|
|
1239
1198
|
} }));
|
|
1240
1199
|
}
|
|
1241
1200
|
static get contextType() {
|
|
@@ -1295,7 +1254,7 @@ const ReactDelegate = (addView, removeView) => {
|
|
|
1295
1254
|
};
|
|
1296
1255
|
};
|
|
1297
1256
|
|
|
1298
|
-
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$
|
|
1257
|
+
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$1n);
|
|
1299
1258
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1300
1259
|
const IonNavInternal = ({ children, forwardedRef, ...restOfProps }) => {
|
|
1301
1260
|
const [views, setViews] = useState([]);
|
|
@@ -1374,10 +1333,10 @@ class OutletPageManager extends React.Component {
|
|
|
1374
1333
|
this.ionLifeCycleContext.ionViewDidLeave();
|
|
1375
1334
|
}
|
|
1376
1335
|
render() {
|
|
1377
|
-
const { StackManager, children, routeInfo,
|
|
1336
|
+
const { StackManager, children, routeInfo, ...props } = this.props;
|
|
1378
1337
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1379
1338
|
this.ionLifeCycleContext = context;
|
|
1380
|
-
return (jsx(StackManager, {
|
|
1339
|
+
return (jsx(StackManager, { routeInfo: routeInfo, children: jsx(IonRouterOutletInner, { setRef: (val) => (this.ionRouterOutlet = val), ...props, children: children }) }));
|
|
1381
1340
|
} }));
|
|
1382
1341
|
}
|
|
1383
1342
|
static get contextType() {
|
|
@@ -1388,13 +1347,11 @@ class OutletPageManager extends React.Component {
|
|
|
1388
1347
|
class IonRouterOutletContainer extends React.Component {
|
|
1389
1348
|
constructor(props) {
|
|
1390
1349
|
super(props);
|
|
1391
|
-
this.outletId = props.id ?? `routerOutlet-${generateId('routerOutlet')}`;
|
|
1392
1350
|
}
|
|
1393
1351
|
render() {
|
|
1394
1352
|
const StackManager = this.context.getStackManager();
|
|
1395
1353
|
const { children, forwardedRef, ...props } = this.props;
|
|
1396
|
-
|
|
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 }));
|
|
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 }));
|
|
1398
1355
|
}
|
|
1399
1356
|
static get contextType() {
|
|
1400
1357
|
return NavContext;
|
|
@@ -1591,9 +1548,7 @@ const matchesTab = (pathname, href) => {
|
|
|
1591
1548
|
if (href === undefined) {
|
|
1592
1549
|
return false;
|
|
1593
1550
|
}
|
|
1594
|
-
|
|
1595
|
-
const hrefPathname = href.split('?')[0];
|
|
1596
|
-
const normalizedHref = hrefPathname.endsWith('/') && hrefPathname !== '/' ? hrefPathname.slice(0, -1) : hrefPathname;
|
|
1551
|
+
const normalizedHref = href.endsWith('/') && href !== '/' ? href.slice(0, -1) : href;
|
|
1597
1552
|
return pathname === normalizedHref || pathname.startsWith(normalizedHref + '/');
|
|
1598
1553
|
};
|
|
1599
1554
|
class IonTabBarUnwrapped extends React.PureComponent {
|
|
@@ -1685,7 +1640,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
1685
1640
|
const prevHref = state.tabs[prevActiveTab].currentHref;
|
|
1686
1641
|
const prevRouteOptions = state.tabs[prevActiveTab].currentRouteOptions;
|
|
1687
1642
|
if (activeTab !== prevActiveTab ||
|
|
1688
|
-
prevHref !==
|
|
1643
|
+
prevHref !== props.routeInfo?.pathname ||
|
|
1689
1644
|
prevRouteOptions !== props.routeInfo?.routeOptions) {
|
|
1690
1645
|
tabs[activeTab] = {
|
|
1691
1646
|
originalHref: tabs[activeTab].originalHref,
|
|
@@ -1752,7 +1707,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
1752
1707
|
return (child) => {
|
|
1753
1708
|
if (child != null && child.props && (child.type === IonTabButton || child.type.isTabButton)) {
|
|
1754
1709
|
const href = child.props.tab === activeTab
|
|
1755
|
-
?
|
|
1710
|
+
? this.props.routeInfo?.pathname
|
|
1756
1711
|
: this.state.tabs[child.props.tab].currentHref;
|
|
1757
1712
|
const routeOptions = child.props.tab === activeTab
|
|
1758
1713
|
? this.props.routeInfo?.routeOptions
|
|
@@ -1877,6 +1832,20 @@ class IonRoute extends React.PureComponent {
|
|
|
1877
1832
|
}
|
|
1878
1833
|
}
|
|
1879
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
|
+
|
|
1880
1849
|
const IonRouterContext = React.createContext({
|
|
1881
1850
|
routeInfo: undefined, // TODO(FW-2959): type
|
|
1882
1851
|
push: () => {
|
|
@@ -2057,7 +2026,7 @@ function useController(displayName, controller, defineCustomElement) {
|
|
|
2057
2026
|
* @returns Returns the present and dismiss methods in an array
|
|
2058
2027
|
*/
|
|
2059
2028
|
function useIonActionSheet() {
|
|
2060
|
-
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$
|
|
2029
|
+
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$1d);
|
|
2061
2030
|
const present = useCallback((buttonsOrOptions, header) => {
|
|
2062
2031
|
if (Array.isArray(buttonsOrOptions)) {
|
|
2063
2032
|
return controller.present({
|
|
@@ -2077,7 +2046,7 @@ function useIonActionSheet() {
|
|
|
2077
2046
|
* @returns Returns the present and dismiss methods in an array
|
|
2078
2047
|
*/
|
|
2079
2048
|
function useIonAlert() {
|
|
2080
|
-
const controller = useController('IonAlert', alertController, defineCustomElement$
|
|
2049
|
+
const controller = useController('IonAlert', alertController, defineCustomElement$19);
|
|
2081
2050
|
const present = useCallback((messageOrOptions, buttons) => {
|
|
2082
2051
|
if (typeof messageOrOptions === 'string') {
|
|
2083
2052
|
return controller.present({
|
|
@@ -2097,7 +2066,7 @@ function useIonAlert() {
|
|
|
2097
2066
|
* @returns Returns the present and dismiss methods in an array
|
|
2098
2067
|
*/
|
|
2099
2068
|
function useIonToast() {
|
|
2100
|
-
const controller = useController('IonToast', toastController, defineCustomElement$
|
|
2069
|
+
const controller = useController('IonToast', toastController, defineCustomElement$1b);
|
|
2101
2070
|
const present = useCallback((messageOrOptions, duration) => {
|
|
2102
2071
|
if (typeof messageOrOptions === 'string') {
|
|
2103
2072
|
return controller.present({
|
|
@@ -2183,7 +2152,7 @@ function useOverlay(displayName, controller, defineCustomElement, component, com
|
|
|
2183
2152
|
* @returns Returns the present and dismiss methods in an array
|
|
2184
2153
|
*/
|
|
2185
2154
|
function useIonModal(component, componentProps) {
|
|
2186
|
-
const controller = useOverlay('IonModal', modalController, defineCustomElement$
|
|
2155
|
+
const controller = useOverlay('IonModal', modalController, defineCustomElement$1e, component, componentProps);
|
|
2187
2156
|
const present = useCallback((options = {}) => {
|
|
2188
2157
|
controller.present(options);
|
|
2189
2158
|
}, [controller.present]);
|
|
@@ -2198,7 +2167,7 @@ function useIonModal(component, componentProps) {
|
|
|
2198
2167
|
* @returns Returns the present and dismiss methods in an array
|
|
2199
2168
|
*/
|
|
2200
2169
|
function useIonPopover(component, componentProps) {
|
|
2201
|
-
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$
|
|
2170
|
+
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$1f, component, componentProps);
|
|
2202
2171
|
const present = useCallback((options = {}) => {
|
|
2203
2172
|
controller.present(options);
|
|
2204
2173
|
}, [controller.present]);
|
|
@@ -2211,7 +2180,7 @@ function useIonPopover(component, componentProps) {
|
|
|
2211
2180
|
* @deprecated Use the inline ion-picker component instead.
|
|
2212
2181
|
*/
|
|
2213
2182
|
function useIonPicker() {
|
|
2214
|
-
const controller = useController('IonPicker', pickerController, defineCustomElement$
|
|
2183
|
+
const controller = useController('IonPicker', pickerController, defineCustomElement$1c);
|
|
2215
2184
|
const present = useCallback((columnsOrOptions, buttons) => {
|
|
2216
2185
|
if (Array.isArray(columnsOrOptions)) {
|
|
2217
2186
|
return controller.present({
|
|
@@ -2231,7 +2200,7 @@ function useIonPicker() {
|
|
|
2231
2200
|
* @returns Returns the present and dismiss methods in an array
|
|
2232
2201
|
*/
|
|
2233
2202
|
function useIonLoading() {
|
|
2234
|
-
const controller = useController('IonLoading', loadingController, defineCustomElement$
|
|
2203
|
+
const controller = useController('IonLoading', loadingController, defineCustomElement$1a);
|
|
2235
2204
|
const present = useCallback((messageOrOptions = {}, duration, spinner) => {
|
|
2236
2205
|
if (typeof messageOrOptions === 'string') {
|
|
2237
2206
|
return controller.present({
|
|
@@ -2273,7 +2242,6 @@ const RouteManagerContext = /*@__PURE__*/ React.createContext({
|
|
|
2273
2242
|
findLeavingViewItemByRouteInfo: () => undefined,
|
|
2274
2243
|
findViewItemByRouteInfo: () => undefined,
|
|
2275
2244
|
getChildrenToRender: () => undefined,
|
|
2276
|
-
getViewItemsForOutlet: () => [],
|
|
2277
2245
|
goBack: () => undefined,
|
|
2278
2246
|
unMountViewItem: () => undefined,
|
|
2279
2247
|
});
|
|
@@ -2392,14 +2360,7 @@ class LocationHistory {
|
|
|
2392
2360
|
_replace(routeInfo) {
|
|
2393
2361
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
2394
2362
|
routeInfos && routeInfos.pop();
|
|
2395
|
-
|
|
2396
|
-
const currentRoute = this.locationHistory[this.locationHistory.length - 1];
|
|
2397
|
-
// Only pop from global history if we're replacing in the same outlet context.
|
|
2398
|
-
// Don't pop if we're entering a nested outlet (current route has no tab, new route has a tab)
|
|
2399
|
-
const isEnteringNestedOutlet = currentRoute && !currentRoute.tab && !!routeInfo.tab;
|
|
2400
|
-
if (!isEnteringNestedOutlet) {
|
|
2401
|
-
this.locationHistory.pop();
|
|
2402
|
-
}
|
|
2363
|
+
this.locationHistory.pop();
|
|
2403
2364
|
this._add(routeInfo);
|
|
2404
2365
|
}
|
|
2405
2366
|
_clear() {
|
|
@@ -2431,20 +2392,6 @@ class LocationHistory {
|
|
|
2431
2392
|
}
|
|
2432
2393
|
return undefined;
|
|
2433
2394
|
}
|
|
2434
|
-
/**
|
|
2435
|
-
* Returns the most recent RouteInfo in global history (excluding the current
|
|
2436
|
-
* entry) whose pathname matches the given value. Unlike findLastLocation,
|
|
2437
|
-
* this search is tab-agnostic. Used by the multi-step back detection.
|
|
2438
|
-
*/
|
|
2439
|
-
findLastLocationByPathname(pathname) {
|
|
2440
|
-
for (let i = this.locationHistory.length - 2; i >= 0; i--) {
|
|
2441
|
-
const ri = this.locationHistory[i];
|
|
2442
|
-
if (ri && ri.pathname === pathname) {
|
|
2443
|
-
return ri;
|
|
2444
|
-
}
|
|
2445
|
-
}
|
|
2446
|
-
return undefined;
|
|
2447
|
-
}
|
|
2448
2395
|
findLastLocation(routeInfo) {
|
|
2449
2396
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
2450
2397
|
if (routeInfos) {
|
|
@@ -2476,17 +2423,6 @@ class LocationHistory {
|
|
|
2476
2423
|
canGoBack() {
|
|
2477
2424
|
return this.locationHistory.length > 1;
|
|
2478
2425
|
}
|
|
2479
|
-
findTabForPathname(pathname) {
|
|
2480
|
-
for (const tab of Object.keys(this.tabHistory)) {
|
|
2481
|
-
const routeInfos = this.tabHistory[tab];
|
|
2482
|
-
for (let i = routeInfos.length - 1; i >= 0; i--) {
|
|
2483
|
-
if (routeInfos[i].pathname === pathname) {
|
|
2484
|
-
return tab;
|
|
2485
|
-
}
|
|
2486
|
-
}
|
|
2487
|
-
}
|
|
2488
|
-
return undefined;
|
|
2489
|
-
}
|
|
2490
2426
|
}
|
|
2491
2427
|
|
|
2492
2428
|
class NavManager extends React.PureComponent {
|
|
@@ -2507,8 +2443,10 @@ class NavManager extends React.PureComponent {
|
|
|
2507
2443
|
goBack: this.goBack.bind(this),
|
|
2508
2444
|
hasIonicRouter: () => true,
|
|
2509
2445
|
navigate: this.navigate.bind(this),
|
|
2446
|
+
getIonRedirect: this.getIonRedirect.bind(this),
|
|
2510
2447
|
getIonRoute: this.getIonRoute.bind(this),
|
|
2511
2448
|
getStackManager: this.getStackManager.bind(this),
|
|
2449
|
+
getPageManager: this.getPageManager.bind(this),
|
|
2512
2450
|
routeInfo: this.props.routeInfo,
|
|
2513
2451
|
setCurrentTab: this.props.onSetCurrentTab,
|
|
2514
2452
|
changeTab: this.props.onChangeTab,
|
|
@@ -2541,6 +2479,12 @@ class NavManager extends React.PureComponent {
|
|
|
2541
2479
|
navigate(path, direction = 'forward', action = 'push', animationBuilder, options, tab) {
|
|
2542
2480
|
this.props.onNavigate(path, action, direction, animationBuilder, options, tab);
|
|
2543
2481
|
}
|
|
2482
|
+
getPageManager() {
|
|
2483
|
+
return PageManager;
|
|
2484
|
+
}
|
|
2485
|
+
getIonRedirect() {
|
|
2486
|
+
return this.props.ionRedirect;
|
|
2487
|
+
}
|
|
2544
2488
|
getIonRoute() {
|
|
2545
2489
|
return this.props.ionRoute;
|
|
2546
2490
|
}
|
|
@@ -2602,5 +2546,5 @@ class ViewStacks {
|
|
|
2602
2546
|
}
|
|
2603
2547
|
}
|
|
2604
2548
|
|
|
2605
|
-
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 };
|
|
2606
2550
|
//# sourceMappingURL=index.js.map
|