@ionic/vue 8.8.6-dev.11777572994.1147595d → 8.8.6-dev.11777928681.1e4919af

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 (56) hide show
  1. package/css/core.css +1 -1
  2. package/css/core.css.map +1 -1
  3. package/css/display.css +1 -1
  4. package/css/display.css.map +1 -1
  5. package/css/flex-utils.css +1 -1
  6. package/css/flex-utils.css.map +1 -1
  7. package/css/float-elements.css.map +1 -1
  8. package/css/global.bundle.css.map +1 -1
  9. package/css/ionic/bundle.ionic.css +1 -0
  10. package/css/ionic/bundle.ionic.css.map +1 -0
  11. package/css/ionic/core.ionic.css +1 -0
  12. package/css/ionic/core.ionic.css.map +1 -0
  13. package/css/ionic/global.bundle.ionic.css +1 -0
  14. package/css/ionic/global.bundle.ionic.css.map +1 -0
  15. package/css/ionic/ionic-swiper.ionic.css +1 -0
  16. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  17. package/css/ionic/link.ionic.css +1 -0
  18. package/css/ionic/link.ionic.css.map +1 -0
  19. package/css/ionic/structure.ionic.css +1 -0
  20. package/css/ionic/structure.ionic.css.map +1 -0
  21. package/css/ionic/typography.ionic.css +1 -0
  22. package/css/ionic/typography.ionic.css.map +1 -0
  23. package/css/ionic/utils.bundle.ionic.css +1 -0
  24. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  25. package/css/ionic-swiper.css +1 -1
  26. package/css/ionic-swiper.css.map +1 -1
  27. package/css/ionic.bundle.css +1 -1
  28. package/css/ionic.bundle.css.map +1 -1
  29. package/css/normalize.css.map +1 -1
  30. package/css/padding.css.map +1 -1
  31. package/css/palettes/dark.always.css.map +1 -1
  32. package/css/palettes/dark.class.css.map +1 -1
  33. package/css/palettes/dark.system.css.map +1 -1
  34. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  35. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  36. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  37. package/css/palettes/high-contrast.always.css.map +1 -1
  38. package/css/palettes/high-contrast.class.css.map +1 -1
  39. package/css/palettes/high-contrast.system.css.map +1 -1
  40. package/css/structure.css.map +1 -1
  41. package/css/text-alignment.css.map +1 -1
  42. package/css/text-transformation.css.map +1 -1
  43. package/css/typography.css.map +1 -1
  44. package/css/utils.bundle.css +1 -1
  45. package/css/utils.bundle.css.map +1 -1
  46. package/dist/index.js +235 -213
  47. package/dist/index.js.map +1 -1
  48. package/dist/types/components/IonRouterOutlet.d.ts +2 -14
  49. package/dist/types/components/Overlays.d.ts +1 -0
  50. package/dist/types/controllers.d.ts +9 -1
  51. package/dist/types/index.d.ts +2 -2
  52. package/dist/types/proxies.d.ts +1 -0
  53. package/dist/vetur/attributes.json +1643 -107
  54. package/dist/vetur/tags.json +248 -45
  55. package/dist/web-types.json +1901 -172
  56. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -19,80 +19,82 @@ import { defineCustomElement as defineCustomElement$g } from '@ionic/core/compon
19
19
  import { defineCustomElement as defineCustomElement$h } from '@ionic/core/components/ion-content.js';
20
20
  import { defineCustomElement as defineCustomElement$i } from '@ionic/core/components/ion-datetime.js';
21
21
  import { defineCustomElement as defineCustomElement$j } from '@ionic/core/components/ion-datetime-button.js';
