UNPKG

321 kBTypeScriptView Raw
1/* eslint-disable */
2/* tslint:disable */
3/**
4 * This is an autogenerated file created by the Stencil compiler.
5 * It contains typing information for all components that exist in this project.
6 */
7import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8import { AccordionGroupChangeEventDetail, ActionSheetAttributes, ActionSheetButton, AlertButton, AlertInput, AnimationBuilder, AutocompleteTypes, BreadcrumbCollapsedClickEventDetail, CheckboxChangeEventDetail, Color, ComponentProps, ComponentRef, DatetimeChangeEventDetail, DomRenderFn, FooterHeightFn, FrameworkDelegate, HeaderFn, HeaderHeightFn, InputChangeEventDetail, ItemHeightFn, ItemRenderFn, ItemReorderEventDetail, LoadingAttributes, MenuChangeEventDetail, ModalAttributes, NavComponent, NavComponentWithProps, NavOptions, OverlayEventDetail, PickerAttributes, PickerButton, PickerColumn, PopoverAttributes, PopoverSize, PositionAlign, PositionReference, PositionSide, RadioGroupChangeEventDetail, RangeChangeEventDetail, RangeValue, RefresherEventDetail, RouteID, RouterDirection, RouterEventDetail, RouterOutletOptions, RouteWrite, ScrollBaseDetail, ScrollDetail, SearchbarChangeEventDetail, SegmentButtonLayout, SegmentChangeEventDetail, SelectChangeEventDetail, SelectInterface, SelectPopoverOption, Side, SpinnerTypes, StyleEventDetail, SwipeGestureHandler, TabBarChangedEventDetail, TabButtonClickEventDetail, TabButtonLayout, TextareaChangeEventDetail, TextFieldTypes, ToastButton, ToggleChangeEventDetail, TransitionDoneFn, TransitionInstruction, TriggerAction, ViewController } from "./interface";
9import { IonicSafeString } from "./utils/sanitization";
10import { AlertAttributes } from "./components/alert/alert-interface";
11import { PickerColumnItem } from "./components/picker-column-internal/picker-column-internal-interfaces";
12import { PickerInternalChangeEventDetail } from "./components/picker-internal/picker-internal-interfaces";
13import { PinFormatter } from "./components/range/range-interface";
14import { NavigationHookCallback } from "./components/route/route-interface";
15import { SelectCompareFn } from "./components/select/select-interface";
16import { ToastAttributes } from "./components/toast/toast-interface";
17export namespace Components {
18 interface IonAccordion {
19 /**
20 * If `true`, the accordion cannot be interacted with.
21 */
22 "disabled": boolean;
23 /**
24 * The mode determines which platform styles to use.
25 */
26 "mode"?: "ios" | "md";
27 /**
28 * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
29 */
30 "readonly": boolean;
31 /**
32 * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
33 */
34 "toggleIcon": string;
35 /**
36 * The slot inside of `ion-item` to place the toggle icon. Defaults to `'end'`.
37 */
38 "toggleIconSlot": 'start' | 'end';
39 /**
40 * The value of the accordion. Defaults to an autogenerated value.
41 */
42 "value": string;
43 }
44 interface IonAccordionGroup {
45 /**
46 * If `true`, all accordions inside of the accordion group will animate when expanding or collapsing.
47 */
48 "animated": boolean;
49 /**
50 * If `true`, the accordion group cannot be interacted with.
51 */
52 "disabled": boolean;
53 /**
54 * Describes the expansion behavior for each accordion. Possible values are `"compact"` and `"inset"`. Defaults to `"compact"`.
55 */
56 "expand": 'compact' | 'inset';
57 "getAccordions": () => Promise<HTMLIonAccordionElement[]>;
58 /**
59 * The mode determines which platform styles to use.
60 */
61 "mode"?: "ios" | "md";
62 /**
63 * If `true`, the accordion group can have multiple accordion components expanded at the same time.
64 */
65 "multiple"?: boolean;
66 /**
67 * If `true`, the accordion group cannot be interacted with, but does not alter the opacity.
68 */
69 "readonly": boolean;
70 "requestAccordionToggle": (accordionValue: string | undefined, accordionExpand: boolean) => Promise<void>;
71 /**
72 * The value of the accordion group.
73 */
74 "value"?: string | string[] | null;
75 }
76 interface IonActionSheet {
77 /**
78 * If `true`, the action sheet will animate.
79 */
80 "animated": boolean;
81 /**
82 * If `true`, the action sheet will be dismissed when the backdrop is clicked.
83 */
84 "backdropDismiss": boolean;
85 /**
86 * An array of buttons for the action sheet.
87 */
88 "buttons": (ActionSheetButton | string)[];
89 /**
90 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
91 */
92 "cssClass"?: string | string[];
93 /**
94 * Dismiss the action sheet overlay after it has been presented.
95 * @param data Any data to emit in the dismiss events.
96 * @param role The role of the element that is dismissing the action sheet. This can be useful in a button handler for determining which button was clicked to dismiss the action sheet. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
97 */
98 "dismiss": (data?: any, role?: string | undefined) => Promise<boolean>;
99 /**
100 * Animation to use when the action sheet is presented.
101 */
102 "enterAnimation"?: AnimationBuilder;
103 /**
104 * Title for the action sheet.
105 */
106 "header"?: string;
107 /**
108 * Additional attributes to pass to the action sheet.
109 */
110 "htmlAttributes"?: ActionSheetAttributes;
111 /**
112 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
113 */
114 "keyboardClose": boolean;
115 /**
116 * Animation to use when the action sheet is dismissed.
117 */
118 "leaveAnimation"?: AnimationBuilder;
119 /**
120 * The mode determines which platform styles to use.
121 */
122 "mode"?: "ios" | "md";
123 /**
124 * Returns a promise that resolves when the action sheet did dismiss.
125 */
126 "onDidDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
127 /**
128 * Returns a promise that resolves when the action sheet will dismiss.
129 */
130 "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
131 "overlayIndex": number;
132 /**
133 * Present the action sheet overlay after it has been created.
134 */
135 "present": () => Promise<void>;
136 /**
137 * Subtitle for the action sheet.
138 */
139 "subHeader"?: string;
140 /**
141 * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
142 */
143 "translucent": boolean;
144 }
145 interface IonAlert {
146 /**
147 * If `true`, the alert will animate.
148 */
149 "animated": boolean;
150 /**
151 * If `true`, the alert will be dismissed when the backdrop is clicked.
152 */
153 "backdropDismiss": boolean;
154 /**
155 * Array of buttons to be added to the alert.
156 */
157 "buttons": (AlertButton | string)[];
158 /**
159 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
160 */
161 "cssClass"?: string | string[];
162 /**
163 * Dismiss the alert overlay after it has been presented.
164 * @param data Any data to emit in the dismiss events.
165 * @param role The role of the element that is dismissing the alert. This can be useful in a button handler for determining which button was clicked to dismiss the alert. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
166 */
167 "dismiss": (data?: any, role?: string | undefined) => Promise<boolean>;
168 /**
169 * Animation to use when the alert is presented.
170 */
171 "enterAnimation"?: AnimationBuilder;
172 /**
173 * The main title in the heading of the alert.
174 */
175 "header"?: string;
176 /**
177 * Additional attributes to pass to the alert.
178 */
179 "htmlAttributes"?: AlertAttributes;
180 /**
181 * Array of input to show in the alert.
182 */
183 "inputs": AlertInput[];
184 /**
185 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
186 */
187 "keyboardClose": boolean;
188 /**
189 * Animation to use when the alert is dismissed.
190 */
191 "leaveAnimation"?: AnimationBuilder;
192 /**
193 * The main message to be displayed in the alert. `message` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
194 */
195 "message"?: string | IonicSafeString;
196 /**
197 * The mode determines which platform styles to use.
198 */
199 "mode"?: "ios" | "md";
200 /**
201 * Returns a promise that resolves when the alert did dismiss.
202 */
203 "onDidDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
204 /**
205 * Returns a promise that resolves when the alert will dismiss.
206 */
207 "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
208 "overlayIndex": number;
209 /**
210 * Present the alert overlay after it has been created.
211 */
212 "present": () => Promise<void>;
213 /**
214 * The subtitle in the heading of the alert. Displayed under the title.
215 */
216 "subHeader"?: string;
217 /**
218 * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
219 */
220 "translucent": boolean;
221 }
222 interface IonApp {
223 "setFocus": (elements: HTMLElement[]) => Promise<void>;
224 }
225 interface IonAvatar {
226 }
227 interface IonBackButton {
228 /**
229 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
230 */
231 "color"?: Color;
232 /**
233 * The url to navigate back to by default when there is no history.
234 */
235 "defaultHref"?: string;
236 /**
237 * If `true`, the user cannot interact with the button.
238 */
239 "disabled": boolean;
240 /**
241 * The built-in named SVG icon name or the exact `src` of an SVG file to use for the back button.
242 */
243 "icon"?: string | null;
244 /**
245 * The mode determines which platform styles to use.
246 */
247 "mode"?: "ios" | "md";
248 /**
249 * When using a router, it specifies the transition animation when navigating to another page.
250 */
251 "routerAnimation": AnimationBuilder | undefined;
252 /**
253 * The text to display in the back button.
254 */
255 "text"?: string | null;
256 /**
257 * The type of the button.
258 */
259 "type": 'submit' | 'reset' | 'button';
260 }
261 interface IonBackdrop {
262 /**
263 * If `true`, the backdrop will stop propagation on tap.
264 */
265 "stopPropagation": boolean;
266 /**
267 * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
268 */
269 "tappable": boolean;
270 /**
271 * If `true`, the backdrop will be visible.
272 */
273 "visible": boolean;
274 }
275 interface IonBadge {
276 /**
277 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
278 */
279 "color"?: Color;
280 /**
281 * The mode determines which platform styles to use.
282 */
283 "mode"?: "ios" | "md";
284 }
285 interface IonBreadcrumb {
286 /**
287 * If `true`, the breadcrumb will take on a different look to show that it is the currently active breadcrumb. Defaults to `true` for the last breadcrumb if it is not set on any.
288 */
289 "active": boolean;
290 "collapsed": boolean;
291 /**
292 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
293 */
294 "color"?: Color;
295 /**
296 * If `true`, the user cannot interact with the breadcrumb.
297 */
298 "disabled": boolean;
299 /**
300 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
301 */
302 "download": string | undefined;
303 /**
304 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
305 */
306 "href": string | undefined;
307 "last": boolean;
308 /**
309 * The mode determines which platform styles to use.
310 */
311 "mode"?: "ios" | "md";
312 /**
313 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
314 */
315 "rel": string | undefined;
316 /**
317 * When using a router, it specifies the transition animation when navigating to another page using `href`.
318 */
319 "routerAnimation": AnimationBuilder | undefined;
320 /**
321 * When using a router, it specifies the transition direction when navigating to another page using `href`.
322 */
323 "routerDirection": RouterDirection;
324 /**
325 * If true, show a separator between this breadcrumb and the next. Defaults to `true` for all breadcrumbs except the last.
326 */
327 "separator"?: boolean | undefined;
328 "showCollapsedIndicator": boolean;
329 /**
330 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
331 */
332 "target": string | undefined;
333 }
334 interface IonBreadcrumbs {
335 /**
336 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
337 */
338 "color"?: Color;
339 /**
340 * The number of breadcrumbs to show after the collapsed indicator. If this property exists `maxItems` will be ignored.
341 */
342 "itemsAfterCollapse": number;
343 /**
344 * The number of breadcrumbs to show before the collapsed indicator. If this property exists `maxItems` will be ignored.
345 */
346 "itemsBeforeCollapse": number;
347 /**
348 * The maximum number of breadcrumbs to show before collapsing.
349 */
350 "maxItems"?: number;
351 /**
352 * The mode determines which platform styles to use.
353 */
354 "mode"?: "ios" | "md";
355 }
356 interface IonButton {
357 /**
358 * The type of button.
359 */
360 "buttonType": string;
361 /**
362 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
363 */
364 "color"?: Color;
365 /**
366 * If `true`, the user cannot interact with the button.
367 */
368 "disabled": boolean;
369 /**
370 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
371 */
372 "download": string | undefined;
373 /**
374 * Set to `"block"` for a full-width button or to `"full"` for a full-width button without left and right borders.
375 */
376 "expand"?: 'full' | 'block';
377 /**
378 * Set to `"clear"` for a transparent button, to `"outline"` for a transparent button with a border, or to `"solid"`. The default style is `"solid"` except inside of a toolbar, where the default is `"clear"`.
379 */
380 "fill"?: 'clear' | 'outline' | 'solid' | 'default';
381 /**
382 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
383 */
384 "href": string | undefined;
385 /**
386 * The mode determines which platform styles to use.
387 */
388 "mode"?: "ios" | "md";
389 /**
390 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
391 */
392 "rel": string | undefined;
393 /**
394 * When using a router, it specifies the transition animation when navigating to another page using `href`.
395 */
396 "routerAnimation": AnimationBuilder | undefined;
397 /**
398 * When using a router, it specifies the transition direction when navigating to another page using `href`.
399 */
400 "routerDirection": RouterDirection;
401 /**
402 * The button shape.
403 */
404 "shape"?: 'round';
405 /**
406 * The button size.
407 */
408 "size"?: 'small' | 'default' | 'large';
409 /**
410 * If `true`, activates a button with a heavier font weight.
411 */
412 "strong": boolean;
413 /**
414 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
415 */
416 "target": string | undefined;
417 /**
418 * The type of the button.
419 */
420 "type": 'submit' | 'reset' | 'button';
421 }
422 interface IonButtons {
423 /**
424 * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
425 */
426 "collapse": boolean;
427 }
428 interface IonCard {
429 /**
430 * If `true`, a button tag will be rendered and the card will be tappable.
431 */
432 "button": boolean;
433 /**
434 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
435 */
436 "color"?: Color;
437 /**
438 * If `true`, the user cannot interact with the card.
439 */
440 "disabled": boolean;
441 /**
442 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
443 */
444 "download": string | undefined;
445 /**
446 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
447 */
448 "href": string | undefined;
449 /**
450 * The mode determines which platform styles to use.
451 */
452 "mode"?: "ios" | "md";
453 /**
454 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
455 */
456 "rel": string | undefined;
457 /**
458 * When using a router, it specifies the transition animation when navigating to another page using `href`.
459 */
460 "routerAnimation": AnimationBuilder | undefined;
461 /**
462 * When using a router, it specifies the transition direction when navigating to another page using `href`.
463 */
464 "routerDirection": RouterDirection;
465 /**
466 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
467 */
468 "target": string | undefined;
469 /**
470 * The type of the button. Only used when an `onclick` or `button` property is present.
471 */
472 "type": 'submit' | 'reset' | 'button';
473 }
474 interface IonCardContent {
475 /**
476 * The mode determines which platform styles to use.
477 */
478 "mode"?: "ios" | "md";
479 }
480 interface IonCardHeader {
481 /**
482 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
483 */
484 "color"?: Color;
485 /**
486 * The mode determines which platform styles to use.
487 */
488 "mode"?: "ios" | "md";
489 /**
490 * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
491 */
492 "translucent": boolean;
493 }
494 interface IonCardSubtitle {
495 /**
496 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
497 */
498 "color"?: Color;
499 /**
500 * The mode determines which platform styles to use.
501 */
502 "mode"?: "ios" | "md";
503 }
504 interface IonCardTitle {
505 /**
506 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
507 */
508 "color"?: Color;
509 /**
510 * The mode determines which platform styles to use.
511 */
512 "mode"?: "ios" | "md";
513 }
514 interface IonCheckbox {
515 /**
516 * If `true`, the checkbox is selected.
517 */
518 "checked": boolean;
519 /**
520 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
521 */
522 "color"?: Color;
523 /**
524 * If `true`, the user cannot interact with the checkbox.
525 */
526 "disabled": boolean;
527 /**
528 * If `true`, the checkbox will visually appear as indeterminate.
529 */
530 "indeterminate": boolean;
531 /**
532 * The mode determines which platform styles to use.
533 */
534 "mode"?: "ios" | "md";
535 /**
536 * The name of the control, which is submitted with the form data.
537 */
538 "name": string;
539 /**
540 * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
541 */
542 "value": any | null;
543 }
544 interface IonChip {
545 /**
546 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
547 */
548 "color"?: Color;
549 /**
550 * If `true`, the user cannot interact with the chip.
551 */
552 "disabled": boolean;
553 /**
554 * The mode determines which platform styles to use.
555 */
556 "mode"?: "ios" | "md";
557 /**
558 * Display an outline style button.
559 */
560 "outline": boolean;
561 }
562 interface IonCol {
563 /**
564 * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
565 */
566 "offset"?: string;
567 /**
568 * The amount to offset the column for lg screens, in terms of how many columns it should shift to the end of the total available.
569 */
570 "offsetLg"?: string;
571 /**
572 * The amount to offset the column for md screens, in terms of how many columns it should shift to the end of the total available.
573 */
574 "offsetMd"?: string;
575 /**
576 * The amount to offset the column for sm screens, in terms of how many columns it should shift to the end of the total available.
577 */
578 "offsetSm"?: string;
579 /**
580 * The amount to offset the column for xl screens, in terms of how many columns it should shift to the end of the total available.
581 */
582 "offsetXl"?: string;
583 /**
584 * The amount to offset the column for xs screens, in terms of how many columns it should shift to the end of the total available.
585 */
586 "offsetXs"?: string;
587 /**
588 * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
589 */
590 "pull"?: string;
591 /**
592 * The amount to pull the column for lg screens, in terms of how many columns it should shift to the start of the total available.
593 */
594 "pullLg"?: string;
595 /**
596 * The amount to pull the column for md screens, in terms of how many columns it should shift to the start of the total available.
597 */
598 "pullMd"?: string;
599 /**
600 * The amount to pull the column for sm screens, in terms of how many columns it should shift to the start of the total available.
601 */
602 "pullSm"?: string;
603 /**
604 * The amount to pull the column for xl screens, in terms of how many columns it should shift to the start of the total available.
605 */
606 "pullXl"?: string;
607 /**
608 * The amount to pull the column for xs screens, in terms of how many columns it should shift to the start of the total available.
609 */
610 "pullXs"?: string;
611 /**
612 * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
613 */
614 "push"?: string;
615 /**
616 * The amount to push the column for lg screens, in terms of how many columns it should shift to the end of the total available.
617 */
618 "pushLg"?: string;
619 /**
620 * The amount to push the column for md screens, in terms of how many columns it should shift to the end of the total available.
621 */
622 "pushMd"?: string;
623 /**
624 * The amount to push the column for sm screens, in terms of how many columns it should shift to the end of the total available.
625 */
626 "pushSm"?: string;
627 /**
628 * The amount to push the column for xl screens, in terms of how many columns it should shift to the end of the total available.
629 */
630 "pushXl"?: string;
631 /**
632 * The amount to push the column for xs screens, in terms of how many columns it should shift to the end of the total available.
633 */
634 "pushXs"?: string;
635 /**
636 * The size of the column, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
637 */
638 "size"?: string;
639 /**
640 * The size of the column for lg screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
641 */
642 "sizeLg"?: string;
643 /**
644 * The size of the column for md screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
645 */
646 "sizeMd"?: string;
647 /**
648 * The size of the column for sm screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
649 */
650 "sizeSm"?: string;
651 /**
652 * The size of the column for xl screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
653 */
654 "sizeXl"?: string;
655 /**
656 * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
657 */
658 "sizeXs"?: string;
659 }
660 interface IonContent {
661 /**
662 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
663 */
664 "color"?: Color;
665 /**
666 * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce. If the content exceeds the bounds of ionContent, nothing will change. Note, the does not disable the system bounce on iOS. That is an OS level setting.
667 */
668 "forceOverscroll"?: boolean;
669 /**
670 * If `true`, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent.
671 */
672 "fullscreen": boolean;
673 /**
674 * Get the element where the actual scrolling takes place. This element can be used to subscribe to `scroll` events or manually modify `scrollTop`. However, it's recommended to use the API provided by `ion-content`: i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events and `scrollToPoint()` to scroll the content into a certain point.
675 */
676 "getScrollElement": () => Promise<HTMLElement>;
677 /**
678 * Scroll by a specified X/Y distance in the component.
679 * @param x The amount to scroll by on the horizontal axis.
680 * @param y The amount to scroll by on the vertical axis.
681 * @param duration The amount of time to take scrolling by that amount.
682 */
683 "scrollByPoint": (x: number, y: number, duration: number) => Promise<void>;
684 /**
685 * Because of performance reasons, ionScroll events are disabled by default, in order to enable them and start listening from (ionScroll), set this property to `true`.
686 */
687 "scrollEvents": boolean;
688 /**
689 * Scroll to the bottom of the component.
690 * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.
691 */
692 "scrollToBottom": (duration?: number) => Promise<void>;
693 /**
694 * Scroll to a specified X/Y location in the component.
695 * @param x The point to scroll to on the horizontal axis.
696 * @param y The point to scroll to on the vertical axis.
697 * @param duration The amount of time to take scrolling to that point. Defaults to `0`.
698 */
699 "scrollToPoint": (x: number | undefined | null, y: number | undefined | null, duration?: number) => Promise<void>;
700 /**
701 * Scroll to the top of the component.
702 * @param duration The amount of time to take scrolling to the top. Defaults to `0`.
703 */
704 "scrollToTop": (duration?: number) => Promise<void>;
705 /**
706 * If you want to enable the content scrolling in the X axis, set this property to `true`.
707 */
708 "scrollX": boolean;
709 /**
710 * If you want to disable the content scrolling in the Y axis, set this property to `false`.
711 */
712 "scrollY": boolean;
713 }
714 interface IonDatetime {
715 /**
716 * Emits the ionCancel event and optionally closes the popover or modal that the datetime was presented in.
717 */
718 "cancel": (closeOverlay?: boolean) => Promise<void>;
719 /**
720 * The text to display on the picker's cancel button.
721 */
722 "cancelText": string;
723 /**
724 * The text to display on the picker's "Clear" button.
725 */
726 "clearText": string;
727 /**
728 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
729 */
730 "color"?: Color;
731 /**
732 * Confirms the selected datetime value, updates the `value` property, and optionally closes the popover or modal that the datetime was presented in.
733 */
734 "confirm": (closeOverlay?: boolean) => Promise<void>;
735 /**
736 * Values used to create the list of selectable days. By default every day is shown for the given month. However, to control exactly which days of the month to display, the `dayValues` input can take a number, an array of numbers, or a string of comma separated numbers. Note that even if the array days have an invalid number for the selected month, like `31` in February, it will correctly not show days which are not valid for the selected month.
737 */
738 "dayValues"?: number[] | number | string;
739 /**
740 * If `true`, the user cannot interact with the datetime.
741 */
742 "disabled": boolean;
743 /**
744 * The text to display on the picker's "Done" button.
745 */
746 "doneText": string;
747 /**
748 * The first day of the week to use for `ion-datetime`. The default value is `0` and represents Sunday.
749 */
750 "firstDayOfWeek": number;
751 /**
752 * The hour cycle of the `ion-datetime`. If no value is set, this is specified by the current locale.
753 */
754 "hourCycle"?: 'h23' | 'h12';
755 /**
756 * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers.
757 */
758 "hourValues"?: number[] | number | string;
759 /**
760 * The locale to use for `ion-datetime`. This impacts month and day name formatting. The `'default'` value refers to the default locale set by your device.
761 */
762 "locale": string;
763 /**
764 * The maximum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the maximum could just be the year, such as `1994`. Defaults to the end of this year.
765 */
766 "max"?: string;
767 /**
768 * The minimum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), such as `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the minimum could just be the year, such as `1994`. Defaults to the beginning of the year, 100 years ago from today.
769 */
770 "min"?: string;
771 /**
772 * Values used to create the list of selectable minutes. By default the minutes range from `0` to `59`. However, to control exactly which minutes to display, the `minuteValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if the minute selections should only be every 15 minutes, then this input value would be `minuteValues="0,15,30,45"`.
773 */
774 "minuteValues"?: number[] | number | string;
775 /**
776 * The mode determines which platform styles to use.
777 */
778 "mode"?: "ios" | "md";
779 /**
780 * Values used to create the list of selectable months. By default the month values range from `1` to `12`. However, to control exactly which months to display, the `monthValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if only summer months should be shown, then this input value would be `monthValues="6,7,8"`. Note that month numbers do *not* have a zero-based index, meaning January's value is `1`, and December's is `12`.
781 */
782 "monthValues"?: number[] | number | string;
783 /**
784 * The name of the control, which is submitted with the form data.
785 */
786 "name": string;
787 /**
788 * Which values you want to select. `'date'` will show a calendar picker to select the month, day, and year. `'time'` will show a time picker to select the hour, minute, and (optionally) AM/PM. `'date-time'` will show the date picker first and time picker second. `'time-date'` will show the time picker first and date picker second.
789 */
790 "presentation": 'date-time' | 'time-date' | 'date' | 'time' | 'month' | 'year' | 'month-year';
791 /**
792 * If `true`, the datetime appears normal but is not interactive.
793 */
794 "readonly": boolean;
795 /**
796 * Resets the internal state of the datetime but does not update the value. Passing a valid ISO-8601 string will reset the state of the component to the provided date. If no value is provided, the internal state will be reset to today.
797 */
798 "reset": (startDate?: string | undefined) => Promise<void>;
799 /**
800 * If `true`, a "Clear" button will be rendered alongside the default "Cancel" and "OK" buttons at the bottom of the `ion-datetime` component. Developers can also use the `button` slot if they want to customize these buttons. If custom buttons are set in the `button` slot then the default buttons will not be rendered.
801 */
802 "showClearButton": boolean;
803 /**
804 * If `true`, the default "Cancel" and "OK" buttons will be rendered at the bottom of the `ion-datetime` component. Developers can also use the `button` slot if they want to customize these buttons. If custom buttons are set in the `button` slot then the default buttons will not be rendered.
805 */
806 "showDefaultButtons": boolean;
807 /**
808 * If `true`, the default "Time" label will be rendered for the time selector of the `ion-datetime` component. Developers can also use the `time-label` slot if they want to customize this label. If a custom label is set in the `time-label` slot then the default label will not be rendered.
809 */
810 "showDefaultTimeLabel": boolean;
811 /**
812 * If `true`, a header will be shown above the calendar picker. On `ios` mode this will include the slotted title, and on `md` mode this will include the slotted title and the selected date.
813 */
814 "showDefaultTitle": boolean;
815 /**
816 * If `cover`, the `ion-datetime` will expand to cover the full width of its container. If `fixed`, the `ion-datetime` will have a fixed width.
817 */
818 "size": 'cover' | 'fixed';
819 /**
820 * The value of the datetime as a valid ISO 8601 datetime string.
821 */
822 "value"?: string | null;
823 /**
824 * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`.
825 */
826 "yearValues"?: number[] | number | string;
827 }
828 interface IonFab {
829 /**
830 * If `true`, both the `ion-fab-button` and all `ion-fab-list` inside `ion-fab` will become active. That means `ion-fab-button` will become a `close` icon and `ion-fab-list` will become visible.
831 */
832 "activated": boolean;
833 /**
834 * Close an active FAB list container.
835 */
836 "close": () => Promise<void>;
837 /**
838 * If `true`, the fab will display on the edge of the header if `vertical` is `"top"`, and on the edge of the footer if it is `"bottom"`. Should be used with a `fixed` slot.
839 */
840 "edge": boolean;
841 /**
842 * Where to align the fab horizontally in the viewport.
843 */
844 "horizontal"?: 'start' | 'end' | 'center';
845 /**
846 * Where to align the fab vertically in the viewport.
847 */
848 "vertical"?: 'top' | 'bottom' | 'center';
849 }
850 interface IonFabButton {
851 /**
852 * If `true`, the fab button will be show a close icon.
853 */
854 "activated": boolean;
855 /**
856 * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
857 */
858 "closeIcon": string;
859 /**
860 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
861 */
862 "color"?: Color;
863 /**
864 * If `true`, the user cannot interact with the fab button.
865 */
866 "disabled": boolean;
867 /**
868 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
869 */
870 "download": string | undefined;
871 /**
872 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
873 */
874 "href": string | undefined;
875 /**
876 * The mode determines which platform styles to use.
877 */
878 "mode"?: "ios" | "md";
879 /**
880 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
881 */
882 "rel": string | undefined;
883 /**
884 * When using a router, it specifies the transition animation when navigating to another page using `href`.
885 */
886 "routerAnimation": AnimationBuilder | undefined;
887 /**
888 * When using a router, it specifies the transition direction when navigating to another page using `href`.
889 */
890 "routerDirection": RouterDirection;
891 /**
892 * If `true`, the fab button will show when in a fab-list.
893 */
894 "show": boolean;
895 /**
896 * The size of the button. Set this to `small` in order to have a mini fab button.
897 */
898 "size"?: 'small';
899 /**
900 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
901 */
902 "target": string | undefined;
903 /**
904 * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
905 */
906 "translucent": boolean;
907 /**
908 * The type of the button.
909 */
910 "type": 'submit' | 'reset' | 'button';
911 }
912 interface IonFabList {
913 /**
914 * If `true`, the fab list will show all fab buttons in the list.
915 */
916 "activated": boolean;
917 /**
918 * The side the fab list will show on relative to the main fab button.
919 */
920 "side": 'start' | 'end' | 'top' | 'bottom';
921 }
922 interface IonFooter {
923 /**
924 * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
925 */
926 "collapse"?: 'fade';
927 /**
928 * The mode determines which platform styles to use.
929 */
930 "mode"?: "ios" | "md";
931 /**
932 * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
933 */
934 "translucent": boolean;
935 }
936 interface IonGrid {
937 /**
938 * If `true`, the grid will have a fixed width based on the screen size.
939 */
940 "fixed": boolean;
941 }
942 interface IonHeader {
943 /**
944 * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
945 */
946 "collapse"?: 'condense' | 'fade';
947 /**
948 * The mode determines which platform styles to use.
949 */
950 "mode"?: "ios" | "md";
951 /**
952 * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
953 */
954 "translucent": boolean;
955 }
956 interface IonImg {
957 /**
958 * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
959 */
960 "alt"?: string;
961 /**
962 * The image URL. This attribute is mandatory for the `<img>` element.
963 */
964 "src"?: string;
965 }
966 interface IonInfiniteScroll {
967 /**
968 * Call `complete()` within the `ionInfinite` output event handler when your async operation has completed. For example, the `loading` state is while the app is performing an asynchronous operation, such as receiving more data from an AJAX request to add more items to a data list. Once the data has been received and UI updated, you then call this method to signify that the loading has completed. This method will change the infinite scroll's state from `loading` to `enabled`.
969 */
970 "complete": () => Promise<void>;
971 /**
972 * If `true`, the infinite scroll will be hidden and scroll event listeners will be removed. Set this to true to disable the infinite scroll from actively trying to receive new data while scrolling. This is useful when it is known that there is no more data that can be added, and the infinite scroll is no longer needed.
973 */
974 "disabled": boolean;
975 /**
976 * The position of the infinite scroll element. The value can be either `top` or `bottom`.
977 */
978 "position": 'top' | 'bottom';
979 /**
980 * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
981 */
982 "threshold": string;
983 }
984 interface IonInfiniteScrollContent {
985 /**
986 * An animated SVG spinner that shows while loading.
987 */
988 "loadingSpinner"?: SpinnerTypes | null;
989 /**
990 * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
991 */
992 "loadingText"?: string | IonicSafeString;
993 }
994 interface IonInput {
995 /**
996 * If the value of the type attribute is `"file"`, then this attribute will indicate the types of files that the server accepts, otherwise it will be ignored. The value must be a comma-separated list of unique content type specifiers.
997 */
998 "accept"?: string;
999 /**
1000 * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
1001 */
1002 "autocapitalize": string;
1003 /**
1004 * Indicates whether the value of the control can be automatically completed by the browser.
1005 */
1006 "autocomplete": AutocompleteTypes;
1007 /**
1008 * Whether auto correction should be enabled when the user is entering/editing the text value.
1009 */
1010 "autocorrect": 'on' | 'off';
1011 /**
1012 * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
1013 */
1014 "autofocus": boolean;
1015 /**
1016 * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
1017 */
1018 "clearInput": boolean;
1019 /**
1020 * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
1021 */
1022 "clearOnEdit"?: boolean;
1023 /**
1024 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1025 */
1026 "color"?: Color;
1027 /**
1028 * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
1029 */
1030 "debounce": number;
1031 /**
1032 * If `true`, the user cannot interact with the input.
1033 */
1034 "disabled": boolean;
1035 /**
1036 * A hint to the browser for which enter key to display. Possible values: `"enter"`, `"done"`, `"go"`, `"next"`, `"previous"`, `"search"`, and `"send"`.
1037 */
1038 "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
1039 /**
1040 * This is required for a WebKit bug which requires us to blur and focus an input to properly focus the input in an item with delegatesFocus. It will no longer be needed with iOS 14.
1041 */
1042 "fireFocusEvents": boolean;
1043 /**
1044 * Returns the native `<input>` element used under the hood.
1045 */
1046 "getInputElement": () => Promise<HTMLInputElement>;
1047 /**
1048 * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
1049 */
1050 "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
1051 /**
1052 * The maximum value, which must not be less than its minimum (min attribute) value.
1053 */
1054 "max"?: string | number;
1055 /**
1056 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.
1057 */
1058 "maxlength"?: number;
1059 /**
1060 * The minimum value, which must not be greater than its maximum (max attribute) value.
1061 */
1062 "min"?: string | number;
1063 /**
1064 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.
1065 */
1066 "minlength"?: number;
1067 /**
1068 * The mode determines which platform styles to use.
1069 */
1070 "mode"?: "ios" | "md";
1071 /**
1072 * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `"email"` or `"file"`, otherwise it is ignored.
1073 */
1074 "multiple"?: boolean;
1075 /**
1076 * The name of the control, which is submitted with the form data.
1077 */
1078 "name": string;
1079 /**
1080 * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, `"date"`, or `"password"`, otherwise it is ignored. When the type attribute is `"date"`, `pattern` will only be used in browsers that do not support the `"date"` input type natively. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date for more information.
1081 */
1082 "pattern"?: string;
1083 /**
1084 * Instructional text that shows before the input has a value. This property applies only when the `type` property is set to `"email"`, `"number"`, `"password"`, `"search"`, `"tel"`, `"text"`, or `"url"`, otherwise it is ignored.
1085 */
1086 "placeholder"?: string;
1087 /**
1088 * If `true`, the user cannot modify the value.
1089 */
1090 "readonly": boolean;
1091 /**
1092 * If `true`, the user must fill in a value before submitting a form.
1093 */
1094 "required": boolean;
1095 /**
1096 * Sets blur on the native `input` in `ion-input`. Use this method instead of the global `input.blur()`.
1097 */
1098 "setBlur": () => Promise<void>;
1099 /**
1100 * Sets focus on the native `input` in `ion-input`. Use this method instead of the global `input.focus()`.
1101 */
1102 "setFocus": () => Promise<void>;
1103 /**
1104 * The initial size of the control. This value is in pixels unless the value of the type attribute is `"text"` or `"password"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored.
1105 */
1106 "size"?: number;
1107 /**
1108 * If `true`, the element will have its spelling and grammar checked.
1109 */
1110 "spellcheck": boolean;
1111 /**
1112 * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
1113 */
1114 "step"?: string;
1115 /**
1116 * The type of control to display. The default type is text.
1117 */
1118 "type": TextFieldTypes;
1119 /**
1120 * The value of the input.
1121 */
1122 "value"?: string | number | null;
1123 }
1124 interface IonItem {
1125 /**
1126 * If `true`, a button tag will be rendered and the item will be tappable.
1127 */
1128 "button": boolean;
1129 /**
1130 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1131 */
1132 "color"?: Color;
1133 /**
1134 * If `true`, a character counter will display the ratio of characters used and the total character limit. Only applies when the `maxlength` property is set on the inner `ion-input` or `ion-textarea`.
1135 */
1136 "counter": boolean;
1137 /**
1138 * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
1139 */
1140 "detail"?: boolean;
1141 /**
1142 * The icon to use when `detail` is set to `true`.
1143 */
1144 "detailIcon": string;
1145 /**
1146 * If `true`, the user cannot interact with the item.
1147 */
1148 "disabled": boolean;
1149 /**
1150 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
1151 */
1152 "download": string | undefined;
1153 /**
1154 * The fill for the item. If `'solid'` the item will have a background. If `'outline'` the item will be transparent with a border. Only available in `md` mode.
1155 */
1156 "fill"?: 'outline' | 'solid';
1157 /**
1158 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
1159 */
1160 "href": string | undefined;
1161 /**
1162 * How the bottom border should be displayed on the item.
1163 */
1164 "lines"?: 'full' | 'inset' | 'none';
1165 /**
1166 * The mode determines which platform styles to use.
1167 */
1168 "mode"?: "ios" | "md";
1169 /**
1170 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
1171 */
1172 "rel": string | undefined;
1173 /**
1174 * When using a router, it specifies the transition animation when navigating to another page using `href`.
1175 */
1176 "routerAnimation": AnimationBuilder | undefined;
1177 /**
1178 * When using a router, it specifies the transition direction when navigating to another page using `href`.
1179 */
1180 "routerDirection": RouterDirection;
1181 /**
1182 * The shape of the item. If "round" it will have increased border radius.
1183 */
1184 "shape"?: 'round';
1185 /**
1186 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1187 */
1188 "target": string | undefined;
1189 /**
1190 * The type of the button. Only used when an `onclick` or `button` property is present.
1191 */
1192 "type": 'submit' | 'reset' | 'button';
1193 }
1194 interface IonItemDivider {
1195 /**
1196 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1197 */
1198 "color"?: Color;
1199 /**
1200 * The mode determines which platform styles to use.
1201 */
1202 "mode"?: "ios" | "md";
1203 /**
1204 * When it's set to `true`, the item-divider will stay visible when it reaches the top of the viewport until the next `ion-item-divider` replaces it. This feature relies in `position:sticky`: https://caniuse.com/#feat=css-sticky
1205 */
1206 "sticky": boolean;
1207 }
1208 interface IonItemGroup {
1209 }
1210 interface IonItemOption {
1211 /**
1212 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1213 */
1214 "color"?: Color;
1215 /**
1216 * If `true`, the user cannot interact with the item option.
1217 */
1218 "disabled": boolean;
1219 /**
1220 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
1221 */
1222 "download": string | undefined;
1223 /**
1224 * If `true`, the option will expand to take up the available width and cover any other options.
1225 */
1226 "expandable": boolean;
1227 /**
1228 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
1229 */
1230 "href": string | undefined;
1231 /**
1232 * The mode determines which platform styles to use.
1233 */
1234 "mode"?: "ios" | "md";
1235 /**
1236 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
1237 */
1238 "rel": string | undefined;
1239 /**
1240 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
1241 */
1242 "target": string | undefined;
1243 /**
1244 * The type of the button.
1245 */
1246 "type": 'submit' | 'reset' | 'button';
1247 }
1248 interface IonItemOptions {
1249 "fireSwipeEvent": () => Promise<void>;
1250 /**
1251 * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each.
1252 */
1253 "side": Side;
1254 }
1255 interface IonItemSliding {
1256 /**
1257 * Close the sliding item. Items can also be closed from the [List](../list).
1258 */
1259 "close": () => Promise<void>;
1260 /**
1261 * Close all of the sliding items in the list. Items can also be closed from the [List](../list).
1262 */
1263 "closeOpened": () => Promise<boolean>;
1264 /**
1265 * If `true`, the user cannot interact with the sliding item.
1266 */
1267 "disabled": boolean;
1268 /**
1269 * Get the amount the item is open in pixels.
1270 */
1271 "getOpenAmount": () => Promise<number>;
1272 /**
1273 * Get the ratio of the open amount of the item compared to the width of the options. If the number returned is positive, then the options on the right side are open. If the number returned is negative, then the options on the left side are open. If the absolute value of the number is greater than 1, the item is open more than the width of the options.
1274 */
1275 "getSlidingRatio": () => Promise<number>;
1276 /**
1277 * Open the sliding item.
1278 * @param side The side of the options to open. If a side is not provided, it will open the first set of options it finds within the item.
1279 */
1280 "open": (side: Side | undefined) => Promise<void>;
1281 }
1282 interface IonLabel {
1283 /**
1284 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1285 */
1286 "color"?: Color;
1287 /**
1288 * The mode determines which platform styles to use.
1289 */
1290 "mode"?: "ios" | "md";
1291 /**
1292 * The position determines where and how the label behaves inside an item.
1293 */
1294 "position"?: 'fixed' | 'stacked' | 'floating';
1295 }
1296 interface IonList {
1297 /**
1298 * If `ion-item-sliding` are used inside the list, this method closes any open sliding item. Returns `true` if an actual `ion-item-sliding` is closed.
1299 */
1300 "closeSlidingItems": () => Promise<boolean>;
1301 /**
1302 * If `true`, the list will have margin around it and rounded corners.
1303 */
1304 "inset": boolean;
1305 /**
1306 * How the bottom border should be displayed on all items.
1307 */
1308 "lines"?: 'full' | 'inset' | 'none';
1309 /**
1310 * The mode determines which platform styles to use.
1311 */
1312 "mode"?: "ios" | "md";
1313 }
1314 interface IonListHeader {
1315 /**
1316 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1317 */
1318 "color"?: Color;
1319 /**
1320 * How the bottom border should be displayed on the list header.
1321 */
1322 "lines"?: 'full' | 'inset' | 'none';
1323 /**
1324 * The mode determines which platform styles to use.
1325 */
1326 "mode"?: "ios" | "md";
1327 }
1328 interface IonLoading {
1329 /**
1330 * If `true`, the loading indicator will animate.
1331 */
1332 "animated": boolean;
1333 /**
1334 * If `true`, the loading indicator will be dismissed when the backdrop is clicked.
1335 */
1336 "backdropDismiss": boolean;
1337 /**
1338 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
1339 */
1340 "cssClass"?: string | string[];
1341 /**
1342 * Dismiss the loading overlay after it has been presented.
1343 * @param data Any data to emit in the dismiss events.
1344 * @param role The role of the element that is dismissing the loading. This can be useful in a button handler for determining which button was clicked to dismiss the loading. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
1345 */
1346 "dismiss": (data?: any, role?: string | undefined) => Promise<boolean>;
1347 /**
1348 * Number of milliseconds to wait before dismissing the loading indicator.
1349 */
1350 "duration": number;
1351 /**
1352 * Animation to use when the loading indicator is presented.
1353 */
1354 "enterAnimation"?: AnimationBuilder;
1355 /**
1356 * Additional attributes to pass to the loader.
1357 */
1358 "htmlAttributes"?: LoadingAttributes;
1359 /**
1360 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
1361 */
1362 "keyboardClose": boolean;
1363 /**
1364 * Animation to use when the loading indicator is dismissed.
1365 */
1366 "leaveAnimation"?: AnimationBuilder;
1367 /**
1368 * Optional text content to display in the loading indicator.
1369 */
1370 "message"?: string | IonicSafeString;
1371 /**
1372 * The mode determines which platform styles to use.
1373 */
1374 "mode"?: "ios" | "md";
1375 /**
1376 * Returns a promise that resolves when the loading did dismiss.
1377 */
1378 "onDidDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1379 /**
1380 * Returns a promise that resolves when the loading will dismiss.
1381 */
1382 "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1383 "overlayIndex": number;
1384 /**
1385 * Present the loading overlay after it has been created.
1386 */
1387 "present": () => Promise<void>;
1388 /**
1389 * If `true`, a backdrop will be displayed behind the loading indicator.
1390 */
1391 "showBackdrop": boolean;
1392 /**
1393 * The name of the spinner to display.
1394 */
1395 "spinner"?: SpinnerTypes | null;
1396 /**
1397 * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1398 */
1399 "translucent": boolean;
1400 }
1401 interface IonMenu {
1402 /**
1403 * Closes the menu. If the menu is already closed or it can't be closed, it returns `false`.
1404 */
1405 "close": (animated?: boolean) => Promise<boolean>;
1406 /**
1407 * The `id` of the main content. When using a router this is typically `ion-router-outlet`. When not using a router, this is typically your main view's `ion-content`. This is not the id of the `ion-content` inside of your `ion-menu`.
1408 */
1409 "contentId"?: string;
1410 /**
1411 * If `true`, the menu is disabled.
1412 */
1413 "disabled": boolean;
1414 /**
1415 * Returns `true` is the menu is active. A menu is active when it can be opened or closed, meaning it's enabled and it's not part of a `ion-split-pane`.
1416 */
1417 "isActive": () => Promise<boolean>;
1418 /**
1419 * Returns `true` is the menu is open.
1420 */
1421 "isOpen": () => Promise<boolean>;
1422 /**
1423 * The edge threshold for dragging the menu open. If a drag/swipe happens over this value, the menu is not triggered.
1424 */
1425 "maxEdgeStart": number;
1426 /**
1427 * An id for the menu.
1428 */
1429 "menuId"?: string;
1430 /**
1431 * Opens the menu. If the menu is already open or it can't be opened, it returns `false`.
1432 */
1433 "open": (animated?: boolean) => Promise<boolean>;
1434 /**
1435 * Opens or closes the button. If the operation can't be completed successfully, it returns `false`.
1436 */
1437 "setOpen": (shouldOpen: boolean, animated?: boolean) => Promise<boolean>;
1438 /**
1439 * Which side of the view the menu should be placed.
1440 */
1441 "side": Side;
1442 /**
1443 * If `true`, swiping the menu is enabled.
1444 */
1445 "swipeGesture": boolean;
1446 /**
1447 * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it. If the operation can't be completed successfully, it returns `false`.
1448 */
1449 "toggle": (animated?: boolean) => Promise<boolean>;
1450 /**
1451 * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
1452 */
1453 "type"?: string;
1454 }
1455 interface IonMenuButton {
1456 /**
1457 * Automatically hides the menu button when the corresponding menu is not active
1458 */
1459 "autoHide": boolean;
1460 /**
1461 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1462 */
1463 "color"?: Color;
1464 /**
1465 * If `true`, the user cannot interact with the menu button.
1466 */
1467 "disabled": boolean;
1468 /**
1469 * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle
1470 */
1471 "menu"?: string;
1472 /**
1473 * The mode determines which platform styles to use.
1474 */
1475 "mode"?: "ios" | "md";
1476 /**
1477 * The type of the button.
1478 */
1479 "type": 'submit' | 'reset' | 'button';
1480 }
1481 interface IonMenuToggle {
1482 /**
1483 * Automatically hides the content when the corresponding menu is not active. By default, it's `true`. Change it to `false` in order to keep `ion-menu-toggle` always visible regardless the state of the menu.
1484 */
1485 "autoHide": boolean;
1486 /**
1487 * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
1488 */
1489 "menu"?: string;
1490 }
1491 interface IonModal {
1492 /**
1493 * If `true`, the modal will animate.
1494 */
1495 "animated": boolean;
1496 /**
1497 * A decimal value between 0 and 1 that indicates the point after which the backdrop will begin to fade in when using a sheet modal. Prior to this point, the backdrop will be hidden and the content underneath the sheet can be interacted with. This value is exclusive meaning the backdrop will become active after the value specified.
1498 */
1499 "backdropBreakpoint": number;
1500 /**
1501 * If `true`, the modal will be dismissed when the backdrop is clicked.
1502 */
1503 "backdropDismiss": boolean;
1504 /**
1505 * The breakpoints to use when creating a sheet modal. Each value in the array must be a decimal between 0 and 1 where 0 indicates the modal is fully closed and 1 indicates the modal is fully open. Values are relative to the height of the modal, not the height of the screen. One of the values in this array must be the value of the `initialBreakpoint` property. For example: [0, .25, .5, 1]
1506 */
1507 "breakpoints"?: number[];
1508 /**
1509 * The component to display inside of the modal.
1510 */
1511 "component"?: ComponentRef;
1512 /**
1513 * The data to pass to the modal component.
1514 */
1515 "componentProps"?: ComponentProps;
1516 /**
1517 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
1518 */
1519 "cssClass"?: string | string[];
1520 "delegate"?: FrameworkDelegate;
1521 /**
1522 * Dismiss the modal overlay after it has been presented.
1523 * @param data Any data to emit in the dismiss events.
1524 * @param role The role of the element that is dismissing the modal. For example, 'cancel' or 'backdrop'.
1525 */
1526 "dismiss": (data?: any, role?: string | undefined) => Promise<boolean>;
1527 /**
1528 * Animation to use when the modal is presented.
1529 */
1530 "enterAnimation"?: AnimationBuilder;
1531 /**
1532 * The horizontal line that displays at the top of a sheet modal. It is `true` by default when setting the `breakpoints` and `initialBreakpoint` properties.
1533 */
1534 "handle"?: boolean;
1535 "hasController": boolean;
1536 /**
1537 * Additional attributes to pass to the modal.
1538 */
1539 "htmlAttributes"?: ModalAttributes;
1540 /**
1541 * A decimal value between 0 and 1 that indicates the initial point the modal will open at when creating a sheet modal. This value must also be listed in the `breakpoints` array.
1542 */
1543 "initialBreakpoint"?: number;
1544 /**
1545 * If `true`, the modal will open. If `false`, the modal will close. Use this if you need finer grained control over presentation, otherwise just use the modalController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the modal dismisses. You will need to do that in your code.
1546 */
1547 "isOpen": boolean;
1548 /**
1549 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
1550 */
1551 "keyboardClose": boolean;
1552 /**
1553 * Animation to use when the modal is dismissed.
1554 */
1555 "leaveAnimation"?: AnimationBuilder;
1556 /**
1557 * The mode determines which platform styles to use.
1558 */
1559 "mode"?: "ios" | "md";
1560 /**
1561 * Returns a promise that resolves when the modal did dismiss.
1562 */
1563 "onDidDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1564 /**
1565 * Returns a promise that resolves when the modal will dismiss.
1566 */
1567 "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1568 "overlayIndex": number;
1569 /**
1570 * Present the modal overlay after it has been created.
1571 */
1572 "present": () => Promise<void>;
1573 /**
1574 * The element that presented the modal. This is used for card presentation effects and for stacking multiple modals on top of each other. Only applies in iOS mode.
1575 */
1576 "presentingElement"?: HTMLElement;
1577 /**
1578 * If `true`, a backdrop will be displayed behind the modal.
1579 */
1580 "showBackdrop": boolean;
1581 /**
1582 * If `true`, the modal can be swiped to dismiss. Only applies in iOS mode.
1583 */
1584 "swipeToClose": boolean;
1585 /**
1586 * An ID corresponding to the trigger element that causes the modal to open when clicked.
1587 */
1588 "trigger": string | undefined;
1589 }
1590 interface IonNav {
1591 /**
1592 * If `true`, the nav should animate the transition of components.
1593 */
1594 "animated": boolean;
1595 /**
1596 * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimateBuilder` functions.
1597 */
1598 "animation"?: AnimationBuilder;
1599 /**
1600 * Returns `true` if the current view can go back.
1601 * @param view The view to check.
1602 */
1603 "canGoBack": (view?: ViewController | undefined) => Promise<boolean>;
1604 "delegate"?: FrameworkDelegate;
1605 /**
1606 * Get the active view.
1607 */
1608 "getActive": () => Promise<ViewController | undefined>;
1609 /**
1610 * Get the view at the specified index.
1611 * @param index The index of the view.
1612 */
1613 "getByIndex": (index: number) => Promise<ViewController | undefined>;
1614 /**
1615 * Get the previous view.
1616 * @param view The view to get.
1617 */
1618 "getPrevious": (view?: ViewController | undefined) => Promise<ViewController | undefined>;
1619 /**
1620 * Called by <ion-router> to retrieve the current component.
1621 */
1622 "getRouteId": () => Promise<RouteID | undefined>;
1623 /**
1624 * Inserts a component into the navigation stack at the specified index. This is useful to add a component at any point in the navigation stack.
1625 * @param insertIndex The index to insert the component at in the stack.
1626 * @param component The component to insert into the navigation stack.
1627 * @param componentProps Any properties of the component.
1628 * @param opts The navigation options.
1629 * @param done The transition complete function.
1630 */
1631 "insert": <T extends NavComponent>(insertIndex: number, component: T, componentProps?: ComponentProps<T> | null | undefined, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1632 /**
1633 * Inserts an array of components into the navigation stack at the specified index. The last component in the array will become instantiated as a view, and animate in to become the active view.
1634 * @param insertIndex The index to insert the components at in the stack.
1635 * @param insertComponents The components to insert into the navigation stack.
1636 * @param opts The navigation options.
1637 * @param done The transition complete function.
1638 */
1639 "insertPages": (insertIndex: number, insertComponents: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1640 /**
1641 * Pop a component off of the navigation stack. Navigates back from the current component.
1642 * @param opts The navigation options.
1643 * @param done The transition complete function.
1644 */
1645 "pop": (opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1646 /**
1647 * Pop to a specific index in the navigation stack.
1648 * @param indexOrViewCtrl The index or view controller to pop to.
1649 * @param opts The navigation options.
1650 * @param done The transition complete function.
1651 */
1652 "popTo": (indexOrViewCtrl: number | ViewController, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1653 /**
1654 * Navigate back to the root of the stack, no matter how far back that is.
1655 * @param opts The navigation options.
1656 * @param done The transition complete function.
1657 */
1658 "popToRoot": (opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1659 /**
1660 * Push a new component onto the current navigation stack. Pass any additional information along as an object. This additional information is accessible through NavParams.
1661 * @param component The component to push onto the navigation stack.
1662 * @param componentProps Any properties of the component.
1663 * @param opts The navigation options.
1664 * @param done The transition complete function.
1665 */
1666 "push": <T extends NavComponent>(component: T, componentProps?: ComponentProps<T> | null | undefined, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1667 /**
1668 * Removes a component from the navigation stack at the specified index.
1669 * @param startIndex The number to begin removal at.
1670 * @param removeCount The number of components to remove.
1671 * @param opts The navigation options.
1672 * @param done The transition complete function.
1673 */
1674 "removeIndex": (startIndex: number, removeCount?: number, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1675 /**
1676 * Root NavComponent to load
1677 */
1678 "root"?: NavComponent;
1679 /**
1680 * Any parameters for the root component
1681 */
1682 "rootParams"?: ComponentProps;
1683 /**
1684 * Set the views of the current navigation stack and navigate to the last view. By default animations are disabled, but they can be enabled by passing options to the navigation controller. Navigation parameters can also be passed to the individual pages in the array.
1685 * @param views The list of views to set as the navigation stack.
1686 * @param opts The navigation options.
1687 * @param done The transition complete function.
1688 */
1689 "setPages": (views: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1690 /**
1691 * Set the root for the current navigation stack to a component.
1692 * @param component The component to set as the root of the navigation stack.
1693 * @param componentProps Any properties of the component.
1694 * @param opts The navigation options.
1695 * @param done The transition complete function.
1696 */
1697 "setRoot": <T extends NavComponent>(component: T, componentProps?: ComponentProps<T> | null | undefined, opts?: NavOptions | null | undefined, done?: TransitionDoneFn | undefined) => Promise<boolean>;
1698 /**
1699 * Called by the router to update the view.
1700 * @param id The component tag.
1701 * @param params The component params.
1702 * @param direction A direction hint.
1703 * @param animation an AnimationBuilder.
1704 * @return the status.
1705 */
1706 "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder | undefined) => Promise<RouteWrite>;
1707 /**
1708 * If the nav component should allow for swipe-to-go-back.
1709 */
1710 "swipeGesture"?: boolean;
1711 }
1712 interface IonNavLink {
1713 /**
1714 * Component to navigate to. Only used if the `routerDirection` is `"forward"` or `"root"`.
1715 */
1716 "component"?: NavComponent;
1717 /**
1718 * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
1719 */
1720 "componentProps"?: ComponentProps;
1721 /**
1722 * The transition animation when navigating to another page.
1723 */
1724 "routerAnimation"?: AnimationBuilder;
1725 /**
1726 * The transition direction when navigating to another page.
1727 */
1728 "routerDirection": RouterDirection;
1729 }
1730 interface IonNote {
1731 /**
1732 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1733 */
1734 "color"?: Color;
1735 /**
1736 * The mode determines which platform styles to use.
1737 */
1738 "mode"?: "ios" | "md";
1739 }
1740 interface IonPicker {
1741 /**
1742 * If `true`, the picker will animate.
1743 */
1744 "animated": boolean;
1745 /**
1746 * If `true`, the picker will be dismissed when the backdrop is clicked.
1747 */
1748 "backdropDismiss": boolean;
1749 /**
1750 * Array of buttons to be displayed at the top of the picker.
1751 */
1752 "buttons": PickerButton[];
1753 /**
1754 * Array of columns to be displayed in the picker.
1755 */
1756 "columns": PickerColumn[];
1757 /**
1758 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
1759 */
1760 "cssClass"?: string | string[];
1761 /**
1762 * Dismiss the picker overlay after it has been presented.
1763 * @param data Any data to emit in the dismiss events.
1764 * @param role The role of the element that is dismissing the picker. This can be useful in a button handler for determining which button was clicked to dismiss the picker. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
1765 */
1766 "dismiss": (data?: any, role?: string | undefined) => Promise<boolean>;
1767 /**
1768 * Number of milliseconds to wait before dismissing the picker.
1769 */
1770 "duration": number;
1771 /**
1772 * Animation to use when the picker is presented.
1773 */
1774 "enterAnimation"?: AnimationBuilder;
1775 /**
1776 * Get the column that matches the specified name.
1777 * @param name The name of the column.
1778 */
1779 "getColumn": (name: string) => Promise<PickerColumn | undefined>;
1780 /**
1781 * Additional attributes to pass to the picker.
1782 */
1783 "htmlAttributes"?: PickerAttributes;
1784 /**
1785 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
1786 */
1787 "keyboardClose": boolean;
1788 /**
1789 * Animation to use when the picker is dismissed.
1790 */
1791 "leaveAnimation"?: AnimationBuilder;
1792 /**
1793 * The mode determines which platform styles to use.
1794 */
1795 "mode"?: "ios" | "md";
1796 /**
1797 * Returns a promise that resolves when the picker did dismiss.
1798 */
1799 "onDidDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1800 /**
1801 * Returns a promise that resolves when the picker will dismiss.
1802 */
1803 "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1804 "overlayIndex": number;
1805 /**
1806 * Present the picker overlay after it has been created.
1807 */
1808 "present": () => Promise<void>;
1809 /**
1810 * If `true`, a backdrop will be displayed behind the picker.
1811 */
1812 "showBackdrop": boolean;
1813 }
1814 interface IonPickerColumn {
1815 /**
1816 * Picker column data
1817 */
1818 "col": PickerColumn;
1819 }
1820 interface IonPickerColumnInternal {
1821 /**
1822 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1823 */
1824 "color"?: Color;
1825 /**
1826 * A list of options to be displayed in the picker
1827 */
1828 "items": PickerColumnItem[];
1829 /**
1830 * The mode determines which platform styles to use.
1831 */
1832 "mode"?: "ios" | "md";
1833 /**
1834 * If `true`, tapping the picker will reveal a number input keyboard that lets the user type in values for each picker column. This is useful when working with time pickers.
1835 */
1836 "numericInput": boolean;
1837 "scrollActiveItemIntoView": () => Promise<void>;
1838 /**
1839 * The selected option in the picker.
1840 */
1841 "value"?: string | number;
1842 }
1843 interface IonPickerInternal {
1844 /**
1845 * The mode determines which platform styles to use.
1846 */
1847 "mode"?: "ios" | "md";
1848 }
1849 interface IonPopover {
1850 /**
1851 * Describes how to align the popover content with the `reference` point. Defaults to `'center'` for `ios` mode, and `'start'` for `md` mode.
1852 */
1853 "alignment"?: PositionAlign;
1854 /**
1855 * If `true`, the popover will animate.
1856 */
1857 "animated": boolean;
1858 /**
1859 * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode on mobile. Does not apply in `md` mode or on desktop.
1860 */
1861 "arrow": boolean;
1862 /**
1863 * If `true`, the popover will be dismissed when the backdrop is clicked.
1864 */
1865 "backdropDismiss": boolean;
1866 /**
1867 * The component to display inside of the popover. You only need to use this if you are not using a JavaScript framework. Otherwise, you can just slot your component inside of `ion-popover`.
1868 */
1869 "component"?: ComponentRef;
1870 /**
1871 * The data to pass to the popover component. You only need to use this if you are not using a JavaScript framework. Otherwise, you can just set the props directly on your component.
1872 */
1873 "componentProps"?: ComponentProps;
1874 /**
1875 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
1876 */
1877 "cssClass"?: string | string[];
1878 "delegate"?: FrameworkDelegate;
1879 /**
1880 * Dismiss the popover overlay after it has been presented.
1881 * @param data Any data to emit in the dismiss events.
1882 * @param role The role of the element that is dismissing the popover. For example, 'cancel' or 'backdrop'.
1883 * @param dismissParentPopover If `true`, dismissing this popover will also dismiss a parent popover if this popover is nested. Defaults to `true`.
1884 */
1885 "dismiss": (data?: any, role?: string | undefined, dismissParentPopover?: boolean) => Promise<boolean>;
1886 /**
1887 * If `true`, the popover will be automatically dismissed when the content has been clicked.
1888 */
1889 "dismissOnSelect": boolean;
1890 /**
1891 * Animation to use when the popover is presented.
1892 */
1893 "enterAnimation"?: AnimationBuilder;
1894 /**
1895 * The event to pass to the popover animation.
1896 */
1897 "event": any;
1898 "getParentPopover": () => Promise<HTMLIonPopoverElement | null>;
1899 "hasController": boolean;
1900 /**
1901 * Additional attributes to pass to the popover.
1902 */
1903 "htmlAttributes"?: PopoverAttributes;
1904 /**
1905 * If `true`, the popover will open. If `false`, the popover will close. Use this if you need finer grained control over presentation, otherwise just use the popoverController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the popover dismisses. You will need to do that in your code.
1906 */
1907 "isOpen": boolean;
1908 /**
1909 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
1910 */
1911 "keyboardClose": boolean;
1912 "keyboardEvents": boolean;
1913 /**
1914 * Animation to use when the popover is dismissed.
1915 */
1916 "leaveAnimation"?: AnimationBuilder;
1917 /**
1918 * The mode determines which platform styles to use.
1919 */
1920 "mode"?: "ios" | "md";
1921 /**
1922 * Returns a promise that resolves when the popover did dismiss.
1923 */
1924 "onDidDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1925 /**
1926 * Returns a promise that resolves when the popover will dismiss.
1927 */
1928 "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
1929 "overlayIndex": number;
1930 /**
1931 * Present the popover overlay after it has been created. Developers can pass a mouse, touch, or pointer event to position the popover relative to where that event was dispatched.
1932 */
1933 "present": (event?: MouseEvent | TouchEvent | PointerEvent | CustomEvent<any> | undefined) => Promise<void>;
1934 /**
1935 * When opening a popover from a trigger, we should not be modifying the `event` prop from inside the component. Additionally, when pressing the "Right" arrow key, we need to shift focus to the first descendant in the newly presented popover.
1936 */
1937 "presentFromTrigger": (event?: any, focusDescendant?: boolean) => Promise<void>;
1938 /**
1939 * Describes what to position the popover relative to. If `'trigger'`, the popover will be positioned relative to the trigger button. If passing in an event, this is determined via event.target. If `'event'`, the popover will be positioned relative to the x/y coordinates of the trigger action. If passing in an event, this is determined via event.clientX and event.clientY.
1940 */
1941 "reference": PositionReference;
1942 /**
1943 * If `true`, a backdrop will be displayed behind the popover.
1944 */
1945 "showBackdrop": boolean;
1946 /**
1947 * Describes which side of the `reference` point to position the popover on. The `'start'` and `'end'` values are RTL-aware, and the `'left'` and `'right'` values are not.
1948 */
1949 "side": PositionSide;
1950 /**
1951 * Describes how to calculate the popover width. If `'cover'`, the popover width will match the width of the trigger. If `'auto'`, the popover width will be determined by the content in the popover.
1952 */
1953 "size": PopoverSize;
1954 /**
1955 * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
1956 */
1957 "translucent": boolean;
1958 /**
1959 * An ID corresponding to the trigger element that causes the popover to open. Use the `trigger-action` property to customize the interaction that results in the popover opening.
1960 */
1961 "trigger": string | undefined;
1962 /**
1963 * Describes what kind of interaction with the trigger that should cause the popover to open. Does not apply when the `trigger` property is `undefined`. If `'click'`, the popover will be presented when the trigger is left clicked. If `'hover'`, the popover will be presented when a pointer hovers over the trigger. If `'context-menu'`, the popover will be presented when the trigger is right clicked on desktop and long pressed on mobile. This will also prevent your device's normal context menu from appearing.
1964 */
1965 "triggerAction": TriggerAction;
1966 }
1967 interface IonProgressBar {
1968 /**
1969 * If the buffer and value are smaller than 1, the buffer circles will show. The buffer should be between [0, 1].
1970 */
1971 "buffer": number;
1972 /**
1973 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1974 */
1975 "color"?: Color;
1976 /**
1977 * The mode determines which platform styles to use.
1978 */
1979 "mode"?: "ios" | "md";
1980 /**
1981 * If true, reverse the progress bar direction.
1982 */
1983 "reversed": boolean;
1984 /**
1985 * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
1986 */
1987 "type": 'determinate' | 'indeterminate';
1988 /**
1989 * The value determines how much of the active bar should display when the `type` is `"determinate"`. The value should be between [0, 1].
1990 */
1991 "value": number;
1992 }
1993 interface IonRadio {
1994 /**
1995 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
1996 */
1997 "color"?: Color;
1998 /**
1999 * If `true`, the user cannot interact with the radio.
2000 */
2001 "disabled": boolean;
2002 /**
2003 * The mode determines which platform styles to use.
2004 */
2005 "mode"?: "ios" | "md";
2006 /**
2007 * The name of the control, which is submitted with the form data.
2008 */
2009 "name": string;
2010 "setButtonTabindex": (value: number) => Promise<void>;
2011 "setFocus": (ev: any) => Promise<void>;
2012 /**
2013 * the value of the radio.
2014 */
2015 "value"?: any | null;
2016 }
2017 interface IonRadioGroup {
2018 /**
2019 * If `true`, the radios can be deselected.
2020 */
2021 "allowEmptySelection": boolean;
2022 /**
2023 * The name of the control, which is submitted with the form data.
2024 */
2025 "name": string;
2026 /**
2027 * the value of the radio group.
2028 */
2029 "value"?: any | null;
2030 }
2031 interface IonRange {
2032 /**
2033 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2034 */
2035 "color"?: Color;
2036 /**
2037 * How long, in milliseconds, to wait to trigger the `ionChange` event after each change in the range value. This also impacts form bindings such as `ngModel` or `v-model`.
2038 */
2039 "debounce": number;
2040 /**
2041 * If `true`, the user cannot interact with the range.
2042 */
2043 "disabled": boolean;
2044 /**
2045 * Show two knobs.
2046 */
2047 "dualKnobs": boolean;
2048 /**
2049 * Maximum integer value of the range.
2050 */
2051 "max": number;
2052 /**
2053 * Minimum integer value of the range.
2054 */
2055 "min": number;
2056 /**
2057 * The mode determines which platform styles to use.
2058 */
2059 "mode"?: "ios" | "md";
2060 /**
2061 * The name of the control, which is submitted with the form data.
2062 */
2063 "name": string;
2064 /**
2065 * If `true`, a pin with integer value is shown when the knob is pressed.
2066 */
2067 "pin": boolean;
2068 /**
2069 * A callback used to format the pin text. By default the pin text is set to `Math.round(value)`.
2070 */
2071 "pinFormatter": PinFormatter;
2072 /**
2073 * If `true`, the knob snaps to tick marks evenly spaced based on the step property value.
2074 */
2075 "snaps": boolean;
2076 /**
2077 * Specifies the value granularity.
2078 */
2079 "step": number;
2080 /**
2081 * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
2082 */
2083 "ticks": boolean;
2084 /**
2085 * the value of the range.
2086 */
2087 "value": RangeValue;
2088 }
2089 interface IonRefresher {
2090 /**
2091 * Changes the refresher's state from `refreshing` to `cancelling`.
2092 */
2093 "cancel": () => Promise<void>;
2094 /**
2095 * Time it takes to close the refresher. Does not apply when the refresher content uses a spinner, enabling the native refresher.
2096 */
2097 "closeDuration": string;
2098 /**
2099 * Call `complete()` when your async operation has completed. For example, the `refreshing` state is while the app is performing an asynchronous operation, such as receiving more data from an AJAX request. Once the data has been received, you then call this method to signify that the refreshing has completed and to close the refresher. This method also changes the refresher's state from `refreshing` to `completing`.
2100 */
2101 "complete": () => Promise<void>;
2102 /**
2103 * If `true`, the refresher will be hidden.
2104 */
2105 "disabled": boolean;
2106 /**
2107 * A number representing how far down the user has pulled. The number `0` represents the user hasn't pulled down at all. The number `1`, and anything greater than `1`, represents that the user has pulled far enough down that when they let go then the refresh will happen. If they let go and the number is less than `1`, then the refresh will not happen, and the content will return to it's original position.
2108 */
2109 "getProgress": () => Promise<number>;
2110 /**
2111 * How much to multiply the pull speed by. To slow the pull animation down, pass a number less than `1`. To speed up the pull, pass a number greater than `1`. The default value is `1` which is equal to the speed of the cursor. If a negative value is passed in, the factor will be `1` instead. For example: If the value passed is `1.2` and the content is dragged by `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels (an increase of 20 percent). If the value passed is `0.8`, the dragged amount will be `8` pixels, less than the amount the cursor has moved. Does not apply when the refresher content uses a spinner, enabling the native refresher.
2112 */
2113 "pullFactor": number;
2114 /**
2115 * The maximum distance of the pull until the refresher will automatically go into the `refreshing` state. Defaults to the result of `pullMin + 60`. Does not apply when the refresher content uses a spinner, enabling the native refresher.
2116 */
2117 "pullMax": number;
2118 /**
2119 * The minimum distance the user must pull down until the refresher will go into the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
2120 */
2121 "pullMin": number;
2122 /**
2123 * Time it takes the refresher to snap back to the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
2124 */
2125 "snapbackDuration": string;
2126 }
2127 interface IonRefresherContent {
2128 /**
2129 * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
2130 */
2131 "pullingIcon"?: SpinnerTypes | string | null;
2132 /**
2133 * The text you want to display when you begin to pull down. `pullingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
2134 */
2135 "pullingText"?: string | IonicSafeString;
2136 /**
2137 * An animated SVG spinner that shows when refreshing begins
2138 */
2139 "refreshingSpinner"?: SpinnerTypes | null;
2140 /**
2141 * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
2142 */
2143 "refreshingText"?: string | IonicSafeString;
2144 }
2145 interface IonReorder {
2146 }
2147 interface IonReorderGroup {
2148 /**
2149 * Completes the reorder operation. Must be called by the `ionItemReorder` event. If a list of items is passed, the list will be reordered and returned in the proper order. If no parameters are passed or if `true` is passed in, the reorder will complete and the item will remain in the position it was dragged to. If `false` is passed, the reorder will complete and the item will bounce back to its original position.
2150 * @param listOrReorder A list of items to be sorted and returned in the new order or a boolean of whether or not the reorder should reposition the item.
2151 */
2152 "complete": (listOrReorder?: boolean | any[] | undefined) => Promise<any>;
2153 /**
2154 * If `true`, the reorder will be hidden.
2155 */
2156 "disabled": boolean;
2157 }
2158 interface IonRippleEffect {
2159 /**
2160 * Adds the ripple effect to the parent element.
2161 * @param x The horizontal coordinate of where the ripple should start.
2162 * @param y The vertical coordinate of where the ripple should start.
2163 */
2164 "addRipple": (x: number, y: number) => Promise<() => void>;
2165 /**
2166 * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
2167 */
2168 "type": 'bounded' | 'unbounded';
2169 }
2170 interface IonRoute {
2171 /**
2172 * A navigation hook that is fired when the route tries to enter. Returning `true` allows the navigation to proceed, while returning `false` causes it to be cancelled. Returning a `NavigationHookOptions` object causes the router to redirect to the path specified.
2173 */
2174 "beforeEnter"?: NavigationHookCallback;
2175 /**
2176 * A navigation hook that is fired when the route tries to leave. Returning `true` allows the navigation to proceed, while returning `false` causes it to be cancelled. Returning a `NavigationHookOptions` object causes the router to redirect to the path specified.
2177 */
2178 "beforeLeave"?: NavigationHookCallback;
2179 /**
2180 * Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-nav`) when the route matches. The value of this property is not always the tagname of the component to load, in `ion-tabs` it actually refers to the name of the `ion-tab` to select.
2181 */
2182 "component": string;
2183 /**
2184 * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
2185 */
2186 "componentProps"?: {[key: string]: any};
2187 /**
2188 * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
2189 */
2190 "url": string;
2191 }
2192 interface IonRouteRedirect {
2193 /**
2194 * A redirect route, redirects "from" a URL "to" another URL. This property is that "from" URL. It needs to be an exact match of the navigated URL in order to apply. The path specified in this value is always an absolute path, even if the initial `/` slash is not specified.
2195 */
2196 "from": string;
2197 /**
2198 * A redirect route, redirects "from" a URL "to" another URL. This property is that "to" URL. When the defined `ion-route-redirect` rule matches, the router will redirect to the path specified in this property. The value of this property is always an absolute path inside the scope of routes defined in `ion-router` it can't be used with another router or to perform a redirection to a different domain. Note that this is a virtual redirect, it will not cause a real browser refresh, again, it's a redirect inside the context of ion-router. When this property is not specified or his value is `undefined` the whole redirect route is noop, even if the "from" value matches.
2199 */
2200 "to": string | undefined | null;
2201 }
2202 interface IonRouter {
2203 /**
2204 * Go back to previous page in the window.history.
2205 */
2206 "back": () => Promise<void>;
2207 "canTransition": () => Promise<string | boolean>;
2208 "navChanged": (direction: RouterDirection) => Promise<boolean>;
2209 "printDebug": () => Promise<void>;
2210 /**
2211 * Navigate to the specified path.
2212 * @param path The path to navigate to.
2213 * @param direction The direction of the animation. Defaults to `"forward"`.
2214 */
2215 "push": (path: string, direction?: RouterDirection, animation?: AnimationBuilder | undefined) => Promise<boolean>;
2216 /**
2217 * The root path to use when matching URLs. By default, this is set to "/", but you can specify an alternate prefix for all URL paths.
2218 */
2219 "root": string;
2220 /**
2221 * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
2222 */
2223 "useHash": boolean;
2224 }
2225 interface IonRouterLink {
2226 /**
2227 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2228 */
2229 "color"?: Color;
2230 /**
2231 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2232 */
2233 "href": string | undefined;
2234 /**
2235 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
2236 */
2237 "rel": string | undefined;
2238 /**
2239 * When using a router, it specifies the transition animation when navigating to another page using `href`.
2240 */
2241 "routerAnimation": AnimationBuilder | undefined;
2242 /**
2243 * When using a router, it specifies the transition direction when navigating to another page using `href`.
2244 */
2245 "routerDirection": RouterDirection;
2246 /**
2247 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2248 */
2249 "target": string | undefined;
2250 }
2251 interface IonRouterOutlet {
2252 /**
2253 * If `true`, the router-outlet should animate the transition of components.
2254 */
2255 "animated": boolean;
2256 /**
2257 * This property allows to create custom transition using AnimateBuilder functions.
2258 */
2259 "animation"?: AnimationBuilder;
2260 "commit": (enteringEl: HTMLElement, leavingEl: HTMLElement | undefined, opts?: RouterOutletOptions | undefined) => Promise<boolean>;
2261 "delegate"?: FrameworkDelegate;
2262 "getRouteId": () => Promise<RouteID | undefined>;
2263 /**
2264 * The mode determines which platform styles to use.
2265 */
2266 "mode": "ios" | "md";
2267 "setRouteId": (id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder | undefined) => Promise<RouteWrite>;
2268 "swipeHandler"?: SwipeGestureHandler;
2269 }
2270 interface IonRow {
2271 }
2272 interface IonSearchbar {
2273 /**
2274 * If `true`, enable searchbar animation.
2275 */
2276 "animated": boolean;
2277 /**
2278 * Set the input's autocomplete property.
2279 */
2280 "autocomplete": AutocompleteTypes;
2281 /**
2282 * Set the input's autocorrect property.
2283 */
2284 "autocorrect": 'on' | 'off';
2285 /**
2286 * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
2287 */
2288 "cancelButtonIcon": string;
2289 /**
2290 * Set the the cancel button text. Only applies to `ios` mode.
2291 */
2292 "cancelButtonText": string;
2293 /**
2294 * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
2295 */
2296 "clearIcon"?: string;
2297 /**
2298 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2299 */
2300 "color"?: Color;
2301 /**
2302 * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
2303 */
2304 "debounce": number;
2305 /**
2306 * If `true`, the user cannot interact with the input.
2307 */
2308 "disabled": boolean;
2309 /**
2310 * A hint to the browser for which enter key to display. Possible values: `"enter"`, `"done"`, `"go"`, `"next"`, `"previous"`, `"search"`, and `"send"`.
2311 */
2312 "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
2313 /**
2314 * Returns the native `<input>` element used under the hood.
2315 */
2316 "getInputElement": () => Promise<HTMLInputElement>;
2317 /**
2318 * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
2319 */
2320 "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
2321 /**
2322 * The mode determines which platform styles to use.
2323 */
2324 "mode"?: "ios" | "md";
2325 /**
2326 * Set the input's placeholder. `placeholder` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
2327 */
2328 "placeholder": string;
2329 /**
2330 * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
2331 */
2332 "searchIcon"?: string;
2333 /**
2334 * Sets focus on the specified `ion-searchbar`. Use this method instead of the global `input.focus()`.
2335 */
2336 "setFocus": () => Promise<void>;
2337 /**
2338 * Sets the behavior for the cancel button. Defaults to `"never"`. Setting to `"focus"` shows the cancel button on focus. Setting to `"never"` hides the cancel button. Setting to `"always"` shows the cancel button regardless of focus state.
2339 */
2340 "showCancelButton": 'never' | 'focus' | 'always';
2341 /**
2342 * Sets the behavior for the clear button. Defaults to `"focus"`. Setting to `"focus"` shows the clear button on focus if the input is not empty. Setting to `"never"` hides the clear button. Setting to `"always"` shows the clear button regardless of focus state, but only if the input is not empty.
2343 */
2344 "showClearButton": 'never' | 'focus' | 'always';
2345 /**
2346 * If `true`, enable spellcheck on the input.
2347 */
2348 "spellcheck": boolean;
2349 /**
2350 * Set the type of the input.
2351 */
2352 "type": 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
2353 /**
2354 * the value of the searchbar.
2355 */
2356 "value"?: string | null;
2357 }
2358 interface IonSegment {
2359 /**
2360 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2361 */
2362 "color"?: Color;
2363 /**
2364 * If `true`, the user cannot interact with the segment.
2365 */
2366 "disabled": boolean;
2367 /**
2368 * The mode determines which platform styles to use.
2369 */
2370 "mode"?: "ios" | "md";
2371 /**
2372 * If `true`, the segment buttons will overflow and the user can swipe to see them. In addition, this will disable the gesture to drag the indicator between the buttons in order to swipe to see hidden buttons.
2373 */
2374 "scrollable": boolean;
2375 /**
2376 * If `true`, navigating to an `ion-segment-button` with the keyboard will focus and select the element. If `false`, keyboard navigation will only focus the `ion-segment-button` element.
2377 */
2378 "selectOnFocus": boolean;
2379 /**
2380 * If `true`, users will be able to swipe between segment buttons to activate them.
2381 */
2382 "swipeGesture": boolean;
2383 /**
2384 * the value of the segment.
2385 */
2386 "value"?: string | null;
2387 }
2388 interface IonSegmentButton {
2389 /**
2390 * If `true`, the user cannot interact with the segment button.
2391 */
2392 "disabled": boolean;
2393 /**
2394 * Set the layout of the text and icon in the segment.
2395 */
2396 "layout"?: SegmentButtonLayout;
2397 /**
2398 * The mode determines which platform styles to use.
2399 */
2400 "mode"?: "ios" | "md";
2401 /**
2402 * The type of the button.
2403 */
2404 "type": 'submit' | 'reset' | 'button';
2405 /**
2406 * The value of the segment button.
2407 */
2408 "value": string;
2409 }
2410 interface IonSelect {
2411 /**
2412 * The text to display on the cancel button.
2413 */
2414 "cancelText": string;
2415 /**
2416 * A property name or function used to compare object values
2417 */
2418 "compareWith"?: string | SelectCompareFn | null;
2419 /**
2420 * If `true`, the user cannot interact with the select.
2421 */
2422 "disabled": boolean;
2423 /**
2424 * The interface the select should use: `action-sheet`, `popover` or `alert`.
2425 */
2426 "interface": SelectInterface;
2427 /**
2428 * Any additional options that the `alert`, `action-sheet` or `popover` interface can take. See the [ion-alert docs](../alert), the [ion-action-sheet docs](../action-sheet) and the [ion-popover docs](../popover) for the create options for each interface. Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.
2429 */
2430 "interfaceOptions": any;
2431 /**
2432 * The mode determines which platform styles to use.
2433 */
2434 "mode"?: "ios" | "md";
2435 /**
2436 * If `true`, the select can accept multiple values.
2437 */
2438 "multiple": boolean;
2439 /**
2440 * The name of the control, which is submitted with the form data.
2441 */
2442 "name": string;
2443 /**
2444 * The text to display on the ok button.
2445 */
2446 "okText": string;
2447 /**
2448 * Open the select overlay. The overlay is either an alert, action sheet, or popover, depending on the `interface` property on the `ion-select`.
2449 * @param event The user interface event that called the open.
2450 */
2451 "open": (event?: UIEvent | undefined) => Promise<any>;
2452 /**
2453 * The text to display when the select is empty.
2454 */
2455 "placeholder"?: string;
2456 /**
2457 * The text to display instead of the selected option's value.
2458 */
2459 "selectedText"?: string | null;
2460 /**
2461 * the value of the select.
2462 */
2463 "value"?: any | null;
2464 }
2465 interface IonSelectOption {
2466 /**
2467 * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
2468 */
2469 "disabled": boolean;
2470 /**
2471 * The text value of the option.
2472 */
2473 "value"?: any | null;
2474 }
2475 interface IonSelectPopover {
2476 /**
2477 * The header text of the popover
2478 */
2479 "header"?: string;
2480 /**
2481 * The text content of the popover body
2482 */
2483 "message"?: string;
2484 /**
2485 * If true, the select accepts multiple values
2486 */
2487 "multiple"?: boolean;
2488 /**
2489 * An array of options for the popover
2490 */
2491 "options": SelectPopoverOption[];
2492 /**
2493 * The subheader text of the popover
2494 */
2495 "subHeader"?: string;
2496 }
2497 interface IonSkeletonText {
2498 /**
2499 * If `true`, the skeleton text will animate.
2500 */
2501 "animated": boolean;
2502 }
2503 interface IonSlide {
2504 }
2505 interface IonSlides {
2506 /**
2507 * Get the index of the active slide.
2508 */
2509 "getActiveIndex": () => Promise<number>;
2510 /**
2511 * Get the index of the previous slide.
2512 */
2513 "getPreviousIndex": () => Promise<number>;
2514 /**
2515 * Get the Swiper instance. Use this to access the full Swiper API. See https://idangero.us/swiper/api/ for all API options.
2516 */
2517 "getSwiper": () => Promise<any>;
2518 /**
2519 * Get whether or not the current slide is the first slide.
2520 */
2521 "isBeginning": () => Promise<boolean>;
2522 /**
2523 * Get whether or not the current slide is the last slide.
2524 */
2525 "isEnd": () => Promise<boolean>;
2526 /**
2527 * Get the total number of slides.
2528 */
2529 "length": () => Promise<number>;
2530 /**
2531 * Lock or unlock the ability to slide to the next slide.
2532 * @param lock If `true`, disable swiping to the next slide.
2533 */
2534 "lockSwipeToNext": (lock: boolean) => Promise<void>;
2535 /**
2536 * Lock or unlock the ability to slide to the previous slide.
2537 * @param lock If `true`, disable swiping to the previous slide.
2538 */
2539 "lockSwipeToPrev": (lock: boolean) => Promise<void>;
2540 /**
2541 * Lock or unlock the ability to slide to the next or previous slide.
2542 * @param lock If `true`, disable swiping to the next and previous slide.
2543 */
2544 "lockSwipes": (lock: boolean) => Promise<void>;
2545 /**
2546 * The mode determines which platform styles to use.
2547 */
2548 "mode"?: "ios" | "md";
2549 /**
2550 * Options to pass to the swiper instance. See http://idangero.us/swiper/api/ for valid options
2551 */
2552 "options": any;
2553 /**
2554 * If `true`, show the pagination.
2555 */
2556 "pager": boolean;
2557 /**
2558 * If `true`, show the scrollbar.
2559 */
2560 "scrollbar": boolean;
2561 /**
2562 * Transition to the next slide.
2563 * @param speed The transition duration (in ms).
2564 * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events.
2565 */
2566 "slideNext": (speed?: number | undefined, runCallbacks?: boolean | undefined) => Promise<void>;
2567 /**
2568 * Transition to the previous slide.
2569 * @param speed The transition duration (in ms).
2570 * @param runCallbacks If true, the transition will produce the [Transition/SlideChange][Start/End] transition events.
2571 */
2572 "slidePrev": (speed?: number | undefined, runCallbacks?: boolean | undefined) => Promise<void>;
2573 /**
2574 * Transition to the specified slide.
2575 * @param index The index of the slide to transition to.
2576 * @param speed The transition duration (in ms).
2577 * @param runCallbacks If true, the transition will produce [Transition/SlideChange][Start/End] transition events.
2578 */
2579 "slideTo": (index: number, speed?: number | undefined, runCallbacks?: boolean | undefined) => Promise<void>;
2580 /**
2581 * Start auto play.
2582 */
2583 "startAutoplay": () => Promise<void>;
2584 /**
2585 * Stop auto play.
2586 */
2587 "stopAutoplay": () => Promise<void>;
2588 /**
2589 * Update the underlying slider implementation. Call this if you've added or removed child slides.
2590 */
2591 "update": () => Promise<void>;
2592 /**
2593 * Force swiper to update its height (when autoHeight is enabled) for the duration equal to 'speed' parameter.
2594 * @param speed The transition duration (in ms).
2595 */
2596 "updateAutoHeight": (speed?: number | undefined) => Promise<void>;
2597 }
2598 interface IonSpinner {
2599 /**
2600 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2601 */
2602 "color"?: Color;
2603 /**
2604 * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
2605 */
2606 "duration"?: number;
2607 /**
2608 * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
2609 */
2610 "name"?: SpinnerTypes;
2611 /**
2612 * If `true`, the spinner's animation will be paused.
2613 */
2614 "paused": boolean;
2615 }
2616 interface IonSplitPane {
2617 /**
2618 * The `id` of the main content. When using a router this is typically `ion-router-outlet`. When not using a router, this is typically your main view's `ion-content`. This is not the id of the `ion-content` inside of your `ion-menu`.
2619 */
2620 "contentId"?: string;
2621 /**
2622 * If `true`, the split pane will be hidden.
2623 */
2624 "disabled": boolean;
2625 /**
2626 * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
2627 */
2628 "when": string | boolean;
2629 }
2630 interface IonTab {
2631 "active": boolean;
2632 /**
2633 * The component to display inside of the tab.
2634 */
2635 "component"?: ComponentRef;
2636 "delegate"?: FrameworkDelegate;
2637 /**
2638 * Set the active component for the tab
2639 */
2640 "setActive": () => Promise<void>;
2641 /**
2642 * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
2643 */
2644 "tab": string;
2645 }
2646 interface IonTabBar {
2647 /**
2648 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2649 */
2650 "color"?: Color;
2651 /**
2652 * The mode determines which platform styles to use.
2653 */
2654 "mode"?: "ios" | "md";
2655 /**
2656 * The selected tab component
2657 */
2658 "selectedTab"?: string;
2659 /**
2660 * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2661 */
2662 "translucent": boolean;
2663 }
2664 interface IonTabButton {
2665 /**
2666 * If `true`, the user cannot interact with the tab button.
2667 */
2668 "disabled": boolean;
2669 /**
2670 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
2671 */
2672 "download": string | undefined;
2673 /**
2674 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
2675 */
2676 "href": string | undefined;
2677 /**
2678 * Set the layout of the text and icon in the tab bar. It defaults to `'icon-top'`.
2679 */
2680 "layout"?: TabButtonLayout;
2681 /**
2682 * The mode determines which platform styles to use.
2683 */
2684 "mode"?: "ios" | "md";
2685 /**
2686 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
2687 */
2688 "rel": string | undefined;
2689 /**
2690 * The selected tab component
2691 */
2692 "selected": boolean;
2693 /**
2694 * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
2695 */
2696 "tab"?: string;
2697 /**
2698 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
2699 */
2700 "target": string | undefined;
2701 }
2702 interface IonTabs {
2703 "getRouteId": () => Promise<RouteID | undefined>;
2704 /**
2705 * Get the currently selected tab.
2706 */
2707 "getSelected": () => Promise<string | undefined>;
2708 /**
2709 * Get a specific tab by the value of its `tab` property or an element reference.
2710 * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2711 */
2712 "getTab": (tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined>;
2713 /**
2714 * Select a tab by the value of its `tab` property or an element reference.
2715 * @param tab The tab instance to select. If passed a string, it should be the value of the tab's `tab` property.
2716 */
2717 "select": (tab: string | HTMLIonTabElement) => Promise<boolean>;
2718 "setRouteId": (id: string) => Promise<RouteWrite>;
2719 "useRouter": boolean;
2720 }
2721 interface IonText {
2722 /**
2723 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2724 */
2725 "color"?: Color;
2726 /**
2727 * The mode determines which platform styles to use.
2728 */
2729 "mode"?: "ios" | "md";
2730 }
2731 interface IonTextarea {
2732 /**
2733 * If `true`, the element height will increase based on the value.
2734 */
2735 "autoGrow": boolean;
2736 /**
2737 * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
2738 */
2739 "autocapitalize": string;
2740 /**
2741 * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
2742 */
2743 "autofocus": boolean;
2744 /**
2745 * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
2746 */
2747 "clearOnEdit": boolean;
2748 /**
2749 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2750 */
2751 "color"?: Color;
2752 /**
2753 * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.
2754 */
2755 "cols"?: number;
2756 /**
2757 * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
2758 */
2759 "debounce": number;
2760 /**
2761 * If `true`, the user cannot interact with the textarea.
2762 */
2763 "disabled": boolean;
2764 /**
2765 * A hint to the browser for which enter key to display. Possible values: `"enter"`, `"done"`, `"go"`, `"next"`, `"previous"`, `"search"`, and `"send"`.
2766 */
2767 "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
2768 /**
2769 * This is required for a WebKit bug which requires us to blur and focus an input to properly focus the input in an item with delegatesFocus. It will no longer be needed with iOS 14.
2770 */
2771 "fireFocusEvents": boolean;
2772 /**
2773 * Returns the native `<textarea>` element used under the hood.
2774 */
2775 "getInputElement": () => Promise<HTMLTextAreaElement>;
2776 /**
2777 * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
2778 */
2779 "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
2780 /**
2781 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.
2782 */
2783 "maxlength"?: number;
2784 /**
2785 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.
2786 */
2787 "minlength"?: number;
2788 /**
2789 * The mode determines which platform styles to use.
2790 */
2791 "mode"?: "ios" | "md";
2792 /**
2793 * The name of the control, which is submitted with the form data.
2794 */
2795 "name": string;
2796 /**
2797 * Instructional text that shows before the input has a value.
2798 */
2799 "placeholder"?: string;
2800 /**
2801 * If `true`, the user cannot modify the value.
2802 */
2803 "readonly": boolean;
2804 /**
2805 * If `true`, the user must fill in a value before submitting a form.
2806 */
2807 "required": boolean;
2808 /**
2809 * The number of visible text lines for the control.
2810 */
2811 "rows"?: number;
2812 /**
2813 * Sets blur on the native `textarea` in `ion-textarea`. Use this method instead of the global `textarea.blur()`.
2814 */
2815 "setBlur": () => Promise<void>;
2816 /**
2817 * Sets focus on the native `textarea` in `ion-textarea`. Use this method instead of the global `textarea.focus()`.
2818 */
2819 "setFocus": () => Promise<void>;
2820 /**
2821 * If `true`, the element will have its spelling and grammar checked.
2822 */
2823 "spellcheck": boolean;
2824 /**
2825 * The value of the textarea.
2826 */
2827 "value"?: string | null;
2828 /**
2829 * Indicates how the control wraps text.
2830 */
2831 "wrap"?: 'hard' | 'soft' | 'off';
2832 }
2833 interface IonThumbnail {
2834 }
2835 interface IonTitle {
2836 /**
2837 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2838 */
2839 "color"?: Color;
2840 /**
2841 * The size of the toolbar title.
2842 */
2843 "size"?: 'large' | 'small';
2844 }
2845 interface IonToast {
2846 /**
2847 * If `true`, the toast will animate.
2848 */
2849 "animated": boolean;
2850 /**
2851 * An array of buttons for the toast.
2852 */
2853 "buttons"?: (ToastButton | string)[];
2854 /**
2855 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2856 */
2857 "color"?: Color;
2858 /**
2859 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
2860 */
2861 "cssClass"?: string | string[];
2862 /**
2863 * Dismiss the toast overlay after it has been presented.
2864 * @param data Any data to emit in the dismiss events.
2865 * @param role The role of the element that is dismissing the toast. This can be useful in a button handler for determining which button was clicked to dismiss the toast. Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
2866 */
2867 "dismiss": (data?: any, role?: string | undefined) => Promise<boolean>;
2868 /**
2869 * How many milliseconds to wait before hiding the toast. By default, it will show until `dismiss()` is called.
2870 */
2871 "duration": number;
2872 /**
2873 * Animation to use when the toast is presented.
2874 */
2875 "enterAnimation"?: AnimationBuilder;
2876 /**
2877 * Header to be shown in the toast.
2878 */
2879 "header"?: string;
2880 /**
2881 * Additional attributes to pass to the toast.
2882 */
2883 "htmlAttributes"?: ToastAttributes;
2884 /**
2885 * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
2886 */
2887 "icon"?: string;
2888 /**
2889 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
2890 */
2891 "keyboardClose": boolean;
2892 /**
2893 * Animation to use when the toast is dismissed.
2894 */
2895 "leaveAnimation"?: AnimationBuilder;
2896 /**
2897 * Message to be shown in the toast.
2898 */
2899 "message"?: string | IonicSafeString;
2900 /**
2901 * The mode determines which platform styles to use.
2902 */
2903 "mode"?: "ios" | "md";
2904 /**
2905 * Returns a promise that resolves when the toast did dismiss.
2906 */
2907 "onDidDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
2908 /**
2909 * Returns a promise that resolves when the toast will dismiss.
2910 */
2911 "onWillDismiss": <T = any>() => Promise<OverlayEventDetail<T>>;
2912 "overlayIndex": number;
2913 /**
2914 * The position of the toast on the screen.
2915 */
2916 "position": 'top' | 'bottom' | 'middle';
2917 /**
2918 * Present the toast overlay after it has been created.
2919 */
2920 "present": () => Promise<void>;
2921 /**
2922 * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
2923 */
2924 "translucent": boolean;
2925 }
2926 interface IonToggle {
2927 /**
2928 * If `true`, the toggle is selected.
2929 */
2930 "checked": boolean;
2931 /**
2932 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2933 */
2934 "color"?: Color;
2935 /**
2936 * If `true`, the user cannot interact with the toggle.
2937 */
2938 "disabled": boolean;
2939 /**
2940 * The mode determines which platform styles to use.
2941 */
2942 "mode"?: "ios" | "md";
2943 /**
2944 * The name of the control, which is submitted with the form data.
2945 */
2946 "name": string;
2947 /**
2948 * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
2949 */
2950 "value"?: string | null;
2951 }
2952 interface IonToolbar {
2953 /**
2954 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
2955 */
2956 "color"?: Color;
2957 /**
2958 * The mode determines which platform styles to use.
2959 */
2960 "mode"?: "ios" | "md";
2961 }
2962 interface IonVirtualScroll {
2963 /**
2964 * The approximate width of each footer template's cell. This dimension is used to help determine how many cells should be created when initialized, and to help calculate the height of the scrollable area. This height value can only use `px` units. Note that the actual rendered size of each cell comes from the app's CSS, whereas this approximation is used to help calculate initial dimensions before the item has been rendered.
2965 */
2966 "approxFooterHeight": number;
2967 /**
2968 * The approximate height of each header template's cell. This dimension is used to help determine how many cells should be created when initialized, and to help calculate the height of the scrollable area. This height value can only use `px` units. Note that the actual rendered size of each cell comes from the app's CSS, whereas this approximation is used to help calculate initial dimensions before the item has been rendered.
2969 */
2970 "approxHeaderHeight": number;
2971 /**
2972 * It is important to provide this if virtual item height will be significantly larger than the default The approximate height of each virtual item template's cell. This dimension is used to help determine how many cells should be created when initialized, and to help calculate the height of the scrollable area. This height value can only use `px` units. Note that the actual rendered size of each cell comes from the app's CSS, whereas this approximation is used to help calculate initial dimensions before the item has been rendered.
2973 */
2974 "approxItemHeight": number;
2975 /**
2976 * This method marks the tail the items array as dirty, so they can be re-rendered. It's equivalent to calling: ```js virtualScroll.checkRange(lastItemLen); ```
2977 */
2978 "checkEnd": () => Promise<void>;
2979 /**
2980 * This method marks a subset of items as dirty, so they can be re-rendered. Items should be marked as dirty any time the content or their style changes. The subset of items to be updated can are specifing by an offset and a length.
2981 */
2982 "checkRange": (offset: number, len?: number) => Promise<void>;
2983 "domRender"?: DomRenderFn;
2984 /**
2985 * Section footers and the data used within its given template can be dynamically created by passing a function to `footerFn`. The logic within the footer function can decide if the footer template should be used, and what data to give to the footer template. The function must return `null` if a footer cell shouldn't be created.
2986 */
2987 "footerFn"?: HeaderFn;
2988 /**
2989 * An optional function that maps each item footer within their height.
2990 */
2991 "footerHeight"?: FooterHeightFn;
2992 /**
2993 * Section headers and the data used within its given template can be dynamically created by passing a function to `headerFn`. For example, a large list of contacts usually has dividers between each letter in the alphabet. App's can provide their own custom `headerFn` which is called with each record within the dataset. The logic within the header function can decide if the header template should be used, and what data to give to the header template. The function must return `null` if a header cell shouldn't be created.
2994 */
2995 "headerFn"?: HeaderFn;
2996 /**
2997 * An optional function that maps each item header within their height.
2998 */
2999 "headerHeight"?: HeaderHeightFn;
3000 /**
3001 * An optional function that maps each item within their height. When this function is provides, heavy optimizations and fast path can be taked by `ion-virtual-scroll` leading to massive performance improvements. This function allows to skip all DOM reads, which can be Doing so leads to massive performance
3002 */
3003 "itemHeight"?: ItemHeightFn;
3004 /**
3005 * The data that builds the templates within the virtual scroll. It's important to note that when this data has changed, then the entire virtual scroll is reset, which is an expensive operation and should be avoided if possible.
3006 */
3007 "items"?: any[];
3008 /**
3009 * NOTE: only Vanilla JS API.
3010 */
3011 "nodeRender"?: ItemRenderFn;
3012 /**
3013 * Returns the position of the virtual item at the given index.
3014 */
3015 "positionForItem": (index: number) => Promise<number>;
3016 /**
3017 * NOTE: only JSX API for stencil. Provide a render function for the footer to be rendered. Returns a JSX virtual-dom.
3018 */
3019 "renderFooter"?: (item: any, index: number) => any;
3020 /**
3021 * NOTE: only JSX API for stencil. Provide a render function for the header to be rendered. Returns a JSX virtual-dom.
3022 */
3023 "renderHeader"?: (item: any, index: number) => any;
3024 /**
3025 * NOTE: only JSX API for stencil. Provide a render function for the items to be rendered. Returns a JSX virtual-dom.
3026 */
3027 "renderItem"?: (item: any, index: number) => any;
3028 }
3029}
3030declare global {
3031 interface HTMLIonAccordionElement extends Components.IonAccordion, HTMLStencilElement {
3032 }
3033 var HTMLIonAccordionElement: {
3034 prototype: HTMLIonAccordionElement;
3035 new (): HTMLIonAccordionElement;
3036 };
3037 interface HTMLIonAccordionGroupElement extends Components.IonAccordionGroup, HTMLStencilElement {
3038 }
3039 var HTMLIonAccordionGroupElement: {
3040 prototype: HTMLIonAccordionGroupElement;
3041 new (): HTMLIonAccordionGroupElement;
3042 };
3043 interface HTMLIonActionSheetElement extends Components.IonActionSheet, HTMLStencilElement {
3044 }
3045 var HTMLIonActionSheetElement: {
3046 prototype: HTMLIonActionSheetElement;
3047 new (): HTMLIonActionSheetElement;
3048 };
3049 interface HTMLIonAlertElement extends Components.IonAlert, HTMLStencilElement {
3050 }
3051 var HTMLIonAlertElement: {
3052 prototype: HTMLIonAlertElement;
3053 new (): HTMLIonAlertElement;
3054 };
3055 interface HTMLIonAppElement extends Components.IonApp, HTMLStencilElement {
3056 }
3057 var HTMLIonAppElement: {
3058 prototype: HTMLIonAppElement;
3059 new (): HTMLIonAppElement;
3060 };
3061 interface HTMLIonAvatarElement extends Components.IonAvatar, HTMLStencilElement {
3062 }
3063 var HTMLIonAvatarElement: {
3064 prototype: HTMLIonAvatarElement;
3065 new (): HTMLIonAvatarElement;
3066 };
3067 interface HTMLIonBackButtonElement extends Components.IonBackButton, HTMLStencilElement {
3068 }
3069 var HTMLIonBackButtonElement: {
3070 prototype: HTMLIonBackButtonElement;
3071 new (): HTMLIonBackButtonElement;
3072 };
3073 interface HTMLIonBackdropElement extends Components.IonBackdrop, HTMLStencilElement {
3074 }
3075 var HTMLIonBackdropElement: {
3076 prototype: HTMLIonBackdropElement;
3077 new (): HTMLIonBackdropElement;
3078 };
3079 interface HTMLIonBadgeElement extends Components.IonBadge, HTMLStencilElement {
3080 }
3081 var HTMLIonBadgeElement: {
3082 prototype: HTMLIonBadgeElement;
3083 new (): HTMLIonBadgeElement;
3084 };
3085 interface HTMLIonBreadcrumbElement extends Components.IonBreadcrumb, HTMLStencilElement {
3086 }
3087 var HTMLIonBreadcrumbElement: {
3088 prototype: HTMLIonBreadcrumbElement;
3089 new (): HTMLIonBreadcrumbElement;
3090 };
3091 interface HTMLIonBreadcrumbsElement extends Components.IonBreadcrumbs, HTMLStencilElement {
3092 }
3093 var HTMLIonBreadcrumbsElement: {
3094 prototype: HTMLIonBreadcrumbsElement;
3095 new (): HTMLIonBreadcrumbsElement;
3096 };
3097 interface HTMLIonButtonElement extends Components.IonButton, HTMLStencilElement {
3098 }
3099 var HTMLIonButtonElement: {
3100 prototype: HTMLIonButtonElement;
3101 new (): HTMLIonButtonElement;
3102 };
3103 interface HTMLIonButtonsElement extends Components.IonButtons, HTMLStencilElement {
3104 }
3105 var HTMLIonButtonsElement: {
3106 prototype: HTMLIonButtonsElement;
3107 new (): HTMLIonButtonsElement;
3108 };
3109 interface HTMLIonCardElement extends Components.IonCard, HTMLStencilElement {
3110 }
3111 var HTMLIonCardElement: {
3112 prototype: HTMLIonCardElement;
3113 new (): HTMLIonCardElement;
3114 };
3115 interface HTMLIonCardContentElement extends Components.IonCardContent, HTMLStencilElement {
3116 }
3117 var HTMLIonCardContentElement: {
3118 prototype: HTMLIonCardContentElement;
3119 new (): HTMLIonCardContentElement;
3120 };
3121 interface HTMLIonCardHeaderElement extends Components.IonCardHeader, HTMLStencilElement {
3122 }
3123 var HTMLIonCardHeaderElement: {
3124 prototype: HTMLIonCardHeaderElement;
3125 new (): HTMLIonCardHeaderElement;
3126 };
3127 interface HTMLIonCardSubtitleElement extends Components.IonCardSubtitle, HTMLStencilElement {
3128 }
3129 var HTMLIonCardSubtitleElement: {
3130 prototype: HTMLIonCardSubtitleElement;
3131 new (): HTMLIonCardSubtitleElement;
3132 };
3133 interface HTMLIonCardTitleElement extends Components.IonCardTitle, HTMLStencilElement {
3134 }
3135 var HTMLIonCardTitleElement: {
3136 prototype: HTMLIonCardTitleElement;
3137 new (): HTMLIonCardTitleElement;
3138 };
3139 interface HTMLIonCheckboxElement extends Components.IonCheckbox, HTMLStencilElement {
3140 }
3141 var HTMLIonCheckboxElement: {
3142 prototype: HTMLIonCheckboxElement;
3143 new (): HTMLIonCheckboxElement;
3144 };
3145 interface HTMLIonChipElement extends Components.IonChip, HTMLStencilElement {
3146 }
3147 var HTMLIonChipElement: {
3148 prototype: HTMLIonChipElement;
3149 new (): HTMLIonChipElement;
3150 };
3151 interface HTMLIonColElement extends Components.IonCol, HTMLStencilElement {
3152 }
3153 var HTMLIonColElement: {
3154 prototype: HTMLIonColElement;
3155 new (): HTMLIonColElement;
3156 };
3157 interface HTMLIonContentElement extends Components.IonContent, HTMLStencilElement {
3158 }
3159 var HTMLIonContentElement: {
3160 prototype: HTMLIonContentElement;
3161 new (): HTMLIonContentElement;
3162 };
3163 interface HTMLIonDatetimeElement extends Components.IonDatetime, HTMLStencilElement {
3164 }
3165 var HTMLIonDatetimeElement: {
3166 prototype: HTMLIonDatetimeElement;
3167 new (): HTMLIonDatetimeElement;
3168 };
3169 interface HTMLIonFabElement extends Components.IonFab, HTMLStencilElement {
3170 }
3171 var HTMLIonFabElement: {
3172 prototype: HTMLIonFabElement;
3173 new (): HTMLIonFabElement;
3174 };
3175 interface HTMLIonFabButtonElement extends Components.IonFabButton, HTMLStencilElement {
3176 }
3177 var HTMLIonFabButtonElement: {
3178 prototype: HTMLIonFabButtonElement;
3179 new (): HTMLIonFabButtonElement;
3180 };
3181 interface HTMLIonFabListElement extends Components.IonFabList, HTMLStencilElement {
3182 }
3183 var HTMLIonFabListElement: {
3184 prototype: HTMLIonFabListElement;
3185 new (): HTMLIonFabListElement;
3186 };
3187 interface HTMLIonFooterElement extends Components.IonFooter, HTMLStencilElement {
3188 }
3189 var HTMLIonFooterElement: {
3190 prototype: HTMLIonFooterElement;
3191 new (): HTMLIonFooterElement;
3192 };
3193 interface HTMLIonGridElement extends Components.IonGrid, HTMLStencilElement {
3194 }
3195 var HTMLIonGridElement: {
3196 prototype: HTMLIonGridElement;
3197 new (): HTMLIonGridElement;
3198 };
3199 interface HTMLIonHeaderElement extends Components.IonHeader, HTMLStencilElement {
3200 }
3201 var HTMLIonHeaderElement: {
3202 prototype: HTMLIonHeaderElement;
3203 new (): HTMLIonHeaderElement;
3204 };
3205 interface HTMLIonImgElement extends Components.IonImg, HTMLStencilElement {
3206 }
3207 var HTMLIonImgElement: {
3208 prototype: HTMLIonImgElement;
3209 new (): HTMLIonImgElement;
3210 };
3211 interface HTMLIonInfiniteScrollElement extends Components.IonInfiniteScroll, HTMLStencilElement {
3212 }
3213 var HTMLIonInfiniteScrollElement: {
3214 prototype: HTMLIonInfiniteScrollElement;
3215 new (): HTMLIonInfiniteScrollElement;
3216 };
3217 interface HTMLIonInfiniteScrollContentElement extends Components.IonInfiniteScrollContent, HTMLStencilElement {
3218 }
3219 var HTMLIonInfiniteScrollContentElement: {
3220 prototype: HTMLIonInfiniteScrollContentElement;
3221 new (): HTMLIonInfiniteScrollContentElement;
3222 };
3223 interface HTMLIonInputElement extends Components.IonInput, HTMLStencilElement {
3224 }
3225 var HTMLIonInputElement: {
3226 prototype: HTMLIonInputElement;
3227 new (): HTMLIonInputElement;
3228 };
3229 interface HTMLIonItemElement extends Components.IonItem, HTMLStencilElement {
3230 }
3231 var HTMLIonItemElement: {
3232 prototype: HTMLIonItemElement;
3233 new (): HTMLIonItemElement;
3234 };
3235 interface HTMLIonItemDividerElement extends Components.IonItemDivider, HTMLStencilElement {
3236 }
3237 var HTMLIonItemDividerElement: {
3238 prototype: HTMLIonItemDividerElement;
3239 new (): HTMLIonItemDividerElement;
3240 };
3241 interface HTMLIonItemGroupElement extends Components.IonItemGroup, HTMLStencilElement {
3242 }
3243 var HTMLIonItemGroupElement: {
3244 prototype: HTMLIonItemGroupElement;
3245 new (): HTMLIonItemGroupElement;
3246 };
3247 interface HTMLIonItemOptionElement extends Components.IonItemOption, HTMLStencilElement {
3248 }
3249 var HTMLIonItemOptionElement: {
3250 prototype: HTMLIonItemOptionElement;
3251 new (): HTMLIonItemOptionElement;
3252 };
3253 interface HTMLIonItemOptionsElement extends Components.IonItemOptions, HTMLStencilElement {
3254 }
3255 var HTMLIonItemOptionsElement: {
3256 prototype: HTMLIonItemOptionsElement;
3257 new (): HTMLIonItemOptionsElement;
3258 };
3259 interface HTMLIonItemSlidingElement extends Components.IonItemSliding, HTMLStencilElement {
3260 }
3261 var HTMLIonItemSlidingElement: {
3262 prototype: HTMLIonItemSlidingElement;
3263 new (): HTMLIonItemSlidingElement;
3264 };
3265 interface HTMLIonLabelElement extends Components.IonLabel, HTMLStencilElement {
3266 }
3267 var HTMLIonLabelElement: {
3268 prototype: HTMLIonLabelElement;
3269 new (): HTMLIonLabelElement;
3270 };
3271 interface HTMLIonListElement extends Components.IonList, HTMLStencilElement {
3272 }
3273 var HTMLIonListElement: {
3274 prototype: HTMLIonListElement;
3275 new (): HTMLIonListElement;
3276 };
3277 interface HTMLIonListHeaderElement extends Components.IonListHeader, HTMLStencilElement {
3278 }
3279 var HTMLIonListHeaderElement: {
3280 prototype: HTMLIonListHeaderElement;
3281 new (): HTMLIonListHeaderElement;
3282 };
3283 interface HTMLIonLoadingElement extends Components.IonLoading, HTMLStencilElement {
3284 }
3285 var HTMLIonLoadingElement: {
3286 prototype: HTMLIonLoadingElement;
3287 new (): HTMLIonLoadingElement;
3288 };
3289 interface HTMLIonMenuElement extends Components.IonMenu, HTMLStencilElement {
3290 }
3291 var HTMLIonMenuElement: {
3292 prototype: HTMLIonMenuElement;
3293 new (): HTMLIonMenuElement;
3294 };
3295 interface HTMLIonMenuButtonElement extends Components.IonMenuButton, HTMLStencilElement {
3296 }
3297 var HTMLIonMenuButtonElement: {
3298 prototype: HTMLIonMenuButtonElement;
3299 new (): HTMLIonMenuButtonElement;
3300 };
3301 interface HTMLIonMenuToggleElement extends Components.IonMenuToggle, HTMLStencilElement {
3302 }
3303 var HTMLIonMenuToggleElement: {
3304 prototype: HTMLIonMenuToggleElement;
3305 new (): HTMLIonMenuToggleElement;
3306 };
3307 interface HTMLIonModalElement extends Components.IonModal, HTMLStencilElement {
3308 }
3309 var HTMLIonModalElement: {
3310 prototype: HTMLIonModalElement;
3311 new (): HTMLIonModalElement;
3312 };
3313 interface HTMLIonNavElement extends Components.IonNav, HTMLStencilElement {
3314 }
3315 var HTMLIonNavElement: {
3316 prototype: HTMLIonNavElement;
3317 new (): HTMLIonNavElement;
3318 };
3319 interface HTMLIonNavLinkElement extends Components.IonNavLink, HTMLStencilElement {
3320 }
3321 var HTMLIonNavLinkElement: {
3322 prototype: HTMLIonNavLinkElement;
3323 new (): HTMLIonNavLinkElement;
3324 };
3325 interface HTMLIonNoteElement extends Components.IonNote, HTMLStencilElement {
3326 }
3327 var HTMLIonNoteElement: {
3328 prototype: HTMLIonNoteElement;
3329 new (): HTMLIonNoteElement;
3330 };
3331 interface HTMLIonPickerElement extends Components.IonPicker, HTMLStencilElement {
3332 }
3333 var HTMLIonPickerElement: {
3334 prototype: HTMLIonPickerElement;
3335 new (): HTMLIonPickerElement;
3336 };
3337 interface HTMLIonPickerColumnElement extends Components.IonPickerColumn, HTMLStencilElement {
3338 }
3339 var HTMLIonPickerColumnElement: {
3340 prototype: HTMLIonPickerColumnElement;
3341 new (): HTMLIonPickerColumnElement;
3342 };
3343 interface HTMLIonPickerColumnInternalElement extends Components.IonPickerColumnInternal, HTMLStencilElement {
3344 }
3345 var HTMLIonPickerColumnInternalElement: {
3346 prototype: HTMLIonPickerColumnInternalElement;
3347 new (): HTMLIonPickerColumnInternalElement;
3348 };
3349 interface HTMLIonPickerInternalElement extends Components.IonPickerInternal, HTMLStencilElement {
3350 }
3351 var HTMLIonPickerInternalElement: {
3352 prototype: HTMLIonPickerInternalElement;
3353 new (): HTMLIonPickerInternalElement;
3354 };
3355 interface HTMLIonPopoverElement extends Components.IonPopover, HTMLStencilElement {
3356 }
3357 var HTMLIonPopoverElement: {
3358 prototype: HTMLIonPopoverElement;
3359 new (): HTMLIonPopoverElement;
3360 };
3361 interface HTMLIonProgressBarElement extends Components.IonProgressBar, HTMLStencilElement {
3362 }
3363 var HTMLIonProgressBarElement: {
3364 prototype: HTMLIonProgressBarElement;
3365 new (): HTMLIonProgressBarElement;
3366 };
3367 interface HTMLIonRadioElement extends Components.IonRadio, HTMLStencilElement {
3368 }
3369 var HTMLIonRadioElement: {
3370 prototype: HTMLIonRadioElement;
3371 new (): HTMLIonRadioElement;
3372 };
3373 interface HTMLIonRadioGroupElement extends Components.IonRadioGroup, HTMLStencilElement {
3374 }
3375 var HTMLIonRadioGroupElement: {
3376 prototype: HTMLIonRadioGroupElement;
3377 new (): HTMLIonRadioGroupElement;
3378 };
3379 interface HTMLIonRangeElement extends Components.IonRange, HTMLStencilElement {
3380 }
3381 var HTMLIonRangeElement: {
3382 prototype: HTMLIonRangeElement;
3383 new (): HTMLIonRangeElement;
3384 };
3385 interface HTMLIonRefresherElement extends Components.IonRefresher, HTMLStencilElement {
3386 }
3387 var HTMLIonRefresherElement: {
3388 prototype: HTMLIonRefresherElement;
3389 new (): HTMLIonRefresherElement;
3390 };
3391 interface HTMLIonRefresherContentElement extends Components.IonRefresherContent, HTMLStencilElement {
3392 }
3393 var HTMLIonRefresherContentElement: {
3394 prototype: HTMLIonRefresherContentElement;
3395 new (): HTMLIonRefresherContentElement;
3396 };
3397 interface HTMLIonReorderElement extends Components.IonReorder, HTMLStencilElement {
3398 }
3399 var HTMLIonReorderElement: {
3400 prototype: HTMLIonReorderElement;
3401 new (): HTMLIonReorderElement;
3402 };
3403 interface HTMLIonReorderGroupElement extends Components.IonReorderGroup, HTMLStencilElement {
3404 }
3405 var HTMLIonReorderGroupElement: {
3406 prototype: HTMLIonReorderGroupElement;
3407 new (): HTMLIonReorderGroupElement;
3408 };
3409 interface HTMLIonRippleEffectElement extends Components.IonRippleEffect, HTMLStencilElement {
3410 }
3411 var HTMLIonRippleEffectElement: {
3412 prototype: HTMLIonRippleEffectElement;
3413 new (): HTMLIonRippleEffectElement;
3414 };
3415 interface HTMLIonRouteElement extends Components.IonRoute, HTMLStencilElement {
3416 }
3417 var HTMLIonRouteElement: {
3418 prototype: HTMLIonRouteElement;
3419 new (): HTMLIonRouteElement;
3420 };
3421 interface HTMLIonRouteRedirectElement extends Components.IonRouteRedirect, HTMLStencilElement {
3422 }
3423 var HTMLIonRouteRedirectElement: {
3424 prototype: HTMLIonRouteRedirectElement;
3425 new (): HTMLIonRouteRedirectElement;
3426 };
3427 interface HTMLIonRouterElement extends Components.IonRouter, HTMLStencilElement {
3428 }
3429 var HTMLIonRouterElement: {
3430 prototype: HTMLIonRouterElement;
3431 new (): HTMLIonRouterElement;
3432 };
3433 interface HTMLIonRouterLinkElement extends Components.IonRouterLink, HTMLStencilElement {
3434 }
3435 var HTMLIonRouterLinkElement: {
3436 prototype: HTMLIonRouterLinkElement;
3437 new (): HTMLIonRouterLinkElement;
3438 };
3439 interface HTMLIonRouterOutletElement extends Components.IonRouterOutlet, HTMLStencilElement {
3440 }
3441 var HTMLIonRouterOutletElement: {
3442 prototype: HTMLIonRouterOutletElement;
3443 new (): HTMLIonRouterOutletElement;
3444 };
3445 interface HTMLIonRowElement extends Components.IonRow, HTMLStencilElement {
3446 }
3447 var HTMLIonRowElement: {
3448 prototype: HTMLIonRowElement;
3449 new (): HTMLIonRowElement;
3450 };
3451 interface HTMLIonSearchbarElement extends Components.IonSearchbar, HTMLStencilElement {
3452 }
3453 var HTMLIonSearchbarElement: {
3454 prototype: HTMLIonSearchbarElement;
3455 new (): HTMLIonSearchbarElement;
3456 };
3457 interface HTMLIonSegmentElement extends Components.IonSegment, HTMLStencilElement {
3458 }
3459 var HTMLIonSegmentElement: {
3460 prototype: HTMLIonSegmentElement;
3461 new (): HTMLIonSegmentElement;
3462 };
3463 interface HTMLIonSegmentButtonElement extends Components.IonSegmentButton, HTMLStencilElement {
3464 }
3465 var HTMLIonSegmentButtonElement: {
3466 prototype: HTMLIonSegmentButtonElement;
3467 new (): HTMLIonSegmentButtonElement;
3468 };
3469 interface HTMLIonSelectElement extends Components.IonSelect, HTMLStencilElement {
3470 }
3471 var HTMLIonSelectElement: {
3472 prototype: HTMLIonSelectElement;
3473 new (): HTMLIonSelectElement;
3474 };
3475 interface HTMLIonSelectOptionElement extends Components.IonSelectOption, HTMLStencilElement {
3476 }
3477 var HTMLIonSelectOptionElement: {
3478 prototype: HTMLIonSelectOptionElement;
3479 new (): HTMLIonSelectOptionElement;
3480 };
3481 interface HTMLIonSelectPopoverElement extends Components.IonSelectPopover, HTMLStencilElement {
3482 }
3483 var HTMLIonSelectPopoverElement: {
3484 prototype: HTMLIonSelectPopoverElement;
3485 new (): HTMLIonSelectPopoverElement;
3486 };
3487 interface HTMLIonSkeletonTextElement extends Components.IonSkeletonText, HTMLStencilElement {
3488 }
3489 var HTMLIonSkeletonTextElement: {
3490 prototype: HTMLIonSkeletonTextElement;
3491 new (): HTMLIonSkeletonTextElement;
3492 };
3493 interface HTMLIonSlideElement extends Components.IonSlide, HTMLStencilElement {
3494 }
3495 var HTMLIonSlideElement: {
3496 prototype: HTMLIonSlideElement;
3497 new (): HTMLIonSlideElement;
3498 };
3499 interface HTMLIonSlidesElement extends Components.IonSlides, HTMLStencilElement {
3500 }
3501 var HTMLIonSlidesElement: {
3502 prototype: HTMLIonSlidesElement;
3503 new (): HTMLIonSlidesElement;
3504 };
3505 interface HTMLIonSpinnerElement extends Components.IonSpinner, HTMLStencilElement {
3506 }
3507 var HTMLIonSpinnerElement: {
3508 prototype: HTMLIonSpinnerElement;
3509 new (): HTMLIonSpinnerElement;
3510 };
3511 interface HTMLIonSplitPaneElement extends Components.IonSplitPane, HTMLStencilElement {
3512 }
3513 var HTMLIonSplitPaneElement: {
3514 prototype: HTMLIonSplitPaneElement;
3515 new (): HTMLIonSplitPaneElement;
3516 };
3517 interface HTMLIonTabElement extends Components.IonTab, HTMLStencilElement {
3518 }
3519 var HTMLIonTabElement: {
3520 prototype: HTMLIonTabElement;
3521 new (): HTMLIonTabElement;
3522 };
3523 interface HTMLIonTabBarElement extends Components.IonTabBar, HTMLStencilElement {
3524 }
3525 var HTMLIonTabBarElement: {
3526 prototype: HTMLIonTabBarElement;
3527 new (): HTMLIonTabBarElement;
3528 };
3529 interface HTMLIonTabButtonElement extends Components.IonTabButton, HTMLStencilElement {
3530 }
3531 var HTMLIonTabButtonElement: {
3532 prototype: HTMLIonTabButtonElement;
3533 new (): HTMLIonTabButtonElement;
3534 };
3535 interface HTMLIonTabsElement extends Components.IonTabs, HTMLStencilElement {
3536 }
3537 var HTMLIonTabsElement: {
3538 prototype: HTMLIonTabsElement;
3539 new (): HTMLIonTabsElement;
3540 };
3541 interface HTMLIonTextElement extends Components.IonText, HTMLStencilElement {
3542 }
3543 var HTMLIonTextElement: {
3544 prototype: HTMLIonTextElement;
3545 new (): HTMLIonTextElement;
3546 };
3547 interface HTMLIonTextareaElement extends Components.IonTextarea, HTMLStencilElement {
3548 }
3549 var HTMLIonTextareaElement: {
3550 prototype: HTMLIonTextareaElement;
3551 new (): HTMLIonTextareaElement;
3552 };
3553 interface HTMLIonThumbnailElement extends Components.IonThumbnail, HTMLStencilElement {
3554 }
3555 var HTMLIonThumbnailElement: {
3556 prototype: HTMLIonThumbnailElement;
3557 new (): HTMLIonThumbnailElement;
3558 };
3559 interface HTMLIonTitleElement extends Components.IonTitle, HTMLStencilElement {
3560 }
3561 var HTMLIonTitleElement: {
3562 prototype: HTMLIonTitleElement;
3563 new (): HTMLIonTitleElement;
3564 };
3565 interface HTMLIonToastElement extends Components.IonToast, HTMLStencilElement {
3566 }
3567 var HTMLIonToastElement: {
3568 prototype: HTMLIonToastElement;
3569 new (): HTMLIonToastElement;
3570 };
3571 interface HTMLIonToggleElement extends Components.IonToggle, HTMLStencilElement {
3572 }
3573 var HTMLIonToggleElement: {
3574 prototype: HTMLIonToggleElement;
3575 new (): HTMLIonToggleElement;
3576 };
3577 interface HTMLIonToolbarElement extends Components.IonToolbar, HTMLStencilElement {
3578 }
3579 var HTMLIonToolbarElement: {
3580 prototype: HTMLIonToolbarElement;
3581 new (): HTMLIonToolbarElement;
3582 };
3583 interface HTMLIonVirtualScrollElement extends Components.IonVirtualScroll, HTMLStencilElement {
3584 }
3585 var HTMLIonVirtualScrollElement: {
3586 prototype: HTMLIonVirtualScrollElement;
3587 new (): HTMLIonVirtualScrollElement;
3588 };
3589 interface HTMLElementTagNameMap {
3590 "ion-accordion": HTMLIonAccordionElement;
3591 "ion-accordion-group": HTMLIonAccordionGroupElement;
3592 "ion-action-sheet": HTMLIonActionSheetElement;
3593 "ion-alert": HTMLIonAlertElement;
3594 "ion-app": HTMLIonAppElement;
3595 "ion-avatar": HTMLIonAvatarElement;
3596 "ion-back-button": HTMLIonBackButtonElement;
3597 "ion-backdrop": HTMLIonBackdropElement;
3598 "ion-badge": HTMLIonBadgeElement;
3599 "ion-breadcrumb": HTMLIonBreadcrumbElement;
3600 "ion-breadcrumbs": HTMLIonBreadcrumbsElement;
3601 "ion-button": HTMLIonButtonElement;
3602 "ion-buttons": HTMLIonButtonsElement;
3603 "ion-card": HTMLIonCardElement;
3604 "ion-card-content": HTMLIonCardContentElement;
3605 "ion-card-header": HTMLIonCardHeaderElement;
3606 "ion-card-subtitle": HTMLIonCardSubtitleElement;
3607 "ion-card-title": HTMLIonCardTitleElement;
3608 "ion-checkbox": HTMLIonCheckboxElement;
3609 "ion-chip": HTMLIonChipElement;
3610 "ion-col": HTMLIonColElement;
3611 "ion-content": HTMLIonContentElement;
3612 "ion-datetime": HTMLIonDatetimeElement;
3613 "ion-fab": HTMLIonFabElement;
3614 "ion-fab-button": HTMLIonFabButtonElement;
3615 "ion-fab-list": HTMLIonFabListElement;
3616 "ion-footer": HTMLIonFooterElement;
3617 "ion-grid": HTMLIonGridElement;
3618 "ion-header": HTMLIonHeaderElement;
3619 "ion-img": HTMLIonImgElement;
3620 "ion-infinite-scroll": HTMLIonInfiniteScrollElement;
3621 "ion-infinite-scroll-content": HTMLIonInfiniteScrollContentElement;
3622 "ion-input": HTMLIonInputElement;
3623 "ion-item": HTMLIonItemElement;
3624 "ion-item-divider": HTMLIonItemDividerElement;
3625 "ion-item-group": HTMLIonItemGroupElement;
3626 "ion-item-option": HTMLIonItemOptionElement;
3627 "ion-item-options": HTMLIonItemOptionsElement;
3628 "ion-item-sliding": HTMLIonItemSlidingElement;
3629 "ion-label": HTMLIonLabelElement;
3630 "ion-list": HTMLIonListElement;
3631 "ion-list-header": HTMLIonListHeaderElement;
3632 "ion-loading": HTMLIonLoadingElement;
3633 "ion-menu": HTMLIonMenuElement;
3634 "ion-menu-button": HTMLIonMenuButtonElement;
3635 "ion-menu-toggle": HTMLIonMenuToggleElement;
3636 "ion-modal": HTMLIonModalElement;
3637 "ion-nav": HTMLIonNavElement;
3638 "ion-nav-link": HTMLIonNavLinkElement;
3639 "ion-note": HTMLIonNoteElement;
3640 "ion-picker": HTMLIonPickerElement;
3641 "ion-picker-column": HTMLIonPickerColumnElement;
3642 "ion-picker-column-internal": HTMLIonPickerColumnInternalElement;
3643 "ion-picker-internal": HTMLIonPickerInternalElement;
3644 "ion-popover": HTMLIonPopoverElement;
3645 "ion-progress-bar": HTMLIonProgressBarElement;
3646 "ion-radio": HTMLIonRadioElement;
3647 "ion-radio-group": HTMLIonRadioGroupElement;
3648 "ion-range": HTMLIonRangeElement;
3649 "ion-refresher": HTMLIonRefresherElement;
3650 "ion-refresher-content": HTMLIonRefresherContentElement;
3651 "ion-reorder": HTMLIonReorderElement;
3652 "ion-reorder-group": HTMLIonReorderGroupElement;
3653 "ion-ripple-effect": HTMLIonRippleEffectElement;
3654 "ion-route": HTMLIonRouteElement;
3655 "ion-route-redirect": HTMLIonRouteRedirectElement;
3656 "ion-router": HTMLIonRouterElement;
3657 "ion-router-link": HTMLIonRouterLinkElement;
3658 "ion-router-outlet": HTMLIonRouterOutletElement;
3659 "ion-row": HTMLIonRowElement;
3660 "ion-searchbar": HTMLIonSearchbarElement;
3661 "ion-segment": HTMLIonSegmentElement;
3662 "ion-segment-button": HTMLIonSegmentButtonElement;
3663 "ion-select": HTMLIonSelectElement;
3664 "ion-select-option": HTMLIonSelectOptionElement;
3665 "ion-select-popover": HTMLIonSelectPopoverElement;
3666 "ion-skeleton-text": HTMLIonSkeletonTextElement;
3667 "ion-slide": HTMLIonSlideElement;
3668 "ion-slides": HTMLIonSlidesElement;
3669 "ion-spinner": HTMLIonSpinnerElement;
3670 "ion-split-pane": HTMLIonSplitPaneElement;
3671 "ion-tab": HTMLIonTabElement;
3672 "ion-tab-bar": HTMLIonTabBarElement;
3673 "ion-tab-button": HTMLIonTabButtonElement;
3674 "ion-tabs": HTMLIonTabsElement;
3675 "ion-text": HTMLIonTextElement;
3676 "ion-textarea": HTMLIonTextareaElement;
3677 "ion-thumbnail": HTMLIonThumbnailElement;
3678 "ion-title": HTMLIonTitleElement;
3679 "ion-toast": HTMLIonToastElement;
3680 "ion-toggle": HTMLIonToggleElement;
3681 "ion-toolbar": HTMLIonToolbarElement;
3682 "ion-virtual-scroll": HTMLIonVirtualScrollElement;
3683 }
3684}
3685declare namespace LocalJSX {
3686 interface IonAccordion {
3687 /**
3688 * If `true`, the accordion cannot be interacted with.
3689 */
3690 "disabled"?: boolean;
3691 /**
3692 * The mode determines which platform styles to use.
3693 */
3694 "mode"?: "ios" | "md";
3695 /**
3696 * If `true`, the accordion cannot be interacted with, but does not alter the opacity.
3697 */
3698 "readonly"?: boolean;
3699 /**
3700 * The toggle icon to use. This icon will be rotated when the accordion is expanded or collapsed.
3701 */
3702 "toggleIcon"?: string;
3703 /**
3704 * The slot inside of `ion-item` to place the toggle icon. Defaults to `'end'`.
3705 */
3706 "toggleIconSlot"?: 'start' | 'end';
3707 /**
3708 * The value of the accordion. Defaults to an autogenerated value.
3709 */
3710 "value"?: string;
3711 }
3712 interface IonAccordionGroup {
3713 /**
3714 * If `true`, all accordions inside of the accordion group will animate when expanding or collapsing.
3715 */
3716 "animated"?: boolean;
3717 /**
3718 * If `true`, the accordion group cannot be interacted with.
3719 */
3720 "disabled"?: boolean;
3721 /**
3722 * Describes the expansion behavior for each accordion. Possible values are `"compact"` and `"inset"`. Defaults to `"compact"`.
3723 */
3724 "expand"?: 'compact' | 'inset';
3725 /**
3726 * The mode determines which platform styles to use.
3727 */
3728 "mode"?: "ios" | "md";
3729 /**
3730 * If `true`, the accordion group can have multiple accordion components expanded at the same time.
3731 */
3732 "multiple"?: boolean;
3733 /**
3734 * Emitted when the value property has changed.
3735 */
3736 "onIonChange"?: (event: CustomEvent<AccordionGroupChangeEventDetail>) => void;
3737 /**
3738 * If `true`, the accordion group cannot be interacted with, but does not alter the opacity.
3739 */
3740 "readonly"?: boolean;
3741 /**
3742 * The value of the accordion group.
3743 */
3744 "value"?: string | string[] | null;
3745 }
3746 interface IonActionSheet {
3747 /**
3748 * If `true`, the action sheet will animate.
3749 */
3750 "animated"?: boolean;
3751 /**
3752 * If `true`, the action sheet will be dismissed when the backdrop is clicked.
3753 */
3754 "backdropDismiss"?: boolean;
3755 /**
3756 * An array of buttons for the action sheet.
3757 */
3758 "buttons"?: (ActionSheetButton | string)[];
3759 /**
3760 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
3761 */
3762 "cssClass"?: string | string[];
3763 /**
3764 * Animation to use when the action sheet is presented.
3765 */
3766 "enterAnimation"?: AnimationBuilder;
3767 /**
3768 * Title for the action sheet.
3769 */
3770 "header"?: string;
3771 /**
3772 * Additional attributes to pass to the action sheet.
3773 */
3774 "htmlAttributes"?: ActionSheetAttributes;
3775 /**
3776 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
3777 */
3778 "keyboardClose"?: boolean;
3779 /**
3780 * Animation to use when the action sheet is dismissed.
3781 */
3782 "leaveAnimation"?: AnimationBuilder;
3783 /**
3784 * The mode determines which platform styles to use.
3785 */
3786 "mode"?: "ios" | "md";
3787 /**
3788 * Emitted after the alert has dismissed.
3789 */
3790 "onIonActionSheetDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
3791 /**
3792 * Emitted after the alert has presented.
3793 */
3794 "onIonActionSheetDidPresent"?: (event: CustomEvent<void>) => void;
3795 /**
3796 * Emitted before the alert has dismissed.
3797 */
3798 "onIonActionSheetWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
3799 /**
3800 * Emitted before the alert has presented.
3801 */
3802 "onIonActionSheetWillPresent"?: (event: CustomEvent<void>) => void;
3803 /**
3804 * Subtitle for the action sheet.
3805 */
3806 "subHeader"?: string;
3807 /**
3808 * If `true`, the action sheet will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3809 */
3810 "translucent"?: boolean;
3811 }
3812 interface IonAlert {
3813 /**
3814 * If `true`, the alert will animate.
3815 */
3816 "animated"?: boolean;
3817 /**
3818 * If `true`, the alert will be dismissed when the backdrop is clicked.
3819 */
3820 "backdropDismiss"?: boolean;
3821 /**
3822 * Array of buttons to be added to the alert.
3823 */
3824 "buttons"?: (AlertButton | string)[];
3825 /**
3826 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
3827 */
3828 "cssClass"?: string | string[];
3829 /**
3830 * Animation to use when the alert is presented.
3831 */
3832 "enterAnimation"?: AnimationBuilder;
3833 /**
3834 * The main title in the heading of the alert.
3835 */
3836 "header"?: string;
3837 /**
3838 * Additional attributes to pass to the alert.
3839 */
3840 "htmlAttributes"?: AlertAttributes;
3841 /**
3842 * Array of input to show in the alert.
3843 */
3844 "inputs"?: AlertInput[];
3845 /**
3846 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
3847 */
3848 "keyboardClose"?: boolean;
3849 /**
3850 * Animation to use when the alert is dismissed.
3851 */
3852 "leaveAnimation"?: AnimationBuilder;
3853 /**
3854 * The main message to be displayed in the alert. `message` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
3855 */
3856 "message"?: string | IonicSafeString;
3857 /**
3858 * The mode determines which platform styles to use.
3859 */
3860 "mode"?: "ios" | "md";
3861 /**
3862 * Emitted after the alert has dismissed.
3863 */
3864 "onIonAlertDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
3865 /**
3866 * Emitted after the alert has presented.
3867 */
3868 "onIonAlertDidPresent"?: (event: CustomEvent<void>) => void;
3869 /**
3870 * Emitted before the alert has dismissed.
3871 */
3872 "onIonAlertWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
3873 /**
3874 * Emitted before the alert has presented.
3875 */
3876 "onIonAlertWillPresent"?: (event: CustomEvent<void>) => void;
3877 /**
3878 * The subtitle in the heading of the alert. Displayed under the title.
3879 */
3880 "subHeader"?: string;
3881 /**
3882 * If `true`, the alert will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
3883 */
3884 "translucent"?: boolean;
3885 }
3886 interface IonApp {
3887 }
3888 interface IonAvatar {
3889 }
3890 interface IonBackButton {
3891 /**
3892 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
3893 */
3894 "color"?: Color;
3895 /**
3896 * The url to navigate back to by default when there is no history.
3897 */
3898 "defaultHref"?: string;
3899 /**
3900 * If `true`, the user cannot interact with the button.
3901 */
3902 "disabled"?: boolean;
3903 /**
3904 * The built-in named SVG icon name or the exact `src` of an SVG file to use for the back button.
3905 */
3906 "icon"?: string | null;
3907 /**
3908 * The mode determines which platform styles to use.
3909 */
3910 "mode"?: "ios" | "md";
3911 /**
3912 * When using a router, it specifies the transition animation when navigating to another page.
3913 */
3914 "routerAnimation"?: AnimationBuilder | undefined;
3915 /**
3916 * The text to display in the back button.
3917 */
3918 "text"?: string | null;
3919 /**
3920 * The type of the button.
3921 */
3922 "type"?: 'submit' | 'reset' | 'button';
3923 }
3924 interface IonBackdrop {
3925 /**
3926 * Emitted when the backdrop is tapped.
3927 */
3928 "onIonBackdropTap"?: (event: CustomEvent<void>) => void;
3929 /**
3930 * If `true`, the backdrop will stop propagation on tap.
3931 */
3932 "stopPropagation"?: boolean;
3933 /**
3934 * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
3935 */
3936 "tappable"?: boolean;
3937 /**
3938 * If `true`, the backdrop will be visible.
3939 */
3940 "visible"?: boolean;
3941 }
3942 interface IonBadge {
3943 /**
3944 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
3945 */
3946 "color"?: Color;
3947 /**
3948 * The mode determines which platform styles to use.
3949 */
3950 "mode"?: "ios" | "md";
3951 }
3952 interface IonBreadcrumb {
3953 /**
3954 * If `true`, the breadcrumb will take on a different look to show that it is the currently active breadcrumb. Defaults to `true` for the last breadcrumb if it is not set on any.
3955 */
3956 "active"?: boolean;
3957 /**
3958 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
3959 */
3960 "color"?: Color;
3961 /**
3962 * If `true`, the user cannot interact with the breadcrumb.
3963 */
3964 "disabled"?: boolean;
3965 /**
3966 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
3967 */
3968 "download"?: string | undefined;
3969 /**
3970 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
3971 */
3972 "href"?: string | undefined;
3973 /**
3974 * The mode determines which platform styles to use.
3975 */
3976 "mode"?: "ios" | "md";
3977 /**
3978 * Emitted when the breadcrumb loses focus.
3979 */
3980 "onIonBlur"?: (event: CustomEvent<void>) => void;
3981 /**
3982 * Emitted when the breadcrumb has focus.
3983 */
3984 "onIonFocus"?: (event: CustomEvent<void>) => void;
3985 /**
3986 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
3987 */
3988 "rel"?: string | undefined;
3989 /**
3990 * When using a router, it specifies the transition animation when navigating to another page using `href`.
3991 */
3992 "routerAnimation"?: AnimationBuilder | undefined;
3993 /**
3994 * When using a router, it specifies the transition direction when navigating to another page using `href`.
3995 */
3996 "routerDirection"?: RouterDirection;
3997 /**
3998 * If true, show a separator between this breadcrumb and the next. Defaults to `true` for all breadcrumbs except the last.
3999 */
4000 "separator"?: boolean | undefined;
4001 /**
4002 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
4003 */
4004 "target"?: string | undefined;
4005 }
4006 interface IonBreadcrumbs {
4007 /**
4008 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4009 */
4010 "color"?: Color;
4011 /**
4012 * The number of breadcrumbs to show after the collapsed indicator. If this property exists `maxItems` will be ignored.
4013 */
4014 "itemsAfterCollapse"?: number;
4015 /**
4016 * The number of breadcrumbs to show before the collapsed indicator. If this property exists `maxItems` will be ignored.
4017 */
4018 "itemsBeforeCollapse"?: number;
4019 /**
4020 * The maximum number of breadcrumbs to show before collapsing.
4021 */
4022 "maxItems"?: number;
4023 /**
4024 * The mode determines which platform styles to use.
4025 */
4026 "mode"?: "ios" | "md";
4027 /**
4028 * Emitted when the collapsed indicator is clicked on.
4029 */
4030 "onIonCollapsedClick"?: (event: CustomEvent<BreadcrumbCollapsedClickEventDetail>) => void;
4031 }
4032 interface IonButton {
4033 /**
4034 * The type of button.
4035 */
4036 "buttonType"?: string;
4037 /**
4038 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4039 */
4040 "color"?: Color;
4041 /**
4042 * If `true`, the user cannot interact with the button.
4043 */
4044 "disabled"?: boolean;
4045 /**
4046 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
4047 */
4048 "download"?: string | undefined;
4049 /**
4050 * Set to `"block"` for a full-width button or to `"full"` for a full-width button without left and right borders.
4051 */
4052 "expand"?: 'full' | 'block';
4053 /**
4054 * Set to `"clear"` for a transparent button, to `"outline"` for a transparent button with a border, or to `"solid"`. The default style is `"solid"` except inside of a toolbar, where the default is `"clear"`.
4055 */
4056 "fill"?: 'clear' | 'outline' | 'solid' | 'default';
4057 /**
4058 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
4059 */
4060 "href"?: string | undefined;
4061 /**
4062 * The mode determines which platform styles to use.
4063 */
4064 "mode"?: "ios" | "md";
4065 /**
4066 * Emitted when the button loses focus.
4067 */
4068 "onIonBlur"?: (event: CustomEvent<void>) => void;
4069 /**
4070 * Emitted when the button has focus.
4071 */
4072 "onIonFocus"?: (event: CustomEvent<void>) => void;
4073 /**
4074 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
4075 */
4076 "rel"?: string | undefined;
4077 /**
4078 * When using a router, it specifies the transition animation when navigating to another page using `href`.
4079 */
4080 "routerAnimation"?: AnimationBuilder | undefined;
4081 /**
4082 * When using a router, it specifies the transition direction when navigating to another page using `href`.
4083 */
4084 "routerDirection"?: RouterDirection;
4085 /**
4086 * The button shape.
4087 */
4088 "shape"?: 'round';
4089 /**
4090 * The button size.
4091 */
4092 "size"?: 'small' | 'default' | 'large';
4093 /**
4094 * If `true`, activates a button with a heavier font weight.
4095 */
4096 "strong"?: boolean;
4097 /**
4098 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
4099 */
4100 "target"?: string | undefined;
4101 /**
4102 * The type of the button.
4103 */
4104 "type"?: 'submit' | 'reset' | 'button';
4105 }
4106 interface IonButtons {
4107 /**
4108 * If true, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in `ios` mode with `collapse` set to `true` on `ion-header`. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
4109 */
4110 "collapse"?: boolean;
4111 }
4112 interface IonCard {
4113 /**
4114 * If `true`, a button tag will be rendered and the card will be tappable.
4115 */
4116 "button"?: boolean;
4117 /**
4118 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4119 */
4120 "color"?: Color;
4121 /**
4122 * If `true`, the user cannot interact with the card.
4123 */
4124 "disabled"?: boolean;
4125 /**
4126 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
4127 */
4128 "download"?: string | undefined;
4129 /**
4130 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
4131 */
4132 "href"?: string | undefined;
4133 /**
4134 * The mode determines which platform styles to use.
4135 */
4136 "mode"?: "ios" | "md";
4137 /**
4138 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
4139 */
4140 "rel"?: string | undefined;
4141 /**
4142 * When using a router, it specifies the transition animation when navigating to another page using `href`.
4143 */
4144 "routerAnimation"?: AnimationBuilder | undefined;
4145 /**
4146 * When using a router, it specifies the transition direction when navigating to another page using `href`.
4147 */
4148 "routerDirection"?: RouterDirection;
4149 /**
4150 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
4151 */
4152 "target"?: string | undefined;
4153 /**
4154 * The type of the button. Only used when an `onclick` or `button` property is present.
4155 */
4156 "type"?: 'submit' | 'reset' | 'button';
4157 }
4158 interface IonCardContent {
4159 /**
4160 * The mode determines which platform styles to use.
4161 */
4162 "mode"?: "ios" | "md";
4163 }
4164 interface IonCardHeader {
4165 /**
4166 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4167 */
4168 "color"?: Color;
4169 /**
4170 * The mode determines which platform styles to use.
4171 */
4172 "mode"?: "ios" | "md";
4173 /**
4174 * If `true`, the card header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
4175 */
4176 "translucent"?: boolean;
4177 }
4178 interface IonCardSubtitle {
4179 /**
4180 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4181 */
4182 "color"?: Color;
4183 /**
4184 * The mode determines which platform styles to use.
4185 */
4186 "mode"?: "ios" | "md";
4187 }
4188 interface IonCardTitle {
4189 /**
4190 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4191 */
4192 "color"?: Color;
4193 /**
4194 * The mode determines which platform styles to use.
4195 */
4196 "mode"?: "ios" | "md";
4197 }
4198 interface IonCheckbox {
4199 /**
4200 * If `true`, the checkbox is selected.
4201 */
4202 "checked"?: boolean;
4203 /**
4204 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4205 */
4206 "color"?: Color;
4207 /**
4208 * If `true`, the user cannot interact with the checkbox.
4209 */
4210 "disabled"?: boolean;
4211 /**
4212 * If `true`, the checkbox will visually appear as indeterminate.
4213 */
4214 "indeterminate"?: boolean;
4215 /**
4216 * The mode determines which platform styles to use.
4217 */
4218 "mode"?: "ios" | "md";
4219 /**
4220 * The name of the control, which is submitted with the form data.
4221 */
4222 "name"?: string;
4223 /**
4224 * Emitted when the checkbox loses focus.
4225 */
4226 "onIonBlur"?: (event: CustomEvent<void>) => void;
4227 /**
4228 * Emitted when the checked property has changed.
4229 */
4230 "onIonChange"?: (event: CustomEvent<CheckboxChangeEventDetail>) => void;
4231 /**
4232 * Emitted when the checkbox has focus.
4233 */
4234 "onIonFocus"?: (event: CustomEvent<void>) => void;
4235 /**
4236 * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
4237 */
4238 "value"?: any | null;
4239 }
4240 interface IonChip {
4241 /**
4242 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4243 */
4244 "color"?: Color;
4245 /**
4246 * If `true`, the user cannot interact with the chip.
4247 */
4248 "disabled"?: boolean;
4249 /**
4250 * The mode determines which platform styles to use.
4251 */
4252 "mode"?: "ios" | "md";
4253 /**
4254 * Display an outline style button.
4255 */
4256 "outline"?: boolean;
4257 }
4258 interface IonCol {
4259 /**
4260 * The amount to offset the column, in terms of how many columns it should shift to the end of the total available.
4261 */
4262 "offset"?: string;
4263 /**
4264 * The amount to offset the column for lg screens, in terms of how many columns it should shift to the end of the total available.
4265 */
4266 "offsetLg"?: string;
4267 /**
4268 * The amount to offset the column for md screens, in terms of how many columns it should shift to the end of the total available.
4269 */
4270 "offsetMd"?: string;
4271 /**
4272 * The amount to offset the column for sm screens, in terms of how many columns it should shift to the end of the total available.
4273 */
4274 "offsetSm"?: string;
4275 /**
4276 * The amount to offset the column for xl screens, in terms of how many columns it should shift to the end of the total available.
4277 */
4278 "offsetXl"?: string;
4279 /**
4280 * The amount to offset the column for xs screens, in terms of how many columns it should shift to the end of the total available.
4281 */
4282 "offsetXs"?: string;
4283 /**
4284 * The amount to pull the column, in terms of how many columns it should shift to the start of the total available.
4285 */
4286 "pull"?: string;
4287 /**
4288 * The amount to pull the column for lg screens, in terms of how many columns it should shift to the start of the total available.
4289 */
4290 "pullLg"?: string;
4291 /**
4292 * The amount to pull the column for md screens, in terms of how many columns it should shift to the start of the total available.
4293 */
4294 "pullMd"?: string;
4295 /**
4296 * The amount to pull the column for sm screens, in terms of how many columns it should shift to the start of the total available.
4297 */
4298 "pullSm"?: string;
4299 /**
4300 * The amount to pull the column for xl screens, in terms of how many columns it should shift to the start of the total available.
4301 */
4302 "pullXl"?: string;
4303 /**
4304 * The amount to pull the column for xs screens, in terms of how many columns it should shift to the start of the total available.
4305 */
4306 "pullXs"?: string;
4307 /**
4308 * The amount to push the column, in terms of how many columns it should shift to the end of the total available.
4309 */
4310 "push"?: string;
4311 /**
4312 * The amount to push the column for lg screens, in terms of how many columns it should shift to the end of the total available.
4313 */
4314 "pushLg"?: string;
4315 /**
4316 * The amount to push the column for md screens, in terms of how many columns it should shift to the end of the total available.
4317 */
4318 "pushMd"?: string;
4319 /**
4320 * The amount to push the column for sm screens, in terms of how many columns it should shift to the end of the total available.
4321 */
4322 "pushSm"?: string;
4323 /**
4324 * The amount to push the column for xl screens, in terms of how many columns it should shift to the end of the total available.
4325 */
4326 "pushXl"?: string;
4327 /**
4328 * The amount to push the column for xs screens, in terms of how many columns it should shift to the end of the total available.
4329 */
4330 "pushXs"?: string;
4331 /**
4332 * The size of the column, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
4333 */
4334 "size"?: string;
4335 /**
4336 * The size of the column for lg screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
4337 */
4338 "sizeLg"?: string;
4339 /**
4340 * The size of the column for md screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
4341 */
4342 "sizeMd"?: string;
4343 /**
4344 * The size of the column for sm screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
4345 */
4346 "sizeSm"?: string;
4347 /**
4348 * The size of the column for xl screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
4349 */
4350 "sizeXl"?: string;
4351 /**
4352 * The size of the column for xs screens, in terms of how many columns it should take up out of the total available. If `"auto"` is passed, the column will be the size of its content.
4353 */
4354 "sizeXs"?: string;
4355 }
4356 interface IonContent {
4357 /**
4358 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4359 */
4360 "color"?: Color;
4361 /**
4362 * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce. If the content exceeds the bounds of ionContent, nothing will change. Note, the does not disable the system bounce on iOS. That is an OS level setting.
4363 */
4364 "forceOverscroll"?: boolean;
4365 /**
4366 * If `true`, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent.
4367 */
4368 "fullscreen"?: boolean;
4369 /**
4370 * Emitted while scrolling. This event is disabled by default. Look at the property: `scrollEvents`
4371 */
4372 "onIonScroll"?: (event: CustomEvent<ScrollDetail>) => void;
4373 /**
4374 * Emitted when the scroll has ended.
4375 */
4376 "onIonScrollEnd"?: (event: CustomEvent<ScrollBaseDetail>) => void;
4377 /**
4378 * Emitted when the scroll has started.
4379 */
4380 "onIonScrollStart"?: (event: CustomEvent<ScrollBaseDetail>) => void;
4381 /**
4382 * Because of performance reasons, ionScroll events are disabled by default, in order to enable them and start listening from (ionScroll), set this property to `true`.
4383 */
4384 "scrollEvents"?: boolean;
4385 /**
4386 * If you want to enable the content scrolling in the X axis, set this property to `true`.
4387 */
4388 "scrollX"?: boolean;
4389 /**
4390 * If you want to disable the content scrolling in the Y axis, set this property to `false`.
4391 */
4392 "scrollY"?: boolean;
4393 }
4394 interface IonDatetime {
4395 /**
4396 * The text to display on the picker's cancel button.
4397 */
4398 "cancelText"?: string;
4399 /**
4400 * The text to display on the picker's "Clear" button.
4401 */
4402 "clearText"?: string;
4403 /**
4404 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4405 */
4406 "color"?: Color;
4407 /**
4408 * Values used to create the list of selectable days. By default every day is shown for the given month. However, to control exactly which days of the month to display, the `dayValues` input can take a number, an array of numbers, or a string of comma separated numbers. Note that even if the array days have an invalid number for the selected month, like `31` in February, it will correctly not show days which are not valid for the selected month.
4409 */
4410 "dayValues"?: number[] | number | string;
4411 /**
4412 * If `true`, the user cannot interact with the datetime.
4413 */
4414 "disabled"?: boolean;
4415 /**
4416 * The text to display on the picker's "Done" button.
4417 */
4418 "doneText"?: string;
4419 /**
4420 * The first day of the week to use for `ion-datetime`. The default value is `0` and represents Sunday.
4421 */
4422 "firstDayOfWeek"?: number;
4423 /**
4424 * The hour cycle of the `ion-datetime`. If no value is set, this is specified by the current locale.
4425 */
4426 "hourCycle"?: 'h23' | 'h12';
4427 /**
4428 * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers.
4429 */
4430 "hourValues"?: number[] | number | string;
4431 /**
4432 * The locale to use for `ion-datetime`. This impacts month and day name formatting. The `'default'` value refers to the default locale set by your device.
4433 */
4434 "locale"?: string;
4435 /**
4436 * The maximum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the maximum could just be the year, such as `1994`. Defaults to the end of this year.
4437 */
4438 "max"?: string;
4439 /**
4440 * The minimum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), such as `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the minimum could just be the year, such as `1994`. Defaults to the beginning of the year, 100 years ago from today.
4441 */
4442 "min"?: string;
4443 /**
4444 * Values used to create the list of selectable minutes. By default the minutes range from `0` to `59`. However, to control exactly which minutes to display, the `minuteValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if the minute selections should only be every 15 minutes, then this input value would be `minuteValues="0,15,30,45"`.
4445 */
4446 "minuteValues"?: number[] | number | string;
4447 /**
4448 * The mode determines which platform styles to use.
4449 */
4450 "mode"?: "ios" | "md";
4451 /**
4452 * Values used to create the list of selectable months. By default the month values range from `1` to `12`. However, to control exactly which months to display, the `monthValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if only summer months should be shown, then this input value would be `monthValues="6,7,8"`. Note that month numbers do *not* have a zero-based index, meaning January's value is `1`, and December's is `12`.
4453 */
4454 "monthValues"?: number[] | number | string;
4455 /**
4456 * The name of the control, which is submitted with the form data.
4457 */
4458 "name"?: string;
4459 /**
4460 * Emitted when the datetime loses focus.
4461 */
4462 "onIonBlur"?: (event: CustomEvent<void>) => void;
4463 /**
4464 * Emitted when the datetime selection was cancelled.
4465 */
4466 "onIonCancel"?: (event: CustomEvent<void>) => void;
4467 /**
4468 * Emitted when the value (selected date) has changed.
4469 */
4470 "onIonChange"?: (event: CustomEvent<DatetimeChangeEventDetail>) => void;
4471 /**
4472 * Emitted when the datetime has focus.
4473 */
4474 "onIonFocus"?: (event: CustomEvent<void>) => void;
4475 /**
4476 * Which values you want to select. `'date'` will show a calendar picker to select the month, day, and year. `'time'` will show a time picker to select the hour, minute, and (optionally) AM/PM. `'date-time'` will show the date picker first and time picker second. `'time-date'` will show the time picker first and date picker second.
4477 */
4478 "presentation"?: 'date-time' | 'time-date' | 'date' | 'time' | 'month' | 'year' | 'month-year';
4479 /**
4480 * If `true`, the datetime appears normal but is not interactive.
4481 */
4482 "readonly"?: boolean;
4483 /**
4484 * If `true`, a "Clear" button will be rendered alongside the default "Cancel" and "OK" buttons at the bottom of the `ion-datetime` component. Developers can also use the `button` slot if they want to customize these buttons. If custom buttons are set in the `button` slot then the default buttons will not be rendered.
4485 */
4486 "showClearButton"?: boolean;
4487 /**
4488 * If `true`, the default "Cancel" and "OK" buttons will be rendered at the bottom of the `ion-datetime` component. Developers can also use the `button` slot if they want to customize these buttons. If custom buttons are set in the `button` slot then the default buttons will not be rendered.
4489 */
4490 "showDefaultButtons"?: boolean;
4491 /**
4492 * If `true`, the default "Time" label will be rendered for the time selector of the `ion-datetime` component. Developers can also use the `time-label` slot if they want to customize this label. If a custom label is set in the `time-label` slot then the default label will not be rendered.
4493 */
4494 "showDefaultTimeLabel"?: boolean;
4495 /**
4496 * If `true`, a header will be shown above the calendar picker. On `ios` mode this will include the slotted title, and on `md` mode this will include the slotted title and the selected date.
4497 */
4498 "showDefaultTitle"?: boolean;
4499 /**
4500 * If `cover`, the `ion-datetime` will expand to cover the full width of its container. If `fixed`, the `ion-datetime` will have a fixed width.
4501 */
4502 "size"?: 'cover' | 'fixed';
4503 /**
4504 * The value of the datetime as a valid ISO 8601 datetime string.
4505 */
4506 "value"?: string | null;
4507 /**
4508 * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`.
4509 */
4510 "yearValues"?: number[] | number | string;
4511 }
4512 interface IonFab {
4513 /**
4514 * If `true`, both the `ion-fab-button` and all `ion-fab-list` inside `ion-fab` will become active. That means `ion-fab-button` will become a `close` icon and `ion-fab-list` will become visible.
4515 */
4516 "activated"?: boolean;
4517 /**
4518 * If `true`, the fab will display on the edge of the header if `vertical` is `"top"`, and on the edge of the footer if it is `"bottom"`. Should be used with a `fixed` slot.
4519 */
4520 "edge"?: boolean;
4521 /**
4522 * Where to align the fab horizontally in the viewport.
4523 */
4524 "horizontal"?: 'start' | 'end' | 'center';
4525 /**
4526 * Where to align the fab vertically in the viewport.
4527 */
4528 "vertical"?: 'top' | 'bottom' | 'center';
4529 }
4530 interface IonFabButton {
4531 /**
4532 * If `true`, the fab button will be show a close icon.
4533 */
4534 "activated"?: boolean;
4535 /**
4536 * The icon name to use for the close icon. This will appear when the fab button is pressed. Only applies if it is the main button inside of a fab containing a fab list.
4537 */
4538 "closeIcon"?: string;
4539 /**
4540 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4541 */
4542 "color"?: Color;
4543 /**
4544 * If `true`, the user cannot interact with the fab button.
4545 */
4546 "disabled"?: boolean;
4547 /**
4548 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
4549 */
4550 "download"?: string | undefined;
4551 /**
4552 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
4553 */
4554 "href"?: string | undefined;
4555 /**
4556 * The mode determines which platform styles to use.
4557 */
4558 "mode"?: "ios" | "md";
4559 /**
4560 * Emitted when the button loses focus.
4561 */
4562 "onIonBlur"?: (event: CustomEvent<void>) => void;
4563 /**
4564 * Emitted when the button has focus.
4565 */
4566 "onIonFocus"?: (event: CustomEvent<void>) => void;
4567 /**
4568 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
4569 */
4570 "rel"?: string | undefined;
4571 /**
4572 * When using a router, it specifies the transition animation when navigating to another page using `href`.
4573 */
4574 "routerAnimation"?: AnimationBuilder | undefined;
4575 /**
4576 * When using a router, it specifies the transition direction when navigating to another page using `href`.
4577 */
4578 "routerDirection"?: RouterDirection;
4579 /**
4580 * If `true`, the fab button will show when in a fab-list.
4581 */
4582 "show"?: boolean;
4583 /**
4584 * The size of the button. Set this to `small` in order to have a mini fab button.
4585 */
4586 "size"?: 'small';
4587 /**
4588 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
4589 */
4590 "target"?: string | undefined;
4591 /**
4592 * If `true`, the fab button will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
4593 */
4594 "translucent"?: boolean;
4595 /**
4596 * The type of the button.
4597 */
4598 "type"?: 'submit' | 'reset' | 'button';
4599 }
4600 interface IonFabList {
4601 /**
4602 * If `true`, the fab list will show all fab buttons in the list.
4603 */
4604 "activated"?: boolean;
4605 /**
4606 * The side the fab list will show on relative to the main fab button.
4607 */
4608 "side"?: 'start' | 'end' | 'top' | 'bottom';
4609 }
4610 interface IonFooter {
4611 /**
4612 * Describes the scroll effect that will be applied to the footer. Only applies in iOS mode.
4613 */
4614 "collapse"?: 'fade';
4615 /**
4616 * The mode determines which platform styles to use.
4617 */
4618 "mode"?: "ios" | "md";
4619 /**
4620 * If `true`, the footer will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the footer, the `fullscreen` attribute needs to be set on the content.
4621 */
4622 "translucent"?: boolean;
4623 }
4624 interface IonGrid {
4625 /**
4626 * If `true`, the grid will have a fixed width based on the screen size.
4627 */
4628 "fixed"?: boolean;
4629 }
4630 interface IonHeader {
4631 /**
4632 * Describes the scroll effect that will be applied to the header. Only applies in iOS mode. Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
4633 */
4634 "collapse"?: 'condense' | 'fade';
4635 /**
4636 * The mode determines which platform styles to use.
4637 */
4638 "mode"?: "ios" | "md";
4639 /**
4640 * If `true`, the header will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
4641 */
4642 "translucent"?: boolean;
4643 }
4644 interface IonImg {
4645 /**
4646 * This attribute defines the alternative text describing the image. Users will see this text displayed if the image URL is wrong, the image is not in one of the supported formats, or if the image is not yet downloaded.
4647 */
4648 "alt"?: string;
4649 /**
4650 * Emitted when the img fails to load
4651 */
4652 "onIonError"?: (event: CustomEvent<void>) => void;
4653 /**
4654 * Emitted when the image has finished loading
4655 */
4656 "onIonImgDidLoad"?: (event: CustomEvent<void>) => void;
4657 /**
4658 * Emitted when the img src has been set
4659 */
4660 "onIonImgWillLoad"?: (event: CustomEvent<void>) => void;
4661 /**
4662 * The image URL. This attribute is mandatory for the `<img>` element.
4663 */
4664 "src"?: string;
4665 }
4666 interface IonInfiniteScroll {
4667 /**
4668 * If `true`, the infinite scroll will be hidden and scroll event listeners will be removed. Set this to true to disable the infinite scroll from actively trying to receive new data while scrolling. This is useful when it is known that there is no more data that can be added, and the infinite scroll is no longer needed.
4669 */
4670 "disabled"?: boolean;
4671 /**
4672 * Emitted when the scroll reaches the threshold distance. From within your infinite handler, you must call the infinite scroll's `complete()` method when your async operation has completed.
4673 */
4674 "onIonInfinite"?: (event: CustomEvent<void>) => void;
4675 /**
4676 * The position of the infinite scroll element. The value can be either `top` or `bottom`.
4677 */
4678 "position"?: 'top' | 'bottom';
4679 /**
4680 * The threshold distance from the bottom of the content to call the `infinite` output event when scrolled. The threshold value can be either a percent, or in pixels. For example, use the value of `10%` for the `infinite` output event to get called when the user has scrolled 10% from the bottom of the page. Use the value `100px` when the scroll is within 100 pixels from the bottom of the page.
4681 */
4682 "threshold"?: string;
4683 }
4684 interface IonInfiniteScrollContent {
4685 /**
4686 * An animated SVG spinner that shows while loading.
4687 */
4688 "loadingSpinner"?: SpinnerTypes | null;
4689 /**
4690 * Optional text to display while loading. `loadingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
4691 */
4692 "loadingText"?: string | IonicSafeString;
4693 }
4694 interface IonInput {
4695 /**
4696 * If the value of the type attribute is `"file"`, then this attribute will indicate the types of files that the server accepts, otherwise it will be ignored. The value must be a comma-separated list of unique content type specifiers.
4697 */
4698 "accept"?: string;
4699 /**
4700 * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
4701 */
4702 "autocapitalize"?: string;
4703 /**
4704 * Indicates whether the value of the control can be automatically completed by the browser.
4705 */
4706 "autocomplete"?: AutocompleteTypes;
4707 /**
4708 * Whether auto correction should be enabled when the user is entering/editing the text value.
4709 */
4710 "autocorrect"?: 'on' | 'off';
4711 /**
4712 * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
4713 */
4714 "autofocus"?: boolean;
4715 /**
4716 * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
4717 */
4718 "clearInput"?: boolean;
4719 /**
4720 * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
4721 */
4722 "clearOnEdit"?: boolean;
4723 /**
4724 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4725 */
4726 "color"?: Color;
4727 /**
4728 * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
4729 */
4730 "debounce"?: number;
4731 /**
4732 * If `true`, the user cannot interact with the input.
4733 */
4734 "disabled"?: boolean;
4735 /**
4736 * A hint to the browser for which enter key to display. Possible values: `"enter"`, `"done"`, `"go"`, `"next"`, `"previous"`, `"search"`, and `"send"`.
4737 */
4738 "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
4739 /**
4740 * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
4741 */
4742 "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
4743 /**
4744 * The maximum value, which must not be less than its minimum (min attribute) value.
4745 */
4746 "max"?: string | number;
4747 /**
4748 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.
4749 */
4750 "maxlength"?: number;
4751 /**
4752 * The minimum value, which must not be greater than its maximum (max attribute) value.
4753 */
4754 "min"?: string | number;
4755 /**
4756 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.
4757 */
4758 "minlength"?: number;
4759 /**
4760 * The mode determines which platform styles to use.
4761 */
4762 "mode"?: "ios" | "md";
4763 /**
4764 * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `"email"` or `"file"`, otherwise it is ignored.
4765 */
4766 "multiple"?: boolean;
4767 /**
4768 * The name of the control, which is submitted with the form data.
4769 */
4770 "name"?: string;
4771 /**
4772 * Emitted when the input loses focus.
4773 */
4774 "onIonBlur"?: (event: CustomEvent<FocusEvent>) => void;
4775 /**
4776 * Emitted when the value has changed.
4777 */
4778 "onIonChange"?: (event: CustomEvent<InputChangeEventDetail>) => void;
4779 /**
4780 * Emitted when the input has focus.
4781 */
4782 "onIonFocus"?: (event: CustomEvent<FocusEvent>) => void;
4783 /**
4784 * Emitted when a keyboard input occurred.
4785 */
4786 "onIonInput"?: (event: CustomEvent<InputEvent>) => void;
4787 /**
4788 * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, `"date"`, or `"password"`, otherwise it is ignored. When the type attribute is `"date"`, `pattern` will only be used in browsers that do not support the `"date"` input type natively. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date for more information.
4789 */
4790 "pattern"?: string;
4791 /**
4792 * Instructional text that shows before the input has a value. This property applies only when the `type` property is set to `"email"`, `"number"`, `"password"`, `"search"`, `"tel"`, `"text"`, or `"url"`, otherwise it is ignored.
4793 */
4794 "placeholder"?: string;
4795 /**
4796 * If `true`, the user cannot modify the value.
4797 */
4798 "readonly"?: boolean;
4799 /**
4800 * If `true`, the user must fill in a value before submitting a form.
4801 */
4802 "required"?: boolean;
4803 /**
4804 * The initial size of the control. This value is in pixels unless the value of the type attribute is `"text"` or `"password"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `"text"`, `"search"`, `"tel"`, `"url"`, `"email"`, or `"password"`, otherwise it is ignored.
4805 */
4806 "size"?: number;
4807 /**
4808 * If `true`, the element will have its spelling and grammar checked.
4809 */
4810 "spellcheck"?: boolean;
4811 /**
4812 * Works with the min and max attributes to limit the increments at which a value can be set. Possible values are: `"any"` or a positive floating point number.
4813 */
4814 "step"?: string;
4815 /**
4816 * The type of control to display. The default type is text.
4817 */
4818 "type"?: TextFieldTypes;
4819 /**
4820 * The value of the input.
4821 */
4822 "value"?: string | number | null;
4823 }
4824 interface IonItem {
4825 /**
4826 * If `true`, a button tag will be rendered and the item will be tappable.
4827 */
4828 "button"?: boolean;
4829 /**
4830 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4831 */
4832 "color"?: Color;
4833 /**
4834 * If `true`, a character counter will display the ratio of characters used and the total character limit. Only applies when the `maxlength` property is set on the inner `ion-input` or `ion-textarea`.
4835 */
4836 "counter"?: boolean;
4837 /**
4838 * If `true`, a detail arrow will appear on the item. Defaults to `false` unless the `mode` is `ios` and an `href` or `button` property is present.
4839 */
4840 "detail"?: boolean;
4841 /**
4842 * The icon to use when `detail` is set to `true`.
4843 */
4844 "detailIcon"?: string;
4845 /**
4846 * If `true`, the user cannot interact with the item.
4847 */
4848 "disabled"?: boolean;
4849 /**
4850 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
4851 */
4852 "download"?: string | undefined;
4853 /**
4854 * The fill for the item. If `'solid'` the item will have a background. If `'outline'` the item will be transparent with a border. Only available in `md` mode.
4855 */
4856 "fill"?: 'outline' | 'solid';
4857 /**
4858 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
4859 */
4860 "href"?: string | undefined;
4861 /**
4862 * How the bottom border should be displayed on the item.
4863 */
4864 "lines"?: 'full' | 'inset' | 'none';
4865 /**
4866 * The mode determines which platform styles to use.
4867 */
4868 "mode"?: "ios" | "md";
4869 /**
4870 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
4871 */
4872 "rel"?: string | undefined;
4873 /**
4874 * When using a router, it specifies the transition animation when navigating to another page using `href`.
4875 */
4876 "routerAnimation"?: AnimationBuilder | undefined;
4877 /**
4878 * When using a router, it specifies the transition direction when navigating to another page using `href`.
4879 */
4880 "routerDirection"?: RouterDirection;
4881 /**
4882 * The shape of the item. If "round" it will have increased border radius.
4883 */
4884 "shape"?: 'round';
4885 /**
4886 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
4887 */
4888 "target"?: string | undefined;
4889 /**
4890 * The type of the button. Only used when an `onclick` or `button` property is present.
4891 */
4892 "type"?: 'submit' | 'reset' | 'button';
4893 }
4894 interface IonItemDivider {
4895 /**
4896 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4897 */
4898 "color"?: Color;
4899 /**
4900 * The mode determines which platform styles to use.
4901 */
4902 "mode"?: "ios" | "md";
4903 /**
4904 * When it's set to `true`, the item-divider will stay visible when it reaches the top of the viewport until the next `ion-item-divider` replaces it. This feature relies in `position:sticky`: https://caniuse.com/#feat=css-sticky
4905 */
4906 "sticky"?: boolean;
4907 }
4908 interface IonItemGroup {
4909 }
4910 interface IonItemOption {
4911 /**
4912 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4913 */
4914 "color"?: Color;
4915 /**
4916 * If `true`, the user cannot interact with the item option.
4917 */
4918 "disabled"?: boolean;
4919 /**
4920 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
4921 */
4922 "download"?: string | undefined;
4923 /**
4924 * If `true`, the option will expand to take up the available width and cover any other options.
4925 */
4926 "expandable"?: boolean;
4927 /**
4928 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
4929 */
4930 "href"?: string | undefined;
4931 /**
4932 * The mode determines which platform styles to use.
4933 */
4934 "mode"?: "ios" | "md";
4935 /**
4936 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
4937 */
4938 "rel"?: string | undefined;
4939 /**
4940 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
4941 */
4942 "target"?: string | undefined;
4943 /**
4944 * The type of the button.
4945 */
4946 "type"?: 'submit' | 'reset' | 'button';
4947 }
4948 interface IonItemOptions {
4949 /**
4950 * Emitted when the item has been fully swiped.
4951 */
4952 "onIonSwipe"?: (event: CustomEvent<any>) => void;
4953 /**
4954 * The side the option button should be on. Possible values: `"start"` and `"end"`. If you have multiple `ion-item-options`, a side must be provided for each.
4955 */
4956 "side"?: Side;
4957 }
4958 interface IonItemSliding {
4959 /**
4960 * If `true`, the user cannot interact with the sliding item.
4961 */
4962 "disabled"?: boolean;
4963 /**
4964 * Emitted when the sliding position changes.
4965 */
4966 "onIonDrag"?: (event: CustomEvent<any>) => void;
4967 }
4968 interface IonLabel {
4969 /**
4970 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4971 */
4972 "color"?: Color;
4973 /**
4974 * The mode determines which platform styles to use.
4975 */
4976 "mode"?: "ios" | "md";
4977 /**
4978 * The position determines where and how the label behaves inside an item.
4979 */
4980 "position"?: 'fixed' | 'stacked' | 'floating';
4981 }
4982 interface IonList {
4983 /**
4984 * If `true`, the list will have margin around it and rounded corners.
4985 */
4986 "inset"?: boolean;
4987 /**
4988 * How the bottom border should be displayed on all items.
4989 */
4990 "lines"?: 'full' | 'inset' | 'none';
4991 /**
4992 * The mode determines which platform styles to use.
4993 */
4994 "mode"?: "ios" | "md";
4995 }
4996 interface IonListHeader {
4997 /**
4998 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
4999 */
5000 "color"?: Color;
5001 /**
5002 * How the bottom border should be displayed on the list header.
5003 */
5004 "lines"?: 'full' | 'inset' | 'none';
5005 /**
5006 * The mode determines which platform styles to use.
5007 */
5008 "mode"?: "ios" | "md";
5009 }
5010 interface IonLoading {
5011 /**
5012 * If `true`, the loading indicator will animate.
5013 */
5014 "animated"?: boolean;
5015 /**
5016 * If `true`, the loading indicator will be dismissed when the backdrop is clicked.
5017 */
5018 "backdropDismiss"?: boolean;
5019 /**
5020 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
5021 */
5022 "cssClass"?: string | string[];
5023 /**
5024 * Number of milliseconds to wait before dismissing the loading indicator.
5025 */
5026 "duration"?: number;
5027 /**
5028 * Animation to use when the loading indicator is presented.
5029 */
5030 "enterAnimation"?: AnimationBuilder;
5031 /**
5032 * Additional attributes to pass to the loader.
5033 */
5034 "htmlAttributes"?: LoadingAttributes;
5035 /**
5036 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
5037 */
5038 "keyboardClose"?: boolean;
5039 /**
5040 * Animation to use when the loading indicator is dismissed.
5041 */
5042 "leaveAnimation"?: AnimationBuilder;
5043 /**
5044 * Optional text content to display in the loading indicator.
5045 */
5046 "message"?: string | IonicSafeString;
5047 /**
5048 * The mode determines which platform styles to use.
5049 */
5050 "mode"?: "ios" | "md";
5051 /**
5052 * Emitted after the loading has dismissed.
5053 */
5054 "onIonLoadingDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5055 /**
5056 * Emitted after the loading has presented.
5057 */
5058 "onIonLoadingDidPresent"?: (event: CustomEvent<void>) => void;
5059 /**
5060 * Emitted before the loading has dismissed.
5061 */
5062 "onIonLoadingWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5063 /**
5064 * Emitted before the loading has presented.
5065 */
5066 "onIonLoadingWillPresent"?: (event: CustomEvent<void>) => void;
5067 /**
5068 * If `true`, a backdrop will be displayed behind the loading indicator.
5069 */
5070 "showBackdrop"?: boolean;
5071 /**
5072 * The name of the spinner to display.
5073 */
5074 "spinner"?: SpinnerTypes | null;
5075 /**
5076 * If `true`, the loading indicator will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5077 */
5078 "translucent"?: boolean;
5079 }
5080 interface IonMenu {
5081 /**
5082 * The `id` of the main content. When using a router this is typically `ion-router-outlet`. When not using a router, this is typically your main view's `ion-content`. This is not the id of the `ion-content` inside of your `ion-menu`.
5083 */
5084 "contentId"?: string;
5085 /**
5086 * If `true`, the menu is disabled.
5087 */
5088 "disabled"?: boolean;
5089 /**
5090 * The edge threshold for dragging the menu open. If a drag/swipe happens over this value, the menu is not triggered.
5091 */
5092 "maxEdgeStart"?: number;
5093 /**
5094 * An id for the menu.
5095 */
5096 "menuId"?: string;
5097 /**
5098 * Emitted when the menu is closed.
5099 */
5100 "onIonDidClose"?: (event: CustomEvent<void>) => void;
5101 /**
5102 * Emitted when the menu is open.
5103 */
5104 "onIonDidOpen"?: (event: CustomEvent<void>) => void;
5105 /**
5106 * Emitted when the menu is about to be closed.
5107 */
5108 "onIonWillClose"?: (event: CustomEvent<void>) => void;
5109 /**
5110 * Emitted when the menu is about to be opened.
5111 */
5112 "onIonWillOpen"?: (event: CustomEvent<void>) => void;
5113 /**
5114 * Which side of the view the menu should be placed.
5115 */
5116 "side"?: Side;
5117 /**
5118 * If `true`, swiping the menu is enabled.
5119 */
5120 "swipeGesture"?: boolean;
5121 /**
5122 * The display type of the menu. Available options: `"overlay"`, `"reveal"`, `"push"`.
5123 */
5124 "type"?: string;
5125 }
5126 interface IonMenuButton {
5127 /**
5128 * Automatically hides the menu button when the corresponding menu is not active
5129 */
5130 "autoHide"?: boolean;
5131 /**
5132 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5133 */
5134 "color"?: Color;
5135 /**
5136 * If `true`, the user cannot interact with the menu button.
5137 */
5138 "disabled"?: boolean;
5139 /**
5140 * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle
5141 */
5142 "menu"?: string;
5143 /**
5144 * The mode determines which platform styles to use.
5145 */
5146 "mode"?: "ios" | "md";
5147 /**
5148 * The type of the button.
5149 */
5150 "type"?: 'submit' | 'reset' | 'button';
5151 }
5152 interface IonMenuToggle {
5153 /**
5154 * Automatically hides the content when the corresponding menu is not active. By default, it's `true`. Change it to `false` in order to keep `ion-menu-toggle` always visible regardless the state of the menu.
5155 */
5156 "autoHide"?: boolean;
5157 /**
5158 * Optional property that maps to a Menu's `menuId` prop. Can also be `start` or `end` for the menu side. This is used to find the correct menu to toggle. If this property is not used, `ion-menu-toggle` will toggle the first menu that is active.
5159 */
5160 "menu"?: string;
5161 }
5162 interface IonModal {
5163 /**
5164 * If `true`, the modal will animate.
5165 */
5166 "animated"?: boolean;
5167 /**
5168 * A decimal value between 0 and 1 that indicates the point after which the backdrop will begin to fade in when using a sheet modal. Prior to this point, the backdrop will be hidden and the content underneath the sheet can be interacted with. This value is exclusive meaning the backdrop will become active after the value specified.
5169 */
5170 "backdropBreakpoint"?: number;
5171 /**
5172 * If `true`, the modal will be dismissed when the backdrop is clicked.
5173 */
5174 "backdropDismiss"?: boolean;
5175 /**
5176 * The breakpoints to use when creating a sheet modal. Each value in the array must be a decimal between 0 and 1 where 0 indicates the modal is fully closed and 1 indicates the modal is fully open. Values are relative to the height of the modal, not the height of the screen. One of the values in this array must be the value of the `initialBreakpoint` property. For example: [0, .25, .5, 1]
5177 */
5178 "breakpoints"?: number[];
5179 /**
5180 * Animation to use when the modal is presented.
5181 */
5182 "enterAnimation"?: AnimationBuilder;
5183 /**
5184 * The horizontal line that displays at the top of a sheet modal. It is `true` by default when setting the `breakpoints` and `initialBreakpoint` properties.
5185 */
5186 "handle"?: boolean;
5187 /**
5188 * Additional attributes to pass to the modal.
5189 */
5190 "htmlAttributes"?: ModalAttributes;
5191 /**
5192 * A decimal value between 0 and 1 that indicates the initial point the modal will open at when creating a sheet modal. This value must also be listed in the `breakpoints` array.
5193 */
5194 "initialBreakpoint"?: number;
5195 /**
5196 * If `true`, the modal will open. If `false`, the modal will close. Use this if you need finer grained control over presentation, otherwise just use the modalController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the modal dismisses. You will need to do that in your code.
5197 */
5198 "isOpen"?: boolean;
5199 /**
5200 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
5201 */
5202 "keyboardClose"?: boolean;
5203 /**
5204 * Animation to use when the modal is dismissed.
5205 */
5206 "leaveAnimation"?: AnimationBuilder;
5207 /**
5208 * The mode determines which platform styles to use.
5209 */
5210 "mode"?: "ios" | "md";
5211 /**
5212 * Emitted after the modal has dismissed. Shorthand for ionModalDidDismiss.
5213 */
5214 "onDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5215 /**
5216 * Emitted after the modal has presented. Shorthand for ionModalWillDismiss.
5217 */
5218 "onDidPresent"?: (event: CustomEvent<void>) => void;
5219 /**
5220 * Emitted after the modal has dismissed.
5221 */
5222 "onIonModalDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5223 /**
5224 * Emitted after the modal has presented.
5225 */
5226 "onIonModalDidPresent"?: (event: CustomEvent<void>) => void;
5227 /**
5228 * Emitted before the modal has dismissed.
5229 */
5230 "onIonModalWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5231 /**
5232 * Emitted before the modal has presented.
5233 */
5234 "onIonModalWillPresent"?: (event: CustomEvent<void>) => void;
5235 /**
5236 * Emitted before the modal has dismissed. Shorthand for ionModalWillDismiss.
5237 */
5238 "onWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5239 /**
5240 * Emitted before the modal has presented. Shorthand for ionModalWillPresent.
5241 */
5242 "onWillPresent"?: (event: CustomEvent<void>) => void;
5243 /**
5244 * The element that presented the modal. This is used for card presentation effects and for stacking multiple modals on top of each other. Only applies in iOS mode.
5245 */
5246 "presentingElement"?: HTMLElement;
5247 /**
5248 * If `true`, a backdrop will be displayed behind the modal.
5249 */
5250 "showBackdrop"?: boolean;
5251 /**
5252 * If `true`, the modal can be swiped to dismiss. Only applies in iOS mode.
5253 */
5254 "swipeToClose"?: boolean;
5255 /**
5256 * An ID corresponding to the trigger element that causes the modal to open when clicked.
5257 */
5258 "trigger"?: string | undefined;
5259 }
5260 interface IonNav {
5261 /**
5262 * If `true`, the nav should animate the transition of components.
5263 */
5264 "animated"?: boolean;
5265 /**
5266 * By default `ion-nav` animates transition between pages based in the mode (ios or material design). However, this property allows to create custom transition using `AnimateBuilder` functions.
5267 */
5268 "animation"?: AnimationBuilder;
5269 /**
5270 * Event fired when the nav has changed components
5271 */
5272 "onIonNavDidChange"?: (event: CustomEvent<void>) => void;
5273 /**
5274 * Event fired when the nav will change components
5275 */
5276 "onIonNavWillChange"?: (event: CustomEvent<void>) => void;
5277 /**
5278 * Root NavComponent to load
5279 */
5280 "root"?: NavComponent;
5281 /**
5282 * Any parameters for the root component
5283 */
5284 "rootParams"?: ComponentProps;
5285 /**
5286 * If the nav component should allow for swipe-to-go-back.
5287 */
5288 "swipeGesture"?: boolean;
5289 }
5290 interface IonNavLink {
5291 /**
5292 * Component to navigate to. Only used if the `routerDirection` is `"forward"` or `"root"`.
5293 */
5294 "component"?: NavComponent;
5295 /**
5296 * Data you want to pass to the component as props. Only used if the `"routerDirection"` is `"forward"` or `"root"`.
5297 */
5298 "componentProps"?: ComponentProps;
5299 /**
5300 * The transition animation when navigating to another page.
5301 */
5302 "routerAnimation"?: AnimationBuilder;
5303 /**
5304 * The transition direction when navigating to another page.
5305 */
5306 "routerDirection"?: RouterDirection;
5307 }
5308 interface IonNote {
5309 /**
5310 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5311 */
5312 "color"?: Color;
5313 /**
5314 * The mode determines which platform styles to use.
5315 */
5316 "mode"?: "ios" | "md";
5317 }
5318 interface IonPicker {
5319 /**
5320 * If `true`, the picker will animate.
5321 */
5322 "animated"?: boolean;
5323 /**
5324 * If `true`, the picker will be dismissed when the backdrop is clicked.
5325 */
5326 "backdropDismiss"?: boolean;
5327 /**
5328 * Array of buttons to be displayed at the top of the picker.
5329 */
5330 "buttons"?: PickerButton[];
5331 /**
5332 * Array of columns to be displayed in the picker.
5333 */
5334 "columns"?: PickerColumn[];
5335 /**
5336 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
5337 */
5338 "cssClass"?: string | string[];
5339 /**
5340 * Number of milliseconds to wait before dismissing the picker.
5341 */
5342 "duration"?: number;
5343 /**
5344 * Animation to use when the picker is presented.
5345 */
5346 "enterAnimation"?: AnimationBuilder;
5347 /**
5348 * Additional attributes to pass to the picker.
5349 */
5350 "htmlAttributes"?: PickerAttributes;
5351 /**
5352 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
5353 */
5354 "keyboardClose"?: boolean;
5355 /**
5356 * Animation to use when the picker is dismissed.
5357 */
5358 "leaveAnimation"?: AnimationBuilder;
5359 /**
5360 * The mode determines which platform styles to use.
5361 */
5362 "mode"?: "ios" | "md";
5363 /**
5364 * Emitted after the picker has dismissed.
5365 */
5366 "onIonPickerDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5367 /**
5368 * Emitted after the picker has presented.
5369 */
5370 "onIonPickerDidPresent"?: (event: CustomEvent<void>) => void;
5371 /**
5372 * Emitted before the picker has dismissed.
5373 */
5374 "onIonPickerWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5375 /**
5376 * Emitted before the picker has presented.
5377 */
5378 "onIonPickerWillPresent"?: (event: CustomEvent<void>) => void;
5379 /**
5380 * If `true`, a backdrop will be displayed behind the picker.
5381 */
5382 "showBackdrop"?: boolean;
5383 }
5384 interface IonPickerColumn {
5385 /**
5386 * Picker column data
5387 */
5388 "col": PickerColumn;
5389 }
5390 interface IonPickerColumnInternal {
5391 /**
5392 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5393 */
5394 "color"?: Color;
5395 /**
5396 * A list of options to be displayed in the picker
5397 */
5398 "items"?: PickerColumnItem[];
5399 /**
5400 * The mode determines which platform styles to use.
5401 */
5402 "mode"?: "ios" | "md";
5403 /**
5404 * Emitted when the value has changed.
5405 */
5406 "onIonChange"?: (event: CustomEvent<PickerColumnItem>) => void;
5407 /**
5408 * The selected option in the picker.
5409 */
5410 "value"?: string | number;
5411 }
5412 interface IonPickerInternal {
5413 /**
5414 * The mode determines which platform styles to use.
5415 */
5416 "mode"?: "ios" | "md";
5417 "onIonInputModeChange"?: (event: CustomEvent<PickerInternalChangeEventDetail>) => void;
5418 }
5419 interface IonPopover {
5420 /**
5421 * Describes how to align the popover content with the `reference` point. Defaults to `'center'` for `ios` mode, and `'start'` for `md` mode.
5422 */
5423 "alignment"?: PositionAlign;
5424 /**
5425 * If `true`, the popover will animate.
5426 */
5427 "animated"?: boolean;
5428 /**
5429 * If `true`, the popover will display an arrow that points at the `reference` when running in `ios` mode on mobile. Does not apply in `md` mode or on desktop.
5430 */
5431 "arrow"?: boolean;
5432 /**
5433 * If `true`, the popover will be dismissed when the backdrop is clicked.
5434 */
5435 "backdropDismiss"?: boolean;
5436 /**
5437 * The component to display inside of the popover. You only need to use this if you are not using a JavaScript framework. Otherwise, you can just slot your component inside of `ion-popover`.
5438 */
5439 "component"?: ComponentRef;
5440 /**
5441 * The data to pass to the popover component. You only need to use this if you are not using a JavaScript framework. Otherwise, you can just set the props directly on your component.
5442 */
5443 "componentProps"?: ComponentProps;
5444 /**
5445 * If `true`, the popover will be automatically dismissed when the content has been clicked.
5446 */
5447 "dismissOnSelect"?: boolean;
5448 /**
5449 * Animation to use when the popover is presented.
5450 */
5451 "enterAnimation"?: AnimationBuilder;
5452 /**
5453 * The event to pass to the popover animation.
5454 */
5455 "event"?: any;
5456 /**
5457 * Additional attributes to pass to the popover.
5458 */
5459 "htmlAttributes"?: PopoverAttributes;
5460 /**
5461 * If `true`, the popover will open. If `false`, the popover will close. Use this if you need finer grained control over presentation, otherwise just use the popoverController or the `trigger` property. Note: `isOpen` will not automatically be set back to `false` when the popover dismisses. You will need to do that in your code.
5462 */
5463 "isOpen"?: boolean;
5464 /**
5465 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
5466 */
5467 "keyboardClose"?: boolean;
5468 /**
5469 * Animation to use when the popover is dismissed.
5470 */
5471 "leaveAnimation"?: AnimationBuilder;
5472 /**
5473 * The mode determines which platform styles to use.
5474 */
5475 "mode"?: "ios" | "md";
5476 /**
5477 * Emitted after the popover has dismissed. Shorthand for ionPopoverDidDismiss.
5478 */
5479 "onDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5480 /**
5481 * Emitted after the popover has presented. Shorthand for ionPopoverWillDismiss.
5482 */
5483 "onDidPresent"?: (event: CustomEvent<void>) => void;
5484 /**
5485 * Emitted after the popover has dismissed.
5486 */
5487 "onIonPopoverDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5488 /**
5489 * Emitted after the popover has presented.
5490 */
5491 "onIonPopoverDidPresent"?: (event: CustomEvent<void>) => void;
5492 /**
5493 * Emitted before the popover has dismissed.
5494 */
5495 "onIonPopoverWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5496 /**
5497 * Emitted before the popover has presented.
5498 */
5499 "onIonPopoverWillPresent"?: (event: CustomEvent<void>) => void;
5500 /**
5501 * Emitted before the popover has dismissed. Shorthand for ionPopoverWillDismiss.
5502 */
5503 "onWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
5504 /**
5505 * Emitted before the popover has presented. Shorthand for ionPopoverWillPresent.
5506 */
5507 "onWillPresent"?: (event: CustomEvent<void>) => void;
5508 /**
5509 * Describes what to position the popover relative to. If `'trigger'`, the popover will be positioned relative to the trigger button. If passing in an event, this is determined via event.target. If `'event'`, the popover will be positioned relative to the x/y coordinates of the trigger action. If passing in an event, this is determined via event.clientX and event.clientY.
5510 */
5511 "reference"?: PositionReference;
5512 /**
5513 * If `true`, a backdrop will be displayed behind the popover.
5514 */
5515 "showBackdrop"?: boolean;
5516 /**
5517 * Describes which side of the `reference` point to position the popover on. The `'start'` and `'end'` values are RTL-aware, and the `'left'` and `'right'` values are not.
5518 */
5519 "side"?: PositionSide;
5520 /**
5521 * Describes how to calculate the popover width. If `'cover'`, the popover width will match the width of the trigger. If `'auto'`, the popover width will be determined by the content in the popover.
5522 */
5523 "size"?: PopoverSize;
5524 /**
5525 * If `true`, the popover will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
5526 */
5527 "translucent"?: boolean;
5528 /**
5529 * An ID corresponding to the trigger element that causes the popover to open. Use the `trigger-action` property to customize the interaction that results in the popover opening.
5530 */
5531 "trigger"?: string | undefined;
5532 /**
5533 * Describes what kind of interaction with the trigger that should cause the popover to open. Does not apply when the `trigger` property is `undefined`. If `'click'`, the popover will be presented when the trigger is left clicked. If `'hover'`, the popover will be presented when a pointer hovers over the trigger. If `'context-menu'`, the popover will be presented when the trigger is right clicked on desktop and long pressed on mobile. This will also prevent your device's normal context menu from appearing.
5534 */
5535 "triggerAction"?: TriggerAction;
5536 }
5537 interface IonProgressBar {
5538 /**
5539 * If the buffer and value are smaller than 1, the buffer circles will show. The buffer should be between [0, 1].
5540 */
5541 "buffer"?: number;
5542 /**
5543 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5544 */
5545 "color"?: Color;
5546 /**
5547 * The mode determines which platform styles to use.
5548 */
5549 "mode"?: "ios" | "md";
5550 /**
5551 * If true, reverse the progress bar direction.
5552 */
5553 "reversed"?: boolean;
5554 /**
5555 * The state of the progress bar, based on if the time the process takes is known or not. Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
5556 */
5557 "type"?: 'determinate' | 'indeterminate';
5558 /**
5559 * The value determines how much of the active bar should display when the `type` is `"determinate"`. The value should be between [0, 1].
5560 */
5561 "value"?: number;
5562 }
5563 interface IonRadio {
5564 /**
5565 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5566 */
5567 "color"?: Color;
5568 /**
5569 * If `true`, the user cannot interact with the radio.
5570 */
5571 "disabled"?: boolean;
5572 /**
5573 * The mode determines which platform styles to use.
5574 */
5575 "mode"?: "ios" | "md";
5576 /**
5577 * The name of the control, which is submitted with the form data.
5578 */
5579 "name"?: string;
5580 /**
5581 * Emitted when the radio button loses focus.
5582 */
5583 "onIonBlur"?: (event: CustomEvent<void>) => void;
5584 /**
5585 * Emitted when the radio button has focus.
5586 */
5587 "onIonFocus"?: (event: CustomEvent<void>) => void;
5588 /**
5589 * the value of the radio.
5590 */
5591 "value"?: any | null;
5592 }
5593 interface IonRadioGroup {
5594 /**
5595 * If `true`, the radios can be deselected.
5596 */
5597 "allowEmptySelection"?: boolean;
5598 /**
5599 * The name of the control, which is submitted with the form data.
5600 */
5601 "name"?: string;
5602 /**
5603 * Emitted when the value has changed.
5604 */
5605 "onIonChange"?: (event: CustomEvent<RadioGroupChangeEventDetail>) => void;
5606 /**
5607 * the value of the radio group.
5608 */
5609 "value"?: any | null;
5610 }
5611 interface IonRange {
5612 /**
5613 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5614 */
5615 "color"?: Color;
5616 /**
5617 * How long, in milliseconds, to wait to trigger the `ionChange` event after each change in the range value. This also impacts form bindings such as `ngModel` or `v-model`.
5618 */
5619 "debounce"?: number;
5620 /**
5621 * If `true`, the user cannot interact with the range.
5622 */
5623 "disabled"?: boolean;
5624 /**
5625 * Show two knobs.
5626 */
5627 "dualKnobs"?: boolean;
5628 /**
5629 * Maximum integer value of the range.
5630 */
5631 "max"?: number;
5632 /**
5633 * Minimum integer value of the range.
5634 */
5635 "min"?: number;
5636 /**
5637 * The mode determines which platform styles to use.
5638 */
5639 "mode"?: "ios" | "md";
5640 /**
5641 * The name of the control, which is submitted with the form data.
5642 */
5643 "name"?: string;
5644 /**
5645 * Emitted when the range loses focus.
5646 */
5647 "onIonBlur"?: (event: CustomEvent<void>) => void;
5648 /**
5649 * Emitted when the value property has changed.
5650 */
5651 "onIonChange"?: (event: CustomEvent<RangeChangeEventDetail>) => void;
5652 /**
5653 * Emitted when the range has focus.
5654 */
5655 "onIonFocus"?: (event: CustomEvent<void>) => void;
5656 /**
5657 * If `true`, a pin with integer value is shown when the knob is pressed.
5658 */
5659 "pin"?: boolean;
5660 /**
5661 * A callback used to format the pin text. By default the pin text is set to `Math.round(value)`.
5662 */
5663 "pinFormatter"?: PinFormatter;
5664 /**
5665 * If `true`, the knob snaps to tick marks evenly spaced based on the step property value.
5666 */
5667 "snaps"?: boolean;
5668 /**
5669 * Specifies the value granularity.
5670 */
5671 "step"?: number;
5672 /**
5673 * If `true`, tick marks are displayed based on the step value. Only applies when `snaps` is `true`.
5674 */
5675 "ticks"?: boolean;
5676 /**
5677 * the value of the range.
5678 */
5679 "value"?: RangeValue;
5680 }
5681 interface IonRefresher {
5682 /**
5683 * Time it takes to close the refresher. Does not apply when the refresher content uses a spinner, enabling the native refresher.
5684 */
5685 "closeDuration"?: string;
5686 /**
5687 * If `true`, the refresher will be hidden.
5688 */
5689 "disabled"?: boolean;
5690 /**
5691 * Emitted while the user is pulling down the content and exposing the refresher.
5692 */
5693 "onIonPull"?: (event: CustomEvent<void>) => void;
5694 /**
5695 * Emitted when the user lets go of the content and has pulled down further than the `pullMin` or pulls the content down and exceeds the pullMax. Updates the refresher state to `refreshing`. The `complete()` method should be called when the async operation has completed.
5696 */
5697 "onIonRefresh"?: (event: CustomEvent<RefresherEventDetail>) => void;
5698 /**
5699 * Emitted when the user begins to start pulling down.
5700 */
5701 "onIonStart"?: (event: CustomEvent<void>) => void;
5702 /**
5703 * How much to multiply the pull speed by. To slow the pull animation down, pass a number less than `1`. To speed up the pull, pass a number greater than `1`. The default value is `1` which is equal to the speed of the cursor. If a negative value is passed in, the factor will be `1` instead. For example: If the value passed is `1.2` and the content is dragged by `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels (an increase of 20 percent). If the value passed is `0.8`, the dragged amount will be `8` pixels, less than the amount the cursor has moved. Does not apply when the refresher content uses a spinner, enabling the native refresher.
5704 */
5705 "pullFactor"?: number;
5706 /**
5707 * The maximum distance of the pull until the refresher will automatically go into the `refreshing` state. Defaults to the result of `pullMin + 60`. Does not apply when the refresher content uses a spinner, enabling the native refresher.
5708 */
5709 "pullMax"?: number;
5710 /**
5711 * The minimum distance the user must pull down until the refresher will go into the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
5712 */
5713 "pullMin"?: number;
5714 /**
5715 * Time it takes the refresher to snap back to the `refreshing` state. Does not apply when the refresher content uses a spinner, enabling the native refresher.
5716 */
5717 "snapbackDuration"?: string;
5718 }
5719 interface IonRefresherContent {
5720 /**
5721 * A static icon or a spinner to display when you begin to pull down. A spinner name can be provided to gradually show tick marks when pulling down on iOS devices.
5722 */
5723 "pullingIcon"?: SpinnerTypes | string | null;
5724 /**
5725 * The text you want to display when you begin to pull down. `pullingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
5726 */
5727 "pullingText"?: string | IonicSafeString;
5728 /**
5729 * An animated SVG spinner that shows when refreshing begins
5730 */
5731 "refreshingSpinner"?: SpinnerTypes | null;
5732 /**
5733 * The text you want to display when performing a refresh. `refreshingText` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
5734 */
5735 "refreshingText"?: string | IonicSafeString;
5736 }
5737 interface IonReorder {
5738 }
5739 interface IonReorderGroup {
5740 /**
5741 * If `true`, the reorder will be hidden.
5742 */
5743 "disabled"?: boolean;
5744 /**
5745 * Event that needs to be listened to in order to complete the reorder action. Once the event has been emitted, the `complete()` method then needs to be called in order to finalize the reorder action.
5746 */
5747 "onIonItemReorder"?: (event: CustomEvent<ItemReorderEventDetail>) => void;
5748 }
5749 interface IonRippleEffect {
5750 /**
5751 * Sets the type of ripple-effect: - `bounded`: the ripple effect expands from the user's click position - `unbounded`: the ripple effect expands from the center of the button and overflows the container. NOTE: Surfaces for bounded ripples should have the overflow property set to hidden, while surfaces for unbounded ripples should have it set to visible.
5752 */
5753 "type"?: 'bounded' | 'unbounded';
5754 }
5755 interface IonRoute {
5756 /**
5757 * A navigation hook that is fired when the route tries to enter. Returning `true` allows the navigation to proceed, while returning `false` causes it to be cancelled. Returning a `NavigationHookOptions` object causes the router to redirect to the path specified.
5758 */
5759 "beforeEnter"?: NavigationHookCallback;
5760 /**
5761 * A navigation hook that is fired when the route tries to leave. Returning `true` allows the navigation to proceed, while returning `false` causes it to be cancelled. Returning a `NavigationHookOptions` object causes the router to redirect to the path specified.
5762 */
5763 "beforeLeave"?: NavigationHookCallback;
5764 /**
5765 * Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-nav`) when the route matches. The value of this property is not always the tagname of the component to load, in `ion-tabs` it actually refers to the name of the `ion-tab` to select.
5766 */
5767 "component": string;
5768 /**
5769 * A key value `{ 'red': true, 'blue': 'white'}` containing props that should be passed to the defined component when rendered.
5770 */
5771 "componentProps"?: {[key: string]: any};
5772 /**
5773 * Used internally by `ion-router` to know when this route did change.
5774 */
5775 "onIonRouteDataChanged"?: (event: CustomEvent<any>) => void;
5776 /**
5777 * Relative path that needs to match in order for this route to apply. Accepts paths similar to expressjs so that you can define parameters in the url /foo/:bar where bar would be available in incoming props.
5778 */
5779 "url"?: string;
5780 }
5781 interface IonRouteRedirect {
5782 /**
5783 * A redirect route, redirects "from" a URL "to" another URL. This property is that "from" URL. It needs to be an exact match of the navigated URL in order to apply. The path specified in this value is always an absolute path, even if the initial `/` slash is not specified.
5784 */
5785 "from": string;
5786 /**
5787 * Internal event that fires when any value of this rule is added/removed from the DOM, or any of his public properties changes. `ion-router` captures this event in order to update his internal registry of router rules.
5788 */
5789 "onIonRouteRedirectChanged"?: (event: CustomEvent<any>) => void;
5790 /**
5791 * A redirect route, redirects "from" a URL "to" another URL. This property is that "to" URL. When the defined `ion-route-redirect` rule matches, the router will redirect to the path specified in this property. The value of this property is always an absolute path inside the scope of routes defined in `ion-router` it can't be used with another router or to perform a redirection to a different domain. Note that this is a virtual redirect, it will not cause a real browser refresh, again, it's a redirect inside the context of ion-router. When this property is not specified or his value is `undefined` the whole redirect route is noop, even if the "from" value matches.
5792 */
5793 "to": string | undefined | null;
5794 }
5795 interface IonRouter {
5796 /**
5797 * Emitted when the route had changed
5798 */
5799 "onIonRouteDidChange"?: (event: CustomEvent<RouterEventDetail>) => void;
5800 /**
5801 * Event emitted when the route is about to change
5802 */
5803 "onIonRouteWillChange"?: (event: CustomEvent<RouterEventDetail>) => void;
5804 /**
5805 * The root path to use when matching URLs. By default, this is set to "/", but you can specify an alternate prefix for all URL paths.
5806 */
5807 "root"?: string;
5808 /**
5809 * The router can work in two "modes": - With hash: `/index.html#/path/to/page` - Without hash: `/path/to/page` Using one or another might depend in the requirements of your app and/or where it's deployed. Usually "hash-less" navigation works better for SEO and it's more user friendly too, but it might requires additional server-side configuration in order to properly work. On the other side hash-navigation is much easier to deploy, it even works over the file protocol. By default, this property is `true`, change to `false` to allow hash-less URLs.
5810 */
5811 "useHash"?: boolean;
5812 }
5813 interface IonRouterLink {
5814 /**
5815 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5816 */
5817 "color"?: Color;
5818 /**
5819 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
5820 */
5821 "href"?: string | undefined;
5822 /**
5823 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
5824 */
5825 "rel"?: string | undefined;
5826 /**
5827 * When using a router, it specifies the transition animation when navigating to another page using `href`.
5828 */
5829 "routerAnimation"?: AnimationBuilder | undefined;
5830 /**
5831 * When using a router, it specifies the transition direction when navigating to another page using `href`.
5832 */
5833 "routerDirection"?: RouterDirection;
5834 /**
5835 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
5836 */
5837 "target"?: string | undefined;
5838 }
5839 interface IonRouterOutlet {
5840 /**
5841 * If `true`, the router-outlet should animate the transition of components.
5842 */
5843 "animated"?: boolean;
5844 /**
5845 * This property allows to create custom transition using AnimateBuilder functions.
5846 */
5847 "animation"?: AnimationBuilder;
5848 /**
5849 * The mode determines which platform styles to use.
5850 */
5851 "mode"?: "ios" | "md";
5852 }
5853 interface IonRow {
5854 }
5855 interface IonSearchbar {
5856 /**
5857 * If `true`, enable searchbar animation.
5858 */
5859 "animated"?: boolean;
5860 /**
5861 * Set the input's autocomplete property.
5862 */
5863 "autocomplete"?: AutocompleteTypes;
5864 /**
5865 * Set the input's autocorrect property.
5866 */
5867 "autocorrect"?: 'on' | 'off';
5868 /**
5869 * Set the cancel button icon. Only applies to `md` mode. Defaults to `arrow-back-sharp`.
5870 */
5871 "cancelButtonIcon"?: string;
5872 /**
5873 * Set the the cancel button text. Only applies to `ios` mode.
5874 */
5875 "cancelButtonText"?: string;
5876 /**
5877 * Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.
5878 */
5879 "clearIcon"?: string;
5880 /**
5881 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5882 */
5883 "color"?: Color;
5884 /**
5885 * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
5886 */
5887 "debounce"?: number;
5888 /**
5889 * If `true`, the user cannot interact with the input.
5890 */
5891 "disabled"?: boolean;
5892 /**
5893 * A hint to the browser for which enter key to display. Possible values: `"enter"`, `"done"`, `"go"`, `"next"`, `"previous"`, `"search"`, and `"send"`.
5894 */
5895 "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
5896 /**
5897 * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
5898 */
5899 "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
5900 /**
5901 * The mode determines which platform styles to use.
5902 */
5903 "mode"?: "ios" | "md";
5904 /**
5905 * Emitted when the input loses focus.
5906 */
5907 "onIonBlur"?: (event: CustomEvent<void>) => void;
5908 /**
5909 * Emitted when the cancel button is clicked.
5910 */
5911 "onIonCancel"?: (event: CustomEvent<void>) => void;
5912 /**
5913 * Emitted when the value has changed.
5914 */
5915 "onIonChange"?: (event: CustomEvent<SearchbarChangeEventDetail>) => void;
5916 /**
5917 * Emitted when the clear input button is clicked.
5918 */
5919 "onIonClear"?: (event: CustomEvent<void>) => void;
5920 /**
5921 * Emitted when the input has focus.
5922 */
5923 "onIonFocus"?: (event: CustomEvent<void>) => void;
5924 /**
5925 * Emitted when a keyboard input occurred.
5926 */
5927 "onIonInput"?: (event: CustomEvent<KeyboardEvent>) => void;
5928 /**
5929 * Set the input's placeholder. `placeholder` can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example `<Ionic>` would become `&lt;Ionic&gt;` For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
5930 */
5931 "placeholder"?: string;
5932 /**
5933 * The icon to use as the search icon. Defaults to `search-outline` in `ios` mode and `search-sharp` in `md` mode.
5934 */
5935 "searchIcon"?: string;
5936 /**
5937 * Sets the behavior for the cancel button. Defaults to `"never"`. Setting to `"focus"` shows the cancel button on focus. Setting to `"never"` hides the cancel button. Setting to `"always"` shows the cancel button regardless of focus state.
5938 */
5939 "showCancelButton"?: 'never' | 'focus' | 'always';
5940 /**
5941 * Sets the behavior for the clear button. Defaults to `"focus"`. Setting to `"focus"` shows the clear button on focus if the input is not empty. Setting to `"never"` hides the clear button. Setting to `"always"` shows the clear button regardless of focus state, but only if the input is not empty.
5942 */
5943 "showClearButton"?: 'never' | 'focus' | 'always';
5944 /**
5945 * If `true`, enable spellcheck on the input.
5946 */
5947 "spellcheck"?: boolean;
5948 /**
5949 * Set the type of the input.
5950 */
5951 "type"?: 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url';
5952 /**
5953 * the value of the searchbar.
5954 */
5955 "value"?: string | null;
5956 }
5957 interface IonSegment {
5958 /**
5959 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5960 */
5961 "color"?: Color;
5962 /**
5963 * If `true`, the user cannot interact with the segment.
5964 */
5965 "disabled"?: boolean;
5966 /**
5967 * The mode determines which platform styles to use.
5968 */
5969 "mode"?: "ios" | "md";
5970 /**
5971 * Emitted when the value property has changed and any dragging pointer has been released from `ion-segment`.
5972 */
5973 "onIonChange"?: (event: CustomEvent<SegmentChangeEventDetail>) => void;
5974 /**
5975 * If `true`, the segment buttons will overflow and the user can swipe to see them. In addition, this will disable the gesture to drag the indicator between the buttons in order to swipe to see hidden buttons.
5976 */
5977 "scrollable"?: boolean;
5978 /**
5979 * If `true`, navigating to an `ion-segment-button` with the keyboard will focus and select the element. If `false`, keyboard navigation will only focus the `ion-segment-button` element.
5980 */
5981 "selectOnFocus"?: boolean;
5982 /**
5983 * If `true`, users will be able to swipe between segment buttons to activate them.
5984 */
5985 "swipeGesture"?: boolean;
5986 /**
5987 * the value of the segment.
5988 */
5989 "value"?: string | null;
5990 }
5991 interface IonSegmentButton {
5992 /**
5993 * If `true`, the user cannot interact with the segment button.
5994 */
5995 "disabled"?: boolean;
5996 /**
5997 * Set the layout of the text and icon in the segment.
5998 */
5999 "layout"?: SegmentButtonLayout;
6000 /**
6001 * The mode determines which platform styles to use.
6002 */
6003 "mode"?: "ios" | "md";
6004 /**
6005 * The type of the button.
6006 */
6007 "type"?: 'submit' | 'reset' | 'button';
6008 /**
6009 * The value of the segment button.
6010 */
6011 "value"?: string;
6012 }
6013 interface IonSelect {
6014 /**
6015 * The text to display on the cancel button.
6016 */
6017 "cancelText"?: string;
6018 /**
6019 * A property name or function used to compare object values
6020 */
6021 "compareWith"?: string | SelectCompareFn | null;
6022 /**
6023 * If `true`, the user cannot interact with the select.
6024 */
6025 "disabled"?: boolean;
6026 /**
6027 * The interface the select should use: `action-sheet`, `popover` or `alert`.
6028 */
6029 "interface"?: SelectInterface;
6030 /**
6031 * Any additional options that the `alert`, `action-sheet` or `popover` interface can take. See the [ion-alert docs](../alert), the [ion-action-sheet docs](../action-sheet) and the [ion-popover docs](../popover) for the create options for each interface. Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.
6032 */
6033 "interfaceOptions"?: any;
6034 /**
6035 * The mode determines which platform styles to use.
6036 */
6037 "mode"?: "ios" | "md";
6038 /**
6039 * If `true`, the select can accept multiple values.
6040 */
6041 "multiple"?: boolean;
6042 /**
6043 * The name of the control, which is submitted with the form data.
6044 */
6045 "name"?: string;
6046 /**
6047 * The text to display on the ok button.
6048 */
6049 "okText"?: string;
6050 /**
6051 * Emitted when the select loses focus.
6052 */
6053 "onIonBlur"?: (event: CustomEvent<void>) => void;
6054 /**
6055 * Emitted when the selection is cancelled.
6056 */
6057 "onIonCancel"?: (event: CustomEvent<void>) => void;
6058 /**
6059 * Emitted when the value has changed.
6060 */
6061 "onIonChange"?: (event: CustomEvent<SelectChangeEventDetail>) => void;
6062 /**
6063 * Emitted when the select has focus.
6064 */
6065 "onIonFocus"?: (event: CustomEvent<void>) => void;
6066 /**
6067 * The text to display when the select is empty.
6068 */
6069 "placeholder"?: string;
6070 /**
6071 * The text to display instead of the selected option's value.
6072 */
6073 "selectedText"?: string | null;
6074 /**
6075 * the value of the select.
6076 */
6077 "value"?: any | null;
6078 }
6079 interface IonSelectOption {
6080 /**
6081 * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
6082 */
6083 "disabled"?: boolean;
6084 /**
6085 * The text value of the option.
6086 */
6087 "value"?: any | null;
6088 }
6089 interface IonSelectPopover {
6090 /**
6091 * The header text of the popover
6092 */
6093 "header"?: string;
6094 /**
6095 * The text content of the popover body
6096 */
6097 "message"?: string;
6098 /**
6099 * If true, the select accepts multiple values
6100 */
6101 "multiple"?: boolean;
6102 /**
6103 * An array of options for the popover
6104 */
6105 "options"?: SelectPopoverOption[];
6106 /**
6107 * The subheader text of the popover
6108 */
6109 "subHeader"?: string;
6110 }
6111 interface IonSkeletonText {
6112 /**
6113 * If `true`, the skeleton text will animate.
6114 */
6115 "animated"?: boolean;
6116 }
6117 interface IonSlide {
6118 }
6119 interface IonSlides {
6120 /**
6121 * The mode determines which platform styles to use.
6122 */
6123 "mode"?: "ios" | "md";
6124 /**
6125 * Emitted after the active slide has changed.
6126 */
6127 "onIonSlideDidChange"?: (event: CustomEvent<void>) => void;
6128 /**
6129 * Emitted when the user double taps on the slide's container.
6130 */
6131 "onIonSlideDoubleTap"?: (event: CustomEvent<void>) => void;
6132 /**
6133 * Emitted when the slider is actively being moved.
6134 */
6135 "onIonSlideDrag"?: (event: CustomEvent<void>) => void;
6136 /**
6137 * Emitted when the next slide has ended.
6138 */
6139 "onIonSlideNextEnd"?: (event: CustomEvent<void>) => void;
6140 /**
6141 * Emitted when the next slide has started.
6142 */
6143 "onIonSlideNextStart"?: (event: CustomEvent<void>) => void;
6144 /**
6145 * Emitted when the previous slide has ended.
6146 */
6147 "onIonSlidePrevEnd"?: (event: CustomEvent<void>) => void;
6148 /**
6149 * Emitted when the previous slide has started.
6150 */
6151 "onIonSlidePrevStart"?: (event: CustomEvent<void>) => void;
6152 /**
6153 * Emitted when the slider is at the last slide.
6154 */
6155 "onIonSlideReachEnd"?: (event: CustomEvent<void>) => void;
6156 /**
6157 * Emitted when the slider is at its initial position.
6158 */
6159 "onIonSlideReachStart"?: (event: CustomEvent<void>) => void;
6160 /**
6161 * Emitted when the user taps/clicks on the slide's container.
6162 */
6163 "onIonSlideTap"?: (event: CustomEvent<void>) => void;
6164 /**
6165 * Emitted when the user releases the touch.
6166 */
6167 "onIonSlideTouchEnd"?: (event: CustomEvent<void>) => void;
6168 /**
6169 * Emitted when the user first touches the slider.
6170 */
6171 "onIonSlideTouchStart"?: (event: CustomEvent<void>) => void;
6172 /**
6173 * Emitted when the slide transition has ended.
6174 */
6175 "onIonSlideTransitionEnd"?: (event: CustomEvent<void>) => void;
6176 /**
6177 * Emitted when the slide transition has started.
6178 */
6179 "onIonSlideTransitionStart"?: (event: CustomEvent<void>) => void;
6180 /**
6181 * Emitted before the active slide has changed.
6182 */
6183 "onIonSlideWillChange"?: (event: CustomEvent<void>) => void;
6184 /**
6185 * Emitted after Swiper initialization
6186 */
6187 "onIonSlidesDidLoad"?: (event: CustomEvent<void>) => void;
6188 /**
6189 * Options to pass to the swiper instance. See http://idangero.us/swiper/api/ for valid options
6190 */
6191 "options"?: any;
6192 /**
6193 * If `true`, show the pagination.
6194 */
6195 "pager"?: boolean;
6196 /**
6197 * If `true`, show the scrollbar.
6198 */
6199 "scrollbar"?: boolean;
6200 }
6201 interface IonSpinner {
6202 /**
6203 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6204 */
6205 "color"?: Color;
6206 /**
6207 * Duration of the spinner animation in milliseconds. The default varies based on the spinner.
6208 */
6209 "duration"?: number;
6210 /**
6211 * The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used.
6212 */
6213 "name"?: SpinnerTypes;
6214 /**
6215 * If `true`, the spinner's animation will be paused.
6216 */
6217 "paused"?: boolean;
6218 }
6219 interface IonSplitPane {
6220 /**
6221 * The `id` of the main content. When using a router this is typically `ion-router-outlet`. When not using a router, this is typically your main view's `ion-content`. This is not the id of the `ion-content` inside of your `ion-menu`.
6222 */
6223 "contentId"?: string;
6224 /**
6225 * If `true`, the split pane will be hidden.
6226 */
6227 "disabled"?: boolean;
6228 /**
6229 * Expression to be called when the split-pane visibility has changed
6230 */
6231 "onIonSplitPaneVisible"?: (event: CustomEvent<{visible: boolean}>) => void;
6232 /**
6233 * When the split-pane should be shown. Can be a CSS media query expression, or a shortcut expression. Can also be a boolean expression.
6234 */
6235 "when"?: string | boolean;
6236 }
6237 interface IonTab {
6238 /**
6239 * The component to display inside of the tab.
6240 */
6241 "component"?: ComponentRef;
6242 /**
6243 * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
6244 */
6245 "tab": string;
6246 }
6247 interface IonTabBar {
6248 /**
6249 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6250 */
6251 "color"?: Color;
6252 /**
6253 * The mode determines which platform styles to use.
6254 */
6255 "mode"?: "ios" | "md";
6256 /**
6257 * The selected tab component
6258 */
6259 "selectedTab"?: string;
6260 /**
6261 * If `true`, the tab bar will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6262 */
6263 "translucent"?: boolean;
6264 }
6265 interface IonTabButton {
6266 /**
6267 * If `true`, the user cannot interact with the tab button.
6268 */
6269 "disabled"?: boolean;
6270 /**
6271 * This attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name in the Save prompt (the user can still change the file name if they want).
6272 */
6273 "download"?: string | undefined;
6274 /**
6275 * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
6276 */
6277 "href"?: string | undefined;
6278 /**
6279 * Set the layout of the text and icon in the tab bar. It defaults to `'icon-top'`.
6280 */
6281 "layout"?: TabButtonLayout;
6282 /**
6283 * The mode determines which platform styles to use.
6284 */
6285 "mode"?: "ios" | "md";
6286 /**
6287 * Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
6288 */
6289 "rel"?: string | undefined;
6290 /**
6291 * The selected tab component
6292 */
6293 "selected"?: boolean;
6294 /**
6295 * A tab id must be provided for each `ion-tab`. It's used internally to reference the selected tab or by the router to switch between them.
6296 */
6297 "tab"?: string;
6298 /**
6299 * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
6300 */
6301 "target"?: string | undefined;
6302 }
6303 interface IonTabs {
6304 /**
6305 * Emitted when the navigation has finished transitioning to a new component.
6306 */
6307 "onIonTabsDidChange"?: (event: CustomEvent<{tab: string}>) => void;
6308 /**
6309 * Emitted when the navigation is about to transition to a new component.
6310 */
6311 "onIonTabsWillChange"?: (event: CustomEvent<{tab: string}>) => void;
6312 }
6313 interface IonText {
6314 /**
6315 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6316 */
6317 "color"?: Color;
6318 /**
6319 * The mode determines which platform styles to use.
6320 */
6321 "mode"?: "ios" | "md";
6322 }
6323 interface IonTextarea {
6324 /**
6325 * If `true`, the element height will increase based on the value.
6326 */
6327 "autoGrow"?: boolean;
6328 /**
6329 * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
6330 */
6331 "autocapitalize"?: string;
6332 /**
6333 * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
6334 */
6335 "autofocus"?: boolean;
6336 /**
6337 * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
6338 */
6339 "clearOnEdit"?: boolean;
6340 /**
6341 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6342 */
6343 "color"?: Color;
6344 /**
6345 * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.
6346 */
6347 "cols"?: number;
6348 /**
6349 * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
6350 */
6351 "debounce"?: number;
6352 /**
6353 * If `true`, the user cannot interact with the textarea.
6354 */
6355 "disabled"?: boolean;
6356 /**
6357 * A hint to the browser for which enter key to display. Possible values: `"enter"`, `"done"`, `"go"`, `"next"`, `"previous"`, `"search"`, and `"send"`.
6358 */
6359 "enterkeyhint"?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
6360 /**
6361 * A hint to the browser for which keyboard to display. Possible values: `"none"`, `"text"`, `"tel"`, `"url"`, `"email"`, `"numeric"`, `"decimal"`, and `"search"`.
6362 */
6363 "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
6364 /**
6365 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.
6366 */
6367 "maxlength"?: number;
6368 /**
6369 * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.
6370 */
6371 "minlength"?: number;
6372 /**
6373 * The mode determines which platform styles to use.
6374 */
6375 "mode"?: "ios" | "md";
6376 /**
6377 * The name of the control, which is submitted with the form data.
6378 */
6379 "name"?: string;
6380 /**
6381 * Emitted when the input loses focus.
6382 */
6383 "onIonBlur"?: (event: CustomEvent<FocusEvent>) => void;
6384 /**
6385 * Emitted when the input value has changed.
6386 */
6387 "onIonChange"?: (event: CustomEvent<TextareaChangeEventDetail>) => void;
6388 /**
6389 * Emitted when the input has focus.
6390 */
6391 "onIonFocus"?: (event: CustomEvent<FocusEvent>) => void;
6392 /**
6393 * Emitted when a keyboard input occurred.
6394 */
6395 "onIonInput"?: (event: CustomEvent<InputEvent>) => void;
6396 /**
6397 * Instructional text that shows before the input has a value.
6398 */
6399 "placeholder"?: string;
6400 /**
6401 * If `true`, the user cannot modify the value.
6402 */
6403 "readonly"?: boolean;
6404 /**
6405 * If `true`, the user must fill in a value before submitting a form.
6406 */
6407 "required"?: boolean;
6408 /**
6409 * The number of visible text lines for the control.
6410 */
6411 "rows"?: number;
6412 /**
6413 * If `true`, the element will have its spelling and grammar checked.
6414 */
6415 "spellcheck"?: boolean;
6416 /**
6417 * The value of the textarea.
6418 */
6419 "value"?: string | null;
6420 /**
6421 * Indicates how the control wraps text.
6422 */
6423 "wrap"?: 'hard' | 'soft' | 'off';
6424 }
6425 interface IonThumbnail {
6426 }
6427 interface IonTitle {
6428 /**
6429 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6430 */
6431 "color"?: Color;
6432 /**
6433 * The size of the toolbar title.
6434 */
6435 "size"?: 'large' | 'small';
6436 }
6437 interface IonToast {
6438 /**
6439 * If `true`, the toast will animate.
6440 */
6441 "animated"?: boolean;
6442 /**
6443 * An array of buttons for the toast.
6444 */
6445 "buttons"?: (ToastButton | string)[];
6446 /**
6447 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6448 */
6449 "color"?: Color;
6450 /**
6451 * Additional classes to apply for custom CSS. If multiple classes are provided they should be separated by spaces.
6452 */
6453 "cssClass"?: string | string[];
6454 /**
6455 * How many milliseconds to wait before hiding the toast. By default, it will show until `dismiss()` is called.
6456 */
6457 "duration"?: number;
6458 /**
6459 * Animation to use when the toast is presented.
6460 */
6461 "enterAnimation"?: AnimationBuilder;
6462 /**
6463 * Header to be shown in the toast.
6464 */
6465 "header"?: string;
6466 /**
6467 * Additional attributes to pass to the toast.
6468 */
6469 "htmlAttributes"?: ToastAttributes;
6470 /**
6471 * The name of the icon to display, or the path to a valid SVG file. See `ion-icon`. https://ionic.io/ionicons
6472 */
6473 "icon"?: string;
6474 /**
6475 * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
6476 */
6477 "keyboardClose"?: boolean;
6478 /**
6479 * Animation to use when the toast is dismissed.
6480 */
6481 "leaveAnimation"?: AnimationBuilder;
6482 /**
6483 * Message to be shown in the toast.
6484 */
6485 "message"?: string | IonicSafeString;
6486 /**
6487 * The mode determines which platform styles to use.
6488 */
6489 "mode"?: "ios" | "md";
6490 /**
6491 * Emitted after the toast has dismissed.
6492 */
6493 "onIonToastDidDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
6494 /**
6495 * Emitted after the toast has presented.
6496 */
6497 "onIonToastDidPresent"?: (event: CustomEvent<void>) => void;
6498 /**
6499 * Emitted before the toast has dismissed.
6500 */
6501 "onIonToastWillDismiss"?: (event: CustomEvent<OverlayEventDetail>) => void;
6502 /**
6503 * Emitted before the toast has presented.
6504 */
6505 "onIonToastWillPresent"?: (event: CustomEvent<void>) => void;
6506 /**
6507 * The position of the toast on the screen.
6508 */
6509 "position"?: 'top' | 'bottom' | 'middle';
6510 /**
6511 * If `true`, the toast will be translucent. Only applies when the mode is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
6512 */
6513 "translucent"?: boolean;
6514 }
6515 interface IonToggle {
6516 /**
6517 * If `true`, the toggle is selected.
6518 */
6519 "checked"?: boolean;
6520 /**
6521 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6522 */
6523 "color"?: Color;
6524 /**
6525 * If `true`, the user cannot interact with the toggle.
6526 */
6527 "disabled"?: boolean;
6528 /**
6529 * The mode determines which platform styles to use.
6530 */
6531 "mode"?: "ios" | "md";
6532 /**
6533 * The name of the control, which is submitted with the form data.
6534 */
6535 "name"?: string;
6536 /**
6537 * Emitted when the toggle loses focus.
6538 */
6539 "onIonBlur"?: (event: CustomEvent<void>) => void;
6540 /**
6541 * Emitted when the value property has changed.
6542 */
6543 "onIonChange"?: (event: CustomEvent<ToggleChangeEventDetail>) => void;
6544 /**
6545 * Emitted when the toggle has focus.
6546 */
6547 "onIonFocus"?: (event: CustomEvent<void>) => void;
6548 /**
6549 * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
6550 */
6551 "value"?: string | null;
6552 }
6553 interface IonToolbar {
6554 /**
6555 * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
6556 */
6557 "color"?: Color;
6558 /**
6559 * The mode determines which platform styles to use.
6560 */
6561 "mode"?: "ios" | "md";
6562 }
6563 interface IonVirtualScroll {
6564 /**
6565 * The approximate width of each footer template's cell. This dimension is used to help determine how many cells should be created when initialized, and to help calculate the height of the scrollable area. This height value can only use `px` units. Note that the actual rendered size of each cell comes from the app's CSS, whereas this approximation is used to help calculate initial dimensions before the item has been rendered.
6566 */
6567 "approxFooterHeight"?: number;
6568 /**
6569 * The approximate height of each header template's cell. This dimension is used to help determine how many cells should be created when initialized, and to help calculate the height of the scrollable area. This height value can only use `px` units. Note that the actual rendered size of each cell comes from the app's CSS, whereas this approximation is used to help calculate initial dimensions before the item has been rendered.
6570 */
6571 "approxHeaderHeight"?: number;
6572 /**
6573 * It is important to provide this if virtual item height will be significantly larger than the default The approximate height of each virtual item template's cell. This dimension is used to help determine how many cells should be created when initialized, and to help calculate the height of the scrollable area. This height value can only use `px` units. Note that the actual rendered size of each cell comes from the app's CSS, whereas this approximation is used to help calculate initial dimensions before the item has been rendered.
6574 */
6575 "approxItemHeight"?: number;
6576 /**
6577 * Section footers and the data used within its given template can be dynamically created by passing a function to `footerFn`. The logic within the footer function can decide if the footer template should be used, and what data to give to the footer template. The function must return `null` if a footer cell shouldn't be created.
6578 */
6579 "footerFn"?: HeaderFn;
6580 /**
6581 * An optional function that maps each item footer within their height.
6582 */
6583 "footerHeight"?: FooterHeightFn;
6584 /**
6585 * Section headers and the data used within its given template can be dynamically created by passing a function to `headerFn`. For example, a large list of contacts usually has dividers between each letter in the alphabet. App's can provide their own custom `headerFn` which is called with each record within the dataset. The logic within the header function can decide if the header template should be used, and what data to give to the header template. The function must return `null` if a header cell shouldn't be created.
6586 */
6587 "headerFn"?: HeaderFn;
6588 /**
6589 * An optional function that maps each item header within their height.
6590 */
6591 "headerHeight"?: HeaderHeightFn;
6592 /**
6593 * An optional function that maps each item within their height. When this function is provides, heavy optimizations and fast path can be taked by `ion-virtual-scroll` leading to massive performance improvements. This function allows to skip all DOM reads, which can be Doing so leads to massive performance
6594 */
6595 "itemHeight"?: ItemHeightFn;
6596 /**
6597 * The data that builds the templates within the virtual scroll. It's important to note that when this data has changed, then the entire virtual scroll is reset, which is an expensive operation and should be avoided if possible.
6598 */
6599 "items"?: any[];
6600 /**
6601 * NOTE: only Vanilla JS API.
6602 */
6603 "nodeRender"?: ItemRenderFn;
6604 /**
6605 * NOTE: only JSX API for stencil. Provide a render function for the footer to be rendered. Returns a JSX virtual-dom.
6606 */
6607 "renderFooter"?: (item: any, index: number) => any;
6608 /**
6609 * NOTE: only JSX API for stencil. Provide a render function for the header to be rendered. Returns a JSX virtual-dom.
6610 */
6611 "renderHeader"?: (item: any, index: number) => any;
6612 /**
6613 * NOTE: only JSX API for stencil. Provide a render function for the items to be rendered. Returns a JSX virtual-dom.
6614 */
6615 "renderItem"?: (item: any, index: number) => any;
6616 }
6617 interface IntrinsicElements {
6618 "ion-accordion": IonAccordion;
6619 "ion-accordion-group": IonAccordionGroup;
6620 "ion-action-sheet": IonActionSheet;
6621 "ion-alert": IonAlert;
6622 "ion-app": IonApp;
6623 "ion-avatar": IonAvatar;
6624 "ion-back-button": IonBackButton;
6625 "ion-backdrop": IonBackdrop;
6626 "ion-badge": IonBadge;
6627 "ion-breadcrumb": IonBreadcrumb;
6628 "ion-breadcrumbs": IonBreadcrumbs;
6629 "ion-button": IonButton;
6630 "ion-buttons": IonButtons;
6631 "ion-card": IonCard;
6632 "ion-card-content": IonCardContent;
6633 "ion-card-header": IonCardHeader;
6634 "ion-card-subtitle": IonCardSubtitle;
6635 "ion-card-title": IonCardTitle;
6636 "ion-checkbox": IonCheckbox;
6637 "ion-chip": IonChip;
6638 "ion-col": IonCol;
6639 "ion-content": IonContent;
6640 "ion-datetime": IonDatetime;
6641 "ion-fab": IonFab;
6642 "ion-fab-button": IonFabButton;
6643 "ion-fab-list": IonFabList;
6644 "ion-footer": IonFooter;
6645 "ion-grid": IonGrid;
6646 "ion-header": IonHeader;
6647 "ion-img": IonImg;
6648 "ion-infinite-scroll": IonInfiniteScroll;
6649 "ion-infinite-scroll-content": IonInfiniteScrollContent;
6650 "ion-input": IonInput;
6651 "ion-item": IonItem;
6652 "ion-item-divider": IonItemDivider;
6653 "ion-item-group": IonItemGroup;
6654 "ion-item-option": IonItemOption;
6655 "ion-item-options": IonItemOptions;
6656 "ion-item-sliding": IonItemSliding;
6657 "ion-label": IonLabel;
6658 "ion-list": IonList;
6659 "ion-list-header": IonListHeader;
6660 "ion-loading": IonLoading;
6661 "ion-menu": IonMenu;
6662 "ion-menu-button": IonMenuButton;
6663 "ion-menu-toggle": IonMenuToggle;
6664 "ion-modal": IonModal;
6665 "ion-nav": IonNav;
6666 "ion-nav-link": IonNavLink;
6667 "ion-note": IonNote;
6668 "ion-picker": IonPicker;
6669 "ion-picker-column": IonPickerColumn;
6670 "ion-picker-column-internal": IonPickerColumnInternal;
6671 "ion-picker-internal": IonPickerInternal;
6672 "ion-popover": IonPopover;
6673 "ion-progress-bar": IonProgressBar;
6674 "ion-radio": IonRadio;
6675 "ion-radio-group": IonRadioGroup;
6676 "ion-range": IonRange;
6677 "ion-refresher": IonRefresher;
6678 "ion-refresher-content": IonRefresherContent;
6679 "ion-reorder": IonReorder;
6680 "ion-reorder-group": IonReorderGroup;
6681 "ion-ripple-effect": IonRippleEffect;
6682 "ion-route": IonRoute;
6683 "ion-route-redirect": IonRouteRedirect;
6684 "ion-router": IonRouter;
6685 "ion-router-link": IonRouterLink;
6686 "ion-router-outlet": IonRouterOutlet;
6687 "ion-row": IonRow;
6688 "ion-searchbar": IonSearchbar;
6689 "ion-segment": IonSegment;
6690 "ion-segment-button": IonSegmentButton;
6691 "ion-select": IonSelect;
6692 "ion-select-option": IonSelectOption;
6693 "ion-select-popover": IonSelectPopover;
6694 "ion-skeleton-text": IonSkeletonText;
6695 "ion-slide": IonSlide;
6696 "ion-slides": IonSlides;
6697 "ion-spinner": IonSpinner;
6698 "ion-split-pane": IonSplitPane;
6699 "ion-tab": IonTab;
6700 "ion-tab-bar": IonTabBar;
6701 "ion-tab-button": IonTabButton;
6702 "ion-tabs": IonTabs;
6703 "ion-text": IonText;
6704 "ion-textarea": IonTextarea;
6705 "ion-thumbnail": IonThumbnail;
6706 "ion-title": IonTitle;
6707 "ion-toast": IonToast;
6708 "ion-toggle": IonToggle;
6709 "ion-toolbar": IonToolbar;
6710 "ion-virtual-scroll": IonVirtualScroll;
6711 }
6712}
6713export { LocalJSX as JSX };
6714declare module "@stencil/core" {
6715 export namespace JSX {
6716 interface IntrinsicElements {
6717 "ion-accordion": LocalJSX.IonAccordion & JSXBase.HTMLAttributes<HTMLIonAccordionElement>;
6718 "ion-accordion-group": LocalJSX.IonAccordionGroup & JSXBase.HTMLAttributes<HTMLIonAccordionGroupElement>;
6719 "ion-action-sheet": LocalJSX.IonActionSheet & JSXBase.HTMLAttributes<HTMLIonActionSheetElement>;
6720 "ion-alert": LocalJSX.IonAlert & JSXBase.HTMLAttributes<HTMLIonAlertElement>;
6721 "ion-app": LocalJSX.IonApp & JSXBase.HTMLAttributes<HTMLIonAppElement>;
6722 "ion-avatar": LocalJSX.IonAvatar & JSXBase.HTMLAttributes<HTMLIonAvatarElement>;
6723 "ion-back-button": LocalJSX.IonBackButton & JSXBase.HTMLAttributes<HTMLIonBackButtonElement>;
6724 "ion-backdrop": LocalJSX.IonBackdrop & JSXBase.HTMLAttributes<HTMLIonBackdropElement>;
6725 "ion-badge": LocalJSX.IonBadge & JSXBase.HTMLAttributes<HTMLIonBadgeElement>;
6726 "ion-breadcrumb": LocalJSX.IonBreadcrumb & JSXBase.HTMLAttributes<HTMLIonBreadcrumbElement>;
6727 "ion-breadcrumbs": LocalJSX.IonBreadcrumbs & JSXBase.HTMLAttributes<HTMLIonBreadcrumbsElement>;
6728 "ion-button": LocalJSX.IonButton & JSXBase.HTMLAttributes<HTMLIonButtonElement>;
6729 "ion-buttons": LocalJSX.IonButtons & JSXBase.HTMLAttributes<HTMLIonButtonsElement>;
6730 "ion-card": LocalJSX.IonCard & JSXBase.HTMLAttributes<HTMLIonCardElement>;
6731 "ion-card-content": LocalJSX.IonCardContent & JSXBase.HTMLAttributes<HTMLIonCardContentElement>;
6732 "ion-card-header": LocalJSX.IonCardHeader & JSXBase.HTMLAttributes<HTMLIonCardHeaderElement>;
6733 "ion-card-subtitle": LocalJSX.IonCardSubtitle & JSXBase.HTMLAttributes<HTMLIonCardSubtitleElement>;
6734 "ion-card-title": LocalJSX.IonCardTitle & JSXBase.HTMLAttributes<HTMLIonCardTitleElement>;
6735 "ion-checkbox": LocalJSX.IonCheckbox & JSXBase.HTMLAttributes<HTMLIonCheckboxElement>;
6736 "ion-chip": LocalJSX.IonChip & JSXBase.HTMLAttributes<HTMLIonChipElement>;
6737 "ion-col": LocalJSX.IonCol & JSXBase.HTMLAttributes<HTMLIonColElement>;
6738 "ion-content": LocalJSX.IonContent & JSXBase.HTMLAttributes<HTMLIonContentElement>;
6739 "ion-datetime": LocalJSX.IonDatetime & JSXBase.HTMLAttributes<HTMLIonDatetimeElement>;
6740 "ion-fab": LocalJSX.IonFab & JSXBase.HTMLAttributes<HTMLIonFabElement>;
6741 "ion-fab-button": LocalJSX.IonFabButton & JSXBase.HTMLAttributes<HTMLIonFabButtonElement>;
6742 "ion-fab-list": LocalJSX.IonFabList & JSXBase.HTMLAttributes<HTMLIonFabListElement>;
6743 "ion-footer": LocalJSX.IonFooter & JSXBase.HTMLAttributes<HTMLIonFooterElement>;
6744 "ion-grid": LocalJSX.IonGrid & JSXBase.HTMLAttributes<HTMLIonGridElement>;
6745 "ion-header": LocalJSX.IonHeader & JSXBase.HTMLAttributes<HTMLIonHeaderElement>;
6746 "ion-img": LocalJSX.IonImg & JSXBase.HTMLAttributes<HTMLIonImgElement>;
6747 "ion-infinite-scroll": LocalJSX.IonInfiniteScroll & JSXBase.HTMLAttributes<HTMLIonInfiniteScrollElement>;
6748 "ion-infinite-scroll-content": LocalJSX.IonInfiniteScrollContent & JSXBase.HTMLAttributes<HTMLIonInfiniteScrollContentElement>;
6749 "ion-input": LocalJSX.IonInput & JSXBase.HTMLAttributes<HTMLIonInputElement>;
6750 "ion-item": LocalJSX.IonItem & JSXBase.HTMLAttributes<HTMLIonItemElement>;
6751 "ion-item-divider": LocalJSX.IonItemDivider & JSXBase.HTMLAttributes<HTMLIonItemDividerElement>;
6752 "ion-item-group": LocalJSX.IonItemGroup & JSXBase.HTMLAttributes<HTMLIonItemGroupElement>;
6753 "ion-item-option": LocalJSX.IonItemOption & JSXBase.HTMLAttributes<HTMLIonItemOptionElement>;
6754 "ion-item-options": LocalJSX.IonItemOptions & JSXBase.HTMLAttributes<HTMLIonItemOptionsElement>;
6755 "ion-item-sliding": LocalJSX.IonItemSliding & JSXBase.HTMLAttributes<HTMLIonItemSlidingElement>;
6756 "ion-label": LocalJSX.IonLabel & JSXBase.HTMLAttributes<HTMLIonLabelElement>;
6757 "ion-list": LocalJSX.IonList & JSXBase.HTMLAttributes<HTMLIonListElement>;
6758 "ion-list-header": LocalJSX.IonListHeader & JSXBase.HTMLAttributes<HTMLIonListHeaderElement>;
6759 "ion-loading": LocalJSX.IonLoading & JSXBase.HTMLAttributes<HTMLIonLoadingElement>;
6760 "ion-menu": LocalJSX.IonMenu & JSXBase.HTMLAttributes<HTMLIonMenuElement>;
6761 "ion-menu-button": LocalJSX.IonMenuButton & JSXBase.HTMLAttributes<HTMLIonMenuButtonElement>;
6762 "ion-menu-toggle": LocalJSX.IonMenuToggle & JSXBase.HTMLAttributes<HTMLIonMenuToggleElement>;
6763 "ion-modal": LocalJSX.IonModal & JSXBase.HTMLAttributes<HTMLIonModalElement>;
6764 "ion-nav": LocalJSX.IonNav & JSXBase.HTMLAttributes<HTMLIonNavElement>;
6765 "ion-nav-link": LocalJSX.IonNavLink & JSXBase.HTMLAttributes<HTMLIonNavLinkElement>;
6766 "ion-note": LocalJSX.IonNote & JSXBase.HTMLAttributes<HTMLIonNoteElement>;
6767 "ion-picker": LocalJSX.IonPicker & JSXBase.HTMLAttributes<HTMLIonPickerElement>;
6768 "ion-picker-column": LocalJSX.IonPickerColumn & JSXBase.HTMLAttributes<HTMLIonPickerColumnElement>;
6769 "ion-picker-column-internal": LocalJSX.IonPickerColumnInternal & JSXBase.HTMLAttributes<HTMLIonPickerColumnInternalElement>;
6770 "ion-picker-internal": LocalJSX.IonPickerInternal & JSXBase.HTMLAttributes<HTMLIonPickerInternalElement>;
6771 "ion-popover": LocalJSX.IonPopover & JSXBase.HTMLAttributes<HTMLIonPopoverElement>;
6772 "ion-progress-bar": LocalJSX.IonProgressBar & JSXBase.HTMLAttributes<HTMLIonProgressBarElement>;
6773 "ion-radio": LocalJSX.IonRadio & JSXBase.HTMLAttributes<HTMLIonRadioElement>;
6774 "ion-radio-group": LocalJSX.IonRadioGroup & JSXBase.HTMLAttributes<HTMLIonRadioGroupElement>;
6775 "ion-range": LocalJSX.IonRange & JSXBase.HTMLAttributes<HTMLIonRangeElement>;
6776 "ion-refresher": LocalJSX.IonRefresher & JSXBase.HTMLAttributes<HTMLIonRefresherElement>;
6777 "ion-refresher-content": LocalJSX.IonRefresherContent & JSXBase.HTMLAttributes<HTMLIonRefresherContentElement>;
6778 "ion-reorder": LocalJSX.IonReorder & JSXBase.HTMLAttributes<HTMLIonReorderElement>;
6779 "ion-reorder-group": LocalJSX.IonReorderGroup & JSXBase.HTMLAttributes<HTMLIonReorderGroupElement>;
6780 "ion-ripple-effect": LocalJSX.IonRippleEffect & JSXBase.HTMLAttributes<HTMLIonRippleEffectElement>;
6781 "ion-route": LocalJSX.IonRoute & JSXBase.HTMLAttributes<HTMLIonRouteElement>;
6782 "ion-route-redirect": LocalJSX.IonRouteRedirect & JSXBase.HTMLAttributes<HTMLIonRouteRedirectElement>;
6783 "ion-router": LocalJSX.IonRouter & JSXBase.HTMLAttributes<HTMLIonRouterElement>;
6784 "ion-router-link": LocalJSX.IonRouterLink & JSXBase.HTMLAttributes<HTMLIonRouterLinkElement>;
6785 "ion-router-outlet": LocalJSX.IonRouterOutlet & JSXBase.HTMLAttributes<HTMLIonRouterOutletElement>;
6786 "ion-row": LocalJSX.IonRow & JSXBase.HTMLAttributes<HTMLIonRowElement>;
6787 "ion-searchbar": LocalJSX.IonSearchbar & JSXBase.HTMLAttributes<HTMLIonSearchbarElement>;
6788 "ion-segment": LocalJSX.IonSegment & JSXBase.HTMLAttributes<HTMLIonSegmentElement>;
6789 "ion-segment-button": LocalJSX.IonSegmentButton & JSXBase.HTMLAttributes<HTMLIonSegmentButtonElement>;
6790 "ion-select": LocalJSX.IonSelect & JSXBase.HTMLAttributes<HTMLIonSelectElement>;
6791 "ion-select-option": LocalJSX.IonSelectOption & JSXBase.HTMLAttributes<HTMLIonSelectOptionElement>;
6792 "ion-select-popover": LocalJSX.IonSelectPopover & JSXBase.HTMLAttributes<HTMLIonSelectPopoverElement>;
6793 "ion-skeleton-text": LocalJSX.IonSkeletonText & JSXBase.HTMLAttributes<HTMLIonSkeletonTextElement>;
6794 "ion-slide": LocalJSX.IonSlide & JSXBase.HTMLAttributes<HTMLIonSlideElement>;
6795 "ion-slides": LocalJSX.IonSlides & JSXBase.HTMLAttributes<HTMLIonSlidesElement>;
6796 "ion-spinner": LocalJSX.IonSpinner & JSXBase.HTMLAttributes<HTMLIonSpinnerElement>;
6797 "ion-split-pane": LocalJSX.IonSplitPane & JSXBase.HTMLAttributes<HTMLIonSplitPaneElement>;
6798 "ion-tab": LocalJSX.IonTab & JSXBase.HTMLAttributes<HTMLIonTabElement>;
6799 "ion-tab-bar": LocalJSX.IonTabBar & JSXBase.HTMLAttributes<HTMLIonTabBarElement>;
6800 "ion-tab-button": LocalJSX.IonTabButton & JSXBase.HTMLAttributes<HTMLIonTabButtonElement>;
6801 "ion-tabs": LocalJSX.IonTabs & JSXBase.HTMLAttributes<HTMLIonTabsElement>;
6802 "ion-text": LocalJSX.IonText & JSXBase.HTMLAttributes<HTMLIonTextElement>;
6803 "ion-textarea": LocalJSX.IonTextarea & JSXBase.HTMLAttributes<HTMLIonTextareaElement>;
6804 "ion-thumbnail": LocalJSX.IonThumbnail & JSXBase.HTMLAttributes<HTMLIonThumbnailElement>;
6805 "ion-title": LocalJSX.IonTitle & JSXBase.HTMLAttributes<HTMLIonTitleElement>;
6806 "ion-toast": LocalJSX.IonToast & JSXBase.HTMLAttributes<HTMLIonToastElement>;
6807 "ion-toggle": LocalJSX.IonToggle & JSXBase.HTMLAttributes<HTMLIonToggleElement>;
6808 "ion-toolbar": LocalJSX.IonToolbar & JSXBase.HTMLAttributes<HTMLIonToolbarElement>;
6809 "ion-virtual-scroll": LocalJSX.IonVirtualScroll & JSXBase.HTMLAttributes<HTMLIonVirtualScrollElement>;
6810 }
6811 }
6812}