@ionic/react 8.8.11-dev.11781186446.19d9a1cc → 8.8.11-nightly.20260612
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +307 -1001
- 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 +73 -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,80 @@
|
|
|
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-fab.js';
|
|
24
|
+
import { defineCustomElement as defineCustomElement$j } from '@ionic/core/components/ion-fab-list.js';
|
|
25
|
+
import { defineCustomElement as defineCustomElement$k } from '@ionic/core/components/ion-footer.js';
|
|
26
|
+
import { defineCustomElement as defineCustomElement$l } from '@ionic/core/components/ion-grid.js';
|
|
27
|
+
import { defineCustomElement as defineCustomElement$m } from '@ionic/core/components/ion-header.js';
|
|
28
|
+
import { defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-img.js';
|
|
29
|
+
import { defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-infinite-scroll.js';
|
|
30
|
+
import { defineCustomElement as defineCustomElement$p } from '@ionic/core/components/ion-infinite-scroll-content.js';
|
|
31
|
+
import { defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-input.js';
|
|
32
|
+
import { defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-input-otp.js';
|
|
33
|
+
import { defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-input-password-toggle.js';
|
|
34
|
+
import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-item-divider.js';
|
|
35
|
+
import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-item-group.js';
|
|
36
|
+
import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-item-options.js';
|
|
37
|
+
import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-item-sliding.js';
|
|
38
|
+
import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-label.js';
|
|
39
|
+
import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-list.js';
|
|
40
|
+
import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-list-header.js';
|
|
41
|
+
import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-menu.js';
|
|
42
|
+
import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-menu-button.js';
|
|
43
|
+
import { defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-menu-toggle.js';
|
|
44
|
+
import { defineCustomElement as defineCustomElement$1m } from '@ionic/core/components/ion-nav.js';
|
|
45
|
+
import { defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-nav-link.js';
|
|
46
|
+
import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-note.js';
|
|
47
|
+
import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-picker.js';
|
|
48
|
+
import { defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-picker-column.js';
|
|
49
|
+
import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-picker-column-option.js';
|
|
50
|
+
import { defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-progress-bar.js';
|
|
51
|
+
import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-radio.js';
|
|
52
|
+
import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-radio-group.js';
|
|
53
|
+
import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-range.js';
|
|
54
|
+
import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-refresher.js';
|
|
55
|
+
import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-refresher-content.js';
|
|
56
|
+
import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-reorder.js';
|
|
57
|
+
import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-reorder-group.js';
|
|
58
|
+
import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-ripple-effect.js';
|
|
59
|
+
import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-row.js';
|
|
60
|
+
import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-searchbar.js';
|
|
61
|
+
import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-segment.js';
|
|
62
|
+
import { defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-segment-button.js';
|
|
63
|
+
import { defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-segment-content.js';
|
|
64
|
+
import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-segment-view.js';
|
|
65
|
+
import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-select.js';
|
|
66
|
+
import { defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-select-modal.js';
|
|
67
|
+
import { defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-select-option.js';
|
|
68
|
+
import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-skeleton-text.js';
|
|
69
|
+
import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-spinner.js';
|
|
70
|
+
import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-split-pane.js';
|
|
71
|
+
import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-tab.js';
|
|
72
|
+
import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-text.js';
|
|
73
|
+
import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-textarea.js';
|
|
74
|
+
import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-thumbnail.js';
|
|
75
|
+
import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-title.js';
|
|
76
|
+
import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-toggle.js';
|
|
77
|
+
import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/components/ion-toolbar.js';
|
|
78
78
|
import { IonBreadcrumb as IonBreadcrumb$1 } from '@ionic/core/components/ion-breadcrumb.js';
|
|
79
79
|
import { IonButton as IonButton$1 } from '@ionic/core/components/ion-button.js';
|
|
80
80
|
import { IonCard as IonCard$1 } from '@ionic/core/components/ion-card.js';
|
|
@@ -83,19 +83,19 @@ import { IonItemOption as IonItemOption$1 } from '@ionic/core/components/ion-ite
|
|
|
83
83
|
import { IonItem as IonItem$1 } from '@ionic/core/components/ion-item.js';
|
|
84
84
|
import { IonRouterLink as IonRouterLink$1 } from '@ionic/core/components/ion-router-link.js';
|
|
85
85
|
import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-alert.js';
|
|
86
|
-
import ReactDOM, { createPortal } from 'react-dom';
|
|
87
86
|
import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-loading.js';
|
|
88
87
|
import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-toast.js';
|
|
89
|
-
import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-
|
|
90
|
-
import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-
|
|
91
|
-
import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-
|
|
92
|
-
import { defineCustomElement as defineCustomElement$
|
|
93
|
-
import { defineCustomElement as defineCustomElement$
|
|
94
|
-
import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-
|
|
95
|
-
import { defineCustomElement as defineCustomElement$
|
|
96
|
-
import { defineCustomElement as defineCustomElement$
|
|
97
|
-
import { defineCustomElement as defineCustomElement$
|
|
98
|
-
import { defineCustomElement as defineCustomElement$
|
|
88
|
+
import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-picker-legacy.js';
|
|
89
|
+
import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-action-sheet.js';
|
|
90
|
+
import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-modal.js';
|
|
91
|
+
import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-popover.js';
|
|
92
|
+
import { defineCustomElement as defineCustomElement$1k } from '@ionic/core/components/ion-app.js';
|
|
93
|
+
import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-back-button.js';
|
|
94
|
+
import { defineCustomElement as defineCustomElement$1j } from '@ionic/core/components/ion-router-outlet.js';
|
|
95
|
+
import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-tab-bar.js';
|
|
96
|
+
import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-tab-button.js';
|
|
97
|
+
import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-tabs.js';
|
|
98
|
+
import { defineCustomElement as defineCustomElement$1l } from 'ionicons/components/ion-icon.js';
|
|
99
99
|
|
|
100
100
|
const IonLifeCycleContext = /*@__PURE__*/ React.createContext({
|
|
101
101
|
onIonViewWillEnter: () => {
|
|
@@ -380,7 +380,9 @@ const useIonViewDidLeave = (callback, deps = []) => {
|
|
|
380
380
|
};
|
|
381
381
|
|
|
382
382
|
const NavContext = /*@__PURE__*/ React.createContext({
|
|
383
|
+
getIonRedirect: () => undefined,
|
|
383
384
|
getIonRoute: () => undefined,
|
|
385
|
+
getPageManager: () => undefined,
|
|
384
386
|
getStackManager: () => undefined,
|
|
385
387
|
goBack: (route) => {
|
|
386
388
|
if (typeof window !== 'undefined') {
|
|
@@ -412,699 +414,6 @@ const NavContext = /*@__PURE__*/ React.createContext({
|
|
|
412
414
|
},
|
|
413
415
|
});
|
|
414
416
|
|
|
415
|
-
const IonAccordion =
|
|
416
|
-
/*@__PURE__*/ createComponent({
|
|
417
|
-
tagName: 'ion-accordion',
|
|
418
|
-
elementClass: IonAccordion$1,
|
|
419
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
420
|
-
react: React,
|
|
421
|
-
events: {},
|
|
422
|
-
defineCustomElement: defineCustomElement$1,
|
|
423
|
-
});
|
|
424
|
-
const IonAccordionGroup = /*@__PURE__*/ createComponent({
|
|
425
|
-
tagName: 'ion-accordion-group',
|
|
426
|
-
elementClass: IonAccordionGroup$1,
|
|
427
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
428
|
-
react: React,
|
|
429
|
-
events: { onIonChange: 'ionChange' },
|
|
430
|
-
defineCustomElement: defineCustomElement$2,
|
|
431
|
-
});
|
|
432
|
-
const IonAvatar =
|
|
433
|
-
/*@__PURE__*/ createComponent({
|
|
434
|
-
tagName: 'ion-avatar',
|
|
435
|
-
elementClass: IonAvatar$1,
|
|
436
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
437
|
-
react: React,
|
|
438
|
-
events: {},
|
|
439
|
-
defineCustomElement: defineCustomElement$3,
|
|
440
|
-
});
|
|
441
|
-
const IonBackdrop =
|
|
442
|
-
/*@__PURE__*/ createComponent({
|
|
443
|
-
tagName: 'ion-backdrop',
|
|
444
|
-
elementClass: IonBackdrop$1,
|
|
445
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
446
|
-
react: React,
|
|
447
|
-
events: { onIonBackdropTap: 'ionBackdropTap' },
|
|
448
|
-
defineCustomElement: defineCustomElement$4,
|
|
449
|
-
});
|
|
450
|
-
const IonBadge =
|
|
451
|
-
/*@__PURE__*/ createComponent({
|
|
452
|
-
tagName: 'ion-badge',
|
|
453
|
-
elementClass: IonBadge$1,
|
|
454
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
455
|
-
react: React,
|
|
456
|
-
events: {},
|
|
457
|
-
defineCustomElement: defineCustomElement$5,
|
|
458
|
-
});
|
|
459
|
-
const IonBreadcrumbs = /*@__PURE__*/ createComponent({
|
|
460
|
-
tagName: 'ion-breadcrumbs',
|
|
461
|
-
elementClass: IonBreadcrumbs$1,
|
|
462
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
463
|
-
react: React,
|
|
464
|
-
events: { onIonCollapsedClick: 'ionCollapsedClick' },
|
|
465
|
-
defineCustomElement: defineCustomElement$6,
|
|
466
|
-
});
|
|
467
|
-
const IonButtons =
|
|
468
|
-
/*@__PURE__*/ createComponent({
|
|
469
|
-
tagName: 'ion-buttons',
|
|
470
|
-
elementClass: IonButtons$1,
|
|
471
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
472
|
-
react: React,
|
|
473
|
-
events: {},
|
|
474
|
-
defineCustomElement: defineCustomElement$7,
|
|
475
|
-
});
|
|
476
|
-
const IonCardContent = /*@__PURE__*/ createComponent({
|
|
477
|
-
tagName: 'ion-card-content',
|
|
478
|
-
elementClass: IonCardContent$1,
|
|
479
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
480
|
-
react: React,
|
|
481
|
-
events: {},
|
|
482
|
-
defineCustomElement: defineCustomElement$8,
|
|
483
|
-
});
|
|
484
|
-
const IonCardHeader =
|
|
485
|
-
/*@__PURE__*/ createComponent({
|
|
486
|
-
tagName: 'ion-card-header',
|
|
487
|
-
elementClass: IonCardHeader$1,
|
|
488
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
489
|
-
react: React,
|
|
490
|
-
events: {},
|
|
491
|
-
defineCustomElement: defineCustomElement$9,
|
|
492
|
-
});
|
|
493
|
-
const IonCardSubtitle = /*@__PURE__*/ createComponent({
|
|
494
|
-
tagName: 'ion-card-subtitle',
|
|
495
|
-
elementClass: IonCardSubtitle$1,
|
|
496
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
497
|
-
react: React,
|
|
498
|
-
events: {},
|
|
499
|
-
defineCustomElement: defineCustomElement$a,
|
|
500
|
-
});
|
|
501
|
-
const IonCardTitle =
|
|
502
|
-
/*@__PURE__*/ createComponent({
|
|
503
|
-
tagName: 'ion-card-title',
|
|
504
|
-
elementClass: IonCardTitle$1,
|
|
505
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
506
|
-
react: React,
|
|
507
|
-
events: {},
|
|
508
|
-
defineCustomElement: defineCustomElement$b,
|
|
509
|
-
});
|
|
510
|
-
const IonCheckbox =
|
|
511
|
-
/*@__PURE__*/ createComponent({
|
|
512
|
-
tagName: 'ion-checkbox',
|
|
513
|
-
elementClass: IonCheckbox$1,
|
|
514
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
515
|
-
react: React,
|
|
516
|
-
events: {
|
|
517
|
-
onIonChange: 'ionChange',
|
|
518
|
-
onIonFocus: 'ionFocus',
|
|
519
|
-
onIonBlur: 'ionBlur',
|
|
520
|
-
},
|
|
521
|
-
defineCustomElement: defineCustomElement$c,
|
|
522
|
-
});
|
|
523
|
-
const IonChip =
|
|
524
|
-
/*@__PURE__*/ createComponent({
|
|
525
|
-
tagName: 'ion-chip',
|
|
526
|
-
elementClass: IonChip$1,
|
|
527
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
528
|
-
react: React,
|
|
529
|
-
events: {},
|
|
530
|
-
defineCustomElement: defineCustomElement$d,
|
|
531
|
-
});
|
|
532
|
-
const IonCol =
|
|
533
|
-
/*@__PURE__*/ createComponent({
|
|
534
|
-
tagName: 'ion-col',
|
|
535
|
-
elementClass: IonCol$1,
|
|
536
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
537
|
-
react: React,
|
|
538
|
-
events: {},
|
|
539
|
-
defineCustomElement: defineCustomElement$e,
|
|
540
|
-
});
|
|
541
|
-
const IonContent =
|
|
542
|
-
/*@__PURE__*/ createComponent({
|
|
543
|
-
tagName: 'ion-content',
|
|
544
|
-
elementClass: IonContent$1,
|
|
545
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
546
|
-
react: React,
|
|
547
|
-
events: {
|
|
548
|
-
onIonScrollStart: 'ionScrollStart',
|
|
549
|
-
onIonScroll: 'ionScroll',
|
|
550
|
-
onIonScrollEnd: 'ionScrollEnd',
|
|
551
|
-
},
|
|
552
|
-
defineCustomElement: defineCustomElement$f,
|
|
553
|
-
});
|
|
554
|
-
const IonDatetime =
|
|
555
|
-
/*@__PURE__*/ createComponent({
|
|
556
|
-
tagName: 'ion-datetime',
|
|
557
|
-
elementClass: IonDatetime$1,
|
|
558
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
559
|
-
react: React,
|
|
560
|
-
events: {
|
|
561
|
-
onIonCancel: 'ionCancel',
|
|
562
|
-
onIonChange: 'ionChange',
|
|
563
|
-
onIonFocus: 'ionFocus',
|
|
564
|
-
onIonBlur: 'ionBlur',
|
|
565
|
-
},
|
|
566
|
-
defineCustomElement: defineCustomElement$g,
|
|
567
|
-
});
|
|
568
|
-
const IonDatetimeButton = /*@__PURE__*/ createComponent({
|
|
569
|
-
tagName: 'ion-datetime-button',
|
|
570
|
-
elementClass: IonDatetimeButton$1,
|
|
571
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
572
|
-
react: React,
|
|
573
|
-
events: {},
|
|
574
|
-
defineCustomElement: defineCustomElement$h,
|
|
575
|
-
});
|
|
576
|
-
const IonFab =
|
|
577
|
-
/*@__PURE__*/ createComponent({
|
|
578
|
-
tagName: 'ion-fab',
|
|
579
|
-
elementClass: IonFab$1,
|
|
580
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
581
|
-
react: React,
|
|
582
|
-
events: {},
|
|
583
|
-
defineCustomElement: defineCustomElement$i,
|
|
584
|
-
});
|
|
585
|
-
const IonFabList =
|
|
586
|
-
/*@__PURE__*/ createComponent({
|
|
587
|
-
tagName: 'ion-fab-list',
|
|
588
|
-
elementClass: IonFabList$1,
|
|
589
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
590
|
-
react: React,
|
|
591
|
-
events: {},
|
|
592
|
-
defineCustomElement: defineCustomElement$j,
|
|
593
|
-
});
|
|
594
|
-
const IonFooter =
|
|
595
|
-
/*@__PURE__*/ createComponent({
|
|
596
|
-
tagName: 'ion-footer',
|
|
597
|
-
elementClass: IonFooter$1,
|
|
598
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
599
|
-
react: React,
|
|
600
|
-
events: {},
|
|
601
|
-
defineCustomElement: defineCustomElement$k,
|
|
602
|
-
});
|
|
603
|
-
const IonGrid =
|
|
604
|
-
/*@__PURE__*/ createComponent({
|
|
605
|
-
tagName: 'ion-grid',
|
|
606
|
-
elementClass: IonGrid$1,
|
|
607
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
608
|
-
react: React,
|
|
609
|
-
events: {},
|
|
610
|
-
defineCustomElement: defineCustomElement$l,
|
|
611
|
-
});
|
|
612
|
-
const IonHeader =
|
|
613
|
-
/*@__PURE__*/ createComponent({
|
|
614
|
-
tagName: 'ion-header',
|
|
615
|
-
elementClass: IonHeader$1,
|
|
616
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
617
|
-
react: React,
|
|
618
|
-
events: {},
|
|
619
|
-
defineCustomElement: defineCustomElement$m,
|
|
620
|
-
});
|
|
621
|
-
const IonImg =
|
|
622
|
-
/*@__PURE__*/ createComponent({
|
|
623
|
-
tagName: 'ion-img',
|
|
624
|
-
elementClass: IonImg$1,
|
|
625
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
626
|
-
react: React,
|
|
627
|
-
events: {
|
|
628
|
-
onIonImgWillLoad: 'ionImgWillLoad',
|
|
629
|
-
onIonImgDidLoad: 'ionImgDidLoad',
|
|
630
|
-
onIonError: 'ionError',
|
|
631
|
-
},
|
|
632
|
-
defineCustomElement: defineCustomElement$n,
|
|
633
|
-
});
|
|
634
|
-
const IonInfiniteScroll = /*@__PURE__*/ createComponent({
|
|
635
|
-
tagName: 'ion-infinite-scroll',
|
|
636
|
-
elementClass: IonInfiniteScroll$1,
|
|
637
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
638
|
-
react: React,
|
|
639
|
-
events: { onIonInfinite: 'ionInfinite' },
|
|
640
|
-
defineCustomElement: defineCustomElement$o,
|
|
641
|
-
});
|
|
642
|
-
const IonInfiniteScrollContent = /*@__PURE__*/ createComponent({
|
|
643
|
-
tagName: 'ion-infinite-scroll-content',
|
|
644
|
-
elementClass: IonInfiniteScrollContent$1,
|
|
645
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
646
|
-
react: React,
|
|
647
|
-
events: {},
|
|
648
|
-
defineCustomElement: defineCustomElement$p,
|
|
649
|
-
});
|
|
650
|
-
const IonInput =
|
|
651
|
-
/*@__PURE__*/ createComponent({
|
|
652
|
-
tagName: 'ion-input',
|
|
653
|
-
elementClass: IonInput$1,
|
|
654
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
655
|
-
react: React,
|
|
656
|
-
events: {
|
|
657
|
-
onIonInput: 'ionInput',
|
|
658
|
-
onIonChange: 'ionChange',
|
|
659
|
-
onIonBlur: 'ionBlur',
|
|
660
|
-
onIonFocus: 'ionFocus',
|
|
661
|
-
},
|
|
662
|
-
defineCustomElement: defineCustomElement$q,
|
|
663
|
-
});
|
|
664
|
-
const IonInputOtp =
|
|
665
|
-
/*@__PURE__*/ createComponent({
|
|
666
|
-
tagName: 'ion-input-otp',
|
|
667
|
-
elementClass: IonInputOtp$1,
|
|
668
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
669
|
-
react: React,
|
|
670
|
-
events: {
|
|
671
|
-
onIonInput: 'ionInput',
|
|
672
|
-
onIonChange: 'ionChange',
|
|
673
|
-
onIonComplete: 'ionComplete',
|
|
674
|
-
onIonBlur: 'ionBlur',
|
|
675
|
-
onIonFocus: 'ionFocus',
|
|
676
|
-
},
|
|
677
|
-
defineCustomElement: defineCustomElement$r,
|
|
678
|
-
});
|
|
679
|
-
const IonInputPasswordToggle = /*@__PURE__*/ createComponent({
|
|
680
|
-
tagName: 'ion-input-password-toggle',
|
|
681
|
-
elementClass: IonInputPasswordToggle$1,
|
|
682
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
683
|
-
react: React,
|
|
684
|
-
events: {},
|
|
685
|
-
defineCustomElement: defineCustomElement$s,
|
|
686
|
-
});
|
|
687
|
-
const IonItemDivider = /*@__PURE__*/ createComponent({
|
|
688
|
-
tagName: 'ion-item-divider',
|
|
689
|
-
elementClass: IonItemDivider$1,
|
|
690
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
691
|
-
react: React,
|
|
692
|
-
events: {},
|
|
693
|
-
defineCustomElement: defineCustomElement$t,
|
|
694
|
-
});
|
|
695
|
-
const IonItemGroup =
|
|
696
|
-
/*@__PURE__*/ createComponent({
|
|
697
|
-
tagName: 'ion-item-group',
|
|
698
|
-
elementClass: IonItemGroup$1,
|
|
699
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
700
|
-
react: React,
|
|
701
|
-
events: {},
|
|
702
|
-
defineCustomElement: defineCustomElement$u,
|
|
703
|
-
});
|
|
704
|
-
const IonItemOptions = /*@__PURE__*/ createComponent({
|
|
705
|
-
tagName: 'ion-item-options',
|
|
706
|
-
elementClass: IonItemOptions$1,
|
|
707
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
708
|
-
react: React,
|
|
709
|
-
events: { onIonSwipe: 'ionSwipe' },
|
|
710
|
-
defineCustomElement: defineCustomElement$v,
|
|
711
|
-
});
|
|
712
|
-
const IonItemSliding = /*@__PURE__*/ createComponent({
|
|
713
|
-
tagName: 'ion-item-sliding',
|
|
714
|
-
elementClass: IonItemSliding$1,
|
|
715
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
716
|
-
react: React,
|
|
717
|
-
events: { onIonDrag: 'ionDrag' },
|
|
718
|
-
defineCustomElement: defineCustomElement$w,
|
|
719
|
-
});
|
|
720
|
-
const IonLabel =
|
|
721
|
-
/*@__PURE__*/ createComponent({
|
|
722
|
-
tagName: 'ion-label',
|
|
723
|
-
elementClass: IonLabel$1,
|
|
724
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
725
|
-
react: React,
|
|
726
|
-
events: {},
|
|
727
|
-
defineCustomElement: defineCustomElement$x,
|
|
728
|
-
});
|
|
729
|
-
const IonList =
|
|
730
|
-
/*@__PURE__*/ createComponent({
|
|
731
|
-
tagName: 'ion-list',
|
|
732
|
-
elementClass: IonList$1,
|
|
733
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
734
|
-
react: React,
|
|
735
|
-
events: {},
|
|
736
|
-
defineCustomElement: defineCustomElement$y,
|
|
737
|
-
});
|
|
738
|
-
const IonListHeader =
|
|
739
|
-
/*@__PURE__*/ createComponent({
|
|
740
|
-
tagName: 'ion-list-header',
|
|
741
|
-
elementClass: IonListHeader$1,
|
|
742
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
743
|
-
react: React,
|
|
744
|
-
events: {},
|
|
745
|
-
defineCustomElement: defineCustomElement$z,
|
|
746
|
-
});
|
|
747
|
-
const IonMenu =
|
|
748
|
-
/*@__PURE__*/ createComponent({
|
|
749
|
-
tagName: 'ion-menu',
|
|
750
|
-
elementClass: IonMenu$1,
|
|
751
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
752
|
-
react: React,
|
|
753
|
-
events: {
|
|
754
|
-
onIonWillOpen: 'ionWillOpen',
|
|
755
|
-
onIonWillClose: 'ionWillClose',
|
|
756
|
-
onIonDidOpen: 'ionDidOpen',
|
|
757
|
-
onIonDidClose: 'ionDidClose',
|
|
758
|
-
},
|
|
759
|
-
defineCustomElement: defineCustomElement$A,
|
|
760
|
-
});
|
|
761
|
-
const IonMenuButton =
|
|
762
|
-
/*@__PURE__*/ createComponent({
|
|
763
|
-
tagName: 'ion-menu-button',
|
|
764
|
-
elementClass: IonMenuButton$1,
|
|
765
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
766
|
-
react: React,
|
|
767
|
-
events: {},
|
|
768
|
-
defineCustomElement: defineCustomElement$B,
|
|
769
|
-
});
|
|
770
|
-
const IonMenuToggle =
|
|
771
|
-
/*@__PURE__*/ createComponent({
|
|
772
|
-
tagName: 'ion-menu-toggle',
|
|
773
|
-
elementClass: IonMenuToggle$1,
|
|
774
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
775
|
-
react: React,
|
|
776
|
-
events: {},
|
|
777
|
-
defineCustomElement: defineCustomElement$C,
|
|
778
|
-
});
|
|
779
|
-
const IonNavLink =
|
|
780
|
-
/*@__PURE__*/ createComponent({
|
|
781
|
-
tagName: 'ion-nav-link',
|
|
782
|
-
elementClass: IonNavLink$1,
|
|
783
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
784
|
-
react: React,
|
|
785
|
-
events: {},
|
|
786
|
-
defineCustomElement: defineCustomElement$D,
|
|
787
|
-
});
|
|
788
|
-
const IonNote =
|
|
789
|
-
/*@__PURE__*/ createComponent({
|
|
790
|
-
tagName: 'ion-note',
|
|
791
|
-
elementClass: IonNote$1,
|
|
792
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
793
|
-
react: React,
|
|
794
|
-
events: {},
|
|
795
|
-
defineCustomElement: defineCustomElement$E,
|
|
796
|
-
});
|
|
797
|
-
const IonPicker =
|
|
798
|
-
/*@__PURE__*/ createComponent({
|
|
799
|
-
tagName: 'ion-picker',
|
|
800
|
-
elementClass: IonPicker$1,
|
|
801
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
802
|
-
react: React,
|
|
803
|
-
events: {},
|
|
804
|
-
defineCustomElement: defineCustomElement$F,
|
|
805
|
-
});
|
|
806
|
-
const IonPickerColumn = /*@__PURE__*/ createComponent({
|
|
807
|
-
tagName: 'ion-picker-column',
|
|
808
|
-
elementClass: IonPickerColumn$1,
|
|
809
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
810
|
-
react: React,
|
|
811
|
-
events: { onIonChange: 'ionChange' },
|
|
812
|
-
defineCustomElement: defineCustomElement$G,
|
|
813
|
-
});
|
|
814
|
-
const IonPickerColumnOption = /*@__PURE__*/ createComponent({
|
|
815
|
-
tagName: 'ion-picker-column-option',
|
|
816
|
-
elementClass: IonPickerColumnOption$1,
|
|
817
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
818
|
-
react: React,
|
|
819
|
-
events: {},
|
|
820
|
-
defineCustomElement: defineCustomElement$H,
|
|
821
|
-
});
|
|
822
|
-
const IonProgressBar = /*@__PURE__*/ createComponent({
|
|
823
|
-
tagName: 'ion-progress-bar',
|
|
824
|
-
elementClass: IonProgressBar$1,
|
|
825
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
826
|
-
react: React,
|
|
827
|
-
events: {},
|
|
828
|
-
defineCustomElement: defineCustomElement$I,
|
|
829
|
-
});
|
|
830
|
-
const IonRadio =
|
|
831
|
-
/*@__PURE__*/ createComponent({
|
|
832
|
-
tagName: 'ion-radio',
|
|
833
|
-
elementClass: IonRadio$1,
|
|
834
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
835
|
-
react: React,
|
|
836
|
-
events: {
|
|
837
|
-
onIonFocus: 'ionFocus',
|
|
838
|
-
onIonBlur: 'ionBlur',
|
|
839
|
-
},
|
|
840
|
-
defineCustomElement: defineCustomElement$J,
|
|
841
|
-
});
|
|
842
|
-
const IonRadioGroup =
|
|
843
|
-
/*@__PURE__*/ createComponent({
|
|
844
|
-
tagName: 'ion-radio-group',
|
|
845
|
-
elementClass: IonRadioGroup$1,
|
|
846
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
847
|
-
react: React,
|
|
848
|
-
events: { onIonChange: 'ionChange' },
|
|
849
|
-
defineCustomElement: defineCustomElement$K,
|
|
850
|
-
});
|
|
851
|
-
const IonRange =
|
|
852
|
-
/*@__PURE__*/ createComponent({
|
|
853
|
-
tagName: 'ion-range',
|
|
854
|
-
elementClass: IonRange$1,
|
|
855
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
856
|
-
react: React,
|
|
857
|
-
events: {
|
|
858
|
-
onIonChange: 'ionChange',
|
|
859
|
-
onIonInput: 'ionInput',
|
|
860
|
-
onIonFocus: 'ionFocus',
|
|
861
|
-
onIonBlur: 'ionBlur',
|
|
862
|
-
onIonKnobMoveStart: 'ionKnobMoveStart',
|
|
863
|
-
onIonKnobMoveEnd: 'ionKnobMoveEnd',
|
|
864
|
-
},
|
|
865
|
-
defineCustomElement: defineCustomElement$L,
|
|
866
|
-
});
|
|
867
|
-
const IonRefresher =
|
|
868
|
-
/*@__PURE__*/ createComponent({
|
|
869
|
-
tagName: 'ion-refresher',
|
|
870
|
-
elementClass: IonRefresher$1,
|
|
871
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
872
|
-
react: React,
|
|
873
|
-
events: {
|
|
874
|
-
onIonRefresh: 'ionRefresh',
|
|
875
|
-
onIonPull: 'ionPull',
|
|
876
|
-
onIonStart: 'ionStart',
|
|
877
|
-
onIonPullStart: 'ionPullStart',
|
|
878
|
-
onIonPullEnd: 'ionPullEnd',
|
|
879
|
-
},
|
|
880
|
-
defineCustomElement: defineCustomElement$M,
|
|
881
|
-
});
|
|
882
|
-
const IonRefresherContent = /*@__PURE__*/ createComponent({
|
|
883
|
-
tagName: 'ion-refresher-content',
|
|
884
|
-
elementClass: IonRefresherContent$1,
|
|
885
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
886
|
-
react: React,
|
|
887
|
-
events: {},
|
|
888
|
-
defineCustomElement: defineCustomElement$N,
|
|
889
|
-
});
|
|
890
|
-
const IonReorder =
|
|
891
|
-
/*@__PURE__*/ createComponent({
|
|
892
|
-
tagName: 'ion-reorder',
|
|
893
|
-
elementClass: IonReorder$1,
|
|
894
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
895
|
-
react: React,
|
|
896
|
-
events: {},
|
|
897
|
-
defineCustomElement: defineCustomElement$O,
|
|
898
|
-
});
|
|
899
|
-
const IonReorderGroup = /*@__PURE__*/ createComponent({
|
|
900
|
-
tagName: 'ion-reorder-group',
|
|
901
|
-
elementClass: IonReorderGroup$1,
|
|
902
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
903
|
-
react: React,
|
|
904
|
-
events: {
|
|
905
|
-
onIonItemReorder: 'ionItemReorder',
|
|
906
|
-
onIonReorderStart: 'ionReorderStart',
|
|
907
|
-
onIonReorderMove: 'ionReorderMove',
|
|
908
|
-
onIonReorderEnd: 'ionReorderEnd',
|
|
909
|
-
},
|
|
910
|
-
defineCustomElement: defineCustomElement$P,
|
|
911
|
-
});
|
|
912
|
-
const IonRippleEffect = /*@__PURE__*/ createComponent({
|
|
913
|
-
tagName: 'ion-ripple-effect',
|
|
914
|
-
elementClass: IonRippleEffect$1,
|
|
915
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
916
|
-
react: React,
|
|
917
|
-
events: {},
|
|
918
|
-
defineCustomElement: defineCustomElement$Q,
|
|
919
|
-
});
|
|
920
|
-
const IonRow =
|
|
921
|
-
/*@__PURE__*/ createComponent({
|
|
922
|
-
tagName: 'ion-row',
|
|
923
|
-
elementClass: IonRow$1,
|
|
924
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
925
|
-
react: React,
|
|
926
|
-
events: {},
|
|
927
|
-
defineCustomElement: defineCustomElement$R,
|
|
928
|
-
});
|
|
929
|
-
const IonSearchbar =
|
|
930
|
-
/*@__PURE__*/ createComponent({
|
|
931
|
-
tagName: 'ion-searchbar',
|
|
932
|
-
elementClass: IonSearchbar$1,
|
|
933
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
934
|
-
react: React,
|
|
935
|
-
events: {
|
|
936
|
-
onIonInput: 'ionInput',
|
|
937
|
-
onIonChange: 'ionChange',
|
|
938
|
-
onIonCancel: 'ionCancel',
|
|
939
|
-
onIonClear: 'ionClear',
|
|
940
|
-
onIonBlur: 'ionBlur',
|
|
941
|
-
onIonFocus: 'ionFocus',
|
|
942
|
-
},
|
|
943
|
-
defineCustomElement: defineCustomElement$S,
|
|
944
|
-
});
|
|
945
|
-
const IonSegment =
|
|
946
|
-
/*@__PURE__*/ createComponent({
|
|
947
|
-
tagName: 'ion-segment',
|
|
948
|
-
elementClass: IonSegment$1,
|
|
949
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
950
|
-
react: React,
|
|
951
|
-
events: { onIonChange: 'ionChange' },
|
|
952
|
-
defineCustomElement: defineCustomElement$T,
|
|
953
|
-
});
|
|
954
|
-
const IonSegmentButton = /*@__PURE__*/ createComponent({
|
|
955
|
-
tagName: 'ion-segment-button',
|
|
956
|
-
elementClass: IonSegmentButton$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$U,
|
|
961
|
-
});
|
|
962
|
-
const IonSegmentContent = /*@__PURE__*/ createComponent({
|
|
963
|
-
tagName: 'ion-segment-content',
|
|
964
|
-
elementClass: IonSegmentContent$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$V,
|
|
969
|
-
});
|
|
970
|
-
const IonSegmentView = /*@__PURE__*/ createComponent({
|
|
971
|
-
tagName: 'ion-segment-view',
|
|
972
|
-
elementClass: IonSegmentView$1,
|
|
973
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
974
|
-
react: React,
|
|
975
|
-
events: { onIonSegmentViewScroll: 'ionSegmentViewScroll' },
|
|
976
|
-
defineCustomElement: defineCustomElement$W,
|
|
977
|
-
});
|
|
978
|
-
const IonSelect =
|
|
979
|
-
/*@__PURE__*/ createComponent({
|
|
980
|
-
tagName: 'ion-select',
|
|
981
|
-
elementClass: IonSelect$1,
|
|
982
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
983
|
-
react: React,
|
|
984
|
-
events: {
|
|
985
|
-
onIonChange: 'ionChange',
|
|
986
|
-
onIonCancel: 'ionCancel',
|
|
987
|
-
onIonDismiss: 'ionDismiss',
|
|
988
|
-
onIonFocus: 'ionFocus',
|
|
989
|
-
onIonBlur: 'ionBlur',
|
|
990
|
-
},
|
|
991
|
-
defineCustomElement: defineCustomElement$X,
|
|
992
|
-
});
|
|
993
|
-
const IonSelectModal = /*@__PURE__*/ createComponent({
|
|
994
|
-
tagName: 'ion-select-modal',
|
|
995
|
-
elementClass: IonSelectModal$1,
|
|
996
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
997
|
-
react: React,
|
|
998
|
-
events: {},
|
|
999
|
-
defineCustomElement: defineCustomElement$Y,
|
|
1000
|
-
});
|
|
1001
|
-
const IonSelectOption = /*@__PURE__*/ createComponent({
|
|
1002
|
-
tagName: 'ion-select-option',
|
|
1003
|
-
elementClass: IonSelectOption$1,
|
|
1004
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1005
|
-
react: React,
|
|
1006
|
-
events: {},
|
|
1007
|
-
defineCustomElement: defineCustomElement$Z,
|
|
1008
|
-
});
|
|
1009
|
-
const IonSkeletonText = /*@__PURE__*/ createComponent({
|
|
1010
|
-
tagName: 'ion-skeleton-text',
|
|
1011
|
-
elementClass: IonSkeletonText$1,
|
|
1012
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1013
|
-
react: React,
|
|
1014
|
-
events: {},
|
|
1015
|
-
defineCustomElement: defineCustomElement$_,
|
|
1016
|
-
});
|
|
1017
|
-
const IonSpinner =
|
|
1018
|
-
/*@__PURE__*/ createComponent({
|
|
1019
|
-
tagName: 'ion-spinner',
|
|
1020
|
-
elementClass: IonSpinner$1,
|
|
1021
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1022
|
-
react: React,
|
|
1023
|
-
events: {},
|
|
1024
|
-
defineCustomElement: defineCustomElement$$,
|
|
1025
|
-
});
|
|
1026
|
-
const IonSplitPane =
|
|
1027
|
-
/*@__PURE__*/ createComponent({
|
|
1028
|
-
tagName: 'ion-split-pane',
|
|
1029
|
-
elementClass: IonSplitPane$1,
|
|
1030
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1031
|
-
react: React,
|
|
1032
|
-
events: { onIonSplitPaneVisible: 'ionSplitPaneVisible' },
|
|
1033
|
-
defineCustomElement: defineCustomElement$10,
|
|
1034
|
-
});
|
|
1035
|
-
const IonTab =
|
|
1036
|
-
/*@__PURE__*/ createComponent({
|
|
1037
|
-
tagName: 'ion-tab',
|
|
1038
|
-
elementClass: IonTab$1,
|
|
1039
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1040
|
-
react: React,
|
|
1041
|
-
events: {},
|
|
1042
|
-
defineCustomElement: defineCustomElement$11,
|
|
1043
|
-
});
|
|
1044
|
-
const IonText =
|
|
1045
|
-
/*@__PURE__*/ createComponent({
|
|
1046
|
-
tagName: 'ion-text',
|
|
1047
|
-
elementClass: IonText$1,
|
|
1048
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1049
|
-
react: React,
|
|
1050
|
-
events: {},
|
|
1051
|
-
defineCustomElement: defineCustomElement$12,
|
|
1052
|
-
});
|
|
1053
|
-
const IonTextarea =
|
|
1054
|
-
/*@__PURE__*/ createComponent({
|
|
1055
|
-
tagName: 'ion-textarea',
|
|
1056
|
-
elementClass: IonTextarea$1,
|
|
1057
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1058
|
-
react: React,
|
|
1059
|
-
events: {
|
|
1060
|
-
onIonChange: 'ionChange',
|
|
1061
|
-
onIonInput: 'ionInput',
|
|
1062
|
-
onIonBlur: 'ionBlur',
|
|
1063
|
-
onIonFocus: 'ionFocus',
|
|
1064
|
-
},
|
|
1065
|
-
defineCustomElement: defineCustomElement$13,
|
|
1066
|
-
});
|
|
1067
|
-
const IonThumbnail =
|
|
1068
|
-
/*@__PURE__*/ createComponent({
|
|
1069
|
-
tagName: 'ion-thumbnail',
|
|
1070
|
-
elementClass: IonThumbnail$1,
|
|
1071
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1072
|
-
react: React,
|
|
1073
|
-
events: {},
|
|
1074
|
-
defineCustomElement: defineCustomElement$14,
|
|
1075
|
-
});
|
|
1076
|
-
const IonTitle =
|
|
1077
|
-
/*@__PURE__*/ createComponent({
|
|
1078
|
-
tagName: 'ion-title',
|
|
1079
|
-
elementClass: IonTitle$1,
|
|
1080
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1081
|
-
react: React,
|
|
1082
|
-
events: {},
|
|
1083
|
-
defineCustomElement: defineCustomElement$15,
|
|
1084
|
-
});
|
|
1085
|
-
const IonToggle =
|
|
1086
|
-
/*@__PURE__*/ createComponent({
|
|
1087
|
-
tagName: 'ion-toggle',
|
|
1088
|
-
elementClass: IonToggle$1,
|
|
1089
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1090
|
-
react: React,
|
|
1091
|
-
events: {
|
|
1092
|
-
onIonChange: 'ionChange',
|
|
1093
|
-
onIonFocus: 'ionFocus',
|
|
1094
|
-
onIonBlur: 'ionBlur',
|
|
1095
|
-
},
|
|
1096
|
-
defineCustomElement: defineCustomElement$16,
|
|
1097
|
-
});
|
|
1098
|
-
const IonToolbar =
|
|
1099
|
-
/*@__PURE__*/ createComponent({
|
|
1100
|
-
tagName: 'ion-toolbar',
|
|
1101
|
-
elementClass: IonToolbar$1,
|
|
1102
|
-
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
1103
|
-
react: React,
|
|
1104
|
-
events: {},
|
|
1105
|
-
defineCustomElement: defineCustomElement$17,
|
|
1106
|
-
});
|
|
1107
|
-
|
|
1108
417
|
const dashToPascalCase = (str) => str
|
|
1109
418
|
.toLowerCase()
|
|
1110
419
|
.split('-')
|
|
@@ -1248,6 +557,147 @@ const defineCustomElement = (tagName, customElement) => {
|
|
|
1248
557
|
}
|
|
1249
558
|
};
|
|
1250
559
|
|
|
560
|
+
const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
|
|
561
|
+
if (defineCustomElement !== undefined) {
|
|
562
|
+
defineCustomElement();
|
|
563
|
+
}
|
|
564
|
+
const displayName = dashToPascalCase(tagName);
|
|
565
|
+
const ReactComponent = class extends React.Component {
|
|
566
|
+
constructor(props) {
|
|
567
|
+
super(props);
|
|
568
|
+
this.setComponentElRef = (element) => {
|
|
569
|
+
this.componentEl = element;
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
componentDidMount() {
|
|
573
|
+
this.componentDidUpdate(this.props);
|
|
574
|
+
}
|
|
575
|
+
componentDidUpdate(prevProps) {
|
|
576
|
+
attachProps(this.componentEl, this.props, prevProps);
|
|
577
|
+
}
|
|
578
|
+
render() {
|
|
579
|
+
const { children, forwardedRef, style, className, ref, ...cProps } = this.props;
|
|
580
|
+
let propsToPass = Object.keys(cProps).reduce((acc, name) => {
|
|
581
|
+
const value = cProps[name];
|
|
582
|
+
if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
|
|
583
|
+
const eventName = name.substring(2).toLowerCase();
|
|
584
|
+
if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
|
|
585
|
+
acc[name] = value;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
else {
|
|
589
|
+
// we should only render strings, booleans, and numbers as attrs in html.
|
|
590
|
+
// objects, functions, arrays etc get synced via properties on mount.
|
|
591
|
+
const type = typeof value;
|
|
592
|
+
if (type === 'string' || type === 'boolean' || type === 'number') {
|
|
593
|
+
acc[camelToDashCase(name)] = value;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
return acc;
|
|
597
|
+
}, {});
|
|
598
|
+
if (manipulatePropsFunction) {
|
|
599
|
+
propsToPass = manipulatePropsFunction(this.props, propsToPass);
|
|
600
|
+
}
|
|
601
|
+
const newProps = {
|
|
602
|
+
...propsToPass,
|
|
603
|
+
ref: mergeRefs(forwardedRef, this.setComponentElRef),
|
|
604
|
+
style,
|
|
605
|
+
};
|
|
606
|
+
/**
|
|
607
|
+
* We use createElement here instead of
|
|
608
|
+
* React.createElement to work around a
|
|
609
|
+
* bug in Vite (https://github.com/vitejs/vite/issues/6104).
|
|
610
|
+
* React.createElement causes all elements to be rendered
|
|
611
|
+
* as <tagname> instead of the actual Web Component.
|
|
612
|
+
*/
|
|
613
|
+
return createElement(tagName, newProps, children);
|
|
614
|
+
}
|
|
615
|
+
static get displayName() {
|
|
616
|
+
return displayName;
|
|
617
|
+
}
|
|
618
|
+
};
|
|
619
|
+
// If context was passed to createReactComponent then conditionally add it to the Component Class
|
|
620
|
+
if (ReactComponentContext) {
|
|
621
|
+
ReactComponent.contextType = ReactComponentContext;
|
|
622
|
+
}
|
|
623
|
+
return createForwardRef$1(ReactComponent, displayName);
|
|
624
|
+
};
|
|
625
|
+
|
|
626
|
+
/* eslint-disable */
|
|
627
|
+
/* tslint:disable */
|
|
628
|
+
/* auto-generated react proxies */
|
|
629
|
+
const IonAccordion = /*@__PURE__*/ createReactComponent('ion-accordion', undefined, undefined, defineCustomElement$1);
|
|
630
|
+
const IonAccordionGroup = /*@__PURE__*/ createReactComponent('ion-accordion-group', undefined, undefined, defineCustomElement$2);
|
|
631
|
+
const IonAvatar = /*@__PURE__*/ createReactComponent('ion-avatar', undefined, undefined, defineCustomElement$3);
|
|
632
|
+
const IonBackdrop = /*@__PURE__*/ createReactComponent('ion-backdrop', undefined, undefined, defineCustomElement$4);
|
|
633
|
+
const IonBadge = /*@__PURE__*/ createReactComponent('ion-badge', undefined, undefined, defineCustomElement$5);
|
|
634
|
+
const IonBreadcrumbs = /*@__PURE__*/ createReactComponent('ion-breadcrumbs', undefined, undefined, defineCustomElement$6);
|
|
635
|
+
const IonButtons = /*@__PURE__*/ createReactComponent('ion-buttons', undefined, undefined, defineCustomElement$7);
|
|
636
|
+
const IonCardContent = /*@__PURE__*/ createReactComponent('ion-card-content', undefined, undefined, defineCustomElement$8);
|
|
637
|
+
const IonCardHeader = /*@__PURE__*/ createReactComponent('ion-card-header', undefined, undefined, defineCustomElement$9);
|
|
638
|
+
const IonCardSubtitle = /*@__PURE__*/ createReactComponent('ion-card-subtitle', undefined, undefined, defineCustomElement$a);
|
|
639
|
+
const IonCardTitle = /*@__PURE__*/ createReactComponent('ion-card-title', undefined, undefined, defineCustomElement$b);
|
|
640
|
+
const IonCheckbox = /*@__PURE__*/ createReactComponent('ion-checkbox', undefined, undefined, defineCustomElement$c);
|
|
641
|
+
const IonChip = /*@__PURE__*/ createReactComponent('ion-chip', undefined, undefined, defineCustomElement$d);
|
|
642
|
+
const IonCol = /*@__PURE__*/ createReactComponent('ion-col', undefined, undefined, defineCustomElement$e);
|
|
643
|
+
const IonContent = /*@__PURE__*/ createReactComponent('ion-content', undefined, undefined, defineCustomElement$f);
|
|
644
|
+
const IonDatetime = /*@__PURE__*/ createReactComponent('ion-datetime', undefined, undefined, defineCustomElement$g);
|
|
645
|
+
const IonDatetimeButton = /*@__PURE__*/ createReactComponent('ion-datetime-button', undefined, undefined, defineCustomElement$h);
|
|
646
|
+
const IonFab = /*@__PURE__*/ createReactComponent('ion-fab', undefined, undefined, defineCustomElement$i);
|
|
647
|
+
const IonFabList = /*@__PURE__*/ createReactComponent('ion-fab-list', undefined, undefined, defineCustomElement$j);
|
|
648
|
+
const IonFooter = /*@__PURE__*/ createReactComponent('ion-footer', undefined, undefined, defineCustomElement$k);
|
|
649
|
+
const IonGrid = /*@__PURE__*/ createReactComponent('ion-grid', undefined, undefined, defineCustomElement$l);
|
|
650
|
+
const IonHeader = /*@__PURE__*/ createReactComponent('ion-header', undefined, undefined, defineCustomElement$m);
|
|
651
|
+
const IonImg = /*@__PURE__*/ createReactComponent('ion-img', undefined, undefined, defineCustomElement$n);
|
|
652
|
+
const IonInfiniteScroll = /*@__PURE__*/ createReactComponent('ion-infinite-scroll', undefined, undefined, defineCustomElement$o);
|
|
653
|
+
const IonInfiniteScrollContent = /*@__PURE__*/ createReactComponent('ion-infinite-scroll-content', undefined, undefined, defineCustomElement$p);
|
|
654
|
+
const IonInput = /*@__PURE__*/ createReactComponent('ion-input', undefined, undefined, defineCustomElement$q);
|
|
655
|
+
const IonInputOtp = /*@__PURE__*/ createReactComponent('ion-input-otp', undefined, undefined, defineCustomElement$r);
|
|
656
|
+
const IonInputPasswordToggle = /*@__PURE__*/ createReactComponent('ion-input-password-toggle', undefined, undefined, defineCustomElement$s);
|
|
657
|
+
const IonItemDivider = /*@__PURE__*/ createReactComponent('ion-item-divider', undefined, undefined, defineCustomElement$t);
|
|
658
|
+
const IonItemGroup = /*@__PURE__*/ createReactComponent('ion-item-group', undefined, undefined, defineCustomElement$u);
|
|
659
|
+
const IonItemOptions = /*@__PURE__*/ createReactComponent('ion-item-options', undefined, undefined, defineCustomElement$v);
|
|
660
|
+
const IonItemSliding = /*@__PURE__*/ createReactComponent('ion-item-sliding', undefined, undefined, defineCustomElement$w);
|
|
661
|
+
const IonLabel = /*@__PURE__*/ createReactComponent('ion-label', undefined, undefined, defineCustomElement$x);
|
|
662
|
+
const IonList = /*@__PURE__*/ createReactComponent('ion-list', undefined, undefined, defineCustomElement$y);
|
|
663
|
+
const IonListHeader = /*@__PURE__*/ createReactComponent('ion-list-header', undefined, undefined, defineCustomElement$z);
|
|
664
|
+
const IonMenu = /*@__PURE__*/ createReactComponent('ion-menu', undefined, undefined, defineCustomElement$A);
|
|
665
|
+
const IonMenuButton = /*@__PURE__*/ createReactComponent('ion-menu-button', undefined, undefined, defineCustomElement$B);
|
|
666
|
+
const IonMenuToggle = /*@__PURE__*/ createReactComponent('ion-menu-toggle', undefined, undefined, defineCustomElement$C);
|
|
667
|
+
const IonNavLink = /*@__PURE__*/ createReactComponent('ion-nav-link', undefined, undefined, defineCustomElement$D);
|
|
668
|
+
const IonNote = /*@__PURE__*/ createReactComponent('ion-note', undefined, undefined, defineCustomElement$E);
|
|
669
|
+
const IonPicker = /*@__PURE__*/ createReactComponent('ion-picker', undefined, undefined, defineCustomElement$F);
|
|
670
|
+
const IonPickerColumn = /*@__PURE__*/ createReactComponent('ion-picker-column', undefined, undefined, defineCustomElement$G);
|
|
671
|
+
const IonPickerColumnOption = /*@__PURE__*/ createReactComponent('ion-picker-column-option', undefined, undefined, defineCustomElement$H);
|
|
672
|
+
const IonProgressBar = /*@__PURE__*/ createReactComponent('ion-progress-bar', undefined, undefined, defineCustomElement$I);
|
|
673
|
+
const IonRadio = /*@__PURE__*/ createReactComponent('ion-radio', undefined, undefined, defineCustomElement$J);
|
|
674
|
+
const IonRadioGroup = /*@__PURE__*/ createReactComponent('ion-radio-group', undefined, undefined, defineCustomElement$K);
|
|
675
|
+
const IonRange = /*@__PURE__*/ createReactComponent('ion-range', undefined, undefined, defineCustomElement$L);
|
|
676
|
+
const IonRefresher = /*@__PURE__*/ createReactComponent('ion-refresher', undefined, undefined, defineCustomElement$M);
|
|
677
|
+
const IonRefresherContent = /*@__PURE__*/ createReactComponent('ion-refresher-content', undefined, undefined, defineCustomElement$N);
|
|
678
|
+
const IonReorder = /*@__PURE__*/ createReactComponent('ion-reorder', undefined, undefined, defineCustomElement$O);
|
|
679
|
+
const IonReorderGroup = /*@__PURE__*/ createReactComponent('ion-reorder-group', undefined, undefined, defineCustomElement$P);
|
|
680
|
+
const IonRippleEffect = /*@__PURE__*/ createReactComponent('ion-ripple-effect', undefined, undefined, defineCustomElement$Q);
|
|
681
|
+
const IonRow = /*@__PURE__*/ createReactComponent('ion-row', undefined, undefined, defineCustomElement$R);
|
|
682
|
+
const IonSearchbar = /*@__PURE__*/ createReactComponent('ion-searchbar', undefined, undefined, defineCustomElement$S);
|
|
683
|
+
const IonSegment = /*@__PURE__*/ createReactComponent('ion-segment', undefined, undefined, defineCustomElement$T);
|
|
684
|
+
const IonSegmentButton = /*@__PURE__*/ createReactComponent('ion-segment-button', undefined, undefined, defineCustomElement$U);
|
|
685
|
+
const IonSegmentContent = /*@__PURE__*/ createReactComponent('ion-segment-content', undefined, undefined, defineCustomElement$V);
|
|
686
|
+
const IonSegmentView = /*@__PURE__*/ createReactComponent('ion-segment-view', undefined, undefined, defineCustomElement$W);
|
|
687
|
+
const IonSelect = /*@__PURE__*/ createReactComponent('ion-select', undefined, undefined, defineCustomElement$X);
|
|
688
|
+
const IonSelectModal = /*@__PURE__*/ createReactComponent('ion-select-modal', undefined, undefined, defineCustomElement$Y);
|
|
689
|
+
const IonSelectOption = /*@__PURE__*/ createReactComponent('ion-select-option', undefined, undefined, defineCustomElement$Z);
|
|
690
|
+
const IonSkeletonText = /*@__PURE__*/ createReactComponent('ion-skeleton-text', undefined, undefined, defineCustomElement$_);
|
|
691
|
+
const IonSpinner = /*@__PURE__*/ createReactComponent('ion-spinner', undefined, undefined, defineCustomElement$$);
|
|
692
|
+
const IonSplitPane = /*@__PURE__*/ createReactComponent('ion-split-pane', undefined, undefined, defineCustomElement$10);
|
|
693
|
+
const IonTab = /*@__PURE__*/ createReactComponent('ion-tab', undefined, undefined, defineCustomElement$11);
|
|
694
|
+
const IonText = /*@__PURE__*/ createReactComponent('ion-text', undefined, undefined, defineCustomElement$12);
|
|
695
|
+
const IonTextarea = /*@__PURE__*/ createReactComponent('ion-textarea', undefined, undefined, defineCustomElement$13);
|
|
696
|
+
const IonThumbnail = /*@__PURE__*/ createReactComponent('ion-thumbnail', undefined, undefined, defineCustomElement$14);
|
|
697
|
+
const IonTitle = /*@__PURE__*/ createReactComponent('ion-title', undefined, undefined, defineCustomElement$15);
|
|
698
|
+
const IonToggle = /*@__PURE__*/ createReactComponent('ion-toggle', undefined, undefined, defineCustomElement$16);
|
|
699
|
+
const IonToolbar = /*@__PURE__*/ createReactComponent('ion-toolbar', undefined, undefined, defineCustomElement$17);
|
|
700
|
+
|
|
1251
701
|
const createForwardRef = (ReactComponent, // TODO(FW-2959): type
|
|
1252
702
|
displayName) => {
|
|
1253
703
|
const forwardRef = (props, ref) => {
|
|
@@ -1281,11 +731,6 @@ const createRoutingComponent = (tagName, customElement) => {
|
|
|
1281
731
|
this.handleClick = (e) => {
|
|
1282
732
|
const { routerLink, routerDirection, routerOptions, routerAnimation } = this.props;
|
|
1283
733
|
if (routerLink !== undefined) {
|
|
1284
|
-
// Allow modifier key clicks (ctrl/cmd/shift) to open the link in a new tab/window
|
|
1285
|
-
// without triggering SPA navigation on the current page.
|
|
1286
|
-
if (e.metaKey || e.ctrlKey || e.shiftKey) {
|
|
1287
|
-
return;
|
|
1288
|
-
}
|
|
1289
734
|
e.preventDefault();
|
|
1290
735
|
this.context.navigate(routerLink, routerDirection, undefined, routerAnimation, routerOptions);
|
|
1291
736
|
}
|
|
@@ -1606,9 +1051,7 @@ const createInlineOverlayComponent = (tagName, defineCustomElement, hasDelegateH
|
|
|
1606
1051
|
}
|
|
1607
1052
|
};
|
|
1608
1053
|
// Forward the nesting context as a prop to avoid contextType on the class.
|
|
1609
|
-
const ReactComponentWithNesting = (props) => createElement(NestedOverlayContext.Consumer, {
|
|
1610
|
-
children: (isNested) => createElement(ReactComponent, { ...props, isNested }),
|
|
1611
|
-
});
|
|
1054
|
+
const ReactComponentWithNesting = (props) => createElement(NestedOverlayContext.Consumer, null, (isNested) => createElement(ReactComponent, { ...props, isNested }));
|
|
1612
1055
|
ReactComponentWithNesting.displayName = displayName;
|
|
1613
1056
|
return createForwardRef(ReactComponentWithNesting, displayName);
|
|
1614
1057
|
};
|
|
@@ -1620,11 +1063,13 @@ const IonLoading = /*@__PURE__*/ createInlineOverlayComponent('ion-loading', def
|
|
|
1620
1063
|
|
|
1621
1064
|
const IonToast = /*@__PURE__*/ createInlineOverlayComponent('ion-toast', defineCustomElement$1a);
|
|
1622
1065
|
|
|
1623
|
-
const
|
|
1066
|
+
const IonPickerLegacy = /*@__PURE__*/ createInlineOverlayComponent('ion-picker-legacy', defineCustomElement$1b);
|
|
1624
1067
|
|
|
1625
|
-
const
|
|
1068
|
+
const IonActionSheet = /*@__PURE__*/ createInlineOverlayComponent('ion-action-sheet', defineCustomElement$1c);
|
|
1626
1069
|
|
|
1627
|
-
const
|
|
1070
|
+
const IonModal = /*@__PURE__*/ createInlineOverlayComponent('ion-modal', defineCustomElement$1d, true);
|
|
1071
|
+
|
|
1072
|
+
const IonPopover = /*@__PURE__*/ createInlineOverlayComponent('ion-popover', defineCustomElement$1e);
|
|
1628
1073
|
|
|
1629
1074
|
const IonContext = React.createContext({
|
|
1630
1075
|
addOverlay: () => {
|
|
@@ -1716,81 +1161,14 @@ const IonOverlayManager = ({ onAddOverlay, onRemoveOverlay }) => {
|
|
|
1716
1161
|
}) }));
|
|
1717
1162
|
};
|
|
1718
1163
|
|
|
1719
|
-
const
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
constructor(props) {
|
|
1726
|
-
super(props);
|
|
1727
|
-
this.setComponentElRef = (element) => {
|
|
1728
|
-
this.componentEl = element;
|
|
1729
|
-
};
|
|
1730
|
-
}
|
|
1731
|
-
componentDidMount() {
|
|
1732
|
-
this.componentDidUpdate(this.props);
|
|
1733
|
-
}
|
|
1734
|
-
componentDidUpdate(prevProps) {
|
|
1735
|
-
attachProps(this.componentEl, this.props, prevProps);
|
|
1736
|
-
}
|
|
1737
|
-
render() {
|
|
1738
|
-
const { children, forwardedRef, style, className, ref, ...cProps } = this.props;
|
|
1739
|
-
let propsToPass = Object.keys(cProps).reduce((acc, name) => {
|
|
1740
|
-
const value = cProps[name];
|
|
1741
|
-
if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
|
|
1742
|
-
const eventName = name.substring(2).toLowerCase();
|
|
1743
|
-
if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
|
|
1744
|
-
acc[name] = value;
|
|
1745
|
-
}
|
|
1746
|
-
}
|
|
1747
|
-
else {
|
|
1748
|
-
// we should only render strings, booleans, and numbers as attrs in html.
|
|
1749
|
-
// objects, functions, arrays etc get synced via properties on mount.
|
|
1750
|
-
const type = typeof value;
|
|
1751
|
-
if (type === 'string' || type === 'boolean' || type === 'number') {
|
|
1752
|
-
acc[camelToDashCase(name)] = value;
|
|
1753
|
-
}
|
|
1754
|
-
}
|
|
1755
|
-
return acc;
|
|
1756
|
-
}, {});
|
|
1757
|
-
if (manipulatePropsFunction) {
|
|
1758
|
-
propsToPass = manipulatePropsFunction(this.props, propsToPass);
|
|
1759
|
-
}
|
|
1760
|
-
const newProps = {
|
|
1761
|
-
...propsToPass,
|
|
1762
|
-
ref: mergeRefs(forwardedRef, this.setComponentElRef),
|
|
1763
|
-
style,
|
|
1764
|
-
children
|
|
1765
|
-
};
|
|
1766
|
-
/**
|
|
1767
|
-
* We use createElement here instead of
|
|
1768
|
-
* React.createElement to work around a
|
|
1769
|
-
* bug in Vite (https://github.com/vitejs/vite/issues/6104).
|
|
1770
|
-
* React.createElement causes all elements to be rendered
|
|
1771
|
-
* as <tagname> instead of the actual Web Component.
|
|
1772
|
-
*/
|
|
1773
|
-
return createElement(tagName, newProps, children);
|
|
1774
|
-
}
|
|
1775
|
-
static get displayName() {
|
|
1776
|
-
return displayName;
|
|
1777
|
-
}
|
|
1778
|
-
};
|
|
1779
|
-
// If context was passed to createReactComponent then conditionally add it to the Component Class
|
|
1780
|
-
if (ReactComponentContext) {
|
|
1781
|
-
ReactComponent.contextType = ReactComponentContext;
|
|
1782
|
-
}
|
|
1783
|
-
return createForwardRef$1(ReactComponent, displayName);
|
|
1784
|
-
};
|
|
1785
|
-
|
|
1786
|
-
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1e);
|
|
1787
|
-
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1f);
|
|
1788
|
-
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1g);
|
|
1789
|
-
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1h);
|
|
1790
|
-
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$1i);
|
|
1791
|
-
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1j);
|
|
1164
|
+
const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1f);
|
|
1165
|
+
const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1g);
|
|
1166
|
+
const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1h);
|
|
1167
|
+
const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1i);
|
|
1168
|
+
const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$1j);
|
|
1169
|
+
const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1k);
|
|
1792
1170
|
// ionicons
|
|
1793
|
-
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$
|
|
1171
|
+
const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$1l);
|
|
1794
1172
|
|
|
1795
1173
|
class IonApp extends React.Component {
|
|
1796
1174
|
constructor(props) {
|
|
@@ -1828,25 +1206,7 @@ class PageManager extends React.PureComponent {
|
|
|
1828
1206
|
super(props);
|
|
1829
1207
|
this.ionPageElementRef = React.createRef();
|
|
1830
1208
|
// React refs must be stable (not created inline).
|
|
1831
|
-
|
|
1832
|
-
const baseMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1833
|
-
// Guard against React 19 strict mode double-mount re-adding ion-page-invisible.
|
|
1834
|
-
// The ref fires again on remount after StackManager may have already removed it.
|
|
1835
|
-
let hasAppliedInvisible = false;
|
|
1836
|
-
this.stableMergedRefs = (node) => {
|
|
1837
|
-
if (node &&
|
|
1838
|
-
!hasAppliedInvisible &&
|
|
1839
|
-
!node.classList.contains('ion-page-invisible') &&
|
|
1840
|
-
!node.classList.contains('ion-page-hidden')) {
|
|
1841
|
-
// Add ion-page-invisible synchronously before first paint (if in an outlet)
|
|
1842
|
-
// This prevents the flash that occurs when componentDidMount runs after paint
|
|
1843
|
-
if (this.context?.isInOutlet?.()) {
|
|
1844
|
-
node.classList.add('ion-page-invisible');
|
|
1845
|
-
hasAppliedInvisible = true;
|
|
1846
|
-
}
|
|
1847
|
-
}
|
|
1848
|
-
baseMergedRefs(node);
|
|
1849
|
-
};
|
|
1209
|
+
this.stableMergedRefs = mergeRefs(this.ionPageElementRef, this.props.forwardedRef);
|
|
1850
1210
|
/**
|
|
1851
1211
|
* This binds the scope of the following methods to the class scope.
|
|
1852
1212
|
* The `.bind` method returns a new function, so we need to assign it
|
|
@@ -1858,38 +1218,11 @@ class PageManager extends React.PureComponent {
|
|
|
1858
1218
|
this.ionViewWillLeaveHandler = this.ionViewWillLeaveHandler.bind(this);
|
|
1859
1219
|
this.ionViewDidLeaveHandler = this.ionViewDidLeaveHandler.bind(this);
|
|
1860
1220
|
}
|
|
1861
|
-
parseClasses(className) {
|
|
1862
|
-
if (!className)
|
|
1863
|
-
return new Set();
|
|
1864
|
-
return new Set(className.split(/\s+/).filter(Boolean));
|
|
1865
|
-
}
|
|
1866
|
-
/**
|
|
1867
|
-
* Updates classList by diffing old/new className props.
|
|
1868
|
-
* Preserves framework-added classes (can-go-back, ion-page-invisible, etc.).
|
|
1869
|
-
*/
|
|
1870
|
-
updateUserClasses(oldClassName, newClassName) {
|
|
1871
|
-
if (!this.ionPageElementRef.current)
|
|
1872
|
-
return;
|
|
1873
|
-
const oldClasses = this.parseClasses(oldClassName);
|
|
1874
|
-
const newClasses = this.parseClasses(newClassName);
|
|
1875
|
-
oldClasses.forEach((cls) => {
|
|
1876
|
-
if (!newClasses.has(cls)) {
|
|
1877
|
-
this.ionPageElementRef.current.classList.remove(cls);
|
|
1878
|
-
}
|
|
1879
|
-
});
|
|
1880
|
-
newClasses.forEach((cls) => {
|
|
1881
|
-
if (!oldClasses.has(cls)) {
|
|
1882
|
-
this.ionPageElementRef.current.classList.add(cls);
|
|
1883
|
-
}
|
|
1884
|
-
});
|
|
1885
|
-
}
|
|
1886
1221
|
componentDidMount() {
|
|
1887
1222
|
if (this.ionPageElementRef.current) {
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
// The ref callback runs synchronously when the element is created, before the browser paints.
|
|
1892
|
-
this.updateUserClasses(undefined, this.props.className);
|
|
1223
|
+
if (this.context.isInOutlet()) {
|
|
1224
|
+
this.ionPageElementRef.current.classList.add('ion-page-invisible');
|
|
1225
|
+
}
|
|
1893
1226
|
this.context.registerIonPage(this.ionPageElementRef.current, this.props.routeInfo);
|
|
1894
1227
|
this.ionPageElementRef.current.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
1895
1228
|
this.ionPageElementRef.current.addEventListener('ionViewDidEnter', this.ionViewDidEnterHandler);
|
|
@@ -1897,11 +1230,6 @@ class PageManager extends React.PureComponent {
|
|
|
1897
1230
|
this.ionPageElementRef.current.addEventListener('ionViewDidLeave', this.ionViewDidLeaveHandler);
|
|
1898
1231
|
}
|
|
1899
1232
|
}
|
|
1900
|
-
componentDidUpdate(prevProps) {
|
|
1901
|
-
if (prevProps.className !== this.props.className) {
|
|
1902
|
-
this.updateUserClasses(prevProps.className, this.props.className);
|
|
1903
|
-
}
|
|
1904
|
-
}
|
|
1905
1233
|
componentWillUnmount() {
|
|
1906
1234
|
if (this.ionPageElementRef.current) {
|
|
1907
1235
|
this.ionPageElementRef.current.removeEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
@@ -1931,11 +1259,9 @@ class PageManager extends React.PureComponent {
|
|
|
1931
1259
|
render() {
|
|
1932
1260
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1933
1261
|
const { className, children, routeInfo, forwardedRef, ...props } = this.props;
|
|
1934
|
-
// Only set "ion-page" in JSX. User classes are managed via DOM in componentDidMount/componentDidUpdate
|
|
1935
|
-
// to preserve framework-added classes (can-go-back, ion-page-invisible, etc.) when className prop changes.
|
|
1936
1262
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
1937
1263
|
this.ionLifeCycleContext = context;
|
|
1938
|
-
return (jsx("div", { className:
|
|
1264
|
+
return (jsx("div", { className: className ? `${className} ion-page` : `ion-page`, ref: this.stableMergedRefs, ...props, children: children }));
|
|
1939
1265
|
} }));
|
|
1940
1266
|
}
|
|
1941
1267
|
static get contextType() {
|
|
@@ -1995,7 +1321,7 @@ const ReactDelegate = (addView, removeView) => {
|
|
|
1995
1321
|
};
|
|
1996
1322
|
};
|
|
1997
1323
|
|
|
1998
|
-
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$
|
|
1324
|
+
const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$1m);
|
|
1999
1325
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2000
1326
|
const IonNavInternal = ({ children, forwardedRef, ...restOfProps }) => {
|
|
2001
1327
|
const [views, setViews] = useState([]);
|
|
@@ -2043,30 +1369,8 @@ class OutletPageManager extends React.Component {
|
|
|
2043
1369
|
*/
|
|
2044
1370
|
if (!this.outletIsReady) {
|
|
2045
1371
|
componentOnReady(this.ionRouterOutlet, () => {
|
|
2046
|
-
/**
|
|
2047
|
-
* Guard against duplicate callbacks from React strict mode double-mount.
|
|
2048
|
-
* Both componentDidMount calls pass the outer !outletIsReady check before
|
|
2049
|
-
* either async callback fires. Without this inner guard, the second callback
|
|
2050
|
-
* re-adds ion-page-invisible after the first callback's transition removed it,
|
|
2051
|
-
* and registerIonPage returns early (same element), leaving the page invisible.
|
|
2052
|
-
*/
|
|
2053
|
-
if (this.outletIsReady)
|
|
2054
|
-
return;
|
|
2055
1372
|
this.outletIsReady = true;
|
|
2056
|
-
|
|
2057
|
-
* Add ion-page + ion-page-invisible AFTER Stencil hydration but
|
|
2058
|
-
* BEFORE registerIonPage. Stencil hydration overwrites className,
|
|
2059
|
-
* so classes added in a React ref callback get wiped. Adding them
|
|
2060
|
-
* here -- after hydration -- ensures they persist until the parent
|
|
2061
|
-
* outlet's forward animation removes ion-page-invisible, preventing
|
|
2062
|
-
* a flash where the outlet is briefly visible at full opacity.
|
|
2063
|
-
*/
|
|
2064
|
-
const el = this.ionRouterOutlet;
|
|
2065
|
-
if (!el.classList.contains('ion-page-invisible') && !el.classList.contains('ion-page-hidden')) {
|
|
2066
|
-
el.classList.add('ion-page');
|
|
2067
|
-
el.classList.add('ion-page-invisible');
|
|
2068
|
-
}
|
|
2069
|
-
this.context.registerIonPage(el, this.props.routeInfo);
|
|
1373
|
+
this.context.registerIonPage(this.ionRouterOutlet, this.props.routeInfo);
|
|
2070
1374
|
});
|
|
2071
1375
|
}
|
|
2072
1376
|
this.ionRouterOutlet.addEventListener('ionViewWillEnter', this.ionViewWillEnterHandler);
|
|
@@ -2096,10 +1400,10 @@ class OutletPageManager extends React.Component {
|
|
|
2096
1400
|
this.ionLifeCycleContext.ionViewDidLeave();
|
|
2097
1401
|
}
|
|
2098
1402
|
render() {
|
|
2099
|
-
const { StackManager, children, routeInfo,
|
|
1403
|
+
const { StackManager, children, routeInfo, ...props } = this.props;
|
|
2100
1404
|
return (jsx(IonLifeCycleContext.Consumer, { children: (context) => {
|
|
2101
1405
|
this.ionLifeCycleContext = context;
|
|
2102
|
-
return (jsx(StackManager, {
|
|
1406
|
+
return (jsx(StackManager, { routeInfo: routeInfo, children: jsx(IonRouterOutletInner, { setRef: (val) => (this.ionRouterOutlet = val), ...props, children: children }) }));
|
|
2103
1407
|
} }));
|
|
2104
1408
|
}
|
|
2105
1409
|
static get contextType() {
|
|
@@ -2110,13 +1414,11 @@ class OutletPageManager extends React.Component {
|
|
|
2110
1414
|
class IonRouterOutletContainer extends React.Component {
|
|
2111
1415
|
constructor(props) {
|
|
2112
1416
|
super(props);
|
|
2113
|
-
this.outletId = props.id ?? `routerOutlet-${generateId('routerOutlet')}`;
|
|
2114
1417
|
}
|
|
2115
1418
|
render() {
|
|
2116
1419
|
const StackManager = this.context.getStackManager();
|
|
2117
1420
|
const { children, forwardedRef, ...props } = this.props;
|
|
2118
|
-
|
|
2119
|
-
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 }));
|
|
1421
|
+
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 }));
|
|
2120
1422
|
}
|
|
2121
1423
|
static get contextType() {
|
|
2122
1424
|
return NavContext;
|
|
@@ -2313,9 +1615,7 @@ const matchesTab = (pathname, href) => {
|
|
|
2313
1615
|
if (href === undefined) {
|
|
2314
1616
|
return false;
|
|
2315
1617
|
}
|
|
2316
|
-
|
|
2317
|
-
const hrefPathname = href.split('?')[0];
|
|
2318
|
-
const normalizedHref = hrefPathname.endsWith('/') && hrefPathname !== '/' ? hrefPathname.slice(0, -1) : hrefPathname;
|
|
1618
|
+
const normalizedHref = href.endsWith('/') && href !== '/' ? href.slice(0, -1) : href;
|
|
2319
1619
|
return pathname === normalizedHref || pathname.startsWith(normalizedHref + '/');
|
|
2320
1620
|
};
|
|
2321
1621
|
class IonTabBarUnwrapped extends React.PureComponent {
|
|
@@ -2407,7 +1707,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
2407
1707
|
const prevHref = state.tabs[prevActiveTab].currentHref;
|
|
2408
1708
|
const prevRouteOptions = state.tabs[prevActiveTab].currentRouteOptions;
|
|
2409
1709
|
if (activeTab !== prevActiveTab ||
|
|
2410
|
-
prevHref !==
|
|
1710
|
+
prevHref !== props.routeInfo?.pathname ||
|
|
2411
1711
|
prevRouteOptions !== props.routeInfo?.routeOptions) {
|
|
2412
1712
|
tabs[activeTab] = {
|
|
2413
1713
|
originalHref: tabs[activeTab].originalHref,
|
|
@@ -2474,7 +1774,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
|
|
|
2474
1774
|
return (child) => {
|
|
2475
1775
|
if (child != null && child.props && (child.type === IonTabButton || child.type.isTabButton)) {
|
|
2476
1776
|
const href = child.props.tab === activeTab
|
|
2477
|
-
?
|
|
1777
|
+
? this.props.routeInfo?.pathname
|
|
2478
1778
|
: this.state.tabs[child.props.tab].currentHref;
|
|
2479
1779
|
const routeOptions = child.props.tab === activeTab
|
|
2480
1780
|
? this.props.routeInfo?.routeOptions
|
|
@@ -2599,6 +1899,20 @@ class IonRoute extends React.PureComponent {
|
|
|
2599
1899
|
}
|
|
2600
1900
|
}
|
|
2601
1901
|
|
|
1902
|
+
class IonRedirect extends React.PureComponent {
|
|
1903
|
+
render() {
|
|
1904
|
+
const IonRedirectInner = this.context.getIonRedirect();
|
|
1905
|
+
if (!this.context.hasIonicRouter() || !IonRedirect) {
|
|
1906
|
+
console.error('You either do not have an Ionic Router package, or your router does not support using <IonRedirect>');
|
|
1907
|
+
return null;
|
|
1908
|
+
}
|
|
1909
|
+
return jsx(IonRedirectInner, { ...this.props });
|
|
1910
|
+
}
|
|
1911
|
+
static get contextType() {
|
|
1912
|
+
return NavContext;
|
|
1913
|
+
}
|
|
1914
|
+
}
|
|
1915
|
+
|
|
2602
1916
|
const IonRouterContext = React.createContext({
|
|
2603
1917
|
routeInfo: undefined, // TODO(FW-2959): type
|
|
2604
1918
|
push: () => {
|
|
@@ -2607,9 +1921,6 @@ const IonRouterContext = React.createContext({
|
|
|
2607
1921
|
back: () => {
|
|
2608
1922
|
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
2609
1923
|
},
|
|
2610
|
-
navigateRoot: () => {
|
|
2611
|
-
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
2612
|
-
},
|
|
2613
1924
|
canGoBack: () => {
|
|
2614
1925
|
throw new Error('An Ionic Router is required for IonRouterContext');
|
|
2615
1926
|
},
|
|
@@ -2626,10 +1937,9 @@ function useIonRouter() {
|
|
|
2626
1937
|
back: context.back,
|
|
2627
1938
|
push: context.push,
|
|
2628
1939
|
goBack: context.back,
|
|
2629
|
-
navigateRoot: context.navigateRoot,
|
|
2630
1940
|
canGoBack: context.canGoBack,
|
|
2631
1941
|
routeInfo: context.routeInfo,
|
|
2632
|
-
}), [context.back, context.push, context.
|
|
1942
|
+
}), [context.back, context.push, context.canGoBack, context.routeInfo]);
|
|
2633
1943
|
}
|
|
2634
1944
|
|
|
2635
1945
|
class CreateAnimation extends React.PureComponent {
|
|
@@ -2783,7 +2093,7 @@ function useController(displayName, controller, defineCustomElement) {
|
|
|
2783
2093
|
* @returns Returns the present and dismiss methods in an array
|
|
2784
2094
|
*/
|
|
2785
2095
|
function useIonActionSheet() {
|
|
2786
|
-
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$
|
|
2096
|
+
const controller = useController('IonActionSheet', actionSheetController, defineCustomElement$1c);
|
|
2787
2097
|
const present = useCallback((buttonsOrOptions, header) => {
|
|
2788
2098
|
if (Array.isArray(buttonsOrOptions)) {
|
|
2789
2099
|
return controller.present({
|
|
@@ -2909,7 +2219,7 @@ function useOverlay(displayName, controller, defineCustomElement, component, com
|
|
|
2909
2219
|
* @returns Returns the present and dismiss methods in an array
|
|
2910
2220
|
*/
|
|
2911
2221
|
function useIonModal(component, componentProps) {
|
|
2912
|
-
const controller = useOverlay('IonModal', modalController, defineCustomElement$
|
|
2222
|
+
const controller = useOverlay('IonModal', modalController, defineCustomElement$1d, component, componentProps);
|
|
2913
2223
|
const present = useCallback((options = {}) => {
|
|
2914
2224
|
controller.present(options);
|
|
2915
2225
|
}, [controller.present]);
|
|
@@ -2924,13 +2234,34 @@ function useIonModal(component, componentProps) {
|
|
|
2924
2234
|
* @returns Returns the present and dismiss methods in an array
|
|
2925
2235
|
*/
|
|
2926
2236
|
function useIonPopover(component, componentProps) {
|
|
2927
|
-
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$
|
|
2237
|
+
const controller = useOverlay('IonPopover', popoverController, defineCustomElement$1e, component, componentProps);
|
|
2928
2238
|
const present = useCallback((options = {}) => {
|
|
2929
2239
|
controller.present(options);
|
|
2930
2240
|
}, [controller.present]);
|
|
2931
2241
|
return [present, controller.dismiss];
|
|
2932
2242
|
}
|
|
2933
2243
|
|
|
2244
|
+
/**
|
|
2245
|
+
* A hook for presenting/dismissing an IonPicker component
|
|
2246
|
+
* @returns Returns the present and dismiss methods in an array
|
|
2247
|
+
* @deprecated Use the inline ion-picker component instead.
|
|
2248
|
+
*/
|
|
2249
|
+
function useIonPicker() {
|
|
2250
|
+
const controller = useController('IonPicker', pickerController, defineCustomElement$1b);
|
|
2251
|
+
const present = useCallback((columnsOrOptions, buttons) => {
|
|
2252
|
+
if (Array.isArray(columnsOrOptions)) {
|
|
2253
|
+
return controller.present({
|
|
2254
|
+
columns: columnsOrOptions,
|
|
2255
|
+
buttons: buttons ?? [{ text: 'Ok' }],
|
|
2256
|
+
});
|
|
2257
|
+
}
|
|
2258
|
+
else {
|
|
2259
|
+
return controller.present(columnsOrOptions);
|
|
2260
|
+
}
|
|
2261
|
+
}, [controller.present]);
|
|
2262
|
+
return [present, controller.dismiss];
|
|
2263
|
+
}
|
|
2264
|
+
|
|
2934
2265
|
/**
|
|
2935
2266
|
* A hook for presenting/dismissing an IonLoading component
|
|
2936
2267
|
* @returns Returns the present and dismiss methods in an array
|
|
@@ -2978,7 +2309,6 @@ const RouteManagerContext = /*@__PURE__*/ React.createContext({
|
|
|
2978
2309
|
findLeavingViewItemByRouteInfo: () => undefined,
|
|
2979
2310
|
findViewItemByRouteInfo: () => undefined,
|
|
2980
2311
|
getChildrenToRender: () => undefined,
|
|
2981
|
-
getViewItemsForOutlet: () => [],
|
|
2982
2312
|
goBack: () => undefined,
|
|
2983
2313
|
unMountViewItem: () => undefined,
|
|
2984
2314
|
});
|
|
@@ -3097,14 +2427,7 @@ class LocationHistory {
|
|
|
3097
2427
|
_replace(routeInfo) {
|
|
3098
2428
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
3099
2429
|
routeInfos && routeInfos.pop();
|
|
3100
|
-
|
|
3101
|
-
const currentRoute = this.locationHistory[this.locationHistory.length - 1];
|
|
3102
|
-
// Only pop from global history if we're replacing in the same outlet context.
|
|
3103
|
-
// Don't pop if we're entering a nested outlet (current route has no tab, new route has a tab)
|
|
3104
|
-
const isEnteringNestedOutlet = currentRoute && !currentRoute.tab && !!routeInfo.tab;
|
|
3105
|
-
if (!isEnteringNestedOutlet) {
|
|
3106
|
-
this.locationHistory.pop();
|
|
3107
|
-
}
|
|
2430
|
+
this.locationHistory.pop();
|
|
3108
2431
|
this._add(routeInfo);
|
|
3109
2432
|
}
|
|
3110
2433
|
_clear() {
|
|
@@ -3136,20 +2459,6 @@ class LocationHistory {
|
|
|
3136
2459
|
}
|
|
3137
2460
|
return undefined;
|
|
3138
2461
|
}
|
|
3139
|
-
/**
|
|
3140
|
-
* Returns the most recent RouteInfo in global history (excluding the current
|
|
3141
|
-
* entry) whose pathname matches the given value. Unlike findLastLocation,
|
|
3142
|
-
* this search is tab-agnostic. Used by the multi-step back detection.
|
|
3143
|
-
*/
|
|
3144
|
-
findLastLocationByPathname(pathname) {
|
|
3145
|
-
for (let i = this.locationHistory.length - 2; i >= 0; i--) {
|
|
3146
|
-
const ri = this.locationHistory[i];
|
|
3147
|
-
if (ri && ri.pathname === pathname) {
|
|
3148
|
-
return ri;
|
|
3149
|
-
}
|
|
3150
|
-
}
|
|
3151
|
-
return undefined;
|
|
3152
|
-
}
|
|
3153
2462
|
findLastLocation(routeInfo) {
|
|
3154
2463
|
const routeInfos = this._getRouteInfosByKey(routeInfo.tab);
|
|
3155
2464
|
if (routeInfos) {
|
|
@@ -3181,17 +2490,6 @@ class LocationHistory {
|
|
|
3181
2490
|
canGoBack() {
|
|
3182
2491
|
return this.locationHistory.length > 1;
|
|
3183
2492
|
}
|
|
3184
|
-
findTabForPathname(pathname) {
|
|
3185
|
-
for (const tab of Object.keys(this.tabHistory)) {
|
|
3186
|
-
const routeInfos = this.tabHistory[tab];
|
|
3187
|
-
for (let i = routeInfos.length - 1; i >= 0; i--) {
|
|
3188
|
-
if (routeInfos[i].pathname === pathname) {
|
|
3189
|
-
return tab;
|
|
3190
|
-
}
|
|
3191
|
-
}
|
|
3192
|
-
}
|
|
3193
|
-
return undefined;
|
|
3194
|
-
}
|
|
3195
2493
|
}
|
|
3196
2494
|
|
|
3197
2495
|
class NavManager extends React.PureComponent {
|
|
@@ -3204,9 +2502,6 @@ class NavManager extends React.PureComponent {
|
|
|
3204
2502
|
back: (animationBuilder) => {
|
|
3205
2503
|
this.goBack(undefined, animationBuilder);
|
|
3206
2504
|
},
|
|
3207
|
-
navigateRoot: (pathname, animationBuilder) => {
|
|
3208
|
-
this.props.onNavigateRoot(pathname, animationBuilder);
|
|
3209
|
-
},
|
|
3210
2505
|
canGoBack: () => this.props.locationHistory.canGoBack(),
|
|
3211
2506
|
nativeBack: () => this.props.onNativeBack(),
|
|
3212
2507
|
routeInfo: this.props.routeInfo,
|
|
@@ -3215,8 +2510,10 @@ class NavManager extends React.PureComponent {
|
|
|
3215
2510
|
goBack: this.goBack.bind(this),
|
|
3216
2511
|
hasIonicRouter: () => true,
|
|
3217
2512
|
navigate: this.navigate.bind(this),
|
|
2513
|
+
getIonRedirect: this.getIonRedirect.bind(this),
|
|
3218
2514
|
getIonRoute: this.getIonRoute.bind(this),
|
|
3219
2515
|
getStackManager: this.getStackManager.bind(this),
|
|
2516
|
+
getPageManager: this.getPageManager.bind(this),
|
|
3220
2517
|
routeInfo: this.props.routeInfo,
|
|
3221
2518
|
setCurrentTab: this.props.onSetCurrentTab,
|
|
3222
2519
|
changeTab: this.props.onChangeTab,
|
|
@@ -3249,6 +2546,12 @@ class NavManager extends React.PureComponent {
|
|
|
3249
2546
|
navigate(path, direction = 'forward', action = 'push', animationBuilder, options, tab) {
|
|
3250
2547
|
this.props.onNavigate(path, action, direction, animationBuilder, options, tab);
|
|
3251
2548
|
}
|
|
2549
|
+
getPageManager() {
|
|
2550
|
+
return PageManager;
|
|
2551
|
+
}
|
|
2552
|
+
getIonRedirect() {
|
|
2553
|
+
return this.props.ionRedirect;
|
|
2554
|
+
}
|
|
3252
2555
|
getIonRoute() {
|
|
3253
2556
|
return this.props.ionRoute;
|
|
3254
2557
|
}
|
|
@@ -3278,7 +2581,10 @@ class ViewStacks {
|
|
|
3278
2581
|
}
|
|
3279
2582
|
}
|
|
3280
2583
|
clear(outletId) {
|
|
3281
|
-
|
|
2584
|
+
// Give some time for the leaving views to transition before removing
|
|
2585
|
+
return setTimeout(() => {
|
|
2586
|
+
delete this.viewStacks[outletId];
|
|
2587
|
+
}, 500);
|
|
3282
2588
|
}
|
|
3283
2589
|
getViewItemsForOutlet(outletId) {
|
|
3284
2590
|
return this.viewStacks[outletId] || [];
|
|
@@ -3307,5 +2613,5 @@ class ViewStacks {
|
|
|
3307
2613
|
}
|
|
3308
2614
|
}
|
|
3309
2615
|
|
|
3310
|
-
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 };
|
|
2616
|
+
export { CreateAnimation, DefaultIonLifeCycleContext, IonAccordion, IonAccordionGroup, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonInputOtp, IonInputPasswordToggle, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonLifeCycleContext, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPage, IonPicker, IonPickerColumn, IonPickerColumnOption, IonPickerLegacy, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, 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 };
|
|
3311
2617
|
//# sourceMappingURL=index.js.map
|