@ionic/react 8.3.1-dev.11726167750.15400355 → 8.3.1-dev.11726241210.1ab7a0ab

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 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';
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';
43
42
  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';
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,6 +85,7 @@ 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 ReactDOM, { createPortal } from 'react-dom';
88
89
  import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-app.js';
89
90
  import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-back-button.js';
90
91
  import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-router-outlet.js';
@@ -410,6 +411,543 @@ const NavContext = /*@__PURE__*/ React.createContext({
410
411
  },
411
412
  });
412
413
 
414
+ /**
415
+ * This file was automatically generated by the Stencil React Output Target.
416
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
417
+ */
418
+ const IonAccordion = /*@__PURE__*/ createComponent({
419
+ tagName: 'ion-accordion',
420
+ elementClass: IonAccordion$1,
421
+ react: React,
422
+ events: {},
423
+ defineCustomElement: defineCustomElement$1
424
+ });
425
+ const IonAccordionGroup = /*@__PURE__*/ createComponent({
426
+ tagName: 'ion-accordion-group',
427
+ elementClass: IonAccordionGroup$1,
428
+ react: React,
429
+ events: { onIonChange: 'ionChange' },
430
+ defineCustomElement: defineCustomElement$2
431
+ });
432
+ const IonAvatar = /*@__PURE__*/ createComponent({
433
+ tagName: 'ion-avatar',
434
+ elementClass: IonAvatar$1,
435
+ react: React,
436
+ events: {},
437
+ defineCustomElement: defineCustomElement$3
438
+ });
439
+ const IonBackdrop = /*@__PURE__*/ createComponent({
440
+ tagName: 'ion-backdrop',
441
+ elementClass: IonBackdrop$1,
442
+ react: React,
443
+ events: { onIonBackdropTap: 'ionBackdropTap' },
444
+ defineCustomElement: defineCustomElement$4
445
+ });
446
+ const IonBadge = /*@__PURE__*/ createComponent({
447
+ tagName: 'ion-badge',
448
+ elementClass: IonBadge$1,
449
+ react: React,
450
+ events: {},
451
+ defineCustomElement: defineCustomElement$5
452
+ });
453
+ const IonBreadcrumbs = /*@__PURE__*/ createComponent({
454
+ tagName: 'ion-breadcrumbs',
455
+ elementClass: IonBreadcrumbs$1,
456
+ react: React,
457
+ events: { onIonCollapsedClick: 'ionCollapsedClick' },
458
+ defineCustomElement: defineCustomElement$6
459
+ });
460
+ const IonButtons = /*@__PURE__*/ createComponent({
461
+ tagName: 'ion-buttons',
462
+ elementClass: IonButtons$1,
463
+ react: React,
464
+ events: {},
465
+ defineCustomElement: defineCustomElement$7
466
+ });
467
+ const IonCardContent = /*@__PURE__*/ createComponent({
468
+ tagName: 'ion-card-content',
469
+ elementClass: IonCardContent$1,
470
+ react: React,
471
+ events: {},
472
+ defineCustomElement: defineCustomElement$8
473
+ });
474
+ const IonCardHeader = /*@__PURE__*/ createComponent({
475
+ tagName: 'ion-card-header',
476
+ elementClass: IonCardHeader$1,
477
+ react: React,
478
+ events: {},
479
+ defineCustomElement: defineCustomElement$9
480
+ });
481
+ const IonCardSubtitle = /*@__PURE__*/ createComponent({
482
+ tagName: 'ion-card-subtitle',
483
+ elementClass: IonCardSubtitle$1,
484
+ react: React,
485
+ events: {},
486
+ defineCustomElement: defineCustomElement$a
487
+ });
488
+ const IonCardTitle = /*@__PURE__*/ createComponent({
489
+ tagName: 'ion-card-title',
490
+ elementClass: IonCardTitle$1,
491
+ react: React,
492
+ events: {},
493
+ defineCustomElement: defineCustomElement$b
494
+ });
495
+ const IonCheckbox = /*@__PURE__*/ createComponent({
496
+ tagName: 'ion-checkbox',
497
+ elementClass: IonCheckbox$1,
498
+ react: React,
499
+ events: {
500
+ onIonChange: 'ionChange',
501
+ onIonFocus: 'ionFocus',
502
+ onIonBlur: 'ionBlur'
503
+ },
504
+ defineCustomElement: defineCustomElement$c
505
+ });
506
+ const IonChip = /*@__PURE__*/ createComponent({
507
+ tagName: 'ion-chip',
508
+ elementClass: IonChip$1,
509
+ react: React,
510
+ events: {},
511
+ defineCustomElement: defineCustomElement$d
512
+ });
513
+ const IonCol = /*@__PURE__*/ createComponent({
514
+ tagName: 'ion-col',
515
+ elementClass: IonCol$1,
516
+ react: React,
517
+ events: {},
518
+ defineCustomElement: defineCustomElement$e
519
+ });
520
+ const IonContent = /*@__PURE__*/ createComponent({
521
+ tagName: 'ion-content',
522
+ elementClass: IonContent$1,
523
+ react: React,
524
+ events: {
525
+ onIonScrollStart: 'ionScrollStart',
526
+ onIonScroll: 'ionScroll',
527
+ onIonScrollEnd: 'ionScrollEnd'
528
+ },
529
+ defineCustomElement: defineCustomElement$f
530
+ });
531
+ const IonDatetime = /*@__PURE__*/ createComponent({
532
+ tagName: 'ion-datetime',
533
+ elementClass: IonDatetime$1,
534
+ react: React,
535
+ events: {
536
+ onIonCancel: 'ionCancel',
537
+ onIonChange: 'ionChange',
538
+ onIonFocus: 'ionFocus',
539
+ onIonBlur: 'ionBlur'
540
+ },
541
+ defineCustomElement: defineCustomElement$g
542
+ });
543
+ const IonDatetimeButton = /*@__PURE__*/ createComponent({
544
+ tagName: 'ion-datetime-button',
545
+ elementClass: IonDatetimeButton$1,
546
+ react: React,
547
+ events: {},
548
+ defineCustomElement: defineCustomElement$h
549
+ });
550
+ const IonFab = /*@__PURE__*/ createComponent({
551
+ tagName: 'ion-fab',
552
+ elementClass: IonFab$1,
553
+ react: React,
554
+ events: {},
555
+ defineCustomElement: defineCustomElement$i
556
+ });
557
+ const IonFabList = /*@__PURE__*/ createComponent({
558
+ tagName: 'ion-fab-list',
559
+ elementClass: IonFabList$1,
560
+ react: React,
561
+ events: {},
562
+ defineCustomElement: defineCustomElement$j
563
+ });
564
+ const IonFooter = /*@__PURE__*/ createComponent({
565
+ tagName: 'ion-footer',
566
+ elementClass: IonFooter$1,
567
+ react: React,
568
+ events: {},
569
+ defineCustomElement: defineCustomElement$k
570
+ });
571
+ const IonGrid = /*@__PURE__*/ createComponent({
572
+ tagName: 'ion-grid',
573
+ elementClass: IonGrid$1,
574
+ react: React,
575
+ events: {},
576
+ defineCustomElement: defineCustomElement$l
577
+ });
578
+ const IonHeader = /*@__PURE__*/ createComponent({
579
+ tagName: 'ion-header',
580
+ elementClass: IonHeader$1,
581
+ react: React,
582
+ events: {},
583
+ defineCustomElement: defineCustomElement$m
584
+ });
585
+ const IonImg = /*@__PURE__*/ createComponent({
586
+ tagName: 'ion-img',
587
+ elementClass: IonImg$1,
588
+ react: React,
589
+ events: {
590
+ onIonImgWillLoad: 'ionImgWillLoad',
591
+ onIonImgDidLoad: 'ionImgDidLoad',
592
+ onIonError: 'ionError'
593
+ },
594
+ defineCustomElement: defineCustomElement$n
595
+ });
596
+ const IonInfiniteScroll = /*@__PURE__*/ createComponent({
597
+ tagName: 'ion-infinite-scroll',
598
+ elementClass: IonInfiniteScroll$1,
599
+ react: React,
600
+ events: { onIonInfinite: 'ionInfinite' },
601
+ defineCustomElement: defineCustomElement$o
602
+ });
603
+ const IonInfiniteScrollContent = /*@__PURE__*/ createComponent({
604
+ tagName: 'ion-infinite-scroll-content',
605
+ elementClass: IonInfiniteScrollContent$1,
606
+ react: React,
607
+ events: {},
608
+ defineCustomElement: defineCustomElement$p
609
+ });
610
+ const IonInput = /*@__PURE__*/ createComponent({
611
+ tagName: 'ion-input',
612
+ elementClass: IonInput$1,
613
+ react: React,
614
+ events: {
615
+ onIonInput: 'ionInput',
616
+ onIonChange: 'ionChange',
617
+ onIonBlur: 'ionBlur',
618
+ onIonFocus: 'ionFocus'
619
+ },
620
+ defineCustomElement: defineCustomElement$q
621
+ });
622
+ const IonInputPasswordToggle = /*@__PURE__*/ createComponent({
623
+ tagName: 'ion-input-password-toggle',
624
+ elementClass: IonInputPasswordToggle$1,
625
+ react: React,
626
+ events: {},
627
+ defineCustomElement: defineCustomElement$r
628
+ });
629
+ const IonItemDivider = /*@__PURE__*/ createComponent({
630
+ tagName: 'ion-item-divider',
631
+ elementClass: IonItemDivider$1,
632
+ react: React,
633
+ events: {},
634
+ defineCustomElement: defineCustomElement$s
635
+ });
636
+ const IonItemGroup = /*@__PURE__*/ createComponent({
637
+ tagName: 'ion-item-group',
638
+ elementClass: IonItemGroup$1,
639
+ react: React,
640
+ events: {},
641
+ defineCustomElement: defineCustomElement$t
642
+ });
643
+ const IonItemOptions = /*@__PURE__*/ createComponent({
644
+ tagName: 'ion-item-options',
645
+ elementClass: IonItemOptions$1,
646
+ react: React,
647
+ events: { onIonSwipe: 'ionSwipe' },
648
+ defineCustomElement: defineCustomElement$u
649
+ });
650
+ const IonItemSliding = /*@__PURE__*/ createComponent({
651
+ tagName: 'ion-item-sliding',
652
+ elementClass: IonItemSliding$1,
653
+ react: React,
654
+ events: { onIonDrag: 'ionDrag' },
655
+ defineCustomElement: defineCustomElement$v
656
+ });
657
+ const IonLabel = /*@__PURE__*/ createComponent({
658
+ tagName: 'ion-label',
659
+ elementClass: IonLabel$1,
660
+ react: React,
661
+ events: {},
662
+ defineCustomElement: defineCustomElement$w
663
+ });
664
+ const IonList = /*@__PURE__*/ createComponent({
665
+ tagName: 'ion-list',
666
+ elementClass: IonList$1,
667
+ react: React,
668
+ events: {},
669
+ defineCustomElement: defineCustomElement$x
670
+ });
671
+ const IonListHeader = /*@__PURE__*/ createComponent({
672
+ tagName: 'ion-list-header',
673
+ elementClass: IonListHeader$1,
674
+ react: React,
675
+ events: {},
676
+ defineCustomElement: defineCustomElement$y
677
+ });
678
+ const IonMenu = /*@__PURE__*/ createComponent({
679
+ tagName: 'ion-menu',
680
+ elementClass: IonMenu$1,
681
+ react: React,
682
+ events: {
683
+ onIonWillOpen: 'ionWillOpen',
684
+ onIonWillClose: 'ionWillClose',
685
+ onIonDidOpen: 'ionDidOpen',
686
+ onIonDidClose: 'ionDidClose'
687
+ },
688
+ defineCustomElement: defineCustomElement$z
689
+ });
690
+ const IonMenuButton = /*@__PURE__*/ createComponent({
691
+ tagName: 'ion-menu-button',
692
+ elementClass: IonMenuButton$1,
693
+ react: React,
694
+ events: {},
695
+ defineCustomElement: defineCustomElement$A
696
+ });
697
+ const IonMenuToggle = /*@__PURE__*/ createComponent({
698
+ tagName: 'ion-menu-toggle',
699
+ elementClass: IonMenuToggle$1,
700
+ react: React,
701
+ events: {},
702
+ defineCustomElement: defineCustomElement$B
703
+ });
704
+ const IonNavLink = /*@__PURE__*/ createComponent({
705
+ tagName: 'ion-nav-link',
706
+ elementClass: IonNavLink$1,
707
+ react: React,
708
+ events: {},
709
+ defineCustomElement: defineCustomElement$C
710
+ });
711
+ const IonNote = /*@__PURE__*/ createComponent({
712
+ tagName: 'ion-note',
713
+ elementClass: IonNote$1,
714
+ react: React,
715
+ events: {},
716
+ defineCustomElement: defineCustomElement$D
717
+ });
718
+ const IonPicker = /*@__PURE__*/ createComponent({
719
+ tagName: 'ion-picker',
720
+ elementClass: IonPicker$1,
721
+ react: React,
722
+ events: {},
723
+ defineCustomElement: defineCustomElement$E
724
+ });
725
+ const IonPickerColumn = /*@__PURE__*/ createComponent({
726
+ tagName: 'ion-picker-column',
727
+ elementClass: IonPickerColumn$1,
728
+ react: React,
729
+ events: { onIonChange: 'ionChange' },
730
+ defineCustomElement: defineCustomElement$F
731
+ });
732
+ const IonPickerColumnOption = /*@__PURE__*/ createComponent({
733
+ tagName: 'ion-picker-column-option',
734
+ elementClass: IonPickerColumnOption$1,
735
+ react: React,
736
+ events: {},
737
+ defineCustomElement: defineCustomElement$G
738
+ });
739
+ const IonProgressBar = /*@__PURE__*/ createComponent({
740
+ tagName: 'ion-progress-bar',
741
+ elementClass: IonProgressBar$1,
742
+ react: React,
743
+ events: {},
744
+ defineCustomElement: defineCustomElement$H
745
+ });
746
+ const IonRadio = /*@__PURE__*/ createComponent({
747
+ tagName: 'ion-radio',
748
+ elementClass: IonRadio$1,
749
+ react: React,
750
+ events: {
751
+ onIonFocus: 'ionFocus',
752
+ onIonBlur: 'ionBlur'
753
+ },
754
+ defineCustomElement: defineCustomElement$I
755
+ });
756
+ const IonRadioGroup = /*@__PURE__*/ createComponent({
757
+ tagName: 'ion-radio-group',
758
+ elementClass: IonRadioGroup$1,
759
+ react: React,
760
+ events: { onIonChange: 'ionChange' },
761
+ defineCustomElement: defineCustomElement$J
762
+ });
763
+ const IonRange = /*@__PURE__*/ createComponent({
764
+ tagName: 'ion-range',
765
+ elementClass: IonRange$1,
766
+ react: React,
767
+ events: {
768
+ onIonChange: 'ionChange',
769
+ onIonInput: 'ionInput',
770
+ onIonFocus: 'ionFocus',
771
+ onIonBlur: 'ionBlur',
772
+ onIonKnobMoveStart: 'ionKnobMoveStart',
773
+ onIonKnobMoveEnd: 'ionKnobMoveEnd'
774
+ },
775
+ defineCustomElement: defineCustomElement$K
776
+ });
777
+ const IonRefresher = /*@__PURE__*/ createComponent({
778
+ tagName: 'ion-refresher',
779
+ elementClass: IonRefresher$1,
780
+ react: React,
781
+ events: {
782
+ onIonRefresh: 'ionRefresh',
783
+ onIonPull: 'ionPull',
784
+ onIonStart: 'ionStart'
785
+ },
786
+ defineCustomElement: defineCustomElement$L
787
+ });
788
+ const IonRefresherContent = /*@__PURE__*/ createComponent({
789
+ tagName: 'ion-refresher-content',
790
+ elementClass: IonRefresherContent$1,
791
+ react: React,
792
+ events: {},
793
+ defineCustomElement: defineCustomElement$M
794
+ });
795
+ const IonReorder = /*@__PURE__*/ createComponent({
796
+ tagName: 'ion-reorder',
797
+ elementClass: IonReorder$1,
798
+ react: React,
799
+ events: {},
800
+ defineCustomElement: defineCustomElement$N
801
+ });
802
+ const IonReorderGroup = /*@__PURE__*/ createComponent({
803
+ tagName: 'ion-reorder-group',
804
+ elementClass: IonReorderGroup$1,
805
+ react: React,
806
+ events: { onIonItemReorder: 'ionItemReorder' },
807
+ defineCustomElement: defineCustomElement$O
808
+ });
809
+ const IonRippleEffect = /*@__PURE__*/ createComponent({
810
+ tagName: 'ion-ripple-effect',
811
+ elementClass: IonRippleEffect$1,
812
+ react: React,
813
+ events: {},
814
+ defineCustomElement: defineCustomElement$P
815
+ });
816
+ const IonRow = /*@__PURE__*/ createComponent({
817
+ tagName: 'ion-row',
818
+ elementClass: IonRow$1,
819
+ react: React,
820
+ events: {},
821
+ defineCustomElement: defineCustomElement$Q
822
+ });
823
+ const IonSearchbar = /*@__PURE__*/ createComponent({
824
+ tagName: 'ion-searchbar',
825
+ elementClass: IonSearchbar$1,
826
+ react: React,
827
+ events: {
828
+ onIonInput: 'ionInput',
829
+ onIonChange: 'ionChange',
830
+ onIonCancel: 'ionCancel',
831
+ onIonClear: 'ionClear',
832
+ onIonBlur: 'ionBlur',
833
+ onIonFocus: 'ionFocus'
834
+ },
835
+ defineCustomElement: defineCustomElement$R
836
+ });
837
+ const IonSegment = /*@__PURE__*/ createComponent({
838
+ tagName: 'ion-segment',
839
+ elementClass: IonSegment$1,
840
+ react: React,
841
+ events: { onIonChange: 'ionChange' },
842
+ defineCustomElement: defineCustomElement$S
843
+ });
844
+ const IonSegmentButton = /*@__PURE__*/ createComponent({
845
+ tagName: 'ion-segment-button',
846
+ elementClass: IonSegmentButton$1,
847
+ react: React,
848
+ events: {},
849
+ defineCustomElement: defineCustomElement$T
850
+ });
851
+ const IonSelect = /*@__PURE__*/ createComponent({
852
+ tagName: 'ion-select',
853
+ elementClass: IonSelect$1,
854
+ react: React,
855
+ events: {
856
+ onIonChange: 'ionChange',
857
+ onIonCancel: 'ionCancel',
858
+ onIonDismiss: 'ionDismiss',
859
+ onIonFocus: 'ionFocus',
860
+ onIonBlur: 'ionBlur'
861
+ },
862
+ defineCustomElement: defineCustomElement$U
863
+ });
864
+ const IonSelectOption = /*@__PURE__*/ createComponent({
865
+ tagName: 'ion-select-option',
866
+ elementClass: IonSelectOption$1,
867
+ react: React,
868
+ events: {},
869
+ defineCustomElement: defineCustomElement$V
870
+ });
871
+ const IonSkeletonText = /*@__PURE__*/ createComponent({
872
+ tagName: 'ion-skeleton-text',
873
+ elementClass: IonSkeletonText$1,
874
+ react: React,
875
+ events: {},
876
+ defineCustomElement: defineCustomElement$W
877
+ });
878
+ const IonSpinner = /*@__PURE__*/ createComponent({
879
+ tagName: 'ion-spinner',
880
+ elementClass: IonSpinner$1,
881
+ react: React,
882
+ events: {},
883
+ defineCustomElement: defineCustomElement$X
884
+ });
885
+ const IonSplitPane = /*@__PURE__*/ createComponent({
886
+ tagName: 'ion-split-pane',
887
+ elementClass: IonSplitPane$1,
888
+ react: React,
889
+ events: { onIonSplitPaneVisible: 'ionSplitPaneVisible' },
890
+ defineCustomElement: defineCustomElement$Y
891
+ });
892
+ const IonTab = /*@__PURE__*/ createComponent({
893
+ tagName: 'ion-tab',
894
+ elementClass: IonTab$1,
895
+ react: React,
896
+ events: {},
897
+ defineCustomElement: defineCustomElement$Z
898
+ });
899
+ const IonText = /*@__PURE__*/ createComponent({
900
+ tagName: 'ion-text',
901
+ elementClass: IonText$1,
902
+ react: React,
903
+ events: {},
904
+ defineCustomElement: defineCustomElement$_
905
+ });
906
+ const IonTextarea = /*@__PURE__*/ createComponent({
907
+ tagName: 'ion-textarea',
908
+ elementClass: IonTextarea$1,
909
+ react: React,
910
+ events: {
911
+ onIonChange: 'ionChange',
912
+ onIonInput: 'ionInput',
913
+ onIonBlur: 'ionBlur',
914
+ onIonFocus: 'ionFocus'
915
+ },
916
+ defineCustomElement: defineCustomElement$$
917
+ });
918
+ const IonThumbnail = /*@__PURE__*/ createComponent({
919
+ tagName: 'ion-thumbnail',
920
+ elementClass: IonThumbnail$1,
921
+ react: React,
922
+ events: {},
923
+ defineCustomElement: defineCustomElement$10
924
+ });
925
+ const IonTitle = /*@__PURE__*/ createComponent({
926
+ tagName: 'ion-title',
927
+ elementClass: IonTitle$1,
928
+ react: React,
929
+ events: {},
930
+ defineCustomElement: defineCustomElement$11
931
+ });
932
+ const IonToggle = /*@__PURE__*/ createComponent({
933
+ tagName: 'ion-toggle',
934
+ elementClass: IonToggle$1,
935
+ react: React,
936
+ events: {
937
+ onIonChange: 'ionChange',
938
+ onIonFocus: 'ionFocus',
939
+ onIonBlur: 'ionBlur'
940
+ },
941
+ defineCustomElement: defineCustomElement$12
942
+ });
943
+ const IonToolbar = /*@__PURE__*/ createComponent({
944
+ tagName: 'ion-toolbar',
945
+ elementClass: IonToolbar$1,
946
+ react: React,
947
+ events: {},
948
+ defineCustomElement: defineCustomElement$13
949
+ });
950
+
413
951
  const dashToPascalCase = (str) => str
