@ionic/vue 8.4.2-dev.11737633140.1934dd0f → 8.4.2-dev.11739377372.17be7c08

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 (53) 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 +221 -136
  47. package/dist/index.js.map +1 -1
  48. package/dist/types/components/Overlays.d.ts +1 -1
  49. package/dist/types/proxies.d.ts +94 -77
  50. package/dist/vetur/attributes.json +1479 -197
  51. package/dist/vetur/tags.json +200 -49
  52. package/dist/web-types.json +1328 -128
  53. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { defineContainer } from '@stencil/vue-output-target/runtime';
1
+ import { defineComponent, ref, getCurrentInstance, inject, h, withDirectives, computed, provide, shallowRef, watch, onUnmounted, Fragment, isVNode, Teleport, onMounted } from 'vue';
2
2
  import { defineCustomElement } from '@ionic/core/components/ion-accordion.js';
3
3
  import { defineCustomElement as defineCustomElement$1 } from '@ionic/core/components/ion-accordion-group.js';
4
4
  import { defineCustomElement as defineCustomElement$2 } from '@ionic/core/components/ion-avatar.js';
@@ -76,7 +76,6 @@ import { defineCustomElement as defineCustomElement$18 } from '@ionic/core/compo
76
76
  import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/components/ion-title.js';
77
77
  import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-toggle.js';
78
78
  import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-toolbar.js';
79
- import { ref, getCurrentInstance, inject, defineComponent, h, computed, provide, shallowRef, watch, onUnmounted, Fragment, isVNode, Teleport, onMounted } from 'vue';
80
79
  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
80
  export { IonicSafeString, IonicSlides, createAnimation, createGesture, getIonPageElement, getPlatforms, getTimeGivenProgression, iosTransitionAnimation, isPlatform, mdTransitionAnimation, menuController, openURL } from '@ionic/core/components';
82
81
  import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-back-button.js';
@@ -95,6 +94,194 @@ import { defineCustomElement as defineCustomElement$1o } from '@ionic/core/compo
95
94
  import { defineCustomElement as defineCustomElement$1p } from '@ionic/core/components/ion-modal.js';
96
95
  import { defineCustomElement as defineCustomElement$1q } from '@ionic/core/components/ion-popover.js';
97
96
 
