@ionic/react 8.2.8-dev.11723747334.19c4ecce → 8.2.8-dev.11724100788.103018f2

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.
Files changed (32) hide show
  1. package/dist/index.js +681 -236
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/components/IonActionSheet.d.ts +0 -1
  4. package/dist/types/components/IonAlert.d.ts +0 -1
  5. package/dist/types/components/IonApp.d.ts +3 -3
  6. package/dist/types/components/IonLoading.d.ts +0 -1
  7. package/dist/types/components/IonModal.d.ts +0 -1
  8. package/dist/types/components/IonPickerLegacy.d.ts +0 -1
  9. package/dist/types/components/IonPopover.d.ts +0 -1
  10. package/dist/types/components/IonRouterOutlet.d.ts +3 -3
  11. package/dist/types/components/IonToast.d.ts +0 -1
  12. package/dist/types/components/components.d.ts +258 -0
  13. package/dist/types/components/createControllerComponent.d.ts +1 -1
  14. package/dist/types/components/createOverlayComponent.d.ts +1 -1
  15. package/dist/types/components/index.d.ts +1 -1
  16. package/dist/types/components/inner-proxies.d.ts +3 -5
  17. package/dist/types/components/navigation/IonBackButton.d.ts +2 -2
  18. package/dist/types/components/navigation/IonNav.d.ts +1 -1
  19. package/dist/types/components/navigation/IonTabBar.d.ts +6 -6
  20. package/dist/types/components/navigation/IonTabButton.d.ts +1 -1
  21. package/dist/types/components/navigation/IonTabs.d.ts +2 -2
  22. package/dist/types/components/react-component-lib/createComponent.d.ts +1 -1
  23. package/dist/types/components/react-component-lib/createOverlayComponent.d.ts +1 -1
  24. package/dist/types/components/react-component-lib/utils/attachProps.d.ts +2 -2
  25. package/dist/types/components/routing-proxies.d.ts +28 -29
  26. package/dist/types/contexts/IonLifeCycleContext.d.ts +1 -1
  27. package/dist/types/lifecycle/IonLifeCycleHOC.d.ts +1 -1
  28. package/dist/types/routing/ViewLifeCycleManager.d.ts +1 -1
  29. package/dist/types/routing/ViewStacks.d.ts +0 -2
  30. package/dist/types/utils/HTMLElementSSR.d.ts +1 -4
  31. package/package.json +8 -5
  32. package/dist/types/components/proxies.d.ts +0 -70
package/dist/index.js CHANGED
@@ -1,76 +1,75 @@
1
1
  import React, { useContext, useRef, useEffect, createElement, useState, useMemo, Fragment, useCallback } from 'react';
2
2
  import { isPlatform as isPlatform$1, getPlatforms as getPlatforms$1, componentOnReady, createAnimation, actionSheetController, alertController, toastController, modalController, popoverController, pickerController, loadingController, initialize } from '@ionic/core/components';
3
3
  export { IonicSafeString, IonicSlides, createAnimation, createGesture, getIonPageElement, getTimeGivenProgression, iosTransitionAnimation, mdTransitionAnimation, openURL } from '@ionic/core/components';