414
952
  .toLowerCase()
415
953
  .split('-')
@@ -553,139 +1091,6 @@ const defineCustomElement = (tagName, customElement) => {
553
1091
  }
554
1092
  };
555
1093
 
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
1094
  const createForwardRef = (ReactComponent, // TODO(FW-2959): type
690
1095
  displayName) => {
691
1096
  const forwardRef = (props, ref) => {
@@ -1073,6 +1478,68 @@ const IonOverlayManager = ({ onAddOverlay, onRemoveOverlay }) => {
1073
1478
  })));
1074
1479
  };
1075
1480
 
1481
+ const createReactComponent = (tagName, ReactComponentContext, manipulatePropsFunction, defineCustomElement) => {
1482
+ if (defineCustomElement !== undefined) {
1483
+ defineCustomElement();
1484
+ }
1485
+ const displayName = dashToPascalCase(tagName);
1486
+ const ReactComponent = class extends React.Component {
1487
+ constructor(props) {
1488
+ super(props);
1489
+ this.setComponentElRef = (element) => {
1490
+ this.componentEl = element;
1491
+ };
1492
+ }
1493
+ componentDidMount() {
1494
+ this.componentDidUpdate(this.props);
1495
+ }
1496
+ componentDidUpdate(prevProps) {
1497
+ attachProps(this.componentEl, this.props, prevProps);
1498
+ }
1499
+ render() {
1500
+ const _a = this.props, { children, forwardedRef, style, className, ref } = _a, cProps = __rest(_a, ["children", "forwardedRef", "style", "className", "ref"]);
1501
+ let propsToPass = Object.keys(cProps).reduce((acc, name) => {
1502
+ const value = cProps[name];
1503
+ if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
1504
+ const eventName = name.substring(2).toLowerCase();
1505
+ if (typeof document !== 'undefined' && isCoveredByReact(eventName)) {
1506
+ acc[name] = value;
1507
+ }
1508
+ }
1509
+ else {
1510
+ // we should only render strings, booleans, and numbers as attrs in html.
1511
+ // objects, functions, arrays etc get synced via properties on mount.
1512
+ const type = typeof value;
1513
+ if (type === 'string' || type === 'boolean' || type === 'number') {
1514
+ acc[camelToDashCase(name)] = value;
1515
+ }
1516
+ }
1517
+ return acc;
1518
+ }, {});
1519
+ if (manipulatePropsFunction) {
1520
+ propsToPass = manipulatePropsFunction(this.props, propsToPass);
1521
+ }
1522
+ const newProps = Object.assign(Object.assign({}, propsToPass), { ref: mergeRefs(forwardedRef, this.setComponentElRef), style });
1523
+ /**
1524
+ * We use createElement here instead of
1525
+ * React.createElement to work around a
1526
+ * bug in Vite (https://github.com/vitejs/vite/issues/6104).
1527
+ * React.createElement causes all elements to be rendered
1528
+ * as <tagname> instead of the actual Web Component.
1529
+ */
1530
+ return createElement(tagName, newProps, children);
1531
+ }
1532
+ static get displayName() {
1533
+ return displayName;
1534
+ }
1535
+ };
1536
+ // If context was passed to createReactComponent then conditionally add it to the Component Class
1537
+ if (ReactComponentContext) {
1538
+ ReactComponent.contextType = ReactComponentContext;
1539
+ }
1540
+ return createForwardRef$1(ReactComponent, displayName);
1541
+ };
1542
+
1076
1543
  const IonTabButtonInner = /*@__PURE__*/ createReactComponent('ion-tab-button', undefined, undefined, defineCustomElement$1e);