97
+ // @ts-nocheck
98
+ // It's easier and safer for Volar to disable typechecking and let the return type inference do its job.
99
+ const UPDATE_VALUE_EVENT = 'update:modelValue';
100
+ const MODEL_VALUE = 'modelValue';
101
+ const ROUTER_LINK_VALUE = 'routerLink';
102
+ const NAV_MANAGER = 'navManager';
103
+ const ROUTER_PROP_PREFIX = 'router';
104
+ const ARIA_PROP_PREFIX = 'aria';
105
+ /**
106
+ * Starting in Vue 3.1.0, all properties are
107
+ * added as keys to the props object, even if
108
+ * they are not being used. In order to correctly
109
+ * account for both value props and v-model props,
110
+ * we need to check if the key exists for Vue <3.1.0
111
+ * and then check if it is not undefined for Vue >= 3.1.0.
112
+ * See https://github.com/vuejs/vue-next/issues/3889
113
+ */
114
+ const EMPTY_PROP$1 = Symbol();
115
+ const DEFAULT_EMPTY_PROP$1 = { default: EMPTY_PROP$1 };
116
+ const getComponentClasses = (classes) => {
117
+ return (classes === null || classes === void 0 ? void 0 : classes.split(' ')) || [];
118
+ };
119
+ const getElementClasses = (ref, componentClasses, defaultClasses = []) => {
120
+ var _a;
121
+ return [...Array.from(((_a = ref.value) === null || _a === void 0 ? void 0 : _a.classList) || []), ...defaultClasses].filter((c, i, self) => !componentClasses.has(c) && self.indexOf(c) === i);
122
+ };
123
+ /**
124
+ * Create a callback to define a Vue component wrapper around a Web Component.
125
+ *
126
+ * @prop name - The component tag name (i.e. `ion-button`)
127
+ * @prop componentProps - An array of properties on the
128
+ * component. These usually match up with the @Prop definitions
129
+ * in each component's TSX file.
130
+ * @prop customElement - An option custom element instance to pass
131
+ * to customElements.define. Only set if `includeImportCustomElements: true` in your config.
132
+ * @prop modelProp - The prop that v-model binds to (i.e. value)
133
+ * @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange)
134
+ */
135
+ const defineContainer = (name, defineCustomElement, componentProps = [], modelProp, modelUpdateEvent) => {
136
+ /**
137
+ * Create a Vue component wrapper around a Web Component.
138
+ * Note: The `props` here are not all properties on a component.
139
+ * They refer to whatever properties are set on an instance of a component.
140
+ */
141
+ if (defineCustomElement !== undefined) {
142
+ defineCustomElement();
143
+ }
144
+ const Container = defineComponent((props, { attrs, slots, emit }) => {
145
+ var _a;
146
+ let modelPropValue = props[modelProp];
147
+ const containerRef = ref();
148
+ const classes = new Set(getComponentClasses(attrs.class));
149
+ /**
150
+ * This directive is responsible for updating any reactive
151
+ * reference associated with v-model on the component.
152
+ * This code must be run inside of the "created" callback.
153
+ * Since the following listener callbacks as well as any potential
154
+ * event callback defined in the developer's app are set on
155
+ * the same element, we need to make sure the following callbacks
156
+ * are set first so they fire first. If the developer's callback fires first
157
+ * then the reactive reference will not have been updated yet.
158
+ */
159
+ const vModelDirective = {
160
+ created: (el) => {
161
+ const eventsNames = Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent];
162
+ eventsNames.forEach((eventName) => {
163
+ el.addEventListener(eventName.toLowerCase(), (e) => {
164
+ /**
165
+ * Only update the v-model binding if the event's target is the element we are
166
+ * listening on. For example, Component A could emit ionChange, but it could also
167
+ * have a descendant Component B that also emits ionChange. We only want to update
168
+ * the v-model for Component A when ionChange originates from that element and not
169
+ * when ionChange bubbles up from Component B.
170
+ */
171
+ if (e.target.tagName === el.tagName) {
172
+ modelPropValue = (e === null || e === void 0 ? void 0 : e.target)[modelProp];
173
+ emit(UPDATE_VALUE_EVENT, modelPropValue);
174
+ }
175
+ });
176
+ });
177
+ },
178
+ };
179
+ const currentInstance = getCurrentInstance();
180
+ const hasRouter = (_a = currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.appContext) === null || _a === void 0 ? void 0 : _a.provides[NAV_MANAGER];
181
+ const navManager = hasRouter ? inject(NAV_MANAGER) : undefined;
182
+ const handleRouterLink = (ev) => {
183
+ const { routerLink } = props;
184
+ if (routerLink === EMPTY_PROP$1)
185
+ return;
186
+ if (navManager !== undefined) {
187
+ /**
188
+ * This prevents the browser from
189
+ * performing a page reload when pressing
190
+ * an Ionic component with routerLink.
191
+ * The page reload interferes with routing
192
+ * and causes ion-back-button to disappear
193
+ * since the local history is wiped on reload.
194
+ */
195
+ ev.preventDefault();
196
+ let navigationPayload = { event: ev };
197
+ for (const key in props) {
198
+ const value = props[key];
199
+ if (props.hasOwnProperty(key) && key.startsWith(ROUTER_PROP_PREFIX) && value !== EMPTY_PROP$1) {
200
+ navigationPayload[key] = value;
201
+ }
202
+ }
203
+ navManager.navigate(navigationPayload);
204
+ }
205
+ else {
206
+ console.warn('Tried to navigate, but no router was found. Make sure you have mounted Vue Router.');
207
+ }
208
+ };
209
+ return () => {
210
+ modelPropValue = props[modelProp];
211
+ getComponentClasses(attrs.class).forEach((value) => {
212
+ classes.add(value);
213
+ });
214
+ const oldClick = props.onClick;
215
+ const handleClick = (ev) => {
216
+ if (oldClick !== undefined) {
217
+ oldClick(ev);
218
+ }
219
+ if (!ev.defaultPrevented) {
220
+ handleRouterLink(ev);
221
+ }
222
+ };
223
+ let propsToAdd = {
224
+ ref: containerRef,
225
+ class: getElementClasses(containerRef, classes),
226
+ onClick: handleClick,
227
+ };
228
+ /**
229
+ * We can use Object.entries here
230
+ * to avoid the hasOwnProperty check,
231
+ * but that would require 2 iterations
232
+ * where as this only requires 1.
233
+ */
234
+ for (const key in props) {
235
+ const value = props[key];
236
+ if ((props.hasOwnProperty(key) && value !== EMPTY_PROP$1) || key.startsWith(ARIA_PROP_PREFIX)) {
237
+ propsToAdd[key] = value;
238
+ }
239
+ }
240
+ if (modelProp) {
241
+ /**
242
+ * If form value property was set using v-model
243
+ * then we should use that value.
244
+ * Otherwise, check to see if form value property
245
+ * was set as a static value (i.e. no v-model).
246
+ */
247
+ if (props[MODEL_VALUE] !== EMPTY_PROP$1) {
248
+ propsToAdd = Object.assign(Object.assign({}, propsToAdd), { [modelProp]: props[MODEL_VALUE] });
249
+ }
250
+ else if (modelPropValue !== EMPTY_PROP$1) {
251
+ propsToAdd = Object.assign(Object.assign({}, propsToAdd), { [modelProp]: modelPropValue });
252
+ }
253
+ }
254
+ // If router link is defined, add href to props
255
+ // in order to properly render an anchor tag inside
256
+ // of components that should become activatable and
257
+ // focusable with router link.
258
+ if (props[ROUTER_LINK_VALUE] !== EMPTY_PROP$1) {
259
+ propsToAdd = Object.assign(Object.assign({}, propsToAdd), { href: props[ROUTER_LINK_VALUE] });
260
+ }
261
+ /**
262
+ * vModelDirective is only needed on components that support v-model.
263
+ * As a result, we conditionally call withDirectives with v-model components.
264
+ */
265
+ const node = h(name, propsToAdd, slots.default && slots.default());
266
+ return modelProp === undefined ? node : withDirectives(node, [[vModelDirective]]);
267
+ };
268
+ });
269
+ if (typeof Container !== 'function') {
270
+ Container.name = name;
271
+ Container.props = {
272
+ [ROUTER_LINK_VALUE]: DEFAULT_EMPTY_PROP$1,
273
+ };
274
+ componentProps.forEach((componentProp) => {
275
+ Container.props[componentProp] = DEFAULT_EMPTY_PROP$1;
276
+ });
277
+ if (modelProp) {
278
+ Container.props[MODEL_VALUE] = DEFAULT_EMPTY_PROP$1;
279
+ Container.emits = [UPDATE_VALUE_EVENT];
280
+ }
281
+ }
282
+ return Container;
283
+ };
284
+
98
285
  /* eslint-disable */