22
- import { defineCustomElement as defineCustomElement$k } from '@ionic/core/components/ion-fab.js';
23
- import { defineCustomElement as defineCustomElement$l } from '@ionic/core/components/ion-fab-button.js';
24
- import { defineCustomElement as defineCustomElement$m } from '@ionic/core/components/ion-fab-list.js';
25
- import { defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-footer.js';
26
- import { defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-grid.js';
27
- import { defineCustomElement as defineCustomElement$p } from '@ionic/core/components/ion-header.js';
28
- import { defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-img.js';
29
- import { defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-infinite-scroll.js';
30
- import { defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-infinite-scroll-content.js';
31
- import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-input.js';
32
- import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-input-otp.js';
33
- import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-input-password-toggle.js';
34
- import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-item.js';
35
- import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-item-divider.js';
36
- import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-item-group.js';
37
- import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-item-option.js';
38
- import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-item-options.js';
39
- import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-item-sliding.js';
40
- import { defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-label.js';
41
- import { defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-list.js';
42
- import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-list-header.js';
43
- import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-menu.js';
44
- import { defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-menu-button.js';
45
- import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-menu-toggle.js';
46
- import { defineCustomElement as defineCustomElement$1j } from '@ionic/core/components/ion-nav.js';
47
- import { defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-nav-link.js';
48
- import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-note.js';
49
- import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-picker.js';
50
- import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-picker-column.js';
51
- import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-picker-column-option.js';
52
- import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-progress-bar.js';
53
- import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-radio.js';
54
- import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-radio-group.js';
55
- import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-range.js';
56
- import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-refresher.js';
57
- import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-refresher-content.js';
58
- import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-reorder.js';
59
- import { defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-reorder-group.js';
60
- import { defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-ripple-effect.js';
61
- import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-row.js';
62
- import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-searchbar.js';
63
- import { defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-segment.js';
64
- import { defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-segment-button.js';
65
- import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-segment-content.js';
66
- import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-segment-view.js';
67
- import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-select.js';
68
- import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-select-modal.js';
69
- import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-select-option.js';
70
- import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-skeleton-text.js';
71
- import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-spinner.js';
72
- import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-split-pane.js';
73
- import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-tab.js';
74
- import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/components/ion-text.js';
75
- import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-textarea.js';
76
- import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-thumbnail.js';
77
- import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-title.js';
78
- import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-toggle.js';
79
- import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-toolbar.js';
80
- import { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, initialize, modalController as modalController$1, popoverController as popoverController$1, alertController as alertController$1, actionSheetController as actionSheetController$1, loadingController as loadingController$1, toastController as toastController$1 } from '@ionic/core/components';
22
+ import { defineCustomElement as defineCustomElement$k } from '@ionic/core/components/ion-divider.js';
23
+ import { defineCustomElement as defineCustomElement$l } from '@ionic/core/components/ion-fab.js';
24
+ import { defineCustomElement as defineCustomElement$m } from '@ionic/core/components/ion-fab-button.js';
25
+ import { defineCustomElement as defineCustomElement$n } from '@ionic/core/components/ion-fab-list.js';
26
+ import { defineCustomElement as defineCustomElement$o } from '@ionic/core/components/ion-footer.js';
27
+ import { defineCustomElement as defineCustomElement$p } from '@ionic/core/components/ion-grid.js';
28
+ import { defineCustomElement as defineCustomElement$q } from '@ionic/core/components/ion-header.js';
29
+ import { defineCustomElement as defineCustomElement$r } from '@ionic/core/components/ion-img.js';
30
+ import { defineCustomElement as defineCustomElement$s } from '@ionic/core/components/ion-infinite-scroll.js';
31
+ import { defineCustomElement as defineCustomElement$t } from '@ionic/core/components/ion-infinite-scroll-content.js';
32
+ import { defineCustomElement as defineCustomElement$u } from '@ionic/core/components/ion-input.js';
33
+ import { defineCustomElement as defineCustomElement$v } from '@ionic/core/components/ion-input-otp.js';
34
+ import { defineCustomElement as defineCustomElement$w } from '@ionic/core/components/ion-input-password-toggle.js';
35
+ import { defineCustomElement as defineCustomElement$x } from '@ionic/core/components/ion-item.js';
36
+ import { defineCustomElement as defineCustomElement$y } from '@ionic/core/components/ion-item-divider.js';
37
+ import { defineCustomElement as defineCustomElement$z } from '@ionic/core/components/ion-item-group.js';
38
+ import { defineCustomElement as defineCustomElement$A } from '@ionic/core/components/ion-item-option.js';
39
+ import { defineCustomElement as defineCustomElement$B } from '@ionic/core/components/ion-item-options.js';
40
+ import { defineCustomElement as defineCustomElement$C } from '@ionic/core/components/ion-item-sliding.js';
41
+ import { defineCustomElement as defineCustomElement$D } from '@ionic/core/components/ion-label.js';
42
+ import { defineCustomElement as defineCustomElement$E } from '@ionic/core/components/ion-list.js';
43
+ import { defineCustomElement as defineCustomElement$F } from '@ionic/core/components/ion-list-header.js';
44
+ import { defineCustomElement as defineCustomElement$G } from '@ionic/core/components/ion-menu.js';
45
+ import { defineCustomElement as defineCustomElement$H } from '@ionic/core/components/ion-menu-button.js';
46
+ import { defineCustomElement as defineCustomElement$I } from '@ionic/core/components/ion-menu-toggle.js';
47
+ import { defineCustomElement as defineCustomElement$1k } from '@ionic/core/components/ion-nav.js';
48
+ import { defineCustomElement as defineCustomElement$J } from '@ionic/core/components/ion-nav-link.js';
49
+ import { defineCustomElement as defineCustomElement$K } from '@ionic/core/components/ion-note.js';
50
+ import { defineCustomElement as defineCustomElement$L } from '@ionic/core/components/ion-picker.js';
51
+ import { defineCustomElement as defineCustomElement$M } from '@ionic/core/components/ion-picker-column.js';
52
+ import { defineCustomElement as defineCustomElement$N } from '@ionic/core/components/ion-picker-column-option.js';
53
+ import { defineCustomElement as defineCustomElement$O } from '@ionic/core/components/ion-progress-bar.js';
54
+ import { defineCustomElement as defineCustomElement$P } from '@ionic/core/components/ion-radio.js';
55
+ import { defineCustomElement as defineCustomElement$Q } from '@ionic/core/components/ion-radio-group.js';
56
+ import { defineCustomElement as defineCustomElement$R } from '@ionic/core/components/ion-range.js';
57
+ import { defineCustomElement as defineCustomElement$S } from '@ionic/core/components/ion-refresher.js';
58
+ import { defineCustomElement as defineCustomElement$T } from '@ionic/core/components/ion-refresher-content.js';
59
+ import { defineCustomElement as defineCustomElement$U } from '@ionic/core/components/ion-reorder.js';
60
+ import { defineCustomElement as defineCustomElement$V } from '@ionic/core/components/ion-reorder-group.js';
61
+ import { defineCustomElement as defineCustomElement$W } from '@ionic/core/components/ion-ripple-effect.js';
62
+ import { defineCustomElement as defineCustomElement$X } from '@ionic/core/components/ion-row.js';
63
+ import { defineCustomElement as defineCustomElement$Y } from '@ionic/core/components/ion-searchbar.js';
64
+ import { defineCustomElement as defineCustomElement$Z } from '@ionic/core/components/ion-segment.js';
65
+ import { defineCustomElement as defineCustomElement$_ } from '@ionic/core/components/ion-segment-button.js';
66
+ import { defineCustomElement as defineCustomElement$$ } from '@ionic/core/components/ion-segment-content.js';
67
+ import { defineCustomElement as defineCustomElement$10 } from '@ionic/core/components/ion-segment-view.js';
68
+ import { defineCustomElement as defineCustomElement$11 } from '@ionic/core/components/ion-select.js';
69
+ import { defineCustomElement as defineCustomElement$12 } from '@ionic/core/components/ion-select-modal.js';
70
+ import { defineCustomElement as defineCustomElement$13 } from '@ionic/core/components/ion-select-option.js';
71
+ import { defineCustomElement as defineCustomElement$14 } from '@ionic/core/components/ion-skeleton-text.js';
72
+ import { defineCustomElement as defineCustomElement$15 } from '@ionic/core/components/ion-spinner.js';
73
+ import { defineCustomElement as defineCustomElement$16 } from '@ionic/core/components/ion-split-pane.js';
74
+ import { defineCustomElement as defineCustomElement$17 } from '@ionic/core/components/ion-tab.js';
75
+ import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/components/ion-text.js';
76
+ import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-textarea.js';
77
+ import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-thumbnail.js';
78
+ import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-title.js';
79
+ import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-toggle.js';
80
+ import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-toolbar.js';
81
+ import { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, initialize, modalController as modalController$1, popoverController as popoverController$1, alertController as alertController$1, actionSheetController as actionSheetController$1, loadingController as loadingController$1, pickerController as pickerController$1, toastController as toastController$1 } from '@ionic/core/components';
81
82
  export { IonicSafeString, IonicSlides, createAnimation, createGesture, getIonPageElement, getPlatforms, getTimeGivenProgression, iosTransitionAnimation, isPlatform, mdTransitionAnimation, menuController, openURL } from '@ionic/core/components';
82
- import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-back-button.js';
83
- import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-router-outlet.js';
83
+ import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-back-button.js';
84
+ import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-router-outlet.js';
84
85
  import { routeLocationKey, useRoute, matchedRouteKey } from 'vue-router';
85
- import { defineCustomElement as defineCustomElement$1f } from '@ionic/core/components/ion-tab-button.js';
86
- import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-tabs.js';
87
- import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-tab-bar.js';
88
- import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-app.js';
89
- import { defineCustomElement as defineCustomElement$1k } from 'ionicons/components/ion-icon.js';
90
- import { defineCustomElement as defineCustomElement$1l } from '@ionic/core/components/ion-action-sheet.js';
91
- import { defineCustomElement as defineCustomElement$1m } from '@ionic/core/components/ion-alert.js';
92
- import { defineCustomElement as defineCustomElement$1n } from '@ionic/core/components/ion-loading.js';
93
- import { defineCustomElement as defineCustomElement$1o } from '@ionic/core/components/ion-modal.js';
94
- import { defineCustomElement as defineCustomElement$1p } from '@ionic/core/components/ion-popover.js';
95
- import { defineCustomElement as defineCustomElement$1q } from '@ionic/core/components/ion-toast.js';
86
+ import { defineCustomElement as defineCustomElement$1g } from '@ionic/core/components/ion-tab-button.js';
87
+ import { defineCustomElement as defineCustomElement$1h } from '@ionic/core/components/ion-tabs.js';
88
+ import { defineCustomElement as defineCustomElement$1i } from '@ionic/core/components/ion-tab-bar.js';
89
+ import { defineCustomElement as defineCustomElement$1j } from '@ionic/core/components/ion-app.js';
90
+ import { defineCustomElement as defineCustomElement$1l } from 'ionicons/components/ion-icon.js';
91
+ import { defineCustomElement as defineCustomElement$1m } from '@ionic/core/components/ion-action-sheet.js';
92
+ import { defineCustomElement as defineCustomElement$1n } from '@ionic/core/components/ion-alert.js';
93
+ import { defineCustomElement as defineCustomElement$1o } from '@ionic/core/components/ion-loading.js';
94
+ import { defineCustomElement as defineCustomElement$1p } from '@ionic/core/components/ion-modal.js';
95
+ import { defineCustomElement as defineCustomElement$1q } from '@ionic/core/components/ion-picker-legacy.js';
96
+ import { defineCustomElement as defineCustomElement$1r } from '@ionic/core/components/ion-popover.js';
97
+ import { defineCustomElement as defineCustomElement$1s } from '@ionic/core/components/ion-toast.js';
96
98
 
97
99
  const UPDATE_VALUE_EVENT = 'update:modelValue';
98
100
  const MODEL_VALUE = 'modelValue';
@@ -114,19 +116,8 @@ const DEFAULT_EMPTY_PROP$1 = { default: EMPTY_PROP$1 };
114
116
  const getComponentClasses = (classes) => {
115
117
  return classes?.split(' ') || [];
116
118
  };
117
- const syncElementClasses = (ref, componentClasses, defaultClasses = []) => {
118
- if (ref?.value) {
119
- const element = ref.value;
120
- // makes sure vue classes are on the actual element
121
- componentClasses.forEach((c) => {
122
- if (!!c && !element.classList.contains(c)) {
123
- element.classList.add(c);
124
- }
125
- });
126
- }
127
- return [...Array.from(ref.value?.classList || []), ...defaultClasses].filter((c, i, self) => {
128
- return !componentClasses.has(c) && self.indexOf(c) === i;
129
- });
119
+ const getElementClasses = (ref, componentClasses, defaultClasses = []) => {
120
+ return [...Array.from(ref.value?.classList || []), ...defaultClasses].filter((c, i, self) => !componentClasses.has(c) && self.indexOf(c) === i);
130
121
  };
131
122
  /**
132
123
  * Create a callback to define a Vue component wrapper around a Web Component.
@@ -142,9 +133,8 @@ const syncElementClasses = (ref, componentClasses, defaultClasses = []) => {
142
133
  * to customElements.define. Only set if `includeImportCustomElements: true` in your config.
143
134
  * @prop modelProp - The prop that v-model binds to (i.e. value)
144
135
  * @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange)
145
- * @prop modelUpdateEventAttribute - Property to read value from when the value changes.
146
136
  */
147
- const defineContainer = (name, defineCustomElement, componentProps = [], emitProps = [], modelProp, modelUpdateEvent, modelUpdateEventAttribute, transformTagFn) => {
137
+ const defineContainer = (name, defineCustomElement, componentProps = [], emitProps = [], modelProp, modelUpdateEvent) => {
148
138
  /**
149
139
  * Create a Vue component wrapper around a Web Component.
150
140
  * Note: The `props` here are not all properties on a component.
@@ -189,7 +179,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
189
179
  */
190
180
  const vModelDirective = {
191
181
  created: (el) => {
192
- const eventsNames = Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent];
182
+ const eventsNames = (Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent]).map((ev) => ev.replace(/-([a-z])/g, (g) => g[1].toUpperCase()));
193
183
  eventsNames.forEach((eventName) => {
194
184
  el.addEventListener(eventName, (e) => {
195
185
  /**
@@ -200,11 +190,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
200
190
  * when ionChange bubbles up from Component B.
201
191
  */
202
192
  if (e.target.tagName === el.tagName && modelProp) {
203
- const resolvePath = (object, path) => {
204
- return path.split('.').reduce((value, key) => (value !== undefined ? value[key] : undefined), object);
205
- };
206
- const path = (modelUpdateEventAttribute ?? `target.${modelProp}`);
207
- const modelPropValue = resolvePath(e, path);
193
+ modelPropValue = (e?.target)[modelProp];
208
194
  emit(UPDATE_VALUE_EVENT, modelPropValue);
209
195
  }
210
196
  });
@@ -258,7 +244,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
258
244
  };
259
245
  const propsToAdd = {
260
246
  ref: containerRef,
261
- class: syncElementClasses(containerRef, classes),
247
+ class: getElementClasses(containerRef, classes),
262
248
  onClick: handleClick,
263
249
  };
264
250
  /**
@@ -306,8 +292,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
306
292
  * vModelDirective is only needed on components that support v-model.
307
293
  * As a result, we conditionally call withDirectives with v-model components.
308
294
  */
309
- const tagName = transformTagFn ? transformTagFn(name) : name;
310
- const node = h(tagName, propsToAdd, slots.default && slots.default());
295
+ const node = h(name, propsToAdd, slots.default && slots.default());
311
296
  return modelProp === undefined ? node : withDirectives(node, [[vModelDirective]]);
312
297
  };
313
298
  }, {
@@ -334,13 +319,18 @@ const IonAccordionGroup = /*@__PURE__*/ defineContainer('ion-accordion-group', d
334
319
  'disabled',
335
320
  'readonly',
336
321
  'expand',
322
+ 'shape',
337
323
  'ionChange',
338
324
  'ionValueChange'
339
325
  ], [
340
326
  'ionChange',
341
327
  'ionValueChange'
342
- ], 'value', 'ionChange', undefined);
343
- const IonAvatar = /*@__PURE__*/ defineContainer('ion-avatar', defineCustomElement$2);
328
+ ], 'value', 'ion-change');
329
+ const IonAvatar = /*@__PURE__*/ defineContainer('ion-avatar', defineCustomElement$2, [
330
+ 'size',
331
+ 'shape',
332
+ 'disabled'
333
+ ]);
344
334
  const IonBackdrop = /*@__PURE__*/ defineContainer('ion-backdrop', defineCustomElement$3, [
345
335
  'visible',
346
336
  'tappable',
@@ -350,7 +340,11 @@ const IonBackdrop = /*@__PURE__*/ defineContainer('ion-backdrop', defineCustomEl
350
340
  'ionBackdropTap'
351
341
  ]);
352
342
  const IonBadge = /*@__PURE__*/ defineContainer('ion-badge', defineCustomElement$4, [
353
- 'color'
343
+ 'color',
344
+ 'hue',
345
+ 'shape',
346
+ 'size',
347
+ 'vertical'
354
348
  ]);
355
349
  const IonBreadcrumb = /*@__PURE__*/ defineContainer('ion-breadcrumb', defineCustomElement$5, [
356
350
  'collapsed',
@@ -419,6 +413,7 @@ const IonCard = /*@__PURE__*/ defineContainer('ion-card', defineCustomElement$9,
419
413
  'rel',
420
414
  'routerDirection',
421
415
  'routerAnimation',
416
+ 'shape',
422
417
  'target'
423
418
  ]);
424
419
  const IonCardContent = /*@__PURE__*/ defineContainer('ion-card-content', defineCustomElement$a);
@@ -445,6 +440,8 @@ const IonCheckbox = /*@__PURE__*/ defineContainer('ion-checkbox', defineCustomEl
445
440
  'justify',
446
441
  'alignment',
447
442
  'required',
443
+ 'shape',
444
+ 'size',
448
445
  'ionChange',
449
446
  'ionFocus',
450
447
  'ionBlur'
@@ -452,11 +449,14 @@ const IonCheckbox = /*@__PURE__*/ defineContainer('ion-checkbox', defineCustomEl
452
449
  'ionChange',
453
450
  'ionFocus',
454
451
  'ionBlur'
455
- ], 'checked', 'ionChange', undefined);
452
+ ], 'checked', 'ion-change');
456
453
  const IonChip = /*@__PURE__*/ defineContainer('ion-chip', defineCustomElement$f, [
457
454
  'color',
458
455
  'outline',
459
- 'disabled'
456
+ 'disabled',
457
+ 'hue',
458
+ 'shape',
459
+ 'size'
460
460
  ]);
461
461
  const IonCol = /*@__PURE__*/ defineContainer('ion-col', defineCustomElement$g, [
462
462
  'offset',
@@ -465,6 +465,12 @@ const IonCol = /*@__PURE__*/ defineContainer('ion-col', defineCustomElement$g, [
465
465
  'offsetMd',
466
466
  'offsetLg',
467
467
  'offsetXl',
468
+ 'order',
469
+ 'orderXs',
470
+ 'orderSm',
471
+ 'orderMd',
472
+ 'orderLg',
473
+ 'orderXl',
468
474
  'pull',
469
475
  'pullXs',
470
476
  'pullSm',
@@ -547,19 +553,23 @@ const IonDatetime = /*@__PURE__*/ defineContainer('ion-datetime', defineCustomEl
547
553
  'ionBlur',
548
554
  'ionStyle',
549
555
  'ionRender'
550
- ], 'value', 'ionChange', undefined);
556
+ ], 'value', 'ion-change');
551
557
  const IonDatetimeButton = /*@__PURE__*/ defineContainer('ion-datetime-button', defineCustomElement$j, [
552
558
  'color',
553
559
  'disabled',
554
560
  'datetime'
555
561
  ]);
556
- const IonFab = /*@__PURE__*/ defineContainer('ion-fab', defineCustomElement$k, [
562
+ const IonDivider = /*@__PURE__*/ defineContainer('ion-divider', defineCustomElement$k, [
563
+ 'spacing',
564
+ 'inset'
565
+ ]);
566
+ const IonFab = /*@__PURE__*/ defineContainer('ion-fab', defineCustomElement$l, [
557
567
  'horizontal',
558
568
  'vertical',
559
569
  'edge',
560
570
  'activated'
561
571
  ]);
562
- const IonFabButton = /*@__PURE__*/ defineContainer('ion-fab-button', defineCustomElement$l, [
572
+ const IonFabButton = /*@__PURE__*/ defineContainer('ion-fab-button', defineCustomElement$m, [
563
573
  'color',
564
574
  'activated',
565
575
  'disabled',
@@ -580,22 +590,23 @@ const IonFabButton = /*@__PURE__*/ defineContainer('ion-fab-button', defineCusto
580
590
  'ionFocus',
581
591
  'ionBlur'
582
592
  ]);
583
- const IonFabList = /*@__PURE__*/ defineContainer('ion-fab-list', defineCustomElement$m, [
593
+ const IonFabList = /*@__PURE__*/ defineContainer('ion-fab-list', defineCustomElement$n, [
584
594
  'activated',
585
595
  'side'
586
596
  ]);
587
- const IonFooter = /*@__PURE__*/ defineContainer('ion-footer', defineCustomElement$n, [
597
+ const IonFooter = /*@__PURE__*/ defineContainer('ion-footer', defineCustomElement$o, [
588
598
  'collapse',
589
599
  'translucent'
590
600
  ]);
591
- const IonGrid = /*@__PURE__*/ defineContainer('ion-grid', defineCustomElement$o, [
601
+ const IonGrid = /*@__PURE__*/ defineContainer('ion-grid', defineCustomElement$p, [
592
602
  'fixed'
593
603
  ]);
594
- const IonHeader = /*@__PURE__*/ defineContainer('ion-header', defineCustomElement$p, [
604
+ const IonHeader = /*@__PURE__*/ defineContainer('ion-header', defineCustomElement$q, [
595
605
  'collapse',
606
+ 'divider',
596
607
  'translucent'
597
608
  ]);
598
- const IonImg = /*@__PURE__*/ defineContainer('ion-img', defineCustomElement$q, [
609
+ const IonImg = /*@__PURE__*/ defineContainer('ion-img', defineCustomElement$r, [
599
610
  'alt',
600
611
  'src',
601
612
  'ionImgWillLoad',
@@ -606,19 +617,20 @@ const IonImg = /*@__PURE__*/ defineContainer('ion-img', defineCustomElement$q, [
606
617
  'ionImgDidLoad',
607
618
  'ionError'
608
619
  ]);
609
- const IonInfiniteScroll = /*@__PURE__*/ defineContainer('ion-infinite-scroll', defineCustomElement$r, [
620
+ const IonInfiniteScroll = /*@__PURE__*/ defineContainer('ion-infinite-scroll', defineCustomElement$s, [
610
621
  'threshold',
611
622
  'disabled',
612
623
  'position',
624
+ 'preserveRerenderScrollPosition',
613
625
  'ionInfinite'
614
626
  ], [
615
627
  'ionInfinite'
616
628
  ]);
617
- const IonInfiniteScrollContent = /*@__PURE__*/ defineContainer('ion-infinite-scroll-content', defineCustomElement$s, [
629
+ const IonInfiniteScrollContent = /*@__PURE__*/ defineContainer('ion-infinite-scroll-content', defineCustomElement$t, [
618
630
  'loadingSpinner',
619
631
  'loadingText'
620
632
  ]);
621
- const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineCustomElement$t, [
633
+ const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineCustomElement$u, [
622
634
  'color',
623
635
  'autocapitalize',
624
636
  'autocomplete',
@@ -651,6 +663,7 @@ const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineCustomElement$
651
663
  'shape',
652
664
  'spellcheck',
653
665
  'step',
666
+ 'size',
654
667
  'type',
655
668
  'value',
656
669
  'ionInput',
@@ -662,8 +675,8 @@ const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineCustomElement$
662
675
  'ionChange',
663
676
  'ionBlur',
664
677
  'ionFocus'
665
- ], 'value', 'ionInput', undefined);
666
- const IonInputOtp = /*@__PURE__*/ defineContainer('ion-input-otp', defineCustomElement$u, [
678
+ ], 'value', 'ion-input');
679
+ const IonInputOtp = /*@__PURE__*/ defineContainer('ion-input-otp', defineCustomElement$v, [
667
680
  'autocapitalize',
668
681
  'color',
669
682
  'disabled',
@@ -688,14 +701,14 @@ const IonInputOtp = /*@__PURE__*/ defineContainer('ion-input-otp', defineCustomE
688
701
  'ionComplete',
689
702
  'ionBlur',
690
703
  'ionFocus'
691
- ], 'value', 'ionInput', undefined);
692
- const IonInputPasswordToggle = /*@__PURE__*/ defineContainer('ion-input-password-toggle', defineCustomElement$v, [
704
+ ], 'value', 'ion-input');
705
+ const IonInputPasswordToggle = /*@__PURE__*/ defineContainer('ion-input-password-toggle', defineCustomElement$w, [
693
706
  'color',
694
707
  'showIcon',
695
708
  'hideIcon',
696
709
  'type'
697
710
  ]);
698
- const IonItem = /*@__PURE__*/ defineContainer('ion-item', defineCustomElement$w, [
711
+ const IonItem = /*@__PURE__*/ defineContainer('ion-item', defineCustomElement$x, [
699
712
  'color',
700
713
  'button',
701
714
  'detail',
@@ -710,34 +723,36 @@ const IonItem = /*@__PURE__*/ defineContainer('ion-item', defineCustomElement$w,
710
723
  'target',
711
724
  'type'
712
725
  ]);
713
- const IonItemDivider = /*@__PURE__*/ defineContainer('ion-item-divider', defineCustomElement$x, [
726
+ const IonItemDivider = /*@__PURE__*/ defineContainer('ion-item-divider', defineCustomElement$y, [
714
727
  'color',
715
728
  'sticky'
716
729
  ]);
717
- const IonItemGroup = /*@__PURE__*/ defineContainer('ion-item-group', defineCustomElement$y);
718
- const IonItemOption = /*@__PURE__*/ defineContainer('ion-item-option', defineCustomElement$z, [
730
+ const IonItemGroup = /*@__PURE__*/ defineContainer('ion-item-group', defineCustomElement$z);
731
+ const IonItemOption = /*@__PURE__*/ defineContainer('ion-item-option', defineCustomElement$A, [
719
732
  'color',
720
733
  'disabled',
721
734
  'download',
722
735
  'expandable',
723
736
  'href',
737
+ 'hue',
724
738
  'rel',
725
739
  'target',
726
- 'type'
740
+ 'type',
741
+ 'shape'
727
742
  ]);
728
- const IonItemOptions = /*@__PURE__*/ defineContainer('ion-item-options', defineCustomElement$A, [
743
+ const IonItemOptions = /*@__PURE__*/ defineContainer('ion-item-options', defineCustomElement$B, [
729
744
  'side',
730
745
  'ionSwipe'
731
746
  ], [
732
747
  'ionSwipe'
733
748
  ]);
734
- const IonItemSliding = /*@__PURE__*/ defineContainer('ion-item-sliding', defineCustomElement$B, [
749
+ const IonItemSliding = /*@__PURE__*/ defineContainer('ion-item-sliding', defineCustomElement$C, [
735
750
  'disabled',
736
751
  'ionDrag'
737
752
  ], [
738
753
  'ionDrag'
739
754
  ]);
740
- const IonLabel = /*@__PURE__*/ defineContainer('ion-label', defineCustomElement$C, [
755
+ const IonLabel = /*@__PURE__*/ defineContainer('ion-label', defineCustomElement$D, [
741
756
  'color',
742
757
  'position',
743
758
  'ionColor',
@@ -746,15 +761,16 @@ const IonLabel = /*@__PURE__*/ defineContainer('ion-label', defineCustomElement$
746
761
  'ionColor',
747
762
  'ionStyle'
748
763
  ]);
749
- const IonList = /*@__PURE__*/ defineContainer('ion-list', defineCustomElement$D, [
764
+ const IonList = /*@__PURE__*/ defineContainer('ion-list', defineCustomElement$E, [
750
765
  'lines',
751
- 'inset'
766
+ 'inset',
767
+ 'shape'
752
768
  ]);
753
- const IonListHeader = /*@__PURE__*/ defineContainer('ion-list-header', defineCustomElement$E, [
769
+ const IonListHeader = /*@__PURE__*/ defineContainer('ion-list-header', defineCustomElement$F, [
754
770
  'color',
755
771
  'lines'
756
772
  ]);
757
- const IonMenu = /*@__PURE__*/ defineContainer('ion-menu', defineCustomElement$F, [
773
+ const IonMenu = /*@__PURE__*/ defineContainer('ion-menu', defineCustomElement$G, [
758
774
  'contentId',
759
775
  'menuId',
760
776
  'type',
@@ -774,32 +790,32 @@ const IonMenu = /*@__PURE__*/ defineContainer('ion-menu', defineCustomElement$F,
774
790
  'ionDidClose',
775
791
  'ionMenuChange'
776
792
  ]);
777
- const IonMenuButton = /*@__PURE__*/ defineContainer('ion-menu-button', defineCustomElement$G, [
793
+ const IonMenuButton = /*@__PURE__*/ defineContainer('ion-menu-button', defineCustomElement$H, [
778
794
  'color',
779
795
  'disabled',
780
796
  'menu',
781
797
  'autoHide',
782
798
  'type'
783
799
  ]);
784
- const IonMenuToggle = /*@__PURE__*/ defineContainer('ion-menu-toggle', defineCustomElement$H, [
800
+ const IonMenuToggle = /*@__PURE__*/ defineContainer('ion-menu-toggle', defineCustomElement$I, [
785
801
  'menu',
786
802
  'autoHide'
787
803
  ]);
788
- const IonNavLink = /*@__PURE__*/ defineContainer('ion-nav-link', defineCustomElement$I, [
804
+ const IonNavLink = /*@__PURE__*/ defineContainer('ion-nav-link', defineCustomElement$J, [
789
805
  'component',
790
806
  'componentProps',
791
807
  'routerDirection',
792
808
  'routerAnimation'
793
809
  ]);
794
- const IonNote = /*@__PURE__*/ defineContainer('ion-note', defineCustomElement$J, [
810
+ const IonNote = /*@__PURE__*/ defineContainer('ion-note', defineCustomElement$K, [
795
811
  'color'
796
812
  ]);
797
- const IonPicker = /*@__PURE__*/ defineContainer('ion-picker', defineCustomElement$K, [
813
+ const IonPicker = /*@__PURE__*/ defineContainer('ion-picker', defineCustomElement$L, [
798
814
  'ionInputModeChange'
799
815
  ], [
800
816
  'ionInputModeChange'
801
817
  ]);
802
- const IonPickerColumn = /*@__PURE__*/ defineContainer('ion-picker-column', defineCustomElement$L, [
818
+ const IonPickerColumn = /*@__PURE__*/ defineContainer('ion-picker-column', defineCustomElement$M, [
803
819
  'disabled',
804
820
  'value',
805
821
  'color',
@@ -808,19 +824,20 @@ const IonPickerColumn = /*@__PURE__*/ defineContainer('ion-picker-column', defin
808
824
  ], [
809
825
  'ionChange'
810
826
  ]);
811
- const IonPickerColumnOption = /*@__PURE__*/ defineContainer('ion-picker-column-option', defineCustomElement$M, [
827
+ const IonPickerColumnOption = /*@__PURE__*/ defineContainer('ion-picker-column-option', defineCustomElement$N, [
812
828
  'disabled',
813
829
  'value',
814
830
  'color'
815
831
  ]);
816
- const IonProgressBar = /*@__PURE__*/ defineContainer('ion-progress-bar', defineCustomElement$N, [
832
+ const IonProgressBar = /*@__PURE__*/ defineContainer('ion-progress-bar', defineCustomElement$O, [
817
833
  'type',
818
834
  'reversed',
819
835
  'value',
820
836
  'buffer',
821
- 'color'
837
+ 'color',
838
+ 'shape'
822
839
  ]);
823
- const IonRadio = /*@__PURE__*/ defineContainer('ion-radio', defineCustomElement$O, [
840
+ const IonRadio = /*@__PURE__*/ defineContainer('ion-radio', defineCustomElement$P, [
824
841
  'color',
825
842
  'name',
826
843
  'disabled',
@@ -833,8 +850,8 @@ const IonRadio = /*@__PURE__*/ defineContainer('ion-radio', defineCustomElement$
833
850
  ], [
834
851
  'ionFocus',
835
852
  'ionBlur'
836
- ], 'value', 'ionChange', undefined);
837
- const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineCustomElement$P, [
853
+ ], 'value', 'ion-change');
854
+ const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineCustomElement$Q, [
838
855
  'allowEmptySelection',
839
856
  'compareWith',
840
857
  'name',
@@ -846,8 +863,8 @@ const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineCus
846
863
  ], [
847
864
  'ionChange',
848
865
  'ionValueChange'
849
- ], 'value', 'ionChange', undefined);
850
- const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineCustomElement$Q, [
866
+ ], 'value', 'ion-change');
867
+ const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineCustomElement$R, [
851
868
  'color',
852
869
  'debounce',
853
870
  'name',
@@ -877,8 +894,8 @@ const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineCustomElement$
877
894
  'ionBlur',
878
895
  'ionKnobMoveStart',
879
896
  'ionKnobMoveEnd'
880
- ], 'value', 'ionInput', undefined);
881
- const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineCustomElement$R, [
897
+ ], 'value', 'ion-input');
898
+ const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineCustomElement$S, [
882
899
  'pullMin',
883
900
  'pullMax',
884
901
  'closeDuration',
@@ -897,14 +914,14 @@ const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineCustom
897
914
  'ionPullStart',
898
915
  'ionPullEnd'
899
916
  ]);
900
- const IonRefresherContent = /*@__PURE__*/ defineContainer('ion-refresher-content', defineCustomElement$S, [
917
+ const IonRefresherContent = /*@__PURE__*/ defineContainer('ion-refresher-content', defineCustomElement$T, [
901
918
  'pullingIcon',
902
919
  'pullingText',
903
920
  'refreshingSpinner',
904
921
  'refreshingText'
905
922
  ]);
906
- const IonReorder = /*@__PURE__*/ defineContainer('ion-reorder', defineCustomElement$T);
907
- const IonReorderGroup = /*@__PURE__*/ defineContainer('ion-reorder-group', defineCustomElement$U, [
923
+ const IonReorder = /*@__PURE__*/ defineContainer('ion-reorder', defineCustomElement$U);
924
+ const IonReorderGroup = /*@__PURE__*/ defineContainer('ion-reorder-group', defineCustomElement$V, [
908
925
  'disabled',
909
926
  'ionItemReorder',
910
927
  'ionReorderStart',
@@ -916,11 +933,11 @@ const IonReorderGroup = /*@__PURE__*/ defineContainer('ion-reorder-group', defin
916
933
  'ionReorderMove',
917
934
  'ionReorderEnd'
918
935
  ]);
919
- const IonRippleEffect = /*@__PURE__*/ defineContainer('ion-ripple-effect', defineCustomElement$V, [
936
+ const IonRippleEffect = /*@__PURE__*/ defineContainer('ion-ripple-effect', defineCustomElement$W, [
920
937
  'type'
921
938
  ]);
922
- const IonRow = /*@__PURE__*/ defineContainer('ion-row', defineCustomElement$W);
923
- const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineCustomElement$X, [
939
+ const IonRow = /*@__PURE__*/ defineContainer('ion-row', defineCustomElement$X);
940
+ const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineCustomElement$Y, [
924
941
  'color',
925
942
  'animated',
926
943
  'autocapitalize',
@@ -943,6 +960,8 @@ const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineCustom
943
960
  'spellcheck',
944
961
  'type',
945
962
  'value',
963
+ 'shape',
964
+ 'size',
946
965
  'ionInput',
947
966
  'ionChange',
948
967
  'ionCancel',
@@ -958,8 +977,8 @@ const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineCustom
958
977
  'ionBlur',
959
978
  'ionFocus',
960
979
  'ionStyle'
961
- ], 'value', 'ionInput', undefined);
962
- const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineCustomElement$Y, [
980
+ ], 'value', 'ion-input');
981
+ const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineCustomElement$Z, [
963
982
  'color',
964
983
  'disabled',
965
984
  'scrollable',
@@ -973,24 +992,25 @@ const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineCustomElem
973
992
  'ionChange',
974
993
  'ionSelect',
975
994
  'ionStyle'
976
- ], 'value', 'ionChange', undefined);
977
- const IonSegmentButton = /*@__PURE__*/ defineContainer('ion-segment-button', defineCustomElement$Z, [
995
+ ], 'value', 'ion-change');
996
+ const IonSegmentButton = /*@__PURE__*/ defineContainer('ion-segment-button', defineCustomElement$_, [
978
997
  'contentId',
979
998
  'disabled',
980
999
  'layout',
981
1000
  'type',
982
1001
  'value'
983
- ], [], 'value', 'ionChange', undefined);
984
- const IonSegmentContent = /*@__PURE__*/ defineContainer('ion-segment-content', defineCustomElement$_);
985
- const IonSegmentView = /*@__PURE__*/ defineContainer('ion-segment-view', defineCustomElement$$, [
1002
+ ], [], 'value', 'ion-change');
1003
+ const IonSegmentContent = /*@__PURE__*/ defineContainer('ion-segment-content', defineCustomElement$$);
1004
+ const IonSegmentView = /*@__PURE__*/ defineContainer('ion-segment-view', defineCustomElement$10, [
986
1005
  'disabled',
987
1006
  'swipeGesture',
988
1007
  'ionSegmentViewScroll'
989
1008
  ], [
990
1009
  'ionSegmentViewScroll'
991
1010
  ]);
992
- const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineCustomElement$10, [
1011
+ const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineCustomElement$11, [
993
1012
  'cancelText',
1013
+ 'cancelIcon',
994
1014
  'color',
995
1015
  'compareWith',
996
1016
  'disabled',
@@ -1009,9 +1029,10 @@ const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineCustomElemen
1009
1029
  'selectedText',
1010
1030
  'toggleIcon',
1011
1031
  'expandedIcon',
1032
+ 'required',
1012
1033
  'shape',
1034
+ 'size',
1013
1035
  'value',
1014
- 'required',
1015
1036
  'ionChange',
1016
1037
  'ionCancel',
1017
1038
  'ionDismiss',
@@ -1025,30 +1046,33 @@ const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineCustomElemen
1025
1046
  'ionFocus',
1026
1047
  'ionBlur',
1027
1048
  'ionStyle'
1028
- ], 'value', 'ionChange', undefined);
1029
- const IonSelectModal = /*@__PURE__*/ defineContainer('ion-select-modal', defineCustomElement$11, [
1049
+ ], 'value', 'ion-change');
1050
+ const IonSelectModal = /*@__PURE__*/ defineContainer('ion-select-modal', defineCustomElement$12, [
1030
1051
  'header',
1031
1052
  'cancelText',
1053
+ 'cancelIcon',
1032
1054
  'multiple',
1033
1055
  'options'
1034
1056
  ]);
1035
- const IonSelectOption = /*@__PURE__*/ defineContainer('ion-select-option', defineCustomElement$12, [
1057
+ const IonSelectOption = /*@__PURE__*/ defineContainer('ion-select-option', defineCustomElement$13, [
1036
1058
  'disabled',
1037
- 'value'
1059
+ 'value',
1060
+ 'description'
1038
1061
  ]);
1039
- const IonSkeletonText = /*@__PURE__*/ defineContainer('ion-skeleton-text', defineCustomElement$13, [
1062
+ const IonSkeletonText = /*@__PURE__*/ defineContainer('ion-skeleton-text', defineCustomElement$14, [
1040
1063
  'animated',
1041
1064
  'ionStyle'
1042
1065
  ], [
1043
1066
  'ionStyle'
1044
1067
  ]);
1045
- const IonSpinner = /*@__PURE__*/ defineContainer('ion-spinner', defineCustomElement$14, [
1068
+ const IonSpinner = /*@__PURE__*/ defineContainer('ion-spinner', defineCustomElement$15, [
1046
1069
  'color',
1047
1070
  'duration',
1048
1071
  'name',
1049
- 'paused'
1072
+ 'paused',
1073
+ 'size'
1050
1074
  ]);
1051
- const IonSplitPane = /*@__PURE__*/ defineContainer('ion-split-pane', defineCustomElement$15, [
1075
+ const IonSplitPane = /*@__PURE__*/ defineContainer('ion-split-pane', defineCustomElement$16, [
1052
1076
  'contentId',
1053
1077
  'disabled',
1054
1078
  'when',
@@ -1056,16 +1080,16 @@ const IonSplitPane = /*@__PURE__*/ defineContainer('ion-split-pane', defineCusto
1056
1080
  ], [
1057
1081
  'ionSplitPaneVisible'
1058
1082
  ]);
1059
- const IonTab = /*@__PURE__*/ defineContainer('ion-tab', defineCustomElement$16, [
1083
+ const IonTab = /*@__PURE__*/ defineContainer('ion-tab', defineCustomElement$17, [
1060
1084
  'active',
1061
1085
  'delegate',
1062
1086
  'tab',
1063
1087
  'component'
1064
1088
  ]);
1065
- const IonText = /*@__PURE__*/ defineContainer('ion-text', defineCustomElement$17, [
1089
+ const IonText = /*@__PURE__*/ defineContainer('ion-text', defineCustomElement$18, [
1066
1090
  'color'
1067
1091
  ]);
1068
- const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineCustomElement$18, [
1092
+ const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineCustomElement$19, [
1069
1093
  'color',
1070
1094
  'autocapitalize',
1071
1095
  'autofocus',
@@ -1094,6 +1118,7 @@ const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineCustomEl
1094
1118
  'label',
1095
1119
  'labelPlacement',
1096
1120
  'shape',
1121
+ 'size',
1097
1122
  'ionChange',
1098
1123
  'ionInput',
1099
1124
  'ionBlur',
@@ -1103,16 +1128,16 @@ const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineCustomEl
1103
1128
  'ionInput',
1104
1129
  'ionBlur',
1105
1130
  'ionFocus'
1106
- ], 'value', 'ionInput', undefined);
1107
- const IonThumbnail = /*@__PURE__*/ defineContainer('ion-thumbnail', defineCustomElement$19);
1108
- const IonTitle = /*@__PURE__*/ defineContainer('ion-title', defineCustomElement$1a, [
1131
+ ], 'value', 'ion-input');
1132
+ const IonThumbnail = /*@__PURE__*/ defineContainer('ion-thumbnail', defineCustomElement$1a);
1133
+ const IonTitle = /*@__PURE__*/ defineContainer('ion-title', defineCustomElement$1b, [
1109
1134
  'color',
1110
1135
  'size',
1111
1136
  'ionStyle'
1112
1137
  ], [
1113
1138
  'ionStyle'
1114
1139
  ]);
1115
- const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineCustomElement$1b, [
1140
+ const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineCustomElement$1c, [
1116
1141
  'color',
1117
1142
  'name',
1118
1143
  'checked',
@@ -1132,9 +1157,10 @@ const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineCustomElemen
1132
1157
  'ionChange',
1133
1158
  'ionFocus',
1134
1159
  'ionBlur'
1135
- ], 'checked', 'ionChange', undefined);
1136
- const IonToolbar = /*@__PURE__*/ defineContainer('ion-toolbar', defineCustomElement$1c, [
1137
- 'color'
1160
+ ], 'checked', 'ion-change');
1161
+ const IonToolbar = /*@__PURE__*/ defineContainer('ion-toolbar', defineCustomElement$1d, [
1162
+ 'color',
1163
+ 'titlePlacement'
1138
1164
  ]);
1139
1165
 
1140
1166
  const useBackButton = (priority, handler) => {
@@ -1297,7 +1323,7 @@ const IonicVue = {
1297
1323
  };
1298
1324
 
1299
1325
  const IonBackButton = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {
1300
- defineCustomElement$1d();
1326
+ defineCustomElement$1e();
1301
1327
  // TODO(FW-2969): type
1302
1328
  const ionRouter = inject("navManager");
1303
1329
  const onClick = () => {
@@ -1343,14 +1369,8 @@ const isViewVisible = (enteringEl) => {
1343
1369
  const viewDepthKey = Symbol(0);
1344
1370
  const IonRouterOutlet = /*@__PURE__*/ defineComponent({
1345
1371
  name: "IonRouterOutlet",
1346
- props: {
1347
- swipeGesture: {
1348
- type: Boolean,
1349
- default: undefined,
1350
- },
1351
- },
1352
1372
  setup() {
1353
- defineCustomElement$1e();
1373
+ defineCustomElement$1f();
1354
1374
  const injectedRoute = inject(routeLocationKey);
1355
1375
  const route = useRoute();
1356
1376
  const depth = inject(viewDepthKey, 0);
@@ -1426,6 +1446,11 @@ const IonRouterOutlet = /*@__PURE__*/ defineComponent({
1426
1446
  */
1427
1447
  { deep: true });
1428
1448
  const canStart = () => {
1449
+ const config = getConfig();
1450
+ const swipeEnabled = config &&
1451
+ config.get("swipeBackEnabled", ionRouterOutlet.value.mode === "ios");
1452
+ if (!swipeEnabled)
1453
+ return false;
1429
1454
  const stack = viewStacks.getViewStack(id);
1430
1455
  if (!stack || stack.length <= 1)
1431
1456
  return false;
@@ -1716,15 +1741,7 @@ See https://ionicframework.com/docs/vue/navigation#ionpage for more information.
1716
1741
  },
1717
1742
  render() {
1718
1743
  const { components, registerIonPage, injectedRoute } = this;
1719
- /**
1720
- * Forward props selectively to avoid setting undefined values
1721
- * that would override the web component's config-based defaults.
1722
- */
1723
- const routerOutletProps = { ref: "ionRouterOutlet" };
1724
- if (this.$props.swipeGesture !== undefined) {
1725
- routerOutletProps.swipeGesture = this.$props.swipeGesture;
1726
- }
1727
- return h("ion-router-outlet", routerOutletProps, components &&
1744
+ return h("ion-router-outlet", { ref: "ionRouterOutlet" }, components &&
1728
1745
  components.map((c) => {
1729
1746
  var _a, _b;
1730
1747
  let props = {
@@ -1793,7 +1810,7 @@ const IonTabButton = /*@__PURE__*/ defineComponent({
1793
1810
  },
1794
1811
  },
1795
1812
  setup(props, { slots }) {
1796
- defineCustomElement$1f();
1813
+ defineCustomElement$1g();
1797
1814
  // TODO(FW-2969): type
1798
1815
  const ionRouter = inject("navManager", null);
1799
1816
  const onClick = (ev) => {
@@ -1922,7 +1939,7 @@ const IonTabs = /*@__PURE__*/ defineComponent({
1922
1939
  * `selectedTab` from core, which may occur if the custom
1923
1940
  * element is defined too early in the component's lifecycle.
1924
1941
  */
1925
- defineCustomElement$1g();
1942
+ defineCustomElement$1h();
1926
1943
  },
1927
1944
  render() {
1928
1945
  const { slots, props } = this;
@@ -2200,7 +2217,7 @@ const IonTabBar = defineComponent({
2200
2217
  ionRouter === null || ionRouter === void 0 ? void 0 : ionRouter.registerHistoryChangeListener(() => this.checkActiveTab(ionRouter));
2201
2218
  },
2202
2219
  setup(_, { slots }) {
2203
- defineCustomElement$1h();
2220
+ defineCustomElement$1i();
2204
2221
  return () => {
2205
2222
  return h("ion-tab-bar", { ref: "ionTabBar" }, slots.default && slots.default());
2206
2223
  };
@@ -2209,7 +2226,7 @@ const IonTabBar = defineComponent({
2209
2226
 
2210
2227
  const userComponents = shallowRef([]);
2211
2228
  const IonApp = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {
2212
- defineCustomElement$1i();
2229
+ defineCustomElement$1j();
2213
2230
  return () => {
2214
2231
  return h("ion-app", Object.assign({ name: "IonApp" }, attrs), [slots.default && slots.default(), ...userComponents.value]);
2215
2232
  };
@@ -2262,7 +2279,7 @@ const VueDelegate = (addFn = addTeleportedUserComponent, removeFn = removeTelepo
2262
2279
  };
2263
2280
 
2264
2281
  const IonNav = /*@__PURE__*/ defineComponent((props) => {
2265
- defineCustomElement$1j();
2282
+ defineCustomElement$1k();
2266
2283
  const views = shallowRef([]);
2267
2284
  /**
2268
2285
  * Allows us to create the component
@@ -2309,7 +2326,7 @@ const IonNav = /*@__PURE__*/ defineComponent((props) => {
2309
2326
  });
2310
2327
 
2311
2328
  const IonIcon = /*@__PURE__*/ defineComponent((props, { slots }) => {
2312
- defineCustomElement$1k();
2329
+ defineCustomElement$1l();
2313
2330
  return () => {
2314
2331
  var _a, _b;
2315
2332
  const { icon, ios, md, mode } = props;
@@ -2561,12 +2578,13 @@ const defineOverlayContainer = (name, defineCustomElement, componentProps = [],
2561
2578
  * This is an autogenerated file created by 'scripts/copy-overlays.js'.
2562
2579
  * Changes made to this file will be overwritten on build.
2563
2580
  */
2564
- const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet', defineCustomElement$1l, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger']);
2565
- const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion-alert', defineCustomElement$1m, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger']);
2566
- const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineCustomElement$1n, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger']);
2567
- const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineCustomElement$1o, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'expandToScroll', 'focusTrap', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'trigger'], true);
2568
- const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineCustomElement$1p, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'focusTrap', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'translucent', 'trigger', 'triggerAction']);
2569
- const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineCustomElement$1q, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger']);
2581
+ const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet', defineCustomElement$1m, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'theme', 'translucent', 'trigger']);
2582
+ const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion-alert', defineCustomElement$1n, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'theme', 'translucent', 'trigger']);
2583
+ const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineCustomElement$1o, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'theme', 'translucent', 'trigger']);
2584
+ const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineCustomElement$1p, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'expandToScroll', 'focusTrap', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'shape', 'showBackdrop', 'theme', 'trigger'], true);
2585
+ const IonPickerLegacy = /*@__PURE__*/ defineOverlayContainer('ion-picker-legacy', defineCustomElement$1q, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'theme', 'trigger']);
2586
+ const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineCustomElement$1r, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'focusTrap', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'theme', 'translucent', 'trigger', 'triggerAction']);
2587
+ const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineCustomElement$1s, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'hue', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'shape', 'swipeGesture', 'theme', 'translucent', 'trigger']);
2570
2588
 
2571
2589
  // TODO(FW-2969): types
2572
2590
  /**
@@ -2583,12 +2601,16 @@ const createController = (defineCustomElement, oldController, useDelegate = fals
2583
2601
  };
2584
2602
  return oldController;
2585
2603
  };
2586
- const modalController = /*@__PURE__*/ createController(defineCustomElement$1o, modalController$1, true);
2587
- const popoverController = /*@__PURE__*/ createController(defineCustomElement$1p, popoverController$1, true);
2588
- const alertController = /*@__PURE__*/ createController(defineCustomElement$1m, alertController$1);
2589
- const actionSheetController = /*@__PURE__*/ createController(defineCustomElement$1l, actionSheetController$1);
2590
- const loadingController = /*@__PURE__*/ createController(defineCustomElement$1n, loadingController$1);
2591
- const toastController = /*@__PURE__*/ createController(defineCustomElement$1q, toastController$1);
2604
+ const modalController = /*@__PURE__*/ createController(defineCustomElement$1p, modalController$1, true);
2605
+ const popoverController = /*@__PURE__*/ createController(defineCustomElement$1r, popoverController$1, true);
2606
+ const alertController = /*@__PURE__*/ createController(defineCustomElement$1n, alertController$1);
2607
+ const actionSheetController = /*@__PURE__*/ createController(defineCustomElement$1m, actionSheetController$1);
2608
+ const loadingController = /*@__PURE__*/ createController(defineCustomElement$1o, loadingController$1);
2609
+ /**
2610
+ * @deprecated Use the inline ion-picker component instead.
2611
+ */
2612
+ const pickerController = /*@__PURE__*/ createController(defineCustomElement$1q, pickerController$1);
2613
+ const toastController = /*@__PURE__*/ createController(defineCustomElement$1s, toastController$1);
2592
2614
 
2593
- export { IonAccordion, IonAccordionGroup, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonInputOtp, IonInputPasswordToggle, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPage, IonPicker, IonPickerColumn, IonPickerColumnOption, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSegmentContent, IonSegmentView, IonSelect, IonSelectModal, IonSelectOption, IonSkeletonText, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, IonicVue, actionSheetController, alertController, loadingController, modalController, onIonViewDidEnter, onIonViewDidLeave, onIonViewWillEnter, onIonViewWillLeave, popoverController, toastController, useBackButton, useIonRouter, useKeyboard };
2615
+ export { IonAccordion, IonAccordionGroup, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonDivider, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonInputOtp, IonInputPasswordToggle, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPage, IonPicker, IonPickerColumn, IonPickerColumnOption, IonPickerLegacy, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSegmentContent, IonSegmentView, IonSelect, IonSelectModal, IonSelectOption, IonSkeletonText, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, IonicVue, actionSheetController, alertController, loadingController, modalController, onIonViewDidEnter, onIonViewDidLeave, onIonViewWillEnter, onIonViewWillLeave, pickerController, popoverController, toastController, useBackButton, useIonRouter, useKeyboard };
2594
2616
  //# sourceMappingURL=index.js.map