1077
1544
  const IonTabBarInner = /*@__PURE__*/ createReactComponent('ion-tab-bar', undefined, undefined, defineCustomElement$1b);
1078
1545
  const IonTabsInner = /*@__PURE__*/ createReactComponent('ion-tabs', undefined, undefined, defineCustomElement$1f);
@@ -1496,7 +1963,7 @@ class IonTabBarUnwrapped extends React.PureComponent {
1496
1963
  };
1497
1964
  }
1498
1965
  onTabButtonClick(e, onClickFn) {
1499
- var _a;
1966
+ var _a, _b;
1500
1967
  const tappedTab = this.state.tabs[e.detail.tab];
1501
1968
  const originalHref = tappedTab.originalHref;
1502
1969
  /**
@@ -1527,8 +1994,10 @@ class IonTabBarUnwrapped extends React.PureComponent {
1527
1994
  if (this.props.onIonTabsDidChange) {
1528
1995
  this.props.onIonTabsDidChange(new CustomEvent('ionTabDidChange', { detail: { tab: e.detail.tab } }));
1529
1996
  }
1530
- this.setActiveTabOnContext(e.detail.tab);
1531
- this.context.changeTab(e.detail.tab, currentHref, e.detail.routeOptions);
1997
+ if ((_b = this.props.routerOutletRef) === null || _b === void 0 ? void 0 : _b.current) {
1998
+ this.setActiveTabOnContext(e.detail.tab);
1999
+ this.context.changeTab(e.detail.tab, currentHref, e.detail.routeOptions);
2000
+ }
1532
2001
  }
1533
2002
  }
1534
2003
  renderTabButton(activeTab) {
@@ -1676,9 +2145,6 @@ const IonTabs = /*@__PURE__*/ (() => class extends React.Component {
1676
2145
  if (outlet && hasTab) {
1677
2146
  throw new Error('IonTabs cannot contain an IonRouterOutlet and an IonTab at the same time');
1678
2147
  }
1679
- if (!tabBar) {
1680
- throw new Error('IonTabs needs a IonTabBar');
1681
- }
1682
2148
  if (hasTab) {
1683
2149
  return React.createElement(IonTabsInner, Object.assign({}, this.props));
1684
2150
  }
@@ -1720,9 +2186,9 @@ const IonTabs = /*@__PURE__*/ (() => class extends React.Component {
1720
2186
  }
1721
2187
  return child;
1722
2188
  })))) : (React.createElement("div", Object.assign({ className: className ? `${className}` : 'ion-tabs' }, props, { style: hostStyles }),
1723
- tabBar.props.slot === 'top' ? tabBar : null,
2189
+ (tabBar === null || tabBar === void 0 ? void 0 : tabBar.props.slot) === 'top' ? tabBar : null,
1724
2190
  React.createElement("div", { style: tabsInner, className: "tabs-inner" }, outlet),
1725
- tabBar.props.slot === 'bottom' ? tabBar : null))));
2191
+ (tabBar === null || tabBar === void 0 ? void 0 : tabBar.props.slot) === 'bottom' ? tabBar : null))));
1726
2192
  }
1727
2193
  static get contextType() {
1728
2194
  return NavContext;