@ionic/react 8.8.9-dev.11780349068.18c33698 → 8.8.9-dev.11780493108.1d8e1a89
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 +319 -959
- package/dist/index.js.map +1 -1
- package/dist/types/components/IonActionSheet.d.ts +1 -1
- package/dist/types/components/IonAlert.d.ts +1 -1
- package/dist/types/components/IonIcon.d.ts +1 -1
- package/dist/types/components/IonLoading.d.ts +1 -1
- package/dist/types/components/IonModal.d.ts +1 -1
- package/dist/types/components/IonPage.d.ts +1 -1
- package/dist/types/components/IonPickerLegacy.d.ts +2 -0
- package/dist/types/components/IonPopover.d.ts +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 +2 -3
- package/dist/types/components/IonToast.d.ts +1 -1
- package/dist/types/components/createInlineOverlayComponent.d.ts +1 -1
- package/dist/types/components/createRoutingComponent.d.ts +1 -1
- package/dist/types/components/index.d.ts +5 -2
- package/dist/types/components/navigation/IonNav.d.ts +1 -2
- package/dist/types/components/navigation/IonTabBar.d.ts +1 -1
- package/dist/types/components/navigation/IonTabs.d.ts +2 -1
- package/dist/types/components/proxies.d.ts +75 -0
- package/dist/types/components/react-component-lib/createComponent.d.ts +1 -1
- package/dist/types/components/react-component-lib/utils/index.d.ts +1 -1
- package/dist/types/components/routing-proxies.d.ts +7 -7
- package/dist/types/components/utils/index.d.ts +11 -2
- package/dist/types/contexts/NavContext.d.ts +2 -0
- package/dist/types/hooks/useIonPicker.d.ts +27 -0
- package/dist/types/lifecycle/IonLifeCycleHOC.d.ts +3 -1
- package/dist/types/routing/LocationHistory.d.ts +0 -7
- package/dist/types/routing/NavManager.d.ts +4 -2
- package/dist/types/routing/OutletPageManager.d.ts +0 -2
- package/dist/types/routing/PageManager.d.ts +0 -8
- package/dist/types/routing/RouteManagerContext.d.ts +1 -6
- package/dist/types/routing/ViewLifeCycleManager.d.ts +0 -1
- package/dist/types/routing/ViewStacks.d.ts +2 -2
- package/package.json +8 -8
- package/dist/types/components/components.d.ts +0 -326
package/dist/index.js
CHANGED
|
@@ -1,80 +1,82 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import React, { useContext, useRef, useEffect, createElement, useState, useMemo, Fragment as Fragment$1, useCallback } from 'react';
|
|
3
|
-
import { isPlatform as isPlatform$1, getPlatforms as getPlatforms$1, componentOnReady, createAnimation, actionSheetController, alertController, toastController, modalController, popoverController, loadingController, initialize } from '@ionic/core/components';
|
|
3
|
+
import { isPlatform as isPlatform$1, getPlatforms as getPlatforms$1, componentOnReady, createAnimation, actionSheetController, alertController, toastController, modalController, popoverController, pickerController, loadingController, initialize } from '@ionic/core/components';
|
|
4
4
|
export { IonicSafeString, IonicSlides, createAnimation, createGesture, getIonPageElement, getTimeGivenProgression, iosTransitionAnimation, mdTransitionAnimation, openURL } from '@ionic/core/components';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import { defineCustomElement as defineCustomElement$
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
5
|
+
import ReactDOM, { createPortal } from 'react-dom';
|
|
6
|
+
import { defineCustomElement as defineCustomElement$1 } from '@ionic/core/components/ion-accordion.js';
|
|
7
|
+
import { defineCustomElement as defineCustomElement$2 } from '@ionic/core/components/ion-accordion-group.js';
|
|
8
|
+
import { defineCustomElement as defineCustomElement$3 } from '@ionic/core/components/ion-avatar.js';
|
|
9
|
+
import { defineCustomElement as defineCustomElement$4 } from '@ionic/core/components/ion-backdrop.js';
|
|
10
|
+
import { defineCustomElement as defineCustomElement$5 } from '@ionic/core/components/ion-badge.js';
|
|
11
|
+
import { defineCustomElement as defineCustomElement$6 } from '@ionic/core/components/ion-breadcrumbs.js';
|
|
12
|
+
import { defineCustomElement as defineCustomElement$7 } from '@ionic/core/components/ion-buttons.js';
|
|
13
|
+
import { defineCustomElement as defineCustomElement$8 } from '@ionic/core/components/ion-card-content.js';
|
|
14
|
+
import { defineCustomElement as defineCustomElement$9 } from '@ionic/core/components/ion-card-header.js';
|
|
15
|
+
import { defineCustomElement as defineCustomElement$a } from '@ionic/core/components/ion-card-subtitle.js';
|
|
16
|
+
import { defineCustomElement as defineCustomElement$b } from '@ionic/core/components/ion-card-title.js';
|
|
17
|
+
import { defineCustomElement as defineCustomElement$c } from '@ionic/core/components/ion-checkbox.js';
|
|
18
|
+
import { defineCustomElement as defineCustomElement$d } from '@ionic/core/components/ion-chip.js';
|
|
19
|
+
import { defineCustomElement as defineCustomElement$e } from '@ionic/core/components/ion-col.js';
|
|
20
|
+
import { defineCustomElement as defineCustomElement$f } from '@ionic/core/components/ion-content.js';
|
|
21
|
+
import { defineCustomElement as defineCustomElement$g } from '@ionic/core/components/ion-datetime.js';
|
|
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-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-gallery.js';
|
|
28
|
+
import { defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-grid.js';
|
|
29
|
+
import { defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-header.js';
|
|
30
|
+
import { defineCustomElement as defineCustomElement$p } from '@ionic/core/components/ion-img.js';
|
|
31
|
+
import { defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-infinite-scroll.js';
|
|
32
|
+
import { defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-infinite-scroll-content.js';
|
|
33
|
+
import { defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-input.js';
|
|
34
|
+
import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-input-otp.js';
|
|
35
|
+
import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-input-password-toggle.js';
|
|
36
|
+
import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-item-divider.js';
|
|
37
|
+
import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-item-group.js';
|
|
38
|
+
import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-item-options.js';
|
|
39
|
+
import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-item-sliding.js';
|
|
40
|
+
import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-label.js';
|
|
41
|
+
import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-list.js';
|
|
42
|
+
import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-list-header.js';
|
|
43
|
+
import { defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-menu.js';
|
|
44
|
+
import { defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-menu-button.js';
|
|
45
|
+
import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-menu-toggle.js';
|
|
46
|
+
import { defineCustomElement as defineCustomElement$1o } from '@ionic/core/components/ion-nav.js';
|
|
47
|
+
import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-nav-link.js';
|
|
48
|
+
import { defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-note.js';
|
|
49
|
+
import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-picker.js';
|
|
50
|
+
import { defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-picker-column.js';
|
|
51
|
+
import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-picker-column-option.js';
|
|
52
|
+
import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-progress-bar.js';
|
|
53
|
+
import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-radio.js';
|
|
54
|
+
import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-radio-group.js';
|
|
55
|
+
import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-range.js';
|
|
56
|
+
import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-refresher.js';
|
|
57
|
+
import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-refresher-content.js';
|
|
58
|
+
import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-reorder.js';
|
|
59
|
+
import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-reorder-group.js';
|
|
60
|
+
import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-ripple-effect.js';
|
|
61
|
+
import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-row.js';
|
|
62
|
+
import { defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-searchbar.js';
|
|
63
|
+
import { defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-segment.js';
|
|
64
|
+
import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-segment-button.js';
|
|
65
|
+
import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-segment-content.js';
|
|
66
|
+
import { defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-segment-view.js';
|
|
67
|
+
import { defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-select.js';
|
|
68
|
+
import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-select-modal.js';
|
|
69
|
+
import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-select-option.js';
|
|
70
|
+
import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-skeleton-text.js';
|
|
71
|
+
import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-spinner.js';
|
|
72
|
+
import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-split-pane.js';
|
|
73
|
+
import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-tab.js';
|
|
74
|
+
import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-text.js';
|
|
75
|
+
import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-textarea.js';
|
|
76
|
+
import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-thumbnail.js';
|
|
77
|
+
import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/components/ion-title.js';
|
|
78
|
+
import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-toggle.js';
|
|
79
|
+
import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-toolbar.js';
|
|
78
80
|
import { IonBreadcrumb as IonBreadcrumb$1 } from '@ionic/core/components/ion-breadcrumb.js';
|
|
79
81
|
import { IonButton as IonButton$1 } from '@ionic/core/components/ion-button.js';
|
|
80
82
|
import { IonCard as IonCard$1 } from '@ionic/core/components/ion-card.js';
|
|
@@ -82,20 +84,20 @@ import { IonFabButton as IonFabButton$1 } from '@ionic/core/components/ion-fab-b
|
|
|
82
84
|
import { IonItemOption as IonItemOption$1 } from '@ionic/core/components/ion-item-option.js';
|
|
83
85
|
import { IonItem as IonItem$1 } from '@ionic/core/components/ion-item.js';
|
|
84
86
|
import { IonRouterLink as IonRouterLink$1 } from '@ionic/core/components/ion-router-link.js';
|
|
85
|
-
import { defineCustomElement as defineCustomElement$
|
|
86
|
-
import
|
|
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$
|
|
87
|
+
import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-alert.js';
|
|
88
|
+
import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-loading.js';
|
|
89
|
+
import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-toast.js';
|
|
90
|
+
import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-picker-legacy.js';
|
|
91
|
+
import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-action-sheet.js';
|
|
92
|
+
import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-modal.js';
|
|
93
|
+
import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-popover.js';
|
|
94
|
+
import { defineCustomElement as defineCustomElement$1m } from '@ionic/core/components/ion-app.js';
|
|
95
|
+
import { defineCustomElement as defineCustomElement$1k } from '@ionic/core/components/ion-back-button.js';
|
|
96
|
+
import { defineCustomElement as defineCustomElement$1l } from '@ionic/core/components/ion-router-outlet.js';
|
|
97
|
+
import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-tab-bar.js';
|
|
98
|
+
import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-tab-button.js';
|
|
99
|
+
import { defineCustomElement as defineCustomElement$1j } from '@ionic/core/components/ion-tabs.js';
|
|
100
|
+
import { defineCustomElement as defineCustomElement$1n } from 'ionicons/components/ion-icon.js';
|
|
99
101
|
|
|
100
102
|
const IonLifeCycleContext = /*@__PURE__*/ React.createContext({
|
|
101
103
|
onIonViewWillEnter: () => {
|
|
@@ -380,7 +382,9 @@ const useIonViewDidLeave = (callback, deps = []) => {
|
|
|
380
382
|
};
|
|
381
383
|
|
|
382
384
|
const NavContext = /*@__PURE__*/ React.createContext({
|
|
385
|
+
getIonRedirect: () => undefined,
|
|
383
386
|
getIonRoute: () => undefined,
|
|
387
|
+
getPageManager: () => undefined,
|
|
384
388
|
getStackManager: () => undefined,
|
|
385
389
|
goBack: (route) => {
|
|
386
390
|
if (typeof window !== 'undefined') {
|
|
@@ -412,651 +416,6 @@ const NavContext = /*@__PURE__*/ React.createContext({
|
|
|
412
416
|
},
|
|
413
417
|
});
|
|
414
418
|
|
|
415
|
-
const IonAccordion = /*@__PURE__*/ createComponent({
|
|
416
|
-
tagName: 'ion-accordion',
|
|
417
|
-
elementClass: IonAccordion$1,
|
|
418
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
419
|
-
react: React,
|
|
420
|
-
events: {},
|
|
421
|
-
defineCustomElement: defineCustomElement$1
|
|
422
|
-
});
|
|
423
|
-
const IonAccordionGroup = /*@__PURE__*/ createComponent({
|
|
424
|
-
tagName: 'ion-accordion-group',
|
|
425
|
-
elementClass: IonAccordionGroup$1,
|
|
426
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
427
|
-
react: React,
|
|
428
|
-
events: { onIonChange: 'ionChange' },
|
|
429
|
-
defineCustomElement: defineCustomElement$2
|
|
430
|
-
});
|
|
431
|
-
const IonAvatar = /*@__PURE__*/ createComponent({
|
|
432
|
-
tagName: 'ion-avatar',
|
|
433
|
-
elementClass: IonAvatar$1,
|
|
434
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
435
|
-
react: React,
|
|
436
|
-
events: {},
|
|
437
|
-
defineCustomElement: defineCustomElement$3
|
|
438
|
-
});
|
|
439
|
-
const IonBackdrop = /*@__PURE__*/ createComponent({
|
|
440
|
-
tagName: 'ion-backdrop',
|
|
441
|
-
elementClass: IonBackdrop$1,
|
|
442
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
443
|
-
react: React,
|
|
444
|
-
events: { onIonBackdropTap: 'ionBackdropTap' },
|
|
445
|
-
defineCustomElement: defineCustomElement$4
|
|
446
|
-
});
|
|
447
|
-
const IonBadge = /*@__PURE__*/ createComponent({
|
|
448
|
-
tagName: 'ion-badge',
|
|
449
|
-
elementClass: IonBadge$1,
|
|
450
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
451
|
-
react: React,
|
|
452
|
-
events: {},
|
|
453
|
-
defineCustomElement: defineCustomElement$5
|
|
454
|
-
});
|
|
455
|
-
const IonBreadcrumbs = /*@__PURE__*/ createComponent({
|
|
456
|
-
tagName: 'ion-breadcrumbs',
|
|
457
|
-
elementClass: IonBreadcrumbs$1,
|
|
458
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
459
|
-
react: React,
|
|
460
|
-
events: { onIonCollapsedClick: 'ionCollapsedClick' },
|
|
461
|
-
defineCustomElement: defineCustomElement$6
|
|
462
|
-
});
|
|
463
|
-
const IonButtons = /*@__PURE__*/ createComponent({
|
|
464
|
-
tagName: 'ion-buttons',
|
|
465
|
-
elementClass: IonButtons$1,
|
|
466
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
467
|
-
react: React,
|
|
468
|
-
events: {},
|
|
469
|
-
defineCustomElement: defineCustomElement$7
|
|
470
|
-
});
|
|
471
|
-
const IonCardContent = /*@__PURE__*/ createComponent({
|
|
472
|
-
tagName: 'ion-card-content',
|
|
473
|
-
elementClass: IonCardContent$1,
|
|
474
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
475
|
-
react: React,
|
|
476
|
-
events: {},
|
|
477
|
-
defineCustomElement: defineCustomElement$8
|
|
478
|
-
});
|
|
479
|
-
const IonCardHeader = /*@__PURE__*/ createComponent({
|
|
480
|
-
tagName: 'ion-card-header',
|
|
481
|
-
elementClass: IonCardHeader$1,
|
|
482
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
483
|
-
react: React,
|
|
484
|
-
events: {},
|
|
485
|
-
defineCustomElement: defineCustomElement$9
|
|
486
|
-
});
|
|
487
|
-
const IonCardSubtitle = /*@__PURE__*/ createComponent({
|
|
488
|
-
tagName: 'ion-card-subtitle',
|
|
489
|
-
elementClass: IonCardSubtitle$1,
|
|
490
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
491
|
-
react: React,
|
|
492
|
-
events: {},
|
|
493
|
-
defineCustomElement: defineCustomElement$a
|
|
494
|
-
});
|
|
495
|
-
const IonCardTitle = /*@__PURE__*/ createComponent({
|
|
496
|
-
tagName: 'ion-card-title',
|
|
497
|
-
elementClass: IonCardTitle$1,
|
|
498
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
499
|
-
react: React,
|
|
500
|
-
events: {},
|
|
501
|
-
defineCustomElement: defineCustomElement$b
|
|
502
|
-
});
|
|
503
|
-
const IonCheckbox = /*@__PURE__*/ createComponent({
|
|
504
|
-
tagName: 'ion-checkbox',
|
|
505
|
-
elementClass: IonCheckbox$1,
|
|
506
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
507
|
-
react: React,
|
|
508
|
-
events: {
|
|
509
|
-
onIonChange: 'ionChange',
|
|
510
|
-
onIonFocus: 'ionFocus',
|
|
511
|
-
onIonBlur: 'ionBlur'
|
|
512
|
-
},
|
|
513
|
-
defineCustomElement: defineCustomElement$c
|
|
514
|
-
});
|
|
515
|
-
const IonChip = /*@__PURE__*/ createComponent({
|
|
516
|
-
tagName: 'ion-chip',
|
|
517
|
-
elementClass: IonChip$1,
|
|
518
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
519
|
-
react: React,
|
|
520
|
-
events: {},
|
|
521
|
-
defineCustomElement: defineCustomElement$d
|
|
522
|
-
});
|
|
523
|
-
const IonCol = /*@__PURE__*/ createComponent({
|
|
524
|
-
tagName: 'ion-col',
|
|
525
|
-
elementClass: IonCol$1,
|
|
526
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
527
|
-
react: React,
|
|
528
|
-
events: {},
|
|
529
|
-
defineCustomElement: defineCustomElement$e
|
|
530
|
-
});
|
|
531
|
-
const IonContent = /*@__PURE__*/ createComponent({
|
|
532
|
-
tagName: 'ion-content',
|
|
533
|
-
elementClass: IonContent$1,
|
|
534
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
535
|
-
react: React,
|
|
536
|
-
events: {
|
|
537
|
-
onIonScrollStart: 'ionScrollStart',
|
|
538
|
-
onIonScroll: 'ionScroll',
|
|
539
|
-
onIonScrollEnd: 'ionScrollEnd'
|
|
540
|
-
},
|
|
541
|
-
defineCustomElement: defineCustomElement$f
|
|
542
|
-
});
|
|
543
|
-
const IonDatetime = /*@__PURE__*/ createComponent({
|
|
544
|
-
tagName: 'ion-datetime',
|
|
545
|
-
elementClass: IonDatetime$1,
|
|
546
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
547
|
-
react: React,
|
|
548
|
-
events: {
|
|
549
|
-
onIonCancel: 'ionCancel',
|
|
550
|
-
onIonChange: 'ionChange',
|
|
551
|
-
onIonFocus: 'ionFocus',
|
|
552
|
-
onIonBlur: 'ionBlur'
|
|
553
|
-
},
|
|
554
|
-
defineCustomElement: defineCustomElement$g
|
|
555
|
-
});
|
|
556
|
-
const IonDatetimeButton = /*@__PURE__*/ createComponent({
|
|
557
|
-
tagName: 'ion-datetime-button',
|
|
558
|
-
elementClass: IonDatetimeButton$1,
|
|
559
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
560
|
-
react: React,
|
|
561
|
-
events: {},
|
|
562
|
-
defineCustomElement: defineCustomElement$h
|
|
563
|
-
});
|
|
564
|
-
const IonFab = /*@__PURE__*/ createComponent({
|
|
565
|
-
tagName: 'ion-fab',
|
|
566
|
-
elementClass: IonFab$1,
|
|
567
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
568
|
-
react: React,
|
|
569
|
-
events: {},
|
|
570
|
-
defineCustomElement: defineCustomElement$i
|
|
571
|
-
});
|
|
572
|
-
const IonFabList = /*@__PURE__*/ createComponent({
|
|
573
|
-
tagName: 'ion-fab-list',
|
|
574
|
-
elementClass: IonFabList$1,
|
|
575
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
576
|
-
react: React,
|
|
577
|
-
events: {},
|
|
578
|
-
defineCustomElement: defineCustomElement$j
|
|
579
|
-
});
|
|
580
|
-
const IonFooter = /*@__PURE__*/ createComponent({
|
|
581
|
-
tagName: 'ion-footer',
|
|
582
|
-
elementClass: IonFooter$1,
|
|
583
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
584
|
-
react: React,
|
|
585
|
-
events: {},
|
|
586
|
-
defineCustomElement: defineCustomElement$k
|
|
587
|
-
});
|
|
588
|
-
const IonGrid = /*@__PURE__*/ createComponent({
|
|
589
|
-
tagName: 'ion-grid',
|
|
590
|
-
elementClass: IonGrid$1,
|
|
591
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
592
|
-
react: React,
|
|
593
|
-
events: {},
|
|
594
|
-
defineCustomElement: defineCustomElement$l
|
|
595
|
-
});
|
|
596
|
-
const IonHeader = /*@__PURE__*/ createComponent({
|
|
597
|
-
tagName: 'ion-header',
|
|
598
|
-
elementClass: IonHeader$1,
|
|
599
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
600
|
-
react: React,
|
|
601
|
-
events: {},
|
|
602
|
-
defineCustomElement: defineCustomElement$m
|
|
603
|
-
});
|
|
604
|
-
const IonImg = /*@__PURE__*/ createComponent({
|
|
605
|
-
tagName: 'ion-img',
|
|
606
|
-
elementClass: IonImg$1,
|
|
607
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
608
|
-
react: React,
|
|
609
|
-
events: {
|
|
610
|
-
onIonImgWillLoad: 'ionImgWillLoad',
|
|
611
|
-
onIonImgDidLoad: 'ionImgDidLoad',
|
|
612
|
-
onIonError: 'ionError'
|
|
613
|
-
},
|
|
614
|
-
defineCustomElement: defineCustomElement$n
|
|
615
|
-
});
|
|
616
|
-
const IonInfiniteScroll = /*@__PURE__*/ createComponent({
|
|
617
|
-
tagName: 'ion-infinite-scroll',
|
|
618
|
-
elementClass: IonInfiniteScroll$1,
|
|
619
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
620
|
-
react: React,
|
|
621
|
-
events: { onIonInfinite: 'ionInfinite' },
|
|
622
|
-
defineCustomElement: defineCustomElement$o
|
|
623
|
-
});
|
|
624
|
-
const IonInfiniteScrollContent = /*@__PURE__*/ createComponent({
|
|
625
|
-
tagName: 'ion-infinite-scroll-content',
|
|
626
|
-
elementClass: IonInfiniteScrollContent$1,
|
|
627
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
628
|
-
react: React,
|
|
629
|
-
events: {},
|
|
630
|
-
defineCustomElement: defineCustomElement$p
|
|
631
|
-
});
|
|
632
|
-
const IonInput = /*@__PURE__*/ createComponent({
|
|
633
|
-
tagName: 'ion-input',
|
|
634
|
-
elementClass: IonInput$1,
|
|
635
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
636
|
-
react: React,
|
|
637
|
-
events: {
|
|
638
|
-
onIonInput: 'ionInput',
|
|
639
|
-
onIonChange: 'ionChange',
|
|
640
|
-
onIonBlur: 'ionBlur',
|
|
641
|
-
onIonFocus: 'ionFocus'
|
|
642
|
-
},
|
|
643
|
-
defineCustomElement: defineCustomElement$q
|
|
644
|
-
});
|
|
645
|
-
const IonInputOtp = /*@__PURE__*/ createComponent({
|
|
646
|
-
tagName: 'ion-input-otp',
|
|
647
|
-
elementClass: IonInputOtp$1,
|
|
648
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
649
|
-
react: React,
|
|
650
|
-
events: {
|
|
651
|
-
onIonInput: 'ionInput',
|
|
652
|
-
onIonChange: 'ionChange',
|
|
653
|
-
onIonComplete: 'ionComplete',
|
|
654
|
-
onIonBlur: 'ionBlur',
|
|
655
|
-
onIonFocus: 'ionFocus'
|
|
656
|
-
},
|
|
657
|
-
defineCustomElement: defineCustomElement$r
|
|
658
|
-
});
|
|
659
|
-
const IonInputPasswordToggle = /*@__PURE__*/ createComponent({
|
|
660
|
-
tagName: 'ion-input-password-toggle',
|
|
661
|
-
elementClass: IonInputPasswordToggle$1,
|
|
662
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
663
|
-
react: React,
|
|
664
|
-
events: {},
|
|
665
|
-
defineCustomElement: defineCustomElement$s
|
|
666
|
-
});
|
|
667
|
-
const IonItemDivider = /*@__PURE__*/ createComponent({
|
|
668
|
-
tagName: 'ion-item-divider',
|
|
669
|
-
elementClass: IonItemDivider$1,
|
|
670
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
671
|
-
react: React,
|
|
672
|
-
events: {},
|
|
673
|
-
defineCustomElement: defineCustomElement$t
|
|
674
|
-
});
|
|
675
|
-
const IonItemGroup = /*@__PURE__*/ createComponent({
|
|
676
|
-
tagName: 'ion-item-group',
|
|
677
|
-
elementClass: IonItemGroup$1,
|
|
678
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
679
|
-
react: React,
|
|
680
|
-
events: {},
|
|
681
|
-
defineCustomElement: defineCustomElement$u
|
|
682
|
-
});
|
|
683
|
-
const IonItemOptions = /*@__PURE__*/ createComponent({
|
|
684
|
-
tagName: 'ion-item-options',
|
|
685
|
-
elementClass: IonItemOptions$1,
|
|
686
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
687
|
-
react: React,
|
|
688
|
-
events: { onIonSwipe: 'ionSwipe' },
|
|
689
|
-
defineCustomElement: defineCustomElement$v
|
|
690
|
-
});
|
|
691
|
-
const IonItemSliding = /*@__PURE__*/ createComponent({
|
|
692
|
-
tagName: 'ion-item-sliding',
|
|
693
|
-
elementClass: IonItemSliding$1,
|
|
694
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
695
|
-
react: React,
|
|
696
|
-
events: { onIonDrag: 'ionDrag' },
|
|
697
|
-
defineCustomElement: defineCustomElement$w
|
|
698
|
-
});
|
|
699
|
-
const IonLabel = /*@__PURE__*/ createComponent({
|
|
700
|
-
tagName: 'ion-label',
|
|
701
|
-
elementClass: IonLabel$1,
|
|
702
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
703
|
-
react: React,
|
|
704
|
-
events: {},
|
|
705
|
-
defineCustomElement: defineCustomElement$x
|
|
706
|
-
});
|
|
707
|
-
const IonList = /*@__PURE__*/ createComponent({
|
|
708
|
-
tagName: 'ion-list',
|
|
709
|
-
elementClass: IonList$1,
|
|
710
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
711
|
-
react: React,
|
|
712
|
-
events: {},
|
|
713
|
-
defineCustomElement: defineCustomElement$y
|
|
714
|
-
});
|
|
715
|
-
const IonListHeader = /*@__PURE__*/ createComponent({
|
|
716
|
-
tagName: 'ion-list-header',
|
|
717
|
-
elementClass: IonListHeader$1,
|
|
718
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
719
|
-
react: React,
|
|
720
|
-
events: {},
|
|
721
|
-
defineCustomElement: defineCustomElement$z
|
|
722
|
-
});
|
|
723
|
-
const IonMenu = /*@__PURE__*/ createComponent({
|
|
724
|
-
tagName: 'ion-menu',
|
|
725
|
-
elementClass: IonMenu$1,
|
|
726
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
727
|
-
react: React,
|
|
728
|
-
events: {
|
|
729
|
-
onIonWillOpen: 'ionWillOpen',
|
|
730
|
-
onIonWillClose: 'ionWillClose',
|
|
731
|
-
onIonDidOpen: 'ionDidOpen',
|
|
732
|
-
onIonDidClose: 'ionDidClose'
|
|
733
|
-
},
|
|
734
|
-
defineCustomElement: defineCustomElement$A
|
|
735
|
-
});
|
|
736
|
-
const IonMenuButton = /*@__PURE__*/ createComponent({
|
|
737
|
-
tagName: 'ion-menu-button',
|
|
738
|
-
elementClass: IonMenuButton$1,
|
|
739
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
740
|
-
react: React,
|
|
741
|
-
events: {},
|
|
742
|
-
defineCustomElement: defineCustomElement$B
|
|
743
|
-
});
|
|
744
|
-
const IonMenuToggle = /*@__PURE__*/ createComponent({
|
|
745
|
-
tagName: 'ion-menu-toggle',
|
|
746
|
-
elementClass: IonMenuToggle$1,
|
|
747
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
748
|
-
react: React,
|
|
749
|
-
events: {},
|
|
750
|
-
defineCustomElement: defineCustomElement$C
|
|
751
|
-
});
|
|
752
|
-
const IonNavLink = /*@__PURE__*/ createComponent({
|
|
753
|
-
tagName: 'ion-nav-link',
|
|
754
|
-
elementClass: IonNavLink$1,
|
|
755
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
756
|
-
react: React,
|
|
757
|
-
events: {},
|
|
758
|
-
defineCustomElement: defineCustomElement$D
|
|
759
|
-
});
|
|
760
|
-
const IonNote = /*@__PURE__*/ createComponent({
|
|
761
|
-
tagName: 'ion-note',
|
|
762
|
-
elementClass: IonNote$1,
|
|
763
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
764
|
-
react: React,
|
|
765
|
-
events: {},
|
|
766
|
-
defineCustomElement: defineCustomElement$E
|
|
767
|
-
});
|
|
768
|
-
const IonPicker = /*@__PURE__*/ createComponent({
|
|
769
|
-
tagName: 'ion-picker',
|
|
770
|
-
elementClass: IonPicker$1,
|
|
771
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
772
|
-
react: React,
|
|
773
|
-
events: {},
|
|
774
|
-
defineCustomElement: defineCustomElement$F
|
|
775
|
-
});
|
|
776
|
-
const IonPickerColumn = /*@__PURE__*/ createComponent({
|
|
777
|
-
tagName: 'ion-picker-column',
|
|
778
|
-
elementClass: IonPickerColumn$1,
|
|
779
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
780
|
-
react: React,
|
|
781
|
-
events: { onIonChange: 'ionChange' },
|
|
782
|
-
defineCustomElement: defineCustomElement$G
|
|
783
|
-
});
|
|
784
|
-
const IonPickerColumnOption = /*@__PURE__*/ createComponent({
|
|
785
|
-
tagName: 'ion-picker-column-option',
|
|
786
|
-
elementClass: IonPickerColumnOption$1,
|
|
787
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
788
|
-
react: React,
|
|
789
|
-
events: {},
|
|
790
|
-
defineCustomElement: defineCustomElement$H
|
|
791
|
-
});
|
|
792
|
-
const IonProgressBar = /*@__PURE__*/ createComponent({
|
|
793
|
-
tagName: 'ion-progress-bar',
|
|
794
|
-
elementClass: IonProgressBar$1,
|
|
795
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
796
|
-
react: React,
|
|
797
|
-
events: {},
|
|
798
|
-
defineCustomElement: defineCustomElement$I
|
|
799
|
-
});
|
|
800
|
-
const IonRadio = /*@__PURE__*/ createComponent({
|
|
801
|
-
tagName: 'ion-radio',
|
|
802
|
-
elementClass: IonRadio$1,
|
|
803
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
804
|
-
react: React,
|
|
805
|
-
events: {
|
|
806
|
-
onIonFocus: 'ionFocus',
|
|
807
|
-
onIonBlur: 'ionBlur'
|
|
808
|
-
},
|
|
809
|
-
defineCustomElement: defineCustomElement$J
|
|
810
|
-
});
|
|
811
|
-
const IonRadioGroup = /*@__PURE__*/ createComponent({
|
|
812
|
-
tagName: 'ion-radio-group',
|
|
813
|
-
elementClass: IonRadioGroup$1,
|
|
814
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
815
|
-
react: React,
|
|
816
|
-
events: { onIonChange: 'ionChange' },
|
|
817
|
-
defineCustomElement: defineCustomElement$K
|
|
818
|
-
});
|
|
819
|
-
const IonRange = /*@__PURE__*/ createComponent({
|
|
820
|
-
tagName: 'ion-range',
|
|
821
|
-
elementClass: IonRange$1,
|
|
822
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
823
|
-
react: React,
|
|
824
|
-
events: {
|
|
825
|
-
onIonChange: 'ionChange',
|
|
826
|
-
onIonInput: 'ionInput',
|
|
827
|
-
onIonFocus: 'ionFocus',
|
|
828
|
-
onIonBlur: 'ionBlur',
|
|
829
|
-
onIonKnobMoveStart: 'ionKnobMoveStart',
|
|
830
|
-
onIonKnobMoveEnd: 'ionKnobMoveEnd'
|
|
831
|
-
},
|
|
832
|
-
defineCustomElement: defineCustomElement$L
|
|
833
|
-
});
|
|
834
|
-
const IonRefresher = /*@__PURE__*/ createComponent({
|
|
835
|
-
tagName: 'ion-refresher',
|
|
836
|
-
elementClass: IonRefresher$1,
|
|
837
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
838
|
-
react: React,
|
|
839
|
-
events: {
|
|
840
|
-
onIonRefresh: 'ionRefresh',
|
|
841
|
-
onIonPull: 'ionPull',
|
|
842
|
-
onIonStart: 'ionStart',
|
|
843
|
-
onIonPullStart: 'ionPullStart',
|
|
844
|
-
onIonPullEnd: 'ionPullEnd'
|
|
845
|
-
},
|
|
846
|
-
defineCustomElement: defineCustomElement$M
|
|
847
|
-
});
|
|
848
|
-
const IonRefresherContent = /*@__PURE__*/ createComponent({
|
|
849
|
-
tagName: 'ion-refresher-content',
|
|
850
|
-
elementClass: IonRefresherContent$1,
|
|
851
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
852
|
-
react: React,
|
|
853
|
-
events: {},
|
|
854
|
-
defineCustomElement: defineCustomElement$N
|
|
855
|
-
});
|
|
856
|
-
const IonReorder = /*@__PURE__*/ createComponent({
|
|
857
|
-
tagName: 'ion-reorder',
|
|
858
|
-
elementClass: IonReorder$1,
|
|
859
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
860
|
-
react: React,
|
|
861
|
-
events: {},
|
|
862
|
-
defineCustomElement: defineCustomElement$O
|
|
863
|
-
});
|
|
864
|
-
const IonReorderGroup = /*@__PURE__*/ createComponent({
|
|
865
|
-
tagName: 'ion-reorder-group',
|
|
866
|
-
elementClass: IonReorderGroup$1,
|
|
867
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
868
|
-
react: React,
|
|
869
|
-
events: {
|
|
870
|
-
onIonItemReorder: 'ionItemReorder',
|
|
871
|
-
onIonReorderStart: 'ionReorderStart',
|
|
872
|
-
onIonReorderMove: 'ionReorderMove',
|
|
873
|
-
onIonReorderEnd: 'ionReorderEnd'
|
|
874
|
-
},
|
|
875
|
-
defineCustomElement: defineCustomElement$P
|
|
876
|
-
});
|
|
877
|
-
const IonRippleEffect = /*@__PURE__*/ createComponent({
|
|
878
|
-
tagName: 'ion-ripple-effect',
|
|
879
|
-
elementClass: IonRippleEffect$1,
|
|
880
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
881
|
-
react: React,
|
|
882
|
-
events: {},
|
|
883
|
-
defineCustomElement: defineCustomElement$Q
|
|
884
|
-
});
|
|
885
|
-
const IonRow = /*@__PURE__*/ createComponent({
|
|
886
|
-
tagName: 'ion-row',
|
|
887
|
-
elementClass: IonRow$1,
|
|
888
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
889
|
-
react: React,
|
|
890
|
-
events: {},
|
|
891
|
-
defineCustomElement: defineCustomElement$R
|
|
892
|
-
});
|
|
893
|
-
const IonSearchbar = /*@__PURE__*/ createComponent({
|
|
894
|
-
tagName: 'ion-searchbar',
|
|
895
|
-
elementClass: IonSearchbar$1,
|
|
896
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
897
|
-
react: React,
|
|
898
|
-
events: {
|
|
899
|
-
onIonInput: 'ionInput',
|
|
900
|
-
onIonChange: 'ionChange',
|
|
901
|
-
onIonCancel: 'ionCancel',
|
|
902
|
-
onIonClear: 'ionClear',
|
|
903
|
-
onIonBlur: 'ionBlur',
|
|
904
|
-
onIonFocus: 'ionFocus'
|
|
905
|
-
},
|
|
906
|
-
defineCustomElement: defineCustomElement$S
|
|
907
|
-
});
|
|
908
|
-
const IonSegment = /*@__PURE__*/ createComponent({
|
|
909
|
-
tagName: 'ion-segment',
|
|
910
|
-
elementClass: IonSegment$1,
|
|
911
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
912
|
-
react: React,
|
|
913
|
-
events: { onIonChange: 'ionChange' },
|
|
914
|
-
defineCustomElement: defineCustomElement$T
|
|
915
|
-
});
|
|
916
|
-
const IonSegmentButton = /*@__PURE__*/ createComponent({
|
|
917
|
-
tagName: 'ion-segment-button',
|
|
918
|
-
elementClass: IonSegmentButton$1,
|
|
919
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
920
|
-
react: React,
|
|
921
|
-
events: {},
|
|
922
|
-
defineCustomElement: defineCustomElement$U
|
|
923
|
-
});
|
|
924
|
-
const IonSegmentContent = /*@__PURE__*/ createComponent({
|
|
925
|
-
tagName: 'ion-segment-content',
|
|
926
|
-
elementClass: IonSegmentContent$1,
|
|
927
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
928
|
-
react: React,
|
|
929
|
-
events: {},
|
|
930
|
-
defineCustomElement: defineCustomElement$V
|
|
931
|
-
});
|
|
932
|
-
const IonSegmentView = /*@__PURE__*/ createComponent({
|
|
933
|
-
tagName: 'ion-segment-view',
|
|
934
|
-
elementClass: IonSegmentView$1,
|
|
935
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
936
|
-
react: React,
|
|
937
|
-
events: { onIonSegmentViewScroll: 'ionSegmentViewScroll' },
|
|
938
|
-
defineCustomElement: defineCustomElement$W
|
|
939
|
-
});
|
|
940
|
-
const IonSelect = /*@__PURE__*/ createComponent({
|
|
941
|
-
tagName: 'ion-select',
|
|
942
|
-
elementClass: IonSelect$1,
|
|
943
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
944
|
-
react: React,
|
|
945
|
-
events: {
|
|
946
|
-
onIonChange: 'ionChange',
|
|
947
|
-
onIonCancel: 'ionCancel',
|
|
948
|
-
onIonDismiss: 'ionDismiss',
|
|
949
|
-
onIonFocus: 'ionFocus',
|
|
950
|
-
onIonBlur: 'ionBlur'
|
|
951
|
-
},
|
|
952
|
-
defineCustomElement: defineCustomElement$X
|
|
953
|
-
});
|
|
954
|
-
const IonSelectModal = /*@__PURE__*/ createComponent({
|
|
955
|
-
tagName: 'ion-select-modal',
|
|
956
|
-
elementClass: IonSelectModal$1,
|
|
957
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
958
|
-
react: React,
|
|
959
|
-
events: {},
|
|
960
|
-
defineCustomElement: defineCustomElement$Y
|
|
961
|
-
});
|
|
962
|
-
const IonSelectOption = /*@__PURE__*/ createComponent({
|
|
963
|
-
tagName: 'ion-select-option',
|
|
964
|
-
elementClass: IonSelectOption$1,
|
|
965
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
966
|
-
react: React,
|
|
967
|
-
events: {},
|
|
968
|
-
defineCustomElement: defineCustomElement$Z
|
|
969
|
-
});
|
|
970
|
-
const IonSkeletonText = /*@__PURE__*/ createComponent({
|
|
971
|
-
tagName: 'ion-skeleton-text',
|
|
972
|
-
elementClass: IonSkeletonText$1,
|
|
973
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
974
|
-
react: React,
|
|
975
|
-
events: {},
|
|
976
|
-
defineCustomElement: defineCustomElement$_
|
|
977
|
-
});
|
|
978
|
-
const IonSpinner = /*@__PURE__*/ createComponent({
|
|
979
|
-
tagName: 'ion-spinner',
|
|
980
|
-
elementClass: IonSpinner$1,
|
|
981
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
982
|
-
react: React,
|
|
983
|
-
events: {},
|
|
984
|
-
defineCustomElement: defineCustomElement$$
|
|
985
|
-
});
|
|
986
|
-
const IonSplitPane = /*@__PURE__*/ createComponent({
|
|
987
|
-
tagName: 'ion-split-pane',
|
|
988
|
-
elementClass: IonSplitPane$1,
|
|
989
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
990
|
-
react: React,
|
|
991
|
-
events: { onIonSplitPaneVisible: 'ionSplitPaneVisible' },
|
|
992
|
-
defineCustomElement: defineCustomElement$10
|
|
993
|
-
});
|
|
994
|
-
const IonTab = /*@__PURE__*/ createComponent({
|
|
995
|
-
tagName: 'ion-tab',
|
|
996
|
-
elementClass: IonTab$1,
|
|
997
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
998
|
-
react: React,
|
|
999
|
-
events: {},
|
|
1000
|
-
defineCustomElement: defineCustomElement$11
|
|
1001
|
-
});
|
|
1002
|
-
const IonText = /*@__PURE__*/ createComponent({
|
|
1003
|
-
tagName: 'ion-text',
|
|
1004
|
-
elementClass: IonText$1,
|
|
1005
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1006
|
-
react: React,
|
|
1007
|
-
events: {},
|
|
1008
|
-
defineCustomElement: defineCustomElement$12
|
|
1009
|
-
});
|
|
1010
|
-
const IonTextarea = /*@__PURE__*/ createComponent({
|
|
1011
|
-
tagName: 'ion-textarea',
|
|
1012
|
-
elementClass: IonTextarea$1,
|
|
1013
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1014
|
-
react: React,
|
|
1015
|
-
events: {
|
|
1016
|
-
onIonChange: 'ionChange',
|
|
1017
|
-
onIonInput: 'ionInput',
|
|
1018
|
-
onIonBlur: 'ionBlur',
|
|
1019
|
-
onIonFocus: 'ionFocus'
|
|
1020
|
-
},
|
|
1021
|
-
defineCustomElement: defineCustomElement$13
|
|
1022
|
-
});
|
|
1023
|
-
const IonThumbnail = /*@__PURE__*/ createComponent({
|
|
1024
|
-
tagName: 'ion-thumbnail',
|
|
1025
|
-
elementClass: IonThumbnail$1,
|
|
1026
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1027
|
-
react: React,
|
|
1028
|
-
events: {},
|
|
1029
|
-
defineCustomElement: defineCustomElement$14
|
|
1030
|
-
});
|
|
1031
|
-
const IonTitle = /*@__PURE__*/ createComponent({
|
|
1032
|
-
tagName: 'ion-title',
|
|
1033
|
-
elementClass: IonTitle$1,
|
|
1034
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1035
|
-
react: React,
|
|
1036
|
-
events: {},
|
|
1037
|
-
defineCustomElement: defineCustomElement$15
|
|
1038
|
-
});
|
|
1039
|
-
const IonToggle = /*@__PURE__*/ createComponent({
|
|
1040
|
-
tagName: 'ion-toggle',
|
|
1041
|
-
elementClass: IonToggle$1,
|
|
1042
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1043
|
-
react: React,
|
|
1044
|
-
events: {
|
|
1045
|
-
onIonChange: 'ionChange',
|
|
1046
|
-
onIonFocus: 'ionFocus',
|
|
1047
|
-
onIonBlur: 'ionBlur'
|
|
1048
|
-
},
|
|
1049
|
-
defineCustomElement: defineCustomElement$16
|
|
1050
|
-
});
|
|
1051
|
-
const IonToolbar = /*@__PURE__*/ createComponent({
|
|
1052
|
-
tagName: 'ion-toolbar',
|
|
1053
|
-
elementClass: IonToolbar$1,
|
|
1054
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1055
|
-
react: React,
|
|
1056
|
-
events: {},
|
|
1057
|
-
defineCustomElement: defineCustomElement$17
|
|
1058
|
-
});
|
|
1059
|
-
|
|
1060
419
|
const dashToPascalCase = (str) => str
|
|
1061
420
|
.toLowerCase()
|
|
1062
421
|
.split('-')
|
|
@@ -1200,6 +559,149 @@ const defineCustomElement = (tagName, customElement) => {
|
|
|
1200
559
|
}
|
|
1201
560
|
};
|
|
1202
561
|
|
|
562
|
+
const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
|
|
563
|
+
if (defineCustomElement !== undefined) {
|
|
564
|
+
defineCustomElement();
|
|
565
|
+
}
|
|
566
|
+
const displayName = dashToPascalCase(tagName);
|
|
567
|
+
const ReactComponent = class extends React.Component {
|
|
568
|
+
constructor(props) {
|
|
569
|
+
super(props);
|
|
570
|
+
this.setComponentElRef = (element) => {
|
|
571
|
+
this.componentEl = element;
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
componentDidMount() {
|
|
575
|
+
this.componentDidUpdate(this.props);
|
|
576
|
+
}
|
|
577
|
+
componentDidUpdate(prevProps) {
|
|
578
|
+
attachProps(this.componentEl, this.props, prevProps);
|
|
579
|
+
}
|
|
580
|
+
render() {
|
|
581
|
+
const { children, forwardedRef, style, className, ref, ...cProps } = this.props;
|
|
582
|
+
let propsToPass = Object.keys(cProps).reduce((acc, name) => {
|
|
583
|
+
const value = cProps[name];
|
|
584
|
+
if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
|
|
585
|
+
const eventName = name.substring(2).toLowerCase();
|
|
586
|
+
if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
|
|
587
|
+
acc[name] = value;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
// we should only render strings, booleans, and numbers as attrs in html.
|
|
592
|
+
// objects, functions, arrays etc get synced via properties on mount.
|
|
593
|
+
const type = typeof value;
|
|
594
|
+
if (type === 'string' || type === 'boolean' || type === 'number') {
|
|
595
|
+
acc[camelToDashCase(name)] = value;
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
return acc;
|
|
599
|
+
}, {});
|
|
600
|
+
if (manipulatePropsFunction) {
|
|
601
|
+
propsToPass = manipulatePropsFunction(this.props, propsToPass);
|
|
602
|
+
}
|
|
603
|
+
const newProps = {
|
|
604
|
+
...propsToPass,
|
|
605
|
+
ref: mergeRefs(forwardedRef, this.setComponentElRef),
|
|
606
|
+
style,
|
|
607
|
+
};
|
|
608
|
+
/**
|
|
609
|
+
* We use createElement here instead of
|
|
610
|
+
* React.createElement to work around a
|
|
611
|
+
* bug in Vite (https://github.com/vitejs/vite/issues/6104).
|
|
612
|
+
* React.createElement causes all elements to be rendered
|
|
613
|
+
* as <tagname> instead of the actual Web Component.
|
|
614
|
+
*/
|
|
615
|
+
return createElement(tagName, newProps, children);
|
|
616
|
+
}
|
|
617
|
+
static get displayName() {
|
|
618
|
+
return displayName;
|
|
619
|
+
}
|
|
620
|
+
};
|
|
621
|
+
// If context was passed to createReactComponent then conditionally add it to the Component Class
|
|
622
|
+
if (ReactComponentContext) {
|
|
623
|
+
ReactComponent.contextType = ReactComponentContext;
|
|
624
|
+
}
|
|
625
|
+
return createForwardRef$1(ReactComponent, displayName);
|
|
626
|
+
};
|
|
627
|
+
|
|
628
|
+
/* eslint-disable */
|
|
629
|
+
/* tslint:disable */
|
|
630
|
+
/* auto-generated react proxies */
|
|
631
|
+
const IonAccordion = /*@__PURE__*/ createReactComponent('ion-accordion', undefined, undefined, defineCustomElement$1);
|
|
632
|
+
const IonAccordionGroup = /*@__PURE__*/ createReactComponent('ion-accordion-group', undefined, undefined, defineCustomElement$2);
|
|
633
|
+
const IonAvatar = /*@__PURE__*/ createReactComponent('ion-avatar', undefined, undefined, defineCustomElement$3);
|
|
634
|
+
const IonBackdrop = /*@__PURE__*/ createReactComponent('ion-backdrop', undefined, undefined, defineCustomElement$4);
|
|
635
|
+
const IonBadge = /*@__PURE__*/ createReactComponent('ion-badge', undefined, undefined, defineCustomElement$5);
|
|
636
|
+
const IonBreadcrumbs = /*@__PURE__*/ createReactComponent('ion-breadcrumbs', undefined, undefined, defineCustomElement$6);
|
|
637
|
+
const IonButtons = /*@__PURE__*/ createReactComponent('ion-buttons', undefined, undefined, defineCustomElement$7);
|
|
638
|
+
const IonCardContent = /*@__PURE__*/ createReactComponent('ion-card-content', undefined, undefined, defineCustomElement$8);
|
|
639
|
+
const IonCardHeader = /*@__PURE__*/ createReactComponent('ion-card-header', undefined, undefined, defineCustomElement$9);
|
|
640
|
+
const IonCardSubtitle = /*@__PURE__*/ createReactComponent('ion-card-subtitle', undefined, undefined, defineCustomElement$a);
|
|
641
|
+
const IonCardTitle = /*@__PURE__*/ createReactComponent('ion-card-title', undefined, undefined, defineCustomElement$b);
|
|
642
|
+
const IonCheckbox = /*@__PURE__*/ createReactComponent('ion-checkbox', undefined, undefined, defineCustomElement$c);
|
|
643
|
+
const IonChip = /*@__PURE__*/ createReactComponent('ion-chip', undefined, undefined, defineCustomElement$d);
|
|
644
|
+
const IonCol = /*@__PURE__*/ createReactComponent('ion-col', undefined, undefined, defineCustomElement$e);
|
|
645
|
+
const IonContent = /*@__PURE__*/ createReactComponent('ion-content', undefined, undefined, defineCustomElement$f);
|
|
646
|
+
const IonDatetime = /*@__PURE__*/ createReactComponent('ion-datetime', undefined, undefined, defineCustomElement$g);
|
|
647
|
+
const IonDatetimeButton = /*@__PURE__*/ createReactComponent('ion-datetime-button', undefined, undefined, defineCustomElement$h);
|
|
648
|
+
const IonDivider = /*@__PURE__*/ createReactComponent('ion-divider', undefined, undefined, defineCustomElement$i);
|
|
649
|
+
const IonFab = /*@__PURE__*/ createReactComponent('ion-fab', undefined, undefined, defineCustomElement$j);
|
|
650
|
+
const IonFabList = /*@__PURE__*/ createReactComponent('ion-fab-list', undefined, undefined, defineCustomElement$k);
|
|
651
|
+
const IonFooter = /*@__PURE__*/ createReactComponent('ion-footer', undefined, undefined, defineCustomElement$l);
|
|
652
|
+
const IonGallery = /*@__PURE__*/ createReactComponent('ion-gallery', undefined, undefined, defineCustomElement$m);
|
|
653
|
+
const IonGrid = /*@__PURE__*/ createReactComponent('ion-grid', undefined, undefined, defineCustomElement$n);
|
|
654
|
+
const IonHeader = /*@__PURE__*/ createReactComponent('ion-header', undefined, undefined, defineCustomElement$o);
|
|
655
|
+
const IonImg = /*@__PURE__*/ createReactComponent('ion-img', undefined, undefined, defineCustomElement$p);
|
|
656
|
+
const IonInfiniteScroll = /*@__PURE__*/ createReactComponent('ion-infinite-scroll', undefined, undefined, defineCustomElement$q);
|
|
657
|
+
const IonInfiniteScrollContent = /*@__PURE__*/ createReactComponent('ion-infinite-scroll-content', undefined, undefined, defineCustomElement$r);
|
|
658
|
+
const IonInput = /*@__PURE__*/ createReactComponent('ion-input', undefined, undefined, defineCustomElement$s);
|
|
659
|
+
const IonInputOtp = /*@__PURE__*/ createReactComponent('ion-input-otp', undefined, undefined, defineCustomElement$t);
|
|
660
|
+
const IonInputPasswordToggle = /*@__PURE__*/ createReactComponent('ion-input-password-toggle', undefined, undefined, defineCustomElement$u);
|
|
661
|
+
const IonItemDivider = /*@__PURE__*/ createReactComponent('ion-item-divider', undefined, undefined, defineCustomElement$v);
|
|
662
|
+
const IonItemGroup = /*@__PURE__*/ createReactComponent('ion-item-group', undefined, undefined, defineCustomElement$w);
|
|
663
|
+
const IonItemOptions = /*@__PURE__*/ createReactComponent('ion-item-options', undefined, undefined, defineCustomElement$x);
|
|
664
|
+
const IonItemSliding = /*@__PURE__*/ createReactComponent('ion-item-sliding', undefined, undefined, defineCustomElement$y);
|
|
665
|
+
const IonLabel = /*@__PURE__*/ createReactComponent('ion-label', undefined, undefined, defineCustomElement$z);
|
|
666
|
+
const IonList = /*@__PURE__*/ createReactComponent('ion-list', undefined, undefined, defineCustomElement$A);
|
|
667
|
+
const IonListHeader = /*@__PURE__*/ createReactComponent('ion-list-header', undefined, undefined, defineCustomElement$B);
|
|
668
|
+
const IonMenu = /*@__PURE__*/ createReactComponent('ion-menu', undefined, undefined, defineCustomElement$C);
|
|
669
|
+
const IonMenuButton = /*@__PURE__*/ createReactComponent('ion-menu-button', undefined, undefined, defineCustomElement$D);
|
|
670
|
+
const IonMenuToggle = /*@__PURE__*/ createReactComponent('ion-menu-toggle', undefined, undefined, defineCustomElement$E);
|
|
671
|
+
const IonNavLink = /*@__PURE__*/ createReactComponent('ion-nav-link', undefined, undefined, defineCustomElement$F);
|
|
672
|
+
const IonNote = /*@__PURE__*/ createReactComponent('ion-note', undefined, undefined, defineCustomElement$G);
|
|
673
|
+
const IonPicker = /*@__PURE__*/ createReactComponent('ion-picker', undefined, undefined, defineCustomElement$H);
|
|
674
|
+
const IonPickerColumn = /*@__PURE__*/ createReactComponent('ion-picker-column', undefined, undefined, defineCustomElement$I);
|
|
675
|
+
const IonPickerColumnOption = /*@__PURE__*/ createReactComponent('ion-picker-column-option', undefined, undefined, defineCustomElement$J);
|
|
676
|
+
const IonProgressBar = /*@__PURE__*/ createReactComponent('ion-progress-bar', undefined, undefined, defineCustomElement$K);
|
|
677
|
+
const IonRadio = /*@__PURE__*/ createReactComponent('ion-radio', undefined, undefined, defineCustomElement$L);
|
|
678
|
+
const IonRadioGroup = /*@__PURE__*/ createReactComponent('ion-radio-group', undefined, undefined, defineCustomElement$M);
|
|
679
|
+
const IonRange = /*@__PURE__*/ createReactComponent('ion-range', undefined, undefined, defineCustomElement$N);
|
|
680
|
+
const IonRefresher = /*@__PURE__*/ createReactComponent('ion-refresher', undefined, undefined, defineCustomElement$O);
|
|
681
|
+
const IonRefresherContent = /*@__PURE__*/ createReactComponent('ion-refresher-content', undefined, undefined, defineCustomElement$P);
|
|
682
|
+
const IonReorder = /*@__PURE__*/ createReactComponent('ion-reorder', undefined, undefined, defineCustomElement$Q);
|
|
683
|
+
const IonReorderGroup = /*@__PURE__*/ createReactComponent('ion-reorder-group', undefined, undefined, defineCustomElement$R);
|
|
684
|
+
const IonRippleEffect = /*@__PURE__*/ createReactComponent('ion-ripple-effect', undefined, undefined, defineCustomElement$S);
|
|
685
|
+
const IonRow = /*@__PURE__*/ createReactComponent('ion-row', undefined, undefined, defineCustomElement$T);
|
|
686
|
+
const IonSearchbar = /*@__PURE__*/ createReactComponent('ion-searchbar', undefined, undefined, defineCustomElement$U);
|
|
687
|
+
const IonSegment = /*@__PURE__*/ createReactComponent('ion-segment', undefined, undefined, defineCustomElement$V);
|
|
688
|
+
const IonSegmentButton = /*@__PURE__*/ createReactComponent('ion-segment-button', undefined, undefined, defineCustomElement$W);
|
|
689
|
+
const IonSegmentContent = /*@__PURE__*/ createReactComponent('ion-segment-content', undefined, undefined, defineCustomElement$X);
|
|
690
|
+
const IonSegmentView = /*@__PURE__*/ createReactComponent('ion-segment-view', undefined, undefined, defineCustomElement$Y);
|
|
691
|
+
const IonSelect = /*@__PURE__*/ createReactComponent('ion-select', undefined, undefined, defineCustomElement$Z);
|
|
692
|
+
const IonSelectModal = /*@__PURE__*/ createReactComponent('ion-select-modal', undefined, undefined, defineCustomElement$_);
|
|
693
|
+
const IonSelectOption = /*@__PURE__*/ createReactComponent('ion-select-option', undefined, undefined, defineCustomElement$$);
|
|
694
|
+
const IonSkeletonText = /*@__PURE__*/ createReactComponent('ion-skeleton-text', undefined, undefined, defineCustomElement$10);
|
|
695
|
+
const IonSpinner = /*@__PURE__*/ createReactComponent('ion-spinner', undefined, undefined, defineCustomElement$11);
|
|
696
|
+
const IonSplitPane = /*@__PURE__*/ createReactComponent('ion-split-pane', undefined, undefined, defineCustomElement$12);
|
|
697
|
+
const IonTab = /*@__PURE__*/ createReactComponent('ion-tab', undefined, undefined, defineCustomElement$13);
|
|
698
|
+
const IonText = /*@__PURE__*/ createReactComponent('ion-text', undefined, undefined, defineCustomElement$14);
|
|
699
|
+
const IonTextarea = /*@__PURE__*/ createReactComponent('ion-textarea', undefined, undefined, defineCustomElement$15);
|
|
700
|
+
const IonThumbnail = /*@__PURE__*/ createReactComponent('ion-thumbnail', undefined, undefined, defineCustomElement$16);
|
|
701
|
+
const IonTitle = /*@__PURE__*/ createReactComponent('ion-title', undefined, undefined, defineCustomElement$17);
|
|
702
|
+
const IonToggle = /*@__PURE__*/ createReactComponent('ion-toggle', undefined, undefined, defineCustomElement$18);
|
|
703
|
+
const IonToolbar = /*@__PURE__*/ createReactComponent('ion-toolbar', undefined, undefined, defineCustomElement$19);
|
|
704
|
+
|
|
1203
705
|
const createForwardRef = (ReactComponent, // TODO(FW-2959): type
|
|
1204
706
|
displayName) => {
|
|
1205
707
|
const forwardRef = (props, ref) => {
|
|
@@ -1233,11 +735,6 @@ const createRoutingComponent = (tagName, customElement) => {
|
|
|
1233
735
|
this.handleClick = (e) => {
|
|
1234
736
|
const { routerLink, routerDirection, routerOptions, routerAnimation } = this.props;
|
|
1235
737
|
if (routerLink !== undefined) {
|
|
1236
|
-
// Allow modifier key clicks (ctrl/cmd/shift) to open the link in a new tab/window
|
|
1237
|
-
// without triggering SPA navigation on the current page.
|
|
1238
|
-
if (e.metaKey || e.ctrlKey || e.shiftKey) {
|
|
1239
|
-
return;
|
|
1240
|
-
}
|
|
1241
738
|
e.preventDefault();
|
|
1242
739
|
this.context.navigate(routerLink, routerDirection, undefined, routerAnimation, routerOptions);
|
|
1243
740
|
}
|
|
@@ -1564,17 +1061,19 @@ const createInlineOverlayComponent = (tagName, defineCustomElement, hasDelegateH
|
|
|
1564
1061
|
};
|
|
1565
1062
|
const DELEGATE_HOST = 'ion-delegate-host';
|
|
1566
1063
|
|
|
1567
|
-
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$
|
|
1064
|
+
const IonAlert = /*@__PURE__*/ createInlineOverlayComponent('ion-alert', defineCustomElement$1a);
|
|
1568
1065
|
|
|
1569
|
-
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$
|
|
1066
|
+
const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', defineCustomElement$1b);
|
|
1570
1067
|
|
|
1571
|
-
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$
|
|
1068
|
+
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$1c);
|
|
1572
1069
|
|
|
1573
|
-
const
|
|
1070
|
+
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$1d);
|
|
1574
1071
|
|
|
1575
|
-
const
|
|
1072
|
+
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$1e);
|
|
1576
1073
|
|
|
1577
|
-
const
|
|
1074
|
+
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$1f, true);
|
|
1075
|
+
|
|
1076
|
+
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$1g);
|
|
1578
1077
|
|
|
1579
1078
|
const IonContext = React.createContext({
|
|
1580
1079
|
addOverlay: () => {
|
|
@@ -1666,81 +1165,14 @@ const IonOverlayManager = ({ onAddOverlay, onRemoveOverlay }) => {
|
|
|
1666
1165
|
}) }));
|
|
1667
1166
|
};
|
|
1668
1167
|
|
|
1669
|
-
const
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
constructor(props) {
|
|
1676
|
-
super(props);
|
|
1677
|
-
this.setComponentElRef = (element) => {
|
|
1678
|
-
this.componentEl = element;
|
|
1679
|
-
};
|
|
1680
|
-
}
|
|
1681
|
-
componentDidMount() {
|
|
1682
|
-
this.componentDidUpdate(this.props);
|
|
1683
|
-
}
|
|
1684
|
-
componentDidUpdate(prevProps) {
|
|
1685
|
-
attachProps(this.componentEl, this.props, prevProps);
|
|
1686
|
-
}
|
|
1687
|
-
render() {
|
|
1688
|
-
const { children, forwardedRef, style, className, ref, ...cProps } = this.props;
|
|
1689
|
-
let propsToPass = Object.keys(cProps).reduce((acc, name) => {
|
|
1690
|
-
const value = cProps[name];
|
|
1691
|
-
if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
|
|
1692
|
-
const eventName = name.substring(2).toLowerCase();
|
|
1693
|
-
if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
|
|
1694
|
-
acc[name] = value;
|
|
1695
|
-
}
|
|
1696
|
-
}
|
|
1697
|
-
else {
|
|
1698
|
-
// we should only render strings, booleans, and numbers as attrs in html.
|
|
1699
|
-
// objects, functions, arrays etc get synced via properties on mount.
|
|
1700
|
-
const type = typeof value;
|
|
1701
|
-
if (type === 'string' || type === 'boolean' || type === 'number') {
|
|
1702
|
-
acc[camelToDashCase(name)] = value;
|
|
1703
|
-
}
|
|
1704
|
-
}
|
|
1705
|
-
return acc;
|
|
1706
|
-
}, {});
|
|
1707
|
-
if (manipulatePropsFunction) {
|
|
1708
|
-
propsToPass = manipulatePropsFunction(this.props, propsToPass);
|
|
1709
|
-
}
|
|
1710
|
-
const newProps = {
|
|
1711
|
-
...propsToPass,
|
|
1712
|
-
ref: mergeRefs(forwardedRef, this.setComponentElRef),
|
|
1713
|
-
style,
|
|
1714
|
-
children
|
|
1715
|
-
};
|
|
1716
|
-
/**
|
|
1717
|
-
* We use createElement here instead of
|
|
1718
|
-
* React.createElement to work around a
|
|
1719
|
-
* bug in Vite (https://github.com/vitejs/vite/issues/6104).
|
|
1720
|
-
* React.createElement causes all elements to be rendered
|
|
1721
|
-
* as <tagname> instead of the actual Web Component.
|
|
1722
|
-
*/
|
|
1723
|
-
return createElement(tagName, newProps, children);
|
|
1724
|
-
}
|
|
1725
|
-
static get displayName() {
|
|
1726
|
-
return displayName;
|
|
1727
|
-
}
|
|
1728
|
-
};
|
|
1729
|
-
// If context was passed to createReactComponent then conditionally add it to the Component Class
|
|
1730
|
-
if (ReactComponentContext) {
|
|
1731
|
-
ReactComponent.contextType = ReactComponentContext;
|
|
1732
|
-
}
|
|
1733
|
-
return createForwardRef$1(ReactComponent, displayName);
|
|
1734
|
-
};
|
|
1735
|
-
|
|
1736
|
-
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1e);
|
|
1737
|
-
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1f);
|
|
1738
|
-
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1g);
|
|
1739
|
-
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1h);
|
|
1740
|
-
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$1i);
|
|
1741
|
-
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1j);
|
|
1168
|
+
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1h);
|
|
1169
|
+
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1i);
|
|
1170
|
+
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1j);
|
|
1171
|
+
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1k);
|
|
1172
|
+
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$1l);
|
|
1173
|
+
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1m);
|
|
1742
1174
|
// ionicons
|
|
1743
|
-
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$
|
|
1175
|
+
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$1n);
|
|
1744
1176
|
|
|
1745
1177
|
class IonApp extends React.Component {
|
|
1746
1178
|
constructor(props) {
|
|
@@ -1778,25 +1210,7 @@ class PageManager extends React.PureComponent {
|
|
|
1778
1210
|
super(props);
|
|
1779
1211
|
this.ionPageElementRef = React.createRef();
|
|
1780
1212
|
// React refs must be stable (not created inline).
|
|
1781
|
-
|
|
1782
|
-
const baseMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1783
|
-
// Guard against React 19 strict mode double-mount re-adding ion-page-invisible.
|
|
1784
|
-
// The ref fires again on remount after StackManager may have already removed it.
|
|
1785
|
-
let hasAppliedInvisible = false;
|
|
1786
|
-
this.stableMergedRefs = (node) => {
|
|
1787
|
-
if (node &&
|
|
1788
|
-
!hasAppliedInvisible &&
|
|
1789
|
-
!node.classList.contains('ion-page-invisible') &&
|
|
1790
|
-
!node.classList.contains('ion-page-hidden')) {
|
|
1791
|
-
// Add ion-page-invisible synchronously before first paint (if in an outlet)
|
|
1792
|
-
// This prevents the flash that occurs when componentDidMount runs after paint
|
|
1793
|
-
if (this.context?.isInOutlet?.()) {
|
|
1794
|
-
node.classList.add('ion-page-invisible');
|
|
1795
|
-
hasAppliedInvisible = true;
|
|
1796
|
-
}
|
|
1797
|
-
}
|
|
1798
|
-
baseMergedRefs(node);
|
|
1799
|
-
};
|
|
1213
|
+
this.stableMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1800
1214
|
/**
|
|
1801
1215
|
* This binds the scope of the following methods to the class scope.
|
|
1802
1216
|
* The `.bind` method returns a new function, so we need to assign it
|
|
@@ -1808,38 +1222,11 @@ class PageManager extends React.PureComponent {
|
|
|
1808
1222
|
this.ionViewWillLeaveHandler = this.ionViewWillLeaveHandler.bind(this);
|
|
1809
1223
|
this.ionViewDidLeaveHandler = this.ionViewDidLeaveHandler.bind(this);
|
|
1810
1224
|
}
|
|
1811
|
-
parseClasses(className) {
|
|
1812
|
-
if (!className)
|
|
1813
|
-
return new Set();
|
|
1814
|
-
return new Set(className.split(/\s+/).filter(Boolean));
|
|
1815
|
-
}
|
|
1816
|
-
/**
|
|
1817
|
-
* Updates classList by diffing old/new className props.
|
|
1818
|
-
* Preserves framework-added classes (can-go-back, ion-page-invisible, etc.).
|
|
1819
|
-
*/
|
|
1820
|
-
updateUserClasses(oldClassName, newClassName) {
|
|
1821
|
-
if (!this.ionPageElementRef.current)
|
|
1822
|
-
return;
|
|
1823
|
-
const oldClasses = this.parseClasses(oldClassName);
|
|
1824
|
-
const newClasses = this.parseClasses(newClassName);
|
|
1825
|
-
oldClasses.forEach((cls) => {
|
|
1826
|
-
if (!newClasses.has(cls)) {
|
|
1827
|
-
this.ionPageElementRef.current.classList.remove(cls);
|
|
1828
|
-
}
|
|
1829
|
-
});
|
|
1830
|
-
newClasses.forEach((cls) => {
|
|
1831
|
-
if (!oldClasses.has(cls)) {
|
|
1832
|
-
this.ionPageElementRef.current.classList.add(cls);
|
|
1833
|
-
}
|
|
1834
|
-
});
|
|
1835
|
-
}
|
|
1836
1225
|
componentDidMount() {
|
|
1837
1226
|
if (this.ionPageElementRef.current) {
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
// The ref callback runs synchronously when the element is created, before the browser paints.
|
|
1842
|
-
this.updateUserClasses(undefined, this.props.className);
|
|
1227
|
+
if (this.context.isInOutlet()) {
|
|
1228
|
+
this.ionPageElementRef.current.classList.add('ion-page-invisible');
|
|
1229
|
+
}
|
|
1843
1230
|
this.context.registerIonPage(this.ionPageElementRef.current, this.props.routeInfo);
|
|
1844
1231
|
this.ionPageElementRef.current.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
1845
1232
|
this.ionPageElementRef.current.addEventListener('ionViewDidEnter', this.ionViewDidEnterHandler);
|
|
@@ -1847,11 +1234,6 @@ class PageManager extends React.PureComponent {
|
|
|
1847
1234
|
this.ionPageElementRef.current.addEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler);
|
|
1848
1235
|
}
|
|
1849
1236
|
}
|
|
1850
|
-
componentDidUpdate(prevProps) {
|
|
1851
|
-
if (prevProps.className !== this.props.className) {
|
|
1852
|
-
this.updateUserClasses(prevProps.className, this.props.className);
|
|
1853
|
-
}
|
|
1854
|
-
}
|
|
1855
1237
|
componentWillUnmount() {
|
|
1856
1238
|
if (this.ionPageElementRef.current) {
|
|
1857
1239
|
this.ionPageElementRef.current.removeEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
@@ -1881,11 +1263,9 @@ class PageManager extends React.PureComponent {
|
|
|
1881
1263
|
render() {
|
|
1882
1264
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1883
1265
|
const { className, children, routeInfo, forwardedRef, ...props } = this.props;
|
|
1884
|
-
// Only set "ion-page" in JSX. User classes are managed via DOM in componentDidMount/componentDidUpdate
|
|
1885
|
-
// to preserve framework-added classes (can-go-back, ion-page-invisible, etc.) when className prop changes.
|
|
1886
1266
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1887
1267
|
this.ionLifeCycleContext = context;
|
|
1888
|
-
return (jsx("div", { className:
|
|
1268
|
+
return (jsx("div", { className: className ? `${className} ion-page` : `ion-page`, ref: this.stableMergedRefs, ...props, children: children }));
|
|
1889
1269
|
} }));
|
|
1890
1270
|
}
|
|
1891
1271
|
static get contextType() {
|
|
@@ -1945,7 +1325,7 @@ const ReactDelegate = (addView, removeView) => {
|
|
|
1945
1325
|
};
|
|
1946
1326
|
};
|
|
1947
1327
|
|
|
1948
|
-
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$
|
|
1328
|
+
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$1o);
|
|
1949
1329
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1950
1330
|
const IonNavInternal = ({ children, forwardedRef, ...restOfProps }) => {
|
|
1951
1331
|
const [views, setViews] = useState([]);
|
|
@@ -1993,30 +1373,8 @@ class OutletPageManager extends React.Component {
|
|
|
1993
1373
|
*/
|
|
1994
1374
|
if (!this.outletIsReady) {
|
|
1995
1375
|
componentOnReady(this.ionRouterOutlet, () => {
|
|
1996
|
-
/**
|
|
1997
|
-
* Guard against duplicate callbacks from React strict mode double-mount.
|
|
1998
|
-
* Both componentDidMount calls pass the outer !outletIsReady check before
|
|
1999
|
-
* either async callback fires. Without this inner guard, the second callback
|
|
2000
|
-
* re-adds ion-page-invisible after the first callback's transition removed it,
|
|
2001
|
-
* and registerIonPage returns early (same element), leaving the page invisible.
|
|
2002
|
-
*/
|
|
2003
|
-
if (this.outletIsReady)
|
|
2004
|
-
return;
|
|
2005
1376
|
this.outletIsReady = true;
|
|
2006
|
-
|
|
2007
|
-
* Add ion-page + ion-page-invisible AFTER Stencil hydration but
|
|
2008
|
-
* BEFORE registerIonPage. Stencil hydration overwrites className,
|
|
2009
|
-
* so classes added in a React ref callback get wiped. Adding them
|
|
2010
|
-
* here -- after hydration -- ensures they persist until the parent
|
|
2011
|
-
* outlet's forward animation removes ion-page-invisible, preventing
|
|
2012
|
-
* a flash where the outlet is briefly visible at full opacity.
|
|
2013
|
-
*/
|
|
2014
|
-
const el = this.ionRouterOutlet;
|
|
2015
|
-
if (!el.classList.contains('ion-page-invisible') && !el.classList.contains('ion-page-hidden')) {
|
|
2016
|
-
el.classList.add('ion-page');
|
|
2017
|
-
el.classList.add('ion-page-invisible');
|
|
2018
|
-
}
|
|
2019
|
-
this.context.registerIonPage(el, this.props.routeInfo);
|
|
1377
|
+
this.context.registerIonPage(this.ionRouterOutlet, this.props.routeInfo);
|
|
2020
1378
|
});
|
|
2021
1379
|
}
|
|
2022
1380
|
this.ionRouterOutlet.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
@@ -2046,10 +1404,10 @@ class OutletPageManager extends React.Component {
|
|
|
2046
1404
|
this.ionLifeCycleContext.ionViewDidLeave();
|
|
2047
1405
|
}
|
|
2048
1406
|
render() {
|
|
2049
|
-
const { StackManager, children, routeInfo,
|
|
1407
|
+
const { StackManager, children, routeInfo, ...props } = this.props;
|
|
2050
1408
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
2051
1409
|
this.ionLifeCycleContext = context;
|
|
2052
|
-
return (jsx(StackManager, {
|
|
1410
|
+
return (jsx(StackManager, { routeInfo: routeInfo, children: jsx(IonRouterOutletInner, { setRef: (val) => (this.ionRouterOutlet = val), ...props, children: children }) }));
|
|
2053
1411
|
} }));
|
|
2054
1412
|
}
|
|
2055
1413
|
static get contextType() {
|
|
@@ -2060,13 +1418,11 @@ class OutletPageManager extends React.Component {
|
|
|
2060
1418
|
class IonRouterOutletContainer extends React.Component {
|
|
2061
1419
|
constructor(props) {
|
|
2062
1420
|
super(props);
|
|
2063
|
-
this.outletId = props.id ?? `routerOutlet-${generateId('routerOutlet')}`;
|
|
2064
1421
|
}
|
|
2065
1422
|
render() {
|
|
2066
1423
|
const StackManager = this.context.getStackManager();
|
|
2067
1424
|
const { children, forwardedRef, ...props } = this.props;
|
|
2068
|
-
|
|
2069
|
-
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 }));
|
|
1425
|
+
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 }));
|
|
2070
1426
|
}
|
|
2071
1427
|
static get contextType() {
|
|
2072
1428
|
return NavContext;
|
|
@@ -2263,9 +1619,7 @@ const matchesTab = (pathname, href) => {
|
|
|
2263
1619
|
if (href === undefined) {
|
|
2264
1620
|
return false;
|
|
2265
1621
|
}
|
|
2266
|
-
|
|
2267
|
-
const hrefPathname = href.split('?')[0];
|
|
2268
|
-
const normalizedHref = hrefPathname.endsWith('/') && hrefPathname !== '/' ? hrefPathname.slice(0, -1) : hrefPathname;
|
|
1622
|
+
const normalizedHref = href.endsWith('/') && href !== '/' ? href.slice(0, -1) : href;
|
|
2269
1623
|
return pathname === normalizedHref || pathname.startsWith(normalizedHref + '/');
|
|
2270
1624
|
};
|
|
2271
1625
|
class IonTabBarUnwrapped extends React.PureComponent {
|
|
@@ -2357,7 +1711,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
2357
1711
|
const prevHref = state.tabs[prevActiveTab].currentHref;
|
|
2358
1712
|
const prevRouteOptions = state.tabs[prevActiveTab].currentRouteOptions;
|
|
2359
1713
|
if (activeTab !== prevActiveTab ||
|
|
2360
|
-
prevHref !==
|
|
1714
|
+
prevHref !== props.routeInfo?.pathname ||
|
|
2361
1715
|
prevRouteOptions !== props.routeInfo?.routeOptions) {
|
|
2362
1716
|
tabs[activeTab] = {
|
|
2363
1717
|
originalHref: tabs[activeTab].originalHref,
|
|
@@ -2424,7 +1778,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
2424
1778
|
return (child) => {
|
|
2425
1779
|
if (child != null && child.props && (child.type === IonTabButton || child.type.isTabButton)) {
|
|
2426
1780
|
const href = child.props.tab === activeTab
|
|
2427
|
-
?
|
|
1781
|
+
? this.props.routeInfo?.pathname
|
|
2428
1782
|
: this.state.tabs[child.props.tab].currentHref;
|
|
2429
1783
|
const routeOptions = child.props.tab === activeTab
|
|
2430
1784
|
? this.props.routeInfo?.routeOptions
|
|
@@ -2549,6 +1903,20 @@ class IonRoute extends React.PureComponent {
|
|
|
2549
1903
|
}
|
|
2550
1904
|
}
|
|
2551
1905
|
|
|
1906
|
+
class IonRedirect extends React.PureComponent {
|
|
1907
|
+
render() {
|
|
1908
|
+
const IonRedirectInner = this.context.getIonRedirect();
|
|
1909
|
+
if (!this.context.hasIonicRouter() || !IonRedirect) {
|
|
1910
|
+
console.error('You either do not have an Ionic Router package, or your router does not support using <IonRedirect>');
|
|
1911
|
+
return null;
|
|
1912
|
+
}
|
|
1913
|
+
return jsx(IonRedirectInner, { ...this.props });
|
|
1914
|
+
}
|
|
1915
|
+
static get contextType() {
|
|
1916
|
+
return NavContext;
|
|
1917
|
+
}
|
|
1918
|
+
}
|
|
1919
|
+
|
|
2552
1920
|
const IonRouterContext = React.createContext({
|
|
2553
1921
|
routeInfo: undefined, // TODO(FW-2959): type
|
|
2554
1922
|
push: () => {
|
|
@@ -2557,9 +1925,6 @@ const IonRouterContext = React.createContext({
|
|
|
2557
1925
|
back: () => {
|
|
2558
1926
|
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
2559
1927
|
},
|
|
2560
|
-
navigateRoot: () => {
|
|
2561
|
-
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
2562
|
-
},
|
|
2563
1928
|
canGoBack: () => {
|
|
2564
1929
|
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
2565
1930
|
},
|
|
@@ -2576,10 +1941,9 @@ function useIonRouter() {
|
|
|
2576
1941
|
back: context.back,
|
|
2577
1942
|
push: context.push,
|
|
2578
1943
|
goBack: context.back,
|
|
2579
|
-
navigateRoot: context.navigateRoot,
|
|
2580
1944
|
canGoBack: context.canGoBack,
|
|
2581
1945
|
routeInfo: context.routeInfo,
|
|
2582
|
-
}), [context.back, context.push, context.
|
|
1946
|
+
}), [context.back, context.push, context.canGoBack, context.routeInfo]);
|
|
2583
1947
|
}
|
|
2584
1948
|
|
|
2585
1949
|
class CreateAnimation extends React.PureComponent {
|
|
@@ -2733,7 +2097,7 @@ function useController(displayName, controller, defineCustomElement) {
|
|
|
2733
2097
|
* @returns Returns the present and dismiss methods in an array
|
|
2734
2098
|
*/
|
|
2735
2099
|
function useIonActionSheet() {
|
|
2736
|
-
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$
|
|
2100
|
+
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$1e);
|
|
2737
2101
|
const present = useCallback((buttonsOrOptions, header) => {
|
|
2738
2102
|
if (Array.isArray(buttonsOrOptions)) {
|
|
2739
2103
|
return controller.present({
|
|
@@ -2753,7 +2117,7 @@ function useIonActionSheet() {
|
|
|
2753
2117
|
* @returns Returns the present and dismiss methods in an array
|
|
2754
2118
|
*/
|
|
2755
2119
|
function useIonAlert() {
|
|
2756
|
-
const controller = useController('IonAlert', alertController, defineCustomElement$
|
|
2120
|
+
const controller = useController('IonAlert', alertController, defineCustomElement$1a);
|
|
2757
2121
|
const present = useCallback((messageOrOptions, buttons) => {
|
|
2758
2122
|
if (typeof messageOrOptions === 'string') {
|
|
2759
2123
|
return controller.present({
|
|
@@ -2773,7 +2137,7 @@ function useIonAlert() {
|
|
|
2773
2137
|
* @returns Returns the present and dismiss methods in an array
|
|
2774
2138
|
*/
|
|
2775
2139
|
function useIonToast() {
|
|
2776
|
-
const controller = useController('IonToast', toastController, defineCustomElement$
|
|
2140
|
+
const controller = useController('IonToast', toastController, defineCustomElement$1c);
|
|
2777
2141
|
const present = useCallback((messageOrOptions, duration) => {
|
|
2778
2142
|
if (typeof messageOrOptions === 'string') {
|
|
2779
2143
|
return controller.present({
|
|
@@ -2859,7 +2223,7 @@ function useOverlay(displayName, controller, defineCustomElement, component, com
|
|
|
2859
2223
|
* @returns Returns the present and dismiss methods in an array
|
|
2860
2224
|
*/
|
|
2861
2225
|
function useIonModal(component, componentProps) {
|
|
2862
|
-
const controller = useOverlay('IonModal', modalController, defineCustomElement$
|
|
2226
|
+
const controller = useOverlay('IonModal', modalController, defineCustomElement$1f, component, componentProps);
|
|
2863
2227
|
const present = useCallback((options = {}) => {
|
|
2864
2228
|
controller.present(options);
|
|
2865
2229
|
}, [controller.present]);
|
|
@@ -2874,19 +2238,40 @@ function useIonModal(component, componentProps) {
|
|
|
2874
2238
|
* @returns Returns the present and dismiss methods in an array
|
|
2875
2239
|
*/
|
|
2876
2240
|
function useIonPopover(component, componentProps) {
|
|
2877
|
-
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$
|
|
2241
|
+
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$1g, component, componentProps);
|
|
2878
2242
|
const present = useCallback((options = {}) => {
|
|
2879
2243
|
controller.present(options);
|
|
2880
2244
|
}, [controller.present]);
|
|
2881
2245
|
return [present, controller.dismiss];
|
|
2882
2246
|
}
|
|
2883
2247
|
|
|
2248
|
+
/**
|
|
2249
|
+
* A hook for presenting/dismissing an IonPicker component
|
|
2250
|
+
* @returns Returns the present and dismiss methods in an array
|
|
2251
|
+
* @deprecated Use the inline ion-picker component instead.
|
|
2252
|
+
*/
|
|
2253
|
+
function useIonPicker() {
|
|
2254
|
+
const controller = useController('IonPicker', pickerController, defineCustomElement$1d);
|
|
2255
|
+
const present = useCallback((columnsOrOptions, buttons) => {
|
|
2256
|
+
if (Array.isArray(columnsOrOptions)) {
|
|
2257
|
+
return controller.present({
|
|
2258
|
+
columns: columnsOrOptions,
|
|
2259
|
+
buttons: buttons ?? [{ text: 'Ok' }],
|
|
2260
|
+
});
|
|
2261
|
+
}
|
|
2262
|
+
else {
|
|
2263
|
+
return controller.present(columnsOrOptions);
|
|
2264
|
+
}
|
|
2265
|
+
}, [controller.present]);
|
|
2266
|
+
return [present, controller.dismiss];
|
|
2267
|
+
}
|
|
2268
|
+
|
|
2884
2269
|
/**
|
|
2885
2270
|
* A hook for presenting/dismissing an IonLoading component
|
|
2886
2271
|
* @returns Returns the present and dismiss methods in an array
|
|
2887
2272
|
*/
|
|
2888
2273
|
function useIonLoading() {
|
|
2889
|
-
const controller = useController('IonLoading', loadingController, defineCustomElement$
|
|
2274
|
+
const controller = useController('IonLoading', loadingController, defineCustomElement$1b);
|
|
2890
2275
|
const present = useCallback((messageOrOptions = {}, duration, spinner) => {
|
|
2891
2276
|
if (typeof messageOrOptions === 'string') {
|
|
2892
2277
|
return controller.present({
|
|
@@ -2928,7 +2313,6 @@ const RouteManagerContext = /*@__PURE__*/ React.createContext({
|
|
|
2928
2313
|
findLeavingViewItemByRouteInfo: () => undefined,
|
|
2929
2314
|
findViewItemByRouteInfo: () => undefined,
|
|
2930
2315
|
getChildrenToRender: () => undefined,
|
|
2931
|
-
getViewItemsForOutlet: () => [],
|
|
2932
2316
|
goBack: () => undefined,
|
|
2933
2317
|
unMountViewItem: () => undefined,
|
|
2934
2318
|
});
|
|
@@ -3047,14 +2431,7 @@ class LocationHistory {
|
|
|
3047
2431
|
_replace(routeInfo) {
|
|
3048
2432
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
3049
2433
|
routeInfos && routeInfos.pop();
|
|
3050
|
-
|
|
3051
|
-
const currentRoute = this.locationHistory[this.locationHistory.length - 1];
|
|
3052
|
-
// Only pop from global history if we're replacing in the same outlet context.
|
|
3053
|
-
// Don't pop if we're entering a nested outlet (current route has no tab, new route has a tab)
|
|
3054
|
-
const isEnteringNestedOutlet = currentRoute && !currentRoute.tab && !!routeInfo.tab;
|
|
3055
|
-
if (!isEnteringNestedOutlet) {
|
|
3056
|
-
this.locationHistory.pop();
|
|
3057
|
-
}
|
|
2434
|
+
this.locationHistory.pop();
|
|
3058
2435
|
this._add(routeInfo);
|
|
3059
2436
|
}
|
|
3060
2437
|
_clear() {
|
|
@@ -3086,20 +2463,6 @@ class LocationHistory {
|
|
|
3086
2463
|
}
|
|
3087
2464
|
return undefined;
|
|
3088
2465
|
}
|
|
3089
|
-
/**
|
|
3090
|
-
* Returns the most recent RouteInfo in global history (excluding the current
|
|
3091
|
-
* entry) whose pathname matches the given value. Unlike findLastLocation,
|
|
3092
|
-
* this search is tab-agnostic. Used by the multi-step back detection.
|
|
3093
|
-
*/
|
|
3094
|
-
findLastLocationByPathname(pathname) {
|
|
3095
|
-
for (let i = this.locationHistory.length - 2; i >= 0; i--) {
|
|
3096
|
-
const ri = this.locationHistory[i];
|
|
3097
|
-
if (ri && ri.pathname === pathname) {
|
|
3098
|
-
return ri;
|
|
3099
|
-
}
|
|
3100
|
-
}
|
|
3101
|
-
return undefined;
|
|
3102
|
-
}
|
|
3103
2466
|
findLastLocation(routeInfo) {
|
|
3104
2467
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
3105
2468
|
if (routeInfos) {
|
|
@@ -3131,17 +2494,6 @@ class LocationHistory {
|
|
|
3131
2494
|
canGoBack() {
|
|
3132
2495
|
return this.locationHistory.length > 1;
|
|
3133
2496
|
}
|
|
3134
|
-
findTabForPathname(pathname) {
|
|
3135
|
-
for (const tab of Object.keys(this.tabHistory)) {
|
|
3136
|
-
const routeInfos = this.tabHistory[tab];
|
|
3137
|
-
for (let i = routeInfos.length - 1; i >= 0; i--) {
|
|
3138
|
-
if (routeInfos[i].pathname === pathname) {
|
|
3139
|
-
return tab;
|
|
3140
|
-
}
|
|
3141
|
-
}
|
|
3142
|
-
}
|
|
3143
|
-
return undefined;
|
|
3144
|
-
}
|
|
3145
2497
|
}
|
|
3146
2498
|
|
|
3147
2499
|
class NavManager extends React.PureComponent {
|
|
@@ -3154,9 +2506,6 @@ class NavManager extends React.PureComponent {
|
|
|
3154
2506
|
back: (animationBuilder) => {
|
|
3155
2507
|
this.goBack(undefined, animationBuilder);
|
|
3156
2508
|
},
|
|
3157
|
-
navigateRoot: (pathname, animationBuilder) => {
|
|
3158
|
-
this.props.onNavigateRoot(pathname, animationBuilder);
|
|
3159
|
-
},
|
|
3160
2509
|
canGoBack: () => this.props.locationHistory.canGoBack(),
|
|
3161
2510
|
nativeBack: () => this.props.onNativeBack(),
|
|
3162
2511
|
routeInfo: this.props.routeInfo,
|
|
@@ -3165,8 +2514,10 @@ class NavManager extends React.PureComponent {
|
|
|
3165
2514
|
goBack: this.goBack.bind(this),
|
|
3166
2515
|
hasIonicRouter: () => true,
|
|
3167
2516
|
navigate: this.navigate.bind(this),
|
|
2517
|
+
getIonRedirect: this.getIonRedirect.bind(this),
|
|
3168
2518
|
getIonRoute: this.getIonRoute.bind(this),
|
|
3169
2519
|
getStackManager: this.getStackManager.bind(this),
|
|
2520
|
+
getPageManager: this.getPageManager.bind(this),
|
|
3170
2521
|
routeInfo: this.props.routeInfo,
|
|
3171
2522
|
setCurrentTab: this.props.onSetCurrentTab,
|
|
3172
2523
|
changeTab: this.props.onChangeTab,
|
|
@@ -3199,6 +2550,12 @@ class NavManager extends React.PureComponent {
|
|
|
3199
2550
|
navigate(path, direction = 'forward', action = 'push', animationBuilder, options, tab) {
|
|
3200
2551
|
this.props.onNavigate(path, action, direction, animationBuilder, options, tab);
|
|
3201
2552
|
}
|
|
2553
|
+
getPageManager() {
|
|
2554
|
+
return PageManager;
|
|
2555
|
+
}
|
|
2556
|
+
getIonRedirect() {
|
|
2557
|
+
return this.props.ionRedirect;
|
|
2558
|
+
}
|
|
3202
2559
|
getIonRoute() {
|
|
3203
2560
|
return this.props.ionRoute;
|
|
3204
2561
|
}
|
|
@@ -3228,7 +2585,10 @@ class ViewStacks {
|
|
|
3228
2585
|
}
|
|
3229
2586
|
}
|
|
3230
2587
|
clear(outletId) {
|
|
3231
|
-
|
|
2588
|
+
// Give some time for the leaving views to transition before removing
|
|
2589
|
+
return setTimeout(() => {
|
|
2590
|
+
delete this.viewStacks[outletId];
|
|
2591
|
+
}, 500);
|
|
3232
2592
|
}
|
|
3233
2593
|
getViewItemsForOutlet(outletId) {
|
|
3234
2594
|
return this.viewStacks[outletId] || [];
|
|
@@ -3257,5 +2617,5 @@ class ViewStacks {
|
|
|
3257
2617
|
}
|
|
3258
2618
|
}
|
|
3259
2619
|
|
|
3260
|
-
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, 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, useIonPopover, useIonRouter, useIonToast, useIonViewDidEnter, useIonViewDidLeave, useIonViewWillEnter, useIonViewWillLeave, withIonLifeCycle };
|
|
2620
|
+
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, IonGallery, 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 };
|
|
3261
2621
|
//# sourceMappingURL=index.js.map
|