4
- import { __rest } from 'tslib';
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-password-toggle.js';
33
- import { defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-item-divider.js';
34
- import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-item-group.js';
35
- import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-item-options.js';
36
- import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-item-sliding.js';
37
- import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-label.js';
38
- import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-list.js';
39
- import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-list-header.js';
40
- import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-menu.js';
41
- import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-menu-button.js';
42
- import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-menu-toggle.js';
43
- import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-nav.js';
44
- import { defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-nav-link.js';
45
- import { defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-note.js';
46
- import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-picker.js';
47
- import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-picker-column.js';
48
- import { defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-picker-column-option.js';
49
- import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-progress-bar.js';
50
- import { defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-radio.js';
51
- import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-radio-group.js';
52
- import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-range.js';
53
- import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-refresher.js';
54
- import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-refresher-content.js';
55
- import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-reorder.js';
56
- import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-reorder-group.js';
57
- import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-ripple-effect.js';
58
- import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-row.js';
59
- import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-searchbar.js';
60
- import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-segment.js';
61
- import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-segment-button.js';
62
- import { defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-select.js';
63
- import { defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-select-option.js';
64
- import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-skeleton-text.js';
65
- import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-spinner.js';
66
- import { defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-split-pane.js';
67
- import { defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-tab.js';
68
- import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-text.js';
69
- import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-textarea.js';
70
- import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-thumbnail.js';
71
- import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-title.js';
72
- import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-toggle.js';
73
- import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-toolbar.js';
4
+ import { IonAccordionGroup as IonAccordionGroup$1, defineCustomElement as defineCustomElement$2 } from '@ionic/core/components/ion-accordion-group.js';
5
+ import { IonAccordion as IonAccordion$1, defineCustomElement as defineCustomElement$1 } from '@ionic/core/components/ion-accordion.js';
6
+ import { IonAvatar as IonAvatar$1, defineCustomElement as defineCustomElement$3 } from '@ionic/core/components/ion-avatar.js';
7
+ import { IonBackdrop as IonBackdrop$1, defineCustomElement as defineCustomElement$4 } from '@ionic/core/components/ion-backdrop.js';
8
+ import { IonBadge as IonBadge$1, defineCustomElement as defineCustomElement$5 } from '@ionic/core/components/ion-badge.js';
9
+ import { IonBreadcrumbs as IonBreadcrumbs$1, defineCustomElement as defineCustomElement$6 } from '@ionic/core/components/ion-breadcrumbs.js';
10
+ import { IonButtons as IonButtons$1, defineCustomElement as defineCustomElement$7 } from '@ionic/core/components/ion-buttons.js';
11
+ import { IonCardContent as IonCardContent$1, defineCustomElement as defineCustomElement$8 } from '@ionic/core/components/ion-card-content.js';
12
+ import { IonCardHeader as IonCardHeader$1, defineCustomElement as defineCustomElement$9 } from '@ionic/core/components/ion-card-header.js';
13
+ import { IonCardSubtitle as IonCardSubtitle$1, defineCustomElement as defineCustomElement$a } from '@ionic/core/components/ion-card-subtitle.js';
14
+ import { IonCardTitle as IonCardTitle$1, defineCustomElement as defineCustomElement$b } from '@ionic/core/components/ion-card-title.js';
15
+ import { IonCheckbox as IonCheckbox$1, defineCustomElement as defineCustomElement$c } from '@ionic/core/components/ion-checkbox.js';
16
+ import { IonChip as IonChip$1, defineCustomElement as defineCustomElement$d } from '@ionic/core/components/ion-chip.js';
17
+ import { IonCol as IonCol$1, defineCustomElement as defineCustomElement$e } from '@ionic/core/components/ion-col.js';
18
+ import { IonContent as IonContent$1, defineCustomElement as defineCustomElement$f } from '@ionic/core/components/ion-content.js';
19
+ import { IonDatetimeButton as IonDatetimeButton$1, defineCustomElement as defineCustomElement$h } from '@ionic/core/components/ion-datetime-button.js';
20
+ import { IonDatetime as IonDatetime$1, defineCustomElement as defineCustomElement$g } from '@ionic/core/components/ion-datetime.js';
21
+ import { IonFabList as IonFabList$1, defineCustomElement as defineCustomElement$j } from '@ionic/core/components/ion-fab-list.js';
22
+ import { IonFab as IonFab$1, defineCustomElement as defineCustomElement$i } from '@ionic/core/components/ion-fab.js';
23
+ import { IonFooter as IonFooter$1, defineCustomElement as defineCustomElement$k } from '@ionic/core/components/ion-footer.js';
24
+ import { IonGrid as IonGrid$1, defineCustomElement as defineCustomElement$l } from '@ionic/core/components/ion-grid.js';
25
+ import { IonHeader as IonHeader$1, defineCustomElement as defineCustomElement$m } from '@ionic/core/components/ion-header.js';
26
+ import { IonImg as IonImg$1, defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-img.js';
27
+ import { IonInfiniteScrollContent as IonInfiniteScrollContent$1, defineCustomElement as defineCustomElement$p } from '@ionic/core/components/ion-infinite-scroll-content.js';
28
+ import { IonInfiniteScroll as IonInfiniteScroll$1, defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-infinite-scroll.js';
29
+ import { IonInputPasswordToggle as IonInputPasswordToggle$1, defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-input-password-toggle.js';
30
+ import { IonInput as IonInput$1, defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-input.js';
31
+ import { IonItemDivider as IonItemDivider$1, defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-item-divider.js';
32
+ import { IonItemGroup as IonItemGroup$1, defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-item-group.js';
33
+ import { IonItemOptions as IonItemOptions$1, defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-item-options.js';
34
+ import { IonItemSliding as IonItemSliding$1, defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-item-sliding.js';
35
+ import { IonLabel as IonLabel$1, defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-label.js';
36
+ import { IonListHeader as IonListHeader$1, defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-list-header.js';
37
+ import { IonList as IonList$1, defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-list.js';
38
+ import { IonMenuButton as IonMenuButton$1, defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-menu-button.js';
39
+ import { IonMenuToggle as IonMenuToggle$1, defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-menu-toggle.js';
40
+ import { IonMenu as IonMenu$1, defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-menu.js';
41
+ import { IonNavLink as IonNavLink$1, defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-nav-link.js';
42
+ import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-nav.js';
43
+ import { IonNote as IonNote$1, defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-note.js';
44
+ import { IonPickerColumnOption as IonPickerColumnOption$1, defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-picker-column-option.js';
45
+ import { IonPickerColumn as IonPickerColumn$1, defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-picker-column.js';
46
+ import { IonPicker as IonPicker$1, defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-picker.js';
47
+ import { IonProgressBar as IonProgressBar$1, defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-progress-bar.js';
48
+ import { IonRadioGroup as IonRadioGroup$1, defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-radio-group.js';
49
+ import { IonRadio as IonRadio$1, defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-radio.js';
50
+ import { IonRange as IonRange$1, defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-range.js';
51
+ import { IonRefresherContent as IonRefresherContent$1, defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-refresher-content.js';
52
+ import { IonRefresher as IonRefresher$1, defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-refresher.js';
53
+ import { IonReorderGroup as IonReorderGroup$1, defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-reorder-group.js';
54
+ import { IonReorder as IonReorder$1, defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-reorder.js';
55
+ import { IonRippleEffect as IonRippleEffect$1, defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-ripple-effect.js';
56
+ import { IonRow as IonRow$1, defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-row.js';
57
+ import { IonSearchbar as IonSearchbar$1, defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-searchbar.js';
58
+ import { IonSegmentButton as IonSegmentButton$1, defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-segment-button.js';
59
+ import { IonSegment as IonSegment$1, defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-segment.js';
60
+ import { IonSelectOption as IonSelectOption$1, defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-select-option.js';
61
+ import { IonSelect as IonSelect$1, defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-select.js';
62
+ import { IonSkeletonText as IonSkeletonText$1, defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-skeleton-text.js';
63
+ import { IonSpinner as IonSpinner$1, defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-spinner.js';
64
+ import { IonSplitPane as IonSplitPane$1, defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-split-pane.js';
65
+ import { IonTab as IonTab$1, defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-tab.js';
66
+ import { IonText as IonText$1, defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-text.js';
67
+ import { IonTextarea as IonTextarea$1, defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-textarea.js';
68
+ import { IonThumbnail as IonThumbnail$1, defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-thumbnail.js';
69
+ import { IonTitle as IonTitle$1, defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-title.js';
70
+ import { IonToggle as IonToggle$1, defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-toggle.js';
71
+ import { IonToolbar as IonToolbar$1, defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-toolbar.js';
72
+ import { createComponent } from '@stencil/react-output-target/runtime';
74
73
  import { IonBreadcrumb as IonBreadcrumb$1 } from '@ionic/core/components/ion-breadcrumb.js';
75
74
  import { IonButton as IonButton$1 } from '@ionic/core/components/ion-button.js';
76
75
  import { IonCard as IonCard$1 } from '@ionic/core/components/ion-card.js';
@@ -78,6 +77,7 @@ import { IonFabButton as IonFabButton$1 } from '@ionic/core/components/ion-fab-b
78
77
  import { IonItemOption as IonItemOption$1 } from '@ionic/core/components/ion-item-option.js';
79
78
  import { IonItem as IonItem$1 } from '@ionic/core/components/ion-item.js';
80
79
  import { IonRouterLink as IonRouterLink$1 } from '@ionic/core/components/ion-router-link.js';
80
+ import { __rest } from 'tslib';
81
81
  import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-alert.js';
82
82
  import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-loading.js';
83
83
  import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-toast.js';
@@ -85,12 +85,12 @@ import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/compo
85
85
  import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-action-sheet.js';
86
86
  import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-modal.js';
87
87
  import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-popover.js';
88
- import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-app.js';
89
- import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-back-button.js';
88
+ import ReactDOM, { createPortal } from 'react-dom';
89
+ import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-app.js';
90
+ import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-back-button.js';
90
91
  import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-router-outlet.js';
91
92
  import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-tab-bar.js';
92
93
  import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-tab-button.js';
93
- import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-tabs.js';
94
94
  import { defineCustomElement as defineCustomElement$1d } from 'ionicons/components/ion-icon.js';
95
95
 
96
96
  const IonLifeCycleContext = /*@__PURE__*/ React.createContext({
@@ -410,6 +410,543 @@ const NavContext = /*@__PURE__*/ React.createContext({
410
410
  },
411
411
  });
412
412
 
413
+ /**
414
+ * This file was automatically generated by the Stencil React Output Target.
415
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
416
+ */
417
+ const IonAccordion = /*@__PURE__*/ createComponent({
418
+ tagName: 'ion-accordion',
419
+ elementClass: IonAccordion$1,
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
+ react: React,
428
+ events: { onIonChange: 'ionChange' },
429
+ defineCustomElement: defineCustomElement$2
430
+ });
431
+ const IonAvatar = /*@__PURE__*/ createComponent({
432
+ tagName: 'ion-avatar',
433
+ elementClass: IonAvatar$1,
434
+ react: React,
435
+ events: {},
436
+ defineCustomElement: defineCustomElement$3
437
+ });
438
+ const IonBackdrop = /*@__PURE__*/ createComponent({
439
+ tagName: 'ion-backdrop',
440
+ elementClass: IonBackdrop$1,
441
+ react: React,
442
+ events: { onIonBackdropTap: 'ionBackdropTap' },
443
+ defineCustomElement: defineCustomElement$4
444
+ });
445
+ const IonBadge = /*@__PURE__*/ createComponent({
446
+ tagName: 'ion-badge',
447
+ elementClass: IonBadge$1,
448
+ react: React,
449
+ events: {},
450
+ defineCustomElement: defineCustomElement$5
451
+ });
452
+ const IonBreadcrumbs = /*@__PURE__*/ createComponent({
453
+ tagName: 'ion-breadcrumbs',
454
+ elementClass: IonBreadcrumbs$1,
455
+ react: React,
456
+ events: { onIonCollapsedClick: 'ionCollapsedClick' },
457
+ defineCustomElement: defineCustomElement$6
458
+ });
459
+ const IonButtons = /*@__PURE__*/ createComponent({
460
+ tagName: 'ion-buttons',
461
+ elementClass: IonButtons$1,
462
+ react: React,
463
+ events: {},
464
+ defineCustomElement: defineCustomElement$7
465
+ });
466
+ const IonCardContent = /*@__PURE__*/ createComponent({
467
+ tagName: 'ion-card-content',
468
+ elementClass: IonCardContent$1,
469
+ react: React,
470
+ events: {},
471
+ defineCustomElement: defineCustomElement$8
472
+ });
473
+ const IonCardHeader = /*@__PURE__*/ createComponent({
474
+ tagName: 'ion-card-header',
475
+ elementClass: IonCardHeader$1,
476
+ react: React,
477
+ events: {},
478
+ defineCustomElement: defineCustomElement$9
479
+ });
480
+ const IonCardSubtitle = /*@__PURE__*/ createComponent({
481
+ tagName: 'ion-card-subtitle',
482
+ elementClass: IonCardSubtitle$1,
483
+ react: React,
484
+ events: {},
485
+ defineCustomElement: defineCustomElement$a
486
+ });
487
+ const IonCardTitle = /*@__PURE__*/ createComponent({
488
+ tagName: 'ion-card-title',
489
+ elementClass: IonCardTitle$1,
490
+ react: React,
491
+ events: {},
492
+ defineCustomElement: defineCustomElement$b
493
+ });
494
+ const IonCheckbox = /*@__PURE__*/ createComponent({
495
+ tagName: 'ion-checkbox',
496
+ elementClass: IonCheckbox$1,
497
+ react: React,
498
+ events: {
499
+ onIonChange: 'ionChange',
500
+ onIonFocus: 'ionFocus',
501
+ onIonBlur: 'ionBlur'
502
+ },
503
+ defineCustomElement: defineCustomElement$c
504
+ });
505
+ const IonChip = /*@__PURE__*/ createComponent({
506
+ tagName: 'ion-chip',
507
+ elementClass: IonChip$1,
508
+ react: React,
509
+ events: {},
510
+ defineCustomElement: defineCustomElement$d
511
+ });
512
+ const IonCol = /*@__PURE__*/ createComponent({
513
+ tagName: 'ion-col',
514
+ elementClass: IonCol$1,
515
+ react: React,
516
+ events: {},
517
+ defineCustomElement: defineCustomElement$e
518
+ });
519
+ const IonContent = /*@__PURE__*/ createComponent({
520
+ tagName: 'ion-content',
521
+ elementClass: IonContent$1,
522
+ react: React,
523
+ events: {
524
+ onIonScrollStart: 'ionScrollStart',
525
+ onIonScroll: 'ionScroll',
526
+ onIonScrollEnd: 'ionScrollEnd'
527
+ },
528
+ defineCustomElement: defineCustomElement$f
529
+ });
530
+ const IonDatetime = /*@__PURE__*/ createComponent({
531
+ tagName: 'ion-datetime',
532
+ elementClass: IonDatetime$1,
533
+ react: React,
534
+ events: {
535
+ onIonCancel: 'ionCancel',
536
+ onIonChange: 'ionChange',
537
+ onIonFocus: 'ionFocus',
538
+ onIonBlur: 'ionBlur'
539
+ },
540
+ defineCustomElement: defineCustomElement$g
541
+ });
542
+ const IonDatetimeButton = /*@__PURE__*/ createComponent({
543
+ tagName: 'ion-datetime-button',
544
+ elementClass: IonDatetimeButton$1,
545
+ react: React,
546
+ events: {},
547
+ defineCustomElement: defineCustomElement$h
548
+ });
549
+ const IonFab = /*@__PURE__*/ createComponent({
550
+ tagName: 'ion-fab',
551
+ elementClass: IonFab$1,
552
+ react: React,
553
+ events: {},
554
+ defineCustomElement: defineCustomElement$i
555
+ });
556
+ const IonFabList = /*@__PURE__*/ createComponent({
557
+ tagName: 'ion-fab-list',
558
+ elementClass: IonFabList$1,
559
+ react: React,
560
+ events: {},
561
+ defineCustomElement: defineCustomElement$j
562
+ });
563
+ const IonFooter = /*@__PURE__*/ createComponent({
564
+ tagName: 'ion-footer',
565
+ elementClass: IonFooter$1,
566
+ react: React,
567
+ events: {},
568
+ defineCustomElement: defineCustomElement$k
569
+ });
570
+ const IonGrid = /*@__PURE__*/ createComponent({
571
+ tagName: 'ion-grid',
572
+ elementClass: IonGrid$1,
573
+ react: React,
574
+ events: {},
575
+ defineCustomElement: defineCustomElement$l
576
+ });
577
+ const IonHeader = /*@__PURE__*/ createComponent({
578
+ tagName: 'ion-header',
579
+ elementClass: IonHeader$1,
580
+ react: React,
581
+ events: {},
582
+ defineCustomElement: defineCustomElement$m
583
+ });
584
+ const IonImg = /*@__PURE__*/ createComponent({
585
+ tagName: 'ion-img',
586
+ elementClass: IonImg$1,
587
+ react: React,
588
+ events: {
589
+ onIonImgWillLoad: 'ionImgWillLoad',
590
+ onIonImgDidLoad: 'ionImgDidLoad',
591
+ onIonError: 'ionError'
592
+ },
593
+ defineCustomElement: defineCustomElement$n
594
+ });
595
+ const IonInfiniteScroll = /*@__PURE__*/ createComponent({
596
+ tagName: 'ion-infinite-scroll',
597
+ elementClass: IonInfiniteScroll$1,
598
+ react: React,
599
+ events: { onIonInfinite: 'ionInfinite' },
600
+ defineCustomElement: defineCustomElement$o
601
+ });
602
+ const IonInfiniteScrollContent = /*@__PURE__*/ createComponent({
603
+ tagName: 'ion-infinite-scroll-content',
604
+ elementClass: IonInfiniteScrollContent$1,
605
+ react: React,
606
+ events: {},
607
+ defineCustomElement: defineCustomElement$p
608
+ });
609
+ const IonInput = /*@__PURE__*/ createComponent({
610
+ tagName: 'ion-input',
611
+ elementClass: IonInput$1,
612
+ react: React,
613
+ events: {
614
+ onIonInput: 'ionInput',
615
+ onIonChange: 'ionChange',
616
+ onIonBlur: 'ionBlur',
617
+ onIonFocus: 'ionFocus'
618
+ },
619
+ defineCustomElement: defineCustomElement$q
620
+ });
621
+ const IonInputPasswordToggle = /*@__PURE__*/ createComponent({
622
+ tagName: 'ion-input-password-toggle',
623
+ elementClass: IonInputPasswordToggle$1,
624
+ react: React,
625
+ events: {},
626
+ defineCustomElement: defineCustomElement$r
627
+ });
628
+ const IonItemDivider = /*@__PURE__*/ createComponent({
629
+ tagName: 'ion-item-divider',
630
+ elementClass: IonItemDivider$1,
631
+ react: React,
632
+ events: {},
633
+ defineCustomElement: defineCustomElement$s
634
+ });
635
+ const IonItemGroup = /*@__PURE__*/ createComponent({
636
+ tagName: 'ion-item-group',
637
+ elementClass: IonItemGroup$1,
638
+ react: React,
639
+ events: {},
640
+ defineCustomElement: defineCustomElement$t
641
+ });
642
+ const IonItemOptions = /*@__PURE__*/ createComponent({
643
+ tagName: 'ion-item-options',
644
+ elementClass: IonItemOptions$1,
645
+ react: React,
646
+ events: { onIonSwipe: 'ionSwipe' },
647
+ defineCustomElement: defineCustomElement$u
648
+ });
649
+ const IonItemSliding = /*@__PURE__*/ createComponent({
650
+ tagName: 'ion-item-sliding',
651
+ elementClass: IonItemSliding$1,
652
+ react: React,
653
+ events: { onIonDrag: 'ionDrag' },
654
+ defineCustomElement: defineCustomElement$v
655
+ });
656
+ const IonLabel = /*@__PURE__*/ createComponent({
657
+ tagName: 'ion-label',
658
+ elementClass: IonLabel$1,
659
+ react: React,
660
+ events: {},
661
+ defineCustomElement: defineCustomElement$w
662
+ });
663
+ const IonList = /*@__PURE__*/ createComponent({
664
+ tagName: 'ion-list',
665
+ elementClass: IonList$1,
666
+ react: React,
667
+ events: {},
668
+ defineCustomElement: defineCustomElement$x
669
+ });
670
+ const IonListHeader = /*@__PURE__*/ createComponent({
671
+ tagName: 'ion-list-header',
672
+ elementClass: IonListHeader$1,
673
+ react: React,
674
+ events: {},
675
+ defineCustomElement: defineCustomElement$y
676
+ });
677
+ const IonMenu = /*@__PURE__*/ createComponent({
678
+ tagName: 'ion-menu',
679
+ elementClass: IonMenu$1,
680
+ react: React,
681
+ events: {
682
+ onIonWillOpen: 'ionWillOpen',
683
+ onIonWillClose: 'ionWillClose',
684
+ onIonDidOpen: 'ionDidOpen',
685
+ onIonDidClose: 'ionDidClose'
686
+ },
687
+ defineCustomElement: defineCustomElement$z
688
+ });
689
+ const IonMenuButton = /*@__PURE__*/ createComponent({
690
+ tagName: 'ion-menu-button',
691
+ elementClass: IonMenuButton$1,
692
+ react: React,
693
+ events: {},
694
+ defineCustomElement: defineCustomElement$A
695
+ });
696
+ const IonMenuToggle = /*@__PURE__*/ createComponent({
697
+ tagName: 'ion-menu-toggle',
698
+ elementClass: IonMenuToggle$1,
699
+ react: React,
700
+ events: {},
701
+ defineCustomElement: defineCustomElement$B
702
+ });
703
+ const IonNavLink = /*@__PURE__*/ createComponent({
704
+ tagName: 'ion-nav-link',
705
+ elementClass: IonNavLink$1,
706
+ react: React,
707
+ events: {},
708
+ defineCustomElement: defineCustomElement$C
709
+ });
710
+ const IonNote = /*@__PURE__*/ createComponent({
711
+ tagName: 'ion-note',
712
+ elementClass: IonNote$1,
713
+ react: React,
714
+ events: {},
715
+ defineCustomElement: defineCustomElement$D
716
+ });
717
+ const IonPicker = /*@__PURE__*/ createComponent({
718
+ tagName: 'ion-picker',
719
+ elementClass: IonPicker$1,
720
+ react: React,
721
+ events: {},
722
+ defineCustomElement: defineCustomElement$E
723
+ });
724
+ const IonPickerColumn = /*@__PURE__*/ createComponent({
725
+ tagName: 'ion-picker-column',
726
+ elementClass: IonPickerColumn$1,
727
+ react: React,
728
+ events: { onIonChange: 'ionChange' },
729
+ defineCustomElement: defineCustomElement$F
730
+ });
731
+ const IonPickerColumnOption = /*@__PURE__*/ createComponent({
732
+ tagName: 'ion-picker-column-option',
733
+ elementClass: IonPickerColumnOption$1,
734
+ react: React,
735
+ events: {},
736
+ defineCustomElement: defineCustomElement$G
737
+ });
738
+ const IonProgressBar = /*@__PURE__*/ createComponent({
739
+ tagName: 'ion-progress-bar',
740
+ elementClass: IonProgressBar$1,
741
+ react: React,
742
+ events: {},
743
+ defineCustomElement: defineCustomElement$H
744
+ });
745
+ const IonRadio = /*@__PURE__*/ createComponent({
746
+ tagName: 'ion-radio',
747
+ elementClass: IonRadio$1,
748
+ react: React,
749
+ events: {
750
+ onIonFocus: 'ionFocus',
751
+ onIonBlur: 'ionBlur'
752
+ },
753
+ defineCustomElement: defineCustomElement$I
754
+ });
755
+ const IonRadioGroup = /*@__PURE__*/ createComponent({
756
+ tagName: 'ion-radio-group',
757
+ elementClass: IonRadioGroup$1,
758
+ react: React,
759
+ events: { onIonChange: 'ionChange' },
760
+ defineCustomElement: defineCustomElement$J
761
+ });
762
+ const IonRange = /*@__PURE__*/ createComponent({
763
+ tagName: 'ion-range',
764
+ elementClass: IonRange$1,
765
+ react: React,
766
+ events: {
767
+ onIonChange: 'ionChange',
768
+ onIonInput: 'ionInput',
769
+ onIonFocus: 'ionFocus',
770
+ onIonBlur: 'ionBlur',
771
+ onIonKnobMoveStart: 'ionKnobMoveStart',
772
+ onIonKnobMoveEnd: 'ionKnobMoveEnd'
773
+ },
774
+ defineCustomElement: defineCustomElement$K
775
+ });
776
+ const IonRefresher = /*@__PURE__*/ createComponent({
777
+ tagName: 'ion-refresher',
778
+ elementClass: IonRefresher$1,
779
+ react: React,
780
+ events: {
781
+ onIonRefresh: 'ionRefresh',
782
+ onIonPull: 'ionPull',
783
+ onIonStart: 'ionStart'
784
+ },
785
+ defineCustomElement: defineCustomElement$L
786
+ });
787
+ const IonRefresherContent = /*@__PURE__*/ createComponent({
788
+ tagName: 'ion-refresher-content',
789
+ elementClass: IonRefresherContent$1,
790
+ react: React,
791
+ events: {},
792
+ defineCustomElement: defineCustomElement$M
793
+ });
794
+ const IonReorder = /*@__PURE__*/ createComponent({
795
+ tagName: 'ion-reorder',
796
+ elementClass: IonReorder$1,
797
+ react: React,
798
+ events: {},
799
+ defineCustomElement: defineCustomElement$N
800
+ });
801
+ const IonReorderGroup = /*@__PURE__*/ createComponent({
802
+ tagName: 'ion-reorder-group',
803
+ elementClass: IonReorderGroup$1,
804
+ react: React,
805
+ events: { onIonItemReorder: 'ionItemReorder' },
806
+ defineCustomElement: defineCustomElement$O
807
+ });
808
+ const IonRippleEffect = /*@__PURE__*/ createComponent({
809
+ tagName: 'ion-ripple-effect',
810
+ elementClass: IonRippleEffect$1,
811
+ react: React,
812
+ events: {},
813
+ defineCustomElement: defineCustomElement$P
814
+ });
815
+ const IonRow = /*@__PURE__*/ createComponent({
816
+ tagName: 'ion-row',
817
+ elementClass: IonRow$1,
818
+ react: React,
819
+ events: {},
820
+ defineCustomElement: defineCustomElement$Q
821
+ });
822
+ const IonSearchbar = /*@__PURE__*/ createComponent({
823
+ tagName: 'ion-searchbar',
824
+ elementClass: IonSearchbar$1,
825
+ react: React,
826
+ events: {
827
+ onIonInput: 'ionInput',
828
+ onIonChange: 'ionChange',
829
+ onIonCancel: 'ionCancel',
830
+ onIonClear: 'ionClear',
831
+ onIonBlur: 'ionBlur',
832
+ onIonFocus: 'ionFocus'
833
+ },
834
+ defineCustomElement: defineCustomElement$R
835
+ });
836
+ const IonSegment = /*@__PURE__*/ createComponent({
837
+ tagName: 'ion-segment',
838
+ elementClass: IonSegment$1,
839
+ react: React,
840
+ events: { onIonChange: 'ionChange' },
841
+ defineCustomElement: defineCustomElement$S
842
+ });
843
+ const IonSegmentButton = /*@__PURE__*/ createComponent({
844
+ tagName: 'ion-segment-button',
845
+ elementClass: IonSegmentButton$1,
846
+ react: React,
847
+ events: {},
848
+ defineCustomElement: defineCustomElement$T
849
+ });
850
+ const IonSelect = /*@__PURE__*/ createComponent({
851
+ tagName: 'ion-select',
852
+ elementClass: IonSelect$1,
853
+ react: React,
854
+ events: {
855
+ onIonChange: 'ionChange',
856
+ onIonCancel: 'ionCancel',
857
+ onIonDismiss: 'ionDismiss',
858
+ onIonFocus: 'ionFocus',
859
+ onIonBlur: 'ionBlur'
860
+ },
861
+ defineCustomElement: defineCustomElement$U
862
+ });
863
+ const IonSelectOption = /*@__PURE__*/ createComponent({
864
+ tagName: 'ion-select-option',
865
+ elementClass: IonSelectOption$1,
866
+ react: React,
867
+ events: {},
868
+ defineCustomElement: defineCustomElement$V
869
+ });
870
+ const IonSkeletonText = /*@__PURE__*/ createComponent({
871
+ tagName: 'ion-skeleton-text',
872
+ elementClass: IonSkeletonText$1,
873
+ react: React,
874
+ events: {},
875
+ defineCustomElement: defineCustomElement$W
876
+ });
877
+ const IonSpinner = /*@__PURE__*/ createComponent({
878
+ tagName: 'ion-spinner',
879
+ elementClass: IonSpinner$1,
880
+ react: React,
881
+ events: {},
882
+ defineCustomElement: defineCustomElement$X
883
+ });
884
+ const IonSplitPane = /*@__PURE__*/ createComponent({
885
+ tagName: 'ion-split-pane',
886
+ elementClass: IonSplitPane$1,
887
+ react: React,
888
+ events: { onIonSplitPaneVisible: 'ionSplitPaneVisible' },
889
+ defineCustomElement: defineCustomElement$Y
890
+ });
891
+ const IonTab = /*@__PURE__*/ createComponent({
892
+ tagName: 'ion-tab',
893
+ elementClass: IonTab$1,
894
+ react: React,
895
+ events: {},
896
+ defineCustomElement: defineCustomElement$Z
897
+ });
898
+ const IonText = /*@__PURE__*/ createComponent({
899
+ tagName: 'ion-text',
900
+ elementClass: IonText$1,
901
+ react: React,
902
+ events: {},
903
+ defineCustomElement: defineCustomElement$_
904
+ });
905
+ const IonTextarea = /*@__PURE__*/ createComponent({
906
+ tagName: 'ion-textarea',
907
+ elementClass: IonTextarea$1,
908
+ react: React,
909
+ events: {
910
+ onIonChange: 'ionChange',
911
+ onIonInput: 'ionInput',
912
+ onIonBlur: 'ionBlur',
913
+ onIonFocus: 'ionFocus'
914
+ },
915
+ defineCustomElement: defineCustomElement$$
916
+ });
917
+ const IonThumbnail = /*@__PURE__*/ createComponent({
918
+ tagName: 'ion-thumbnail',
919
+ elementClass: IonThumbnail$1,
920
+ react: React,
921
+ events: {},
922
+ defineCustomElement: defineCustomElement$10
923
+ });
924
+ const IonTitle = /*@__PURE__*/ createComponent({
925
+ tagName: 'ion-title',
926
+ elementClass: IonTitle$1,
927
+ react: React,
928
+ events: {},
929
+ defineCustomElement: defineCustomElement$11
930
+ });
931
+ const IonToggle = /*@__PURE__*/ createComponent({
932
+ tagName: 'ion-toggle',
933
+ elementClass: IonToggle$1,
934
+ react: React,
935
+ events: {
936
+ onIonChange: 'ionChange',
937
+ onIonFocus: 'ionFocus',
938
+ onIonBlur: 'ionBlur'
939
+ },
940
+ defineCustomElement: defineCustomElement$12
941
+ });
942
+ const IonToolbar = /*@__PURE__*/ createComponent({
943
+ tagName: 'ion-toolbar',
944
+ elementClass: IonToolbar$1,
945
+ react: React,
946
+ events: {},
947
+ defineCustomElement: defineCustomElement$13
948
+ });
949
+
413
950
  const dashToPascalCase = (str) => str
414
951
  .toLowerCase()
415
952
  .split('-')
@@ -553,139 +1090,6 @@ const defineCustomElement = (tagName, customElement) => {
553
1090
  }
554
1091
  };
555
1092
 
556
- const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
557
- if (defineCustomElement !== undefined) {
558
- defineCustomElement();
559
- }
560
- const displayName = dashToPascalCase(tagName);
561
- const ReactComponent = class extends React.Component {
562
- constructor(props) {
563
- super(props);
564
- this.setComponentElRef = (element) => {
565
- this.componentEl = element;
566
- };
567
- }
568
- componentDidMount() {
569
- this.componentDidUpdate(this.props);
570
- }
571
- componentDidUpdate(prevProps) {
572
- attachProps(this.componentEl, this.props, prevProps);
573
- }
574
- render() {
575
- const _a = this.props, { children, forwardedRef, style, className, ref } = _a, cProps = __rest(_a, ["children", "forwardedRef", "style", "className", "ref"]);
576
- let propsToPass = Object.keys(cProps).reduce((acc, name) => {
577
- const value = cProps[name];
578
- if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
579
- const eventName = name.substring(2).toLowerCase();
580
- if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
581
- acc[name] = value;
582
- }
583
- }
584
- else {
585
- // we should only render strings, booleans, and numbers as attrs in html.
586
- // objects, functions, arrays etc get synced via properties on mount.
587
- const type = typeof value;
588
- if (type === 'string' || type === 'boolean' || type === 'number') {
589
- acc[camelToDashCase(name)] = value;
590
- }
591
- }
592
- return acc;
593
- }, {});
594
- if (manipulatePropsFunction) {
595
- propsToPass = manipulatePropsFunction(this.props, propsToPass);
596
- }
597
- const newProps = Object.assign(Object.assign({}, propsToPass), { ref: mergeRefs(forwardedRef, this.setComponentElRef), style });
598
- /**
599
- * We use createElement here instead of
600
- * React.createElement to work around a
601
- * bug in Vite (https://github.com/vitejs/vite/issues/6104).
602
- * React.createElement causes all elements to be rendered
603
- * as <tagname> instead of the actual Web Component.
604
- */
605
- return createElement(tagName, newProps, children);
606
- }
607
- static get displayName() {
608
- return displayName;
609
- }
610
- };
611
- // If context was passed to createReactComponent then conditionally add it to the Component Class
612
- if (ReactComponentContext) {
613
- ReactComponent.contextType = ReactComponentContext;
614
- }
615
- return createForwardRef$1(ReactComponent, displayName);
616
- };
617
-
618
- /* eslint-disable */
619
- /* tslint:disable */
620
- /* auto-generated react proxies */
621
- const IonAccordion = /*@__PURE__*/ createReactComponent('ion-accordion', undefined, undefined, defineCustomElement$1);
622
- const IonAccordionGroup = /*@__PURE__*/ createReactComponent('ion-accordion-group', undefined, undefined, defineCustomElement$2);
623
- const IonAvatar = /*@__PURE__*/ createReactComponent('ion-avatar', undefined, undefined, defineCustomElement$3);
624
- const IonBackdrop = /*@__PURE__*/ createReactComponent('ion-backdrop', undefined, undefined, defineCustomElement$4);
625
- const IonBadge = /*@__PURE__*/ createReactComponent('ion-badge', undefined, undefined, defineCustomElement$5);
626
- const IonBreadcrumbs = /*@__PURE__*/ createReactComponent('ion-breadcrumbs', undefined, undefined, defineCustomElement$6);
627
- const IonButtons = /*@__PURE__*/ createReactComponent('ion-buttons', undefined, undefined, defineCustomElement$7);
628
- const IonCardContent = /*@__PURE__*/ createReactComponent('ion-card-content', undefined, undefined, defineCustomElement$8);
629
- const IonCardHeader = /*@__PURE__*/ createReactComponent('ion-card-header', undefined, undefined, defineCustomElement$9);
630
- const IonCardSubtitle = /*@__PURE__*/ createReactComponent('ion-card-subtitle', undefined, undefined, defineCustomElement$a);
631
- const IonCardTitle = /*@__PURE__*/ createReactComponent('ion-card-title', undefined, undefined, defineCustomElement$b);
632
- const IonCheckbox = /*@__PURE__*/ createReactComponent('ion-checkbox', undefined, undefined, defineCustomElement$c);
633
- const IonChip = /*@__PURE__*/ createReactComponent('ion-chip', undefined, undefined, defineCustomElement$d);
634
- const IonCol = /*@__PURE__*/ createReactComponent('ion-col', undefined, undefined, defineCustomElement$e);
635
- const IonContent = /*@__PURE__*/ createReactComponent('ion-content', undefined, undefined, defineCustomElement$f);
636
- const IonDatetime = /*@__PURE__*/ createReactComponent('ion-datetime', undefined, undefined, defineCustomElement$g);
637
- const IonDatetimeButton = /*@__PURE__*/ createReactComponent('ion-datetime-button', undefined, undefined, defineCustomElement$h);
638
- const IonFab = /*@__PURE__*/ createReactComponent('ion-fab', undefined, undefined, defineCustomElement$i);
639
- const IonFabList = /*@__PURE__*/ createReactComponent('ion-fab-list', undefined, undefined, defineCustomElement$j);
640
- const IonFooter = /*@__PURE__*/ createReactComponent('ion-footer', undefined, undefined, defineCustomElement$k);
641
- const IonGrid = /*@__PURE__*/ createReactComponent('ion-grid', undefined, undefined, defineCustomElement$l);
642
- const IonHeader = /*@__PURE__*/ createReactComponent('ion-header', undefined, undefined, defineCustomElement$m);
643
- const IonImg = /*@__PURE__*/ createReactComponent('ion-img', undefined, undefined, defineCustomElement$n);
644
- const IonInfiniteScroll = /*@__PURE__*/ createReactComponent('ion-infinite-scroll', undefined, undefined, defineCustomElement$o);
645
- const IonInfiniteScrollContent = /*@__PURE__*/ createReactComponent('ion-infinite-scroll-content', undefined, undefined, defineCustomElement$p);
646
- const IonInput = /*@__PURE__*/ createReactComponent('ion-input', undefined, undefined, defineCustomElement$q);
647
- const IonInputPasswordToggle = /*@__PURE__*/ createReactComponent('ion-input-password-toggle', undefined, undefined, defineCustomElement$r);
648
- const IonItemDivider = /*@__PURE__*/ createReactComponent('ion-item-divider', undefined, undefined, defineCustomElement$s);
649
- const IonItemGroup = /*@__PURE__*/ createReactComponent('ion-item-group', undefined, undefined, defineCustomElement$t);
650
- const IonItemOptions = /*@__PURE__*/ createReactComponent('ion-item-options', undefined, undefined, defineCustomElement$u);
651
- const IonItemSliding = /*@__PURE__*/ createReactComponent('ion-item-sliding', undefined, undefined, defineCustomElement$v);
652
- const IonLabel = /*@__PURE__*/ createReactComponent('ion-label', undefined, undefined, defineCustomElement$w);
653
- const IonList = /*@__PURE__*/ createReactComponent('ion-list', undefined, undefined, defineCustomElement$x);
654
- const IonListHeader = /*@__PURE__*/ createReactComponent('ion-list-header', undefined, undefined, defineCustomElement$y);
655
- const IonMenu = /*@__PURE__*/ createReactComponent('ion-menu', undefined, undefined, defineCustomElement$z);
656
- const IonMenuButton = /*@__PURE__*/ createReactComponent('ion-menu-button', undefined, undefined, defineCustomElement$A);
657
- const IonMenuToggle = /*@__PURE__*/ createReactComponent('ion-menu-toggle', undefined, undefined, defineCustomElement$B);
658
- const IonNavLink = /*@__PURE__*/ createReactComponent('ion-nav-link', undefined, undefined, defineCustomElement$C);
659
- const IonNote = /*@__PURE__*/ createReactComponent('ion-note', undefined, undefined, defineCustomElement$D);
660
- const IonPicker = /*@__PURE__*/ createReactComponent('ion-picker', undefined, undefined, defineCustomElement$E);
661
- const IonPickerColumn = /*@__PURE__*/ createReactComponent('ion-picker-column', undefined, undefined, defineCustomElement$F);
662
- const IonPickerColumnOption = /*@__PURE__*/ createReactComponent('ion-picker-column-option', undefined, undefined, defineCustomElement$G);
663
- const IonProgressBar = /*@__PURE__*/ createReactComponent('ion-progress-bar', undefined, undefined, defineCustomElement$H);
664
- const IonRadio = /*@__PURE__*/ createReactComponent('ion-radio', undefined, undefined, defineCustomElement$I);
665
- const IonRadioGroup = /*@__PURE__*/ createReactComponent('ion-radio-group', undefined, undefined, defineCustomElement$J);
666
- const IonRange = /*@__PURE__*/ createReactComponent('ion-range', undefined, undefined, defineCustomElement$K);
667
- const IonRefresher = /*@__PURE__*/ createReactComponent('ion-refresher', undefined, undefined, defineCustomElement$L);
668
- const IonRefresherContent = /*@__PURE__*/ createReactComponent('ion-refresher-content', undefined, undefined, defineCustomElement$M);
669
- const IonReorder = /*@__PURE__*/ createReactComponent('ion-reorder', undefined, undefined, defineCustomElement$N);
670
- const IonReorderGroup = /*@__PURE__*/ createReactComponent('ion-reorder-group', undefined, undefined, defineCustomElement$O);
671
- const IonRippleEffect = /*@__PURE__*/ createReactComponent('ion-ripple-effect', undefined, undefined, defineCustomElement$P);
672
- const IonRow = /*@__PURE__*/ createReactComponent('ion-row', undefined, undefined, defineCustomElement$Q);
673
- const IonSearchbar = /*@__PURE__*/ createReactComponent('ion-searchbar', undefined, undefined, defineCustomElement$R);
674
- const IonSegment = /*@__PURE__*/ createReactComponent('ion-segment', undefined, undefined, defineCustomElement$S);
675
- const IonSegmentButton = /*@__PURE__*/ createReactComponent('ion-segment-button', undefined, undefined, defineCustomElement$T);
676
- const IonSelect = /*@__PURE__*/ createReactComponent('ion-select', undefined, undefined, defineCustomElement$U);
677
- const IonSelectOption = /*@__PURE__*/ createReactComponent('ion-select-option', undefined, undefined, defineCustomElement$V);
678
- const IonSkeletonText = /*@__PURE__*/ createReactComponent('ion-skeleton-text', undefined, undefined, defineCustomElement$W);
679
- const IonSpinner = /*@__PURE__*/ createReactComponent('ion-spinner', undefined, undefined, defineCustomElement$X);
680
- const IonSplitPane = /*@__PURE__*/ createReactComponent('ion-split-pane', undefined, undefined, defineCustomElement$Y);
681
- const IonTab = /*@__PURE__*/ createReactComponent('ion-tab', undefined, undefined, defineCustomElement$Z);
682
- const IonText = /*@__PURE__*/ createReactComponent('ion-text', undefined, undefined, defineCustomElement$_);
683
- const IonTextarea = /*@__PURE__*/ createReactComponent('ion-textarea', undefined, undefined, defineCustomElement$$);
684
- const IonThumbnail = /*@__PURE__*/ createReactComponent('ion-thumbnail', undefined, undefined, defineCustomElement$10);
685
- const IonTitle = /*@__PURE__*/ createReactComponent('ion-title', undefined, undefined, defineCustomElement$11);
686
- const IonToggle = /*@__PURE__*/ createReactComponent('ion-toggle', undefined, undefined, defineCustomElement$12);
687
- const IonToolbar = /*@__PURE__*/ createReactComponent('ion-toolbar', undefined, undefined, defineCustomElement$13);
688
-
689
1093
  const createForwardRef = (ReactComponent, // TODO(FW-2959): type
690
1094
  displayName) => {
691
1095
  const forwardRef = (props, ref) => {
@@ -1073,12 +1477,73 @@ const IonOverlayManager = ({ onAddOverlay, onRemoveOverlay }) => {
1073
1477
  })));
1074
1478
  };
1075
1479
 
1480
+ const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
1481
+ if (defineCustomElement !== undefined) {
1482
+ defineCustomElement();
1483
+ }
1484
+ const displayName = dashToPascalCase(tagName);
1485
+ const ReactComponent = class extends React.Component {
1486
+ constructor(props) {
1487
+ super(props);
1488
+ this.setComponentElRef = (element) => {
1489
+ this.componentEl = element;
1490
+ };
1491
+ }
1492
+ componentDidMount() {
1493
+ this.componentDidUpdate(this.props);
1494
+ }
1495
+ componentDidUpdate(prevProps) {
1496
+ attachProps(this.componentEl, this.props, prevProps);
1497
+ }
1498
+ render() {
1499
+ const _a = this.props, { children, forwardedRef, style, className, ref } = _a, cProps = __rest(_a, ["children", "forwardedRef", "style", "className", "ref"]);
1500
+ let propsToPass = Object.keys(cProps).reduce((acc, name) => {
1501
+ const value = cProps[name];
1502
+ if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
1503
+ const eventName = name.substring(2).toLowerCase();
1504
+ if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
1505
+ acc[name] = value;
1506
+ }
1507
+ }
1508
+ else {
1509
+ // we should only render strings, booleans, and numbers as attrs in html.
1510
+ // objects, functions, arrays etc get synced via properties on mount.
1511
+ const type = typeof value;
1512
+ if (type === 'string' || type === 'boolean' || type === 'number') {
1513
+ acc[camelToDashCase(name)] = value;
1514
+ }
1515
+ }
1516
+ return acc;
1517
+ }, {});
1518
+ if (manipulatePropsFunction) {
1519
+ propsToPass = manipulatePropsFunction(this.props, propsToPass);
1520
+ }
1521
+ const newProps = Object.assign(Object.assign({}, propsToPass), { ref: mergeRefs(forwardedRef, this.setComponentElRef), style });
1522
+ /**
1523
+ * We use createElement here instead of
1524
+ * React.createElement to work around a
1525
+ * bug in Vite (https://github.com/vitejs/vite/issues/6104).
1526
+ * React.createElement causes all elements to be rendered
1527
+ * as <tagname> instead of the actual Web Component.
1528
+ */
1529
+ return createElement(tagName, newProps, children);
1530
+ }
1531
+ static get displayName() {
1532
+ return displayName;
1533
+ }
1534
+ };
1535
+ // If context was passed to createReactComponent then conditionally add it to the Component Class
1536
+ if (ReactComponentContext) {
1537
+ ReactComponent.contextType = ReactComponentContext;
1538
+ }
1539
+ return createForwardRef$1(ReactComponent, displayName);
1540
+ };
1541
+
1076
1542
  const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1e);
1077
1543
  const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1b);
1078
- const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1f);
1079
- const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1g);
1544
+ const IonBackButtonInner = /*@__PURE__*/ createReactComponent('ion-back-button', undefined, undefined, defineCustomElement$1f);
1080
1545
  const IonRouterOutletInner = /*@__PURE__*/ createReactComponent('ion-router-outlet', undefined, undefined, defineCustomElement$1c);
1081
- const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1h);
1546
+ const IonAppInner = /*@__PURE__*/ createReactComponent('ion-app', undefined, undefined, defineCustomElement$1g);
1082
1547
  // ionicons
1083
1548
  const IonIconInner = /*@__PURE__*/ createReactComponent('ion-icon', undefined, undefined, defineCustomElement$1d);
1084
1549
 
@@ -1241,7 +1706,7 @@ const ReactDelegate = (addView, removeView) => {
1241
1706
  };
1242
1707
  };
1243
1708
 
1244
- const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$1i);
1709
+ const IonNavInner = createReactComponent('ion-nav', undefined, undefined, defineCustomElement$1h);
1245
1710
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1246
1711
  const IonNavInternal = (_a) => {
1247
1712
  var { children, forwardedRef } = _a, restOfProps = __rest(_a, ["children", "forwardedRef"]);
@@ -1612,7 +2077,6 @@ const IonTabs = /*@__PURE__*/ (() => class extends React.Component {
1612
2077
  render() {
1613
2078
  let outlet;
1614
2079
  let tabBar;
1615
- let hasIonTab = false;
1616
2080
  const _a = this.props, { className, onIonTabsDidChange, onIonTabsWillChange } = _a, props = __rest(_a, ["className", "onIonTabsDidChange", "onIonTabsWillChange"]);
1617
2081
  const children = typeof this.props.children === 'function'
1618
2082
  ? this.props.children(this.ionTabContextState)
@@ -1628,13 +2092,6 @@ const IonTabs = /*@__PURE__*/ (() => class extends React.Component {
1628
2092
  else if (child.type === Fragment && child.props.children[0].type === IonRouterOutlet) {
1629
2093
  outlet = child.props.children[0];
1630
2094
  }
1631
- else if (child.type === IonTab) {
1632
- /**
1633
- * This indicates that IonTabs will be using a basic tab-based navigation
1634
- * without the history stack or URL updates associated with the router.
1635
- */
1636
- hasIonTab = true;
1637
- }
1638
2095
  let childProps = {
1639
2096
  ref: this.tabBarRef,
1640
2097
  };
@@ -1659,29 +2116,17 @@ const IonTabs = /*@__PURE__*/ (() => class extends React.Component {
1659
2116
  tabBar = React.cloneElement(child.props.children[1], childProps);
1660
2117
  }
1661
2118
  });
1662
- if (!outlet && !hasIonTab) {
2119
+ if (!outlet) {
1663
2120
  throw new Error('IonTabs must contain an IonRouterOutlet');
1664
2121
  }
1665
- if (outlet && hasIonTab) {
1666
- throw new Error('IonTabs cannot contain an IonRouterOutlet and an IonTab at the same time');
1667
- }
1668
2122
  if (!tabBar) {
1669
2123
  throw new Error('IonTabs needs a IonTabBar');
1670
2124
  }
1671
- if (hasIonTab) {
1672
- return React.createElement(IonTabsInner, Object.assign({}, this.props));
1673
- }
1674
2125
  return (React.createElement(IonTabsContext.Provider, { value: this.ionTabContextState }, this.context.hasIonicRouter() ? (React.createElement(PageManager, Object.assign({ className: className ? `${className}` : '', routeInfo: this.context.routeInfo }, props),
1675
- React.createElement(IonTabsInner, Object.assign({}, this.props), React.Children.map(children, (child) => {
1676
- if (child.type === IonTabBar || child.type.isTabBar) {
1677
- /**
1678
- * The modified tabBar needs to be returned to include
1679
- * the context and the overridden methods.
1680
- */
1681
- return tabBar;
1682
- }
1683
- return child;
1684
- })))) : (React.createElement("div", Object.assign({ className: className ? `${className}` : 'ion-tabs' }, props, { style: hostStyles }),
2126
+ React.createElement("ion-tabs", { className: "ion-tabs", style: hostStyles },
2127
+ tabBar.props.slot === 'top' ? tabBar : null,
2128
+ React.createElement("div", { style: tabsInner, className: "tabs-inner" }, outlet),
2129
+ tabBar.props.slot === 'bottom' ? tabBar : null))) : (React.createElement("div", Object.assign({ className: className ? `${className}` : 'ion-tabs' }, props, { style: hostStyles }),
1685
2130
  tabBar.props.slot === 'top' ? tabBar : null,
1686
2131
  React.createElement("div", { style: tabsInner, className: "tabs-inner" }, outlet),
1687
2132
  tabBar.props.slot === 'bottom' ? tabBar : null))));
@@ -1785,7 +2230,7 @@ class IonRedirect extends React.PureComponent {
1785
2230
  }
1786
2231
 
1787
2232
  const IonRouterContext = React.createContext({
1788
- routeInfo: undefined,
2233
+ routeInfo: undefined, // TODO(FW-2959): type
1789
2234
  push: () => {
1790
2235
  throw new Error('An Ionic Router is required for IonRouterContext');
1791
2236
  },