99
286
  /* tslint:disable */
100
287
  /* auto-generated vue proxies */
@@ -112,23 +299,24 @@ const IonAccordionGroup = /*@__PURE__*/ defineContainer('ion-accordion-group', d
112
299
  'disabled',
113
300
  'readonly',
114
301
  'expand',
115
- 'ionChange',
116
- 'ionValueChange'
117
- ], [
302
+ 'shape',
118
303
  'ionChange',
119
304
  'ionValueChange'
120
305
  ], 'value', 'ion-change');
121
- const IonAvatar = /*@__PURE__*/ defineContainer('ion-avatar', defineCustomElement$2);
306
+ const IonAvatar = /*@__PURE__*/ defineContainer('ion-avatar', defineCustomElement$2, [
307
+ 'size',
308
+ 'shape'
309
+ ]);
122
310
  const IonBackdrop = /*@__PURE__*/ defineContainer('ion-backdrop', defineCustomElement$3, [
123
311
  'visible',
124
312
  'tappable',
125
313
  'stopPropagation',
126
314
  'ionBackdropTap'
127
- ], [
128
- 'ionBackdropTap'
129
315
  ]);
130
316
  const IonBadge = /*@__PURE__*/ defineContainer('ion-badge', defineCustomElement$4, [
131
- 'color'
317
+ 'color',
318
+ 'shape',
319
+ 'size'
132
320
  ]);
133
321
  const IonBreadcrumb = /*@__PURE__*/ defineContainer('ion-breadcrumb', defineCustomElement$5, [
134
322
  'collapsed',
@@ -147,10 +335,6 @@ const IonBreadcrumb = /*@__PURE__*/ defineContainer('ion-breadcrumb', defineCust
147
335
  'ionFocus',
148
336
  'ionBlur',
149
337
  'collapsedClick'
150
- ], [
151
- 'ionFocus',
152
- 'ionBlur',
153
- 'collapsedClick'
154
338
  ]);
155
339
  const IonBreadcrumbs = /*@__PURE__*/ defineContainer('ion-breadcrumbs', defineCustomElement$6, [
156
340
  'color',
@@ -158,8 +342,6 @@ const IonBreadcrumbs = /*@__PURE__*/ defineContainer('ion-breadcrumbs', defineCu
158
342
  'itemsBeforeCollapse',
159
343
  'itemsAfterCollapse',
160
344
  'ionCollapsedClick'
161
- ], [
162
- 'ionCollapsedClick'
163
345
  ]);
164
346
  const IonButton = /*@__PURE__*/ defineContainer('ion-button', defineCustomElement$7, [
165
347
  'color',
@@ -180,9 +362,6 @@ const IonButton = /*@__PURE__*/ defineContainer('ion-button', defineCustomElemen
180
362
  'form',
181
363
  'ionFocus',
182
364
  'ionBlur'
183
- ], [
184
- 'ionFocus',
185
- 'ionBlur'
186
365
  ]);
187
366
  const IonButtons = /*@__PURE__*/ defineContainer('ion-buttons', defineCustomElement$8, [
188
367
  'collapse'
@@ -197,6 +376,7 @@ const IonCard = /*@__PURE__*/ defineContainer('ion-card', defineCustomElement$9,
197
376
  'rel',
198
377
  'routerDirection',
199
378
  'routerAnimation',
379
+ 'shape',
200
380
  'target'
201
381
  ]);
202
382
  const IonCardContent = /*@__PURE__*/ defineContainer('ion-card-content', defineCustomElement$a);
@@ -220,11 +400,8 @@ const IonCheckbox = /*@__PURE__*/ defineContainer('ion-checkbox', defineCustomEl
220
400
  'labelPlacement',
221
401
  'justify',
222
402
  'alignment',
223
- 'required',
224
- 'ionChange',
225
- 'ionFocus',
226
- 'ionBlur'
227
- ], [
403
+ 'size',
404
+ 'shape',
228
405
  'ionChange',
229
406
  'ionFocus',
230
407
  'ionBlur'
@@ -232,7 +409,9 @@ const IonCheckbox = /*@__PURE__*/ defineContainer('ion-checkbox', defineCustomEl
232
409
  const IonChip = /*@__PURE__*/ defineContainer('ion-chip', defineCustomElement$f, [
233
410
  'color',
234
411
  'outline',
235
- 'disabled'
412
+ 'disabled',
413
+ 'shape',
414
+ 'size'
236
415
  ]);
237
416
  const IonCol = /*@__PURE__*/ defineContainer('ion-col', defineCustomElement$g, [
238
417
  'offset',
@@ -271,10 +450,6 @@ const IonContent = /*@__PURE__*/ defineContainer('ion-content', defineCustomElem
271
450
  'ionScrollStart',
272
451
  'ionScroll',
273
452
  'ionScrollEnd'
274
- ], [
275
- 'ionScrollStart',
276
- 'ionScroll',
277
- 'ionScrollEnd'
278
453
  ]);
279
454
  const IonDatetime = /*@__PURE__*/ defineContainer('ion-datetime', defineCustomElement$i, [
280
455
  'color',
@@ -314,14 +489,6 @@ const IonDatetime = /*@__PURE__*/ defineContainer('ion-datetime', defineCustomEl
314
489
  'ionBlur',
315
490
  'ionStyle',
316
491
  'ionRender'
317
- ], [
318
- 'ionCancel',
319
- 'ionChange',
320
- 'ionValueChange',
321
- 'ionFocus',
322
- 'ionBlur',
323
- 'ionStyle',
324
- 'ionRender'
325
492
  ], 'value', 'ion-change');
326
493
  const IonDatetimeButton = /*@__PURE__*/ defineContainer('ion-datetime-button', defineCustomElement$j, [
327
494
  'color',
@@ -351,9 +518,6 @@ const IonFabButton = /*@__PURE__*/ defineContainer('ion-fab-button', defineCusto
351
518
  'closeIcon',
352
519
  'ionFocus',
353
520
  'ionBlur'
354
- ], [
355
- 'ionFocus',
356
- 'ionBlur'
357
521
  ]);
358
522
  const IonFabList = /*@__PURE__*/ defineContainer('ion-fab-list', defineCustomElement$m, [
359
523
  'activated',
@@ -368,6 +532,7 @@ const IonGrid = /*@__PURE__*/ defineContainer('ion-grid', defineCustomElement$o,
368
532
  ]);
369
533
  const IonHeader = /*@__PURE__*/ defineContainer('ion-header', defineCustomElement$p, [
370
534
  'collapse',
535
+ 'divider',
371
536
  'translucent'
372
537
  ]);
373
538
  const IonImg = /*@__PURE__*/ defineContainer('ion-img', defineCustomElement$q, [
@@ -376,18 +541,12 @@ const IonImg = /*@__PURE__*/ defineContainer('ion-img', defineCustomElement$q, [
376
541
  'ionImgWillLoad',
377
542
  'ionImgDidLoad',
378
543
  'ionError'
379
- ], [
380
- 'ionImgWillLoad',
381
- 'ionImgDidLoad',
382
- 'ionError'
383
544
  ]);
384
545
  const IonInfiniteScroll = /*@__PURE__*/ defineContainer('ion-infinite-scroll', defineCustomElement$r, [
385
546
  'threshold',
386
547
  'disabled',
387
548
  'position',
388
549
  'ionInfinite'
389
- ], [
390
- 'ionInfinite'
391
550
  ]);
392
551
  const IonInfiniteScrollContent = /*@__PURE__*/ defineContainer('ion-infinite-scroll-content', defineCustomElement$s, [
393
552
  'loadingSpinner',
@@ -426,17 +585,13 @@ const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineCustomElement$
426
585
  'shape',
427
586
  'spellcheck',
428
587
  'step',
588
+ 'size',
429
589
  'type',
430
590
  'value',
431
591
  'ionInput',
432
592
  'ionChange',
433
593
  'ionBlur',
434
594
  'ionFocus'
435
- ], [
436
- 'ionInput',
437
- 'ionChange',
438
- 'ionBlur',
439
- 'ionFocus'
440
595
  ], 'value', 'ion-input');
441
596
  const IonInputPasswordToggle = /*@__PURE__*/ defineContainer('ion-input-password-toggle', defineCustomElement$u, [
442
597
  'color',
@@ -472,32 +627,27 @@ const IonItemOption = /*@__PURE__*/ defineContainer('ion-item-option', defineCus
472
627
  'href',
473
628
  'rel',
474
629
  'target',
475
- 'type'
630
+ 'type',
631
+ 'shape'
476
632
  ]);
477
633
  const IonItemOptions = /*@__PURE__*/ defineContainer('ion-item-options', defineCustomElement$z, [
478
634
  'side',
479
635
  'ionSwipe'
480
- ], [
481
- 'ionSwipe'
482
636
  ]);
483
637
  const IonItemSliding = /*@__PURE__*/ defineContainer('ion-item-sliding', defineCustomElement$A, [
484
638
  'disabled',
485
639
  'ionDrag'
486
- ], [
487
- 'ionDrag'
488
640
  ]);
489
641
  const IonLabel = /*@__PURE__*/ defineContainer('ion-label', defineCustomElement$B, [
490
642
  'color',
491
643
  'position',
492
644
  'ionColor',
493
645
  'ionStyle'
494
- ], [
495
- 'ionColor',
496
- 'ionStyle'
497
646
  ]);
498
647
  const IonList = /*@__PURE__*/ defineContainer('ion-list', defineCustomElement$C, [
499
648
  'lines',
500
- 'inset'
649
+ 'inset',
650
+ 'shape'
501
651
  ]);
502
652
  const IonListHeader = /*@__PURE__*/ defineContainer('ion-list-header', defineCustomElement$D, [
503
653
  'color',
@@ -516,12 +666,6 @@ const IonMenu = /*@__PURE__*/ defineContainer('ion-menu', defineCustomElement$E,
516
666
  'ionDidOpen',
517
667
  'ionDidClose',
518
668
  'ionMenuChange'
519
- ], [
520
- 'ionWillOpen',
521
- 'ionWillClose',
522
- 'ionDidOpen',
523
- 'ionDidClose',
524
- 'ionMenuChange'
525
669
  ]);
526
670
  const IonMenuButton = /*@__PURE__*/ defineContainer('ion-menu-button', defineCustomElement$F, [
527
671
  'color',
@@ -545,8 +689,6 @@ const IonNote = /*@__PURE__*/ defineContainer('ion-note', defineCustomElement$I,
545
689
  ]);
546
690
  const IonPicker = /*@__PURE__*/ defineContainer('ion-picker', defineCustomElement$J, [
547
691
  'ionInputModeChange'
548
- ], [
549
- 'ionInputModeChange'
550
692
  ]);
551
693
  const IonPickerColumn = /*@__PURE__*/ defineContainer('ion-picker-column', defineCustomElement$K, [
552
694
  'disabled',
@@ -554,8 +696,6 @@ const IonPickerColumn = /*@__PURE__*/ defineContainer('ion-picker-column', defin
554
696
  'color',
555
697
  'numericInput',
556
698
  'ionChange'
557
- ], [
558
- 'ionChange'
559
699
  ]);
560
700
  const IonPickerColumnOption = /*@__PURE__*/ defineContainer('ion-picker-column-option', defineCustomElement$L, [
561
701
  'disabled',
@@ -579,21 +719,14 @@ const IonRadio = /*@__PURE__*/ defineContainer('ion-radio', defineCustomElement$
579
719
  'alignment',
580
720
  'ionFocus',
581
721
  'ionBlur'
582
- ], [
583
- 'ionFocus',
584
- 'ionBlur'
585
722
  ], 'value', 'ion-change');
586
723
  const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineCustomElement$O, [
587
724
  'allowEmptySelection',
588
725
  'compareWith',
589
726
  'name',
590
- 'required',
591
727
  'value',
592
728
  'ionChange',
593
729
  'ionValueChange'
594
- ], [
595
- 'ionChange',
596
- 'ionValueChange'
597
730
  ], 'value', 'ion-change');
598
731
  const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineCustomElement$P, [
599
732
  'color',
@@ -618,13 +751,6 @@ const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineCustomElement$
618
751
  'ionBlur',
619
752
  'ionKnobMoveStart',
620
753
  'ionKnobMoveEnd'
621
- ], [
622
- 'ionChange',
623
- 'ionInput',
624
- 'ionFocus',
625
- 'ionBlur',
626
- 'ionKnobMoveStart',
627
- 'ionKnobMoveEnd'
628
754
  ], 'value', 'ion-input');
629
755
  const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineCustomElement$Q, [
630
756
  'pullMin',
@@ -636,10 +762,6 @@ const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineCustom
636
762
  'ionRefresh',
637
763
  'ionPull',
638
764
  'ionStart'
639
- ], [
640
- 'ionRefresh',
641
- 'ionPull',
642
- 'ionStart'
643
765
  ]);
644
766
  const IonRefresherContent = /*@__PURE__*/ defineContainer('ion-refresher-content', defineCustomElement$R, [
645
767
  'pullingIcon',
@@ -651,8 +773,6 @@ const IonReorder = /*@__PURE__*/ defineContainer('ion-reorder', defineCustomElem
651
773
  const IonReorderGroup = /*@__PURE__*/ defineContainer('ion-reorder-group', defineCustomElement$T, [
652
774
  'disabled',
653
775
  'ionItemReorder'
654
- ], [
655
- 'ionItemReorder'
656
776
  ]);
657
777
  const IonRippleEffect = /*@__PURE__*/ defineContainer('ion-ripple-effect', defineCustomElement$U, [
658
778
  'type'
@@ -688,14 +808,6 @@ const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineCustom
688
808
  'ionBlur',
689
809
  'ionFocus',
690
810
  'ionStyle'
691
- ], [
692
- 'ionInput',
693
- 'ionChange',
694
- 'ionCancel',
695
- 'ionClear',
696
- 'ionBlur',
697
- 'ionFocus',
698
- 'ionStyle'
699
811
  ], 'value', 'ion-input');
700
812
  const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineCustomElement$X, [
701
813
  'color',
@@ -707,10 +819,6 @@ const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineCustomElem
707
819
  'ionChange',
708
820
  'ionSelect',
709
821
  'ionStyle'
710
- ], [
711
- 'ionChange',
712
- 'ionSelect',
713
- 'ionStyle'
714
822
  ], 'value', 'ion-change');
715
823
  const IonSegmentButton = /*@__PURE__*/ defineContainer('ion-segment-button', defineCustomElement$Y, [
716
824
  'contentId',
@@ -718,13 +826,11 @@ const IonSegmentButton = /*@__PURE__*/ defineContainer('ion-segment-button', def
718
826
  'layout',
719
827
  'type',
720
828
  'value'
721
- ], [], 'value', 'ion-change');
829
+ ], 'value', 'ion-change');
722
830
  const IonSegmentContent = /*@__PURE__*/ defineContainer('ion-segment-content', defineCustomElement$Z);
723
831
  const IonSegmentView = /*@__PURE__*/ defineContainer('ion-segment-view', defineCustomElement$_, [
724
832
  'disabled',
725
833
  'ionSegmentViewScroll'
726
- ], [
727
- 'ionSegmentViewScroll'
728
834
  ]);
729
835
  const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineCustomElement$$, [
730
836
  'cancelText',
@@ -746,14 +852,7 @@ const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineCustomElemen
746
852
  'expandedIcon',
747
853
  'shape',
748
854
  'value',
749
- 'required',
750
- 'ionChange',
751
- 'ionCancel',
752
- 'ionDismiss',
753
- 'ionFocus',
754
- 'ionBlur',
755
- 'ionStyle'
756
- ], [
855
+ 'size',
757
856
  'ionChange',
758
857
  'ionCancel',
759
858
  'ionDismiss',
@@ -773,22 +872,19 @@ const IonSelectOption = /*@__PURE__*/ defineContainer('ion-select-option', defin
773
872
  const IonSkeletonText = /*@__PURE__*/ defineContainer('ion-skeleton-text', defineCustomElement$12, [
774
873
  'animated',
775
874
  'ionStyle'
776
- ], [
777
- 'ionStyle'
778
875
  ]);
779
876
  const IonSpinner = /*@__PURE__*/ defineContainer('ion-spinner', defineCustomElement$13, [
780
877
  'color',
781
878
  'duration',
782
879
  'name',
783
- 'paused'
880
+ 'paused',
881
+ 'size'
784
882
  ]);
785
883
  const IonSplitPane = /*@__PURE__*/ defineContainer('ion-split-pane', defineCustomElement$14, [
786
884
  'contentId',
787
885
  'disabled',
788
886
  'when',
789
887
  'ionSplitPaneVisible'
790
- ], [
791
- 'ionSplitPaneVisible'
792
888
  ]);
793
889
  const IonTab = /*@__PURE__*/ defineContainer('ion-tab', defineCustomElement$15, [
794
890
  'active',
@@ -828,11 +924,7 @@ const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineCustomEl
828
924
  'label',
829
925
  'labelPlacement',
830
926
  'shape',
831
- 'ionChange',
832
- 'ionInput',
833
- 'ionBlur',
834
- 'ionFocus'
835
- ], [
927
+ 'size',
836
928
  'ionChange',
837
929
  'ionInput',
838
930
  'ionBlur',
@@ -843,8 +935,6 @@ const IonTitle = /*@__PURE__*/ defineContainer('ion-title', defineCustomElement$
843
935
  'color',
844
936
  'size',
845
937
  'ionStyle'
846
- ], [
847
- 'ionStyle'
848
938
  ]);
849
939
  const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineCustomElement$1a, [
850
940
  'color',
@@ -856,11 +946,6 @@ const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineCustomElemen
856
946
  'labelPlacement',
857
947
  'justify',
858
948
  'alignment',
859
- 'required',
860
- 'ionChange',
861
- 'ionFocus',
862
- 'ionBlur'
863
- ], [
864
949
  'ionChange',
865
950
  'ionFocus',
866
951
  'ionBlur'
@@ -2234,13 +2319,13 @@ const defineOverlayContainer = (name, defineCustomElement, componentProps = [],
2234
2319
  * This is an autogenerated file created by 'scripts/copy-overlays.js'.
2235
2320
  * Changes made to this file will be overwritten on build.
2236
2321
  */
2237
- const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet', defineCustomElement$1k, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger']);
2238
- const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion-alert', defineCustomElement$1l, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger']);
2239
- const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineCustomElement$1m, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger']);
2240
- const IonPickerLegacy = /*@__PURE__*/ defineOverlayContainer('ion-picker-legacy', defineCustomElement$1n, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger']);
2241
- const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineCustomElement$1o, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger']);
2242
- const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineCustomElement$1p, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'focusTrap', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'trigger'], true);
2243
- const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineCustomElement$1q, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'focusTrap', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'translucent', 'trigger', 'triggerAction']);
2322
+ const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet', defineCustomElement$1k, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'theme', 'translucent', 'trigger']);
2323
+ const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion-alert', defineCustomElement$1l, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'theme', 'translucent', 'trigger']);
2324
+ const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineCustomElement$1m, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'theme', 'translucent', 'trigger']);
2325
+ const IonPickerLegacy = /*@__PURE__*/ defineOverlayContainer('ion-picker-legacy', defineCustomElement$1n, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'theme', 'trigger']);
2326
+ const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineCustomElement$1o, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'shape', 'swipeGesture', 'theme', 'translucent', 'trigger']);
2327
+ const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineCustomElement$1p, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'focusTrap', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'shape', 'showBackdrop', 'theme', 'trigger'], true);
2328
+ const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineCustomElement$1q, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'focusTrap', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'theme', 'translucent', 'trigger', 'triggerAction']);
2244
2329
 
2245
2330
  // TODO(FW-2969): types
2246
2331
  /**