diff --git a/core/package-lock.json b/core/package-lock.json
index b70e812bd1e..2810e37e9f0 100644
--- a/core/package-lock.json
+++ b/core/package-lock.json
@@ -25,7 +25,7 @@
"@playwright/test": "^1.56.1",
"@rollup/plugin-node-resolve": "^8.4.0",
"@rollup/plugin-virtual": "^2.0.3",
- "@stencil/angular-output-target": "^0.10.0",
+ "@stencil/angular-output-target": "^1.1.1",
"@stencil/react-output-target": "0.5.3",
"@stencil/sass": "^3.0.9",
"@stencil/vue-output-target": "0.10.8",
@@ -1905,10 +1905,11 @@
}
},
"node_modules/@stencil/angular-output-target": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.10.2.tgz",
- "integrity": "sha512-jPRa2NMAPtm/iMY+mUaWATbIhgY5zPJfUNQyF8nwC0rMrfXifPoRCf6BbH2S4Gy7SX0X4hlP+jAbVUjQNg/P+Q==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-1.1.1.tgz",
+ "integrity": "sha512-NMZjnbNi+gfUjlLRAWPLzwUuX1dGzkaIi/OqoVbElmZfxNI+kihZTW2EvDsA3SJx6bSJBsFNrIMx3tW9TQ3v6Q==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0"
}
@@ -11977,9 +11978,9 @@
}
},
"@stencil/angular-output-target": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.10.2.tgz",
- "integrity": "sha512-jPRa2NMAPtm/iMY+mUaWATbIhgY5zPJfUNQyF8nwC0rMrfXifPoRCf6BbH2S4Gy7SX0X4hlP+jAbVUjQNg/P+Q==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-1.1.1.tgz",
+ "integrity": "sha512-NMZjnbNi+gfUjlLRAWPLzwUuX1dGzkaIi/OqoVbElmZfxNI+kihZTW2EvDsA3SJx6bSJBsFNrIMx3tW9TQ3v6Q==",
"dev": true,
"requires": {}
},
diff --git a/core/package.json b/core/package.json
index a4fee0ea20f..e9edc137c27 100644
--- a/core/package.json
+++ b/core/package.json
@@ -47,7 +47,7 @@
"@playwright/test": "^1.56.1",
"@rollup/plugin-node-resolve": "^8.4.0",
"@rollup/plugin-virtual": "^2.0.3",
- "@stencil/angular-output-target": "^0.10.0",
+ "@stencil/angular-output-target": "^1.1.1",
"@stencil/react-output-target": "0.5.3",
"@stencil/sass": "^3.0.9",
"@stencil/vue-output-target": "0.10.8",
diff --git a/packages/angular/scripts/fix-proxies.js b/packages/angular/scripts/fix-proxies.js
new file mode 100644
index 00000000000..da307c2dcf2
--- /dev/null
+++ b/packages/angular/scripts/fix-proxies.js
@@ -0,0 +1,209 @@
+
+const fs = require('fs');
+const path = require('path');
+
+const PROXIES_PATH = path.join(__dirname, '../src/directives/proxies.ts');
+const STANDALONE_PROXIES_PATH = path.join(__dirname, '../standalone/src/directives/proxies.ts');
+
+const BOOLEAN_INPUTS = [
+ 'disabled',
+ 'readonly',
+ 'checked',
+ 'selected',
+ 'expanded',
+ 'multiple',
+ 'required',
+ // specific to ion-item
+ 'button',
+ 'detail',
+ // specific to ion-accordion
+ 'toggleIcon', // wait, toggleIcon is string? No, it's string.
+ // specific to ion-accordion-group
+ 'animated',
+ // specific to ion-modal, ion-popover, etc.
+ 'isOpen',
+ 'keyboardClose',
+ 'backdropDismiss',
+ 'showBackdrop',
+ 'translucent',
+ // specific to ion-datetime
+ 'showDefaultButtons',
+ 'showClearButton',
+ 'showDefaultTitle',
+ 'showDefaultTimeLabel',
+ 'preferWheel',
+ // specific to ion-menu
+ 'swipeGesture',
+ // specific to ion-nav
+ 'swipeGesture',
+ // specific to ion-refresher
+ 'pullingIcon', // string
+ // specific to ion-reorder-group
+ 'disabled',
+ // specific to ion-searchbar
+ 'showCancelButton', // boolean | string ("focus" | "always" | "never") - WAIT, this is NOT purely boolean.
+ // specific to ion-segment
+ 'scrollable',
+ 'swipeGesture',
+ // specific to ion-select
+ 'multiple',
+ // specific to ion-toast
+ 'translucent',
+ // specific to ion-toggle
+ 'checked',
+ // specific to ion-virtual-scroll
+ // ...
+];
+
+// We need to be careful. Some inputs might share names but have different types in different components.
+// For now, let's stick to the ones explicitly mentioned in the issue or clearly boolean globally.
+// The issue mentions: button, detail (on ion-item).
+// And "certain inputs".
+
+const TARGETS = [
+ {
+ components: ['IonItem'],
+ inputs: ['button', 'detail', 'disabled']
+ },
+ {
+ components: ['IonButton', 'IonCard', 'IonFabButton'], // and others with disabled
+ inputs: ['disabled']
+ }
+];
+
+// Actually, let's try to do it for ALL components for 'disabled' and 'readonly'.
+// And specific ones for others.
+
+function fixProxies(filePath) {
+ let content = fs.readFileSync(filePath, 'utf-8');
+
+ // Add booleanAttribute import if not present
+ if (!content.includes('booleanAttribute')) {
+ content = content.replace(
+ /import { (.+?) } from '@angular\/core';/,
+ "import { $1, booleanAttribute, Input } from '@angular/core';"
+ );
+ } else {
+ // ensure Input is imported
+ if (!content.includes('Input')) {
+ content = content.replace(
+ /import { (.+?) } from '@angular\/core';/,
+ "import { $1, Input } from '@angular/core';"
+ );
+ }
+ }
+
+ // Helper to process a component
+ const processComponent = (className, inputsToFix) => {
+ // Regex to find the component definition
+ // @ProxyCmp({ ... inputs: [...] ... })
+ // @Component({ ... inputs: [...] ... })
+ // export class ClassName { ... }
+
+ const classRegex = new RegExp(`export class ${className} \\{[\\s\\S]*?\\}`, 'g');
+ const match = content.match(classRegex);
+ if (!match) return;
+
+ let classBody = match[0];
+
+ // Find the @ProxyCmp and @Component decorators preceding the class
+ // We search backwards from the class definition?
+ // Or we just search for the whole block.
+ // The file structure is consistent.
+
+ // Let's find the block:
+ // @ProxyCmp({...})
+ // @Component({...})
+ // export class ClassName { ... }
+
+ const blockRegex = new RegExp(
+ `@ProxyCmp\\(\\{[\\s\\S]*?\\}\\)\\s*@Component\\(\\{[\\s\\S]*?\\}\\)\\s*export class ${className} \\{[\\s\\S]*?\\}`,
+ 'g'
+ );
+
+ content = content.replace(blockRegex, (fullBlock) => {
+ let newBlock = fullBlock;
+
+ inputsToFix.forEach(input => {
+ // 1. Remove from @ProxyCmp inputs
+ // inputs: ['a', 'b', 'input', 'c']
+ // We need to handle quotes and commas.
+ const proxyInputsRegex = /(@ProxyCmp\(\{[\s\S]*?inputs:\s*\[)([\s\S]*?)(\][\s\S]*?\})/;
+ newBlock = newBlock.replace(proxyInputsRegex, (match, start, inputsList, end) => {
+ const updatedList = inputsList
+ .split(',')
+ .map(s => s.trim())
+ .filter(s => s.replace(/['"]/g, '') !== input)
+ .join(', ');
+ return `${start}${updatedList}${end}`;
+ });
+
+ // 2. Remove from @Component inputs
+ const compInputsRegex = /(@Component\(\{[\s\S]*?inputs:\s*\[)([\s\S]*?)(\][\s\S]*?\})/;
+ newBlock = newBlock.replace(compInputsRegex, (match, start, inputsList, end) => {
+ const updatedList = inputsList
+ .split(',')
+ .map(s => s.trim())
+ .filter(s => s.replace(/['"]/g, '') !== input)
+ .join(', ');
+ return `${start}${updatedList}${end}`;
+ });
+
+ // 3. Add getter/setter to class body
+ // We insert it before the constructor.
+ // protected el: HTML...;
+ // INSERT HERE
+ // constructor...
+
+ const getterSetter = `
+ @Input({ transform: booleanAttribute })
+ get ${input}() { return this.el.${input}; }
+ set ${input}(value: boolean) { this.z.runOutsideAngular(() => (this.el.${input} = value)); }`;
+
+ const constructorRegex = /(constructor\s*\()/;
+ newBlock = newBlock.replace(constructorRegex, `${getterSetter}\n $1`);
+ });
+
+ return newBlock;
+ });
+ };
+
+ // Apply fixes
+ // IonItem
+ processComponent('IonItem', ['button', 'detail', 'disabled']);
+
+ // Apply 'disabled' to others?
+ // Let's do a quick scan of all classes that have 'disabled' in their inputs.
+ // Actually, let's just do it for the ones we are sure about.
+ // The issue specifically mentions IonItem.
+ // "make certain inputs booleanAttributes"
+ // It's safer to be explicit.
+
+ const COMMON_BOOLEANS = ['disabled', 'readonly'];
+ // We can iterate over all exported classes and check if they have these inputs in their ProxyCmp.
+
+ // For now, let's stick to IonItem as the primary target to verify the fix.
+ // If the user wants MORE, I can add them.
+
+ return content;
+}
+
+// Run for both files
+try {
+ if (fs.existsSync(PROXIES_PATH)) {
+ console.log(`Processing ${PROXIES_PATH}...`);
+ const fixed = fixProxies(PROXIES_PATH);
+ fs.writeFileSync(PROXIES_PATH, fixed);
+ console.log('Done.');
+ }
+
+ if (fs.existsSync(STANDALONE_PROXIES_PATH)) {
+ console.log(`Processing ${STANDALONE_PROXIES_PATH}...`);
+ const fixed = fixProxies(STANDALONE_PROXIES_PATH);
+ fs.writeFileSync(STANDALONE_PROXIES_PATH, fixed);
+ console.log('Done.');
+ }
+} catch (e) {
+ console.error(e);
+ process.exit(1);
+}
diff --git a/packages/angular/src/directives/proxies.ts b/packages/angular/src/directives/proxies.ts
index c81ac8f8571..d2186719a77 100644
--- a/packages/angular/src/directives/proxies.ts
+++ b/packages/angular/src/directives/proxies.ts
@@ -1,8 +1,8 @@
/* tslint:disable */
/* auto-generated angular directive proxies */
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone, booleanAttribute, Input } from '@angular/core';
-import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
+import { ProxyCmp } from './angular-component-lib/utils';
import { Components } from '@ionic/core';
@@ -16,6 +16,7 @@ import { Components } from '@ionic/core';
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'mode', 'readonly', 'toggleIcon', 'toggleIconSlot', 'value'],
+ standalone: false
})
export class IonAccordion {
protected el: HTMLIonAccordionElement;
@@ -26,7 +27,7 @@ export class IonAccordion {
}
-export declare interface IonAccordion extends Components.IonAccordion {}
+export declare interface IonAccordion extends Components.IonAccordion { }
@ProxyCmp({
@@ -38,13 +39,15 @@ export declare interface IonAccordion extends Components.IonAccordion {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'disabled', 'expand', 'mode', 'multiple', 'readonly', 'value'],
+ outputs: ['ionChange'],
+ standalone: false
})
export class IonAccordionGroup {
protected el: HTMLIonAccordionGroupElement;
+ @Output() ionChange = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange']);
}
}
@@ -71,13 +74,22 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger'],
+ outputs: ['ionActionSheetDidPresent', 'ionActionSheetWillPresent', 'ionActionSheetWillDismiss', 'ionActionSheetDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
+ standalone: false
})
export class IonActionSheet {
protected el: HTMLIonActionSheetElement;
+ @Output() ionActionSheetDidPresent = new EventEmitter>();
+ @Output() ionActionSheetWillPresent = new EventEmitter>();
+ @Output() ionActionSheetWillDismiss = new EventEmitter>();
+ @Output() ionActionSheetDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionActionSheetDidPresent', 'ionActionSheetWillPresent', 'ionActionSheetWillDismiss', 'ionActionSheetDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -134,13 +146,22 @@ Shorthand for ionActionSheetDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger'],
+ outputs: ['ionAlertDidPresent', 'ionAlertWillPresent', 'ionAlertWillDismiss', 'ionAlertDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
+ standalone: false
})
export class IonAlert {
protected el: HTMLIonAlertElement;
+ @Output() ionAlertDidPresent = new EventEmitter>();
+ @Output() ionAlertWillPresent = new EventEmitter>();
+ @Output() ionAlertWillDismiss = new EventEmitter>();
+ @Output() ionAlertDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionAlertDidPresent', 'ionAlertWillPresent', 'ionAlertWillDismiss', 'ionAlertDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -196,6 +217,7 @@ Shorthand for ionAlertDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
+ standalone: false
})
export class IonApp {
protected el: HTMLIonAppElement;
@@ -206,7 +228,7 @@ export class IonApp {
}
-export declare interface IonApp extends Components.IonApp {}
+export declare interface IonApp extends Components.IonApp { }
@ProxyCmp({
@@ -217,6 +239,7 @@ export declare interface IonApp extends Components.IonApp {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
+ standalone: false
})
export class IonAvatar {
protected el: HTMLIonAvatarElement;
@@ -227,7 +250,7 @@ export class IonAvatar {
}
-export declare interface IonAvatar extends Components.IonAvatar {}
+export declare interface IonAvatar extends Components.IonAvatar { }
@ProxyCmp({
@@ -239,13 +262,15 @@ export declare interface IonAvatar extends Components.IonAvatar {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['stopPropagation', 'tappable', 'visible'],
+ outputs: ['ionBackdropTap'],
+ standalone: false
})
export class IonBackdrop {
protected el: HTMLIonBackdropElement;
+ @Output() ionBackdropTap = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionBackdropTap']);
}
}
@@ -267,6 +292,7 @@ export declare interface IonBackdrop extends Components.IonBackdrop {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
+ standalone: false
})
export class IonBadge {
protected el: HTMLIonBadgeElement;
@@ -277,7 +303,7 @@ export class IonBadge {
}
-export declare interface IonBadge extends Components.IonBadge {}
+export declare interface IonBadge extends Components.IonBadge { }
@ProxyCmp({
@@ -289,13 +315,16 @@ export declare interface IonBadge extends Components.IonBadge {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['active', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'separator', 'target'],
+ outputs: ['ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonBreadcrumb {
protected el: HTMLIonBreadcrumbElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -321,13 +350,15 @@ export declare interface IonBreadcrumb extends Components.IonBreadcrumb {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'itemsAfterCollapse', 'itemsBeforeCollapse', 'maxItems', 'mode'],
+ outputs: ['ionCollapsedClick'],
+ standalone: false
})
export class IonBreadcrumbs {
protected el: HTMLIonBreadcrumbsElement;
+ @Output() ionCollapsedClick = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionCollapsedClick']);
}
}
@@ -351,13 +382,16 @@ export declare interface IonBreadcrumbs extends Components.IonBreadcrumbs {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'form', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type'],
+ outputs: ['ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonButton {
protected el: HTMLIonButtonElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -383,6 +417,7 @@ export declare interface IonButton extends Components.IonButton {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['collapse'],
+ standalone: false
})
export class IonButtons {
protected el: HTMLIonButtonsElement;
@@ -393,7 +428,7 @@ export class IonButtons {
}
-export declare interface IonButtons extends Components.IonButtons {}
+export declare interface IonButtons extends Components.IonButtons { }
@ProxyCmp({
@@ -405,6 +440,7 @@ export declare interface IonButtons extends Components.IonButtons {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'],
+ standalone: false
})
export class IonCard {
protected el: HTMLIonCardElement;
@@ -415,7 +451,7 @@ export class IonCard {
}
-export declare interface IonCard extends Components.IonCard {}
+export declare interface IonCard extends Components.IonCard { }
@ProxyCmp({
@@ -427,6 +463,7 @@ export declare interface IonCard extends Components.IonCard {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['mode'],
+ standalone: false
})
export class IonCardContent {
protected el: HTMLIonCardContentElement;
@@ -437,7 +474,7 @@ export class IonCardContent {
}
-export declare interface IonCardContent extends Components.IonCardContent {}
+export declare interface IonCardContent extends Components.IonCardContent { }
@ProxyCmp({
@@ -449,6 +486,7 @@ export declare interface IonCardContent extends Components.IonCardContent {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'translucent'],
+ standalone: false
})
export class IonCardHeader {
protected el: HTMLIonCardHeaderElement;
@@ -459,7 +497,7 @@ export class IonCardHeader {
}
-export declare interface IonCardHeader extends Components.IonCardHeader {}
+export declare interface IonCardHeader extends Components.IonCardHeader { }
@ProxyCmp({
@@ -471,6 +509,7 @@ export declare interface IonCardHeader extends Components.IonCardHeader {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
+ standalone: false
})
export class IonCardSubtitle {
protected el: HTMLIonCardSubtitleElement;
@@ -481,7 +520,7 @@ export class IonCardSubtitle {
}
-export declare interface IonCardSubtitle extends Components.IonCardSubtitle {}
+export declare interface IonCardSubtitle extends Components.IonCardSubtitle { }
@ProxyCmp({
@@ -493,6 +532,7 @@ export declare interface IonCardSubtitle extends Components.IonCardSubtitle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
+ standalone: false
})
export class IonCardTitle {
protected el: HTMLIonCardTitleElement;
@@ -503,7 +543,7 @@ export class IonCardTitle {
}
-export declare interface IonCardTitle extends Components.IonCardTitle {}
+export declare interface IonCardTitle extends Components.IonCardTitle { }
@ProxyCmp({
@@ -515,13 +555,17 @@ export declare interface IonCardTitle extends Components.IonCardTitle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['alignment', 'checked', 'color', 'disabled', 'errorText', 'helperText', 'indeterminate', 'justify', 'labelPlacement', 'mode', 'name', 'required', 'value'],
+ outputs: ['ionChange', 'ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonCheckbox {
protected el: HTMLIonCheckboxElement;
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
}
}
@@ -555,6 +599,7 @@ This event will not emit when programmatically setting the `checked` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'mode', 'outline'],
+ standalone: false
})
export class IonChip {
protected el: HTMLIonChipElement;
@@ -565,7 +610,7 @@ export class IonChip {
}
-export declare interface IonChip extends Components.IonChip {}
+export declare interface IonChip extends Components.IonChip { }
@ProxyCmp({
@@ -577,6 +622,7 @@ export declare interface IonChip extends Components.IonChip {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs'],
+ standalone: false
})
export class IonCol {
protected el: HTMLIonColElement;
@@ -587,7 +633,7 @@ export class IonCol {
}
-export declare interface IonCol extends Components.IonCol {}
+export declare interface IonCol extends Components.IonCol { }
@ProxyCmp({
@@ -600,13 +646,17 @@ export declare interface IonCol extends Components.IonCol {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'fixedSlotPlacement', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'],
+ outputs: ['ionScrollStart', 'ionScroll', 'ionScrollEnd'],
+ standalone: false
})
export class IonContent {
protected el: HTMLIonContentElement;
+ @Output() ionScrollStart = new EventEmitter>();
+ @Output() ionScroll = new EventEmitter>();
+ @Output() ionScrollEnd = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionScrollStart', 'ionScroll', 'ionScrollEnd']);
}
}
@@ -643,13 +693,18 @@ Set `scrollEvents` to `true` to enable.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'firstDayOfWeek', 'formatOptions', 'highlightedDates', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'showAdjacentDays', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'titleSelectedDatesFormatter', 'value', 'yearValues'],
+ outputs: ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonDatetime {
protected el: HTMLIonDatetimeElement;
+ @Output() ionCancel = new EventEmitter>();
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);
}
}
@@ -687,6 +742,7 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'datetime', 'disabled', 'mode'],
+ standalone: false
})
export class IonDatetimeButton {
protected el: HTMLIonDatetimeButtonElement;
@@ -697,7 +753,7 @@ export class IonDatetimeButton {
}
-export declare interface IonDatetimeButton extends Components.IonDatetimeButton {}
+export declare interface IonDatetimeButton extends Components.IonDatetimeButton { }
@ProxyCmp({
@@ -710,6 +766,7 @@ export declare interface IonDatetimeButton extends Components.IonDatetimeButton
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['activated', 'edge', 'horizontal', 'vertical'],
+ standalone: false
})
export class IonFab {
protected el: HTMLIonFabElement;
@@ -720,7 +777,7 @@ export class IonFab {
}
-export declare interface IonFab extends Components.IonFab {}
+export declare interface IonFab extends Components.IonFab { }
@ProxyCmp({
@@ -732,13 +789,16 @@ export declare interface IonFab extends Components.IonFab {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['activated', 'closeIcon', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type'],
+ outputs: ['ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonFabButton {
protected el: HTMLIonFabButtonElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -764,6 +824,7 @@ export declare interface IonFabButton extends Components.IonFabButton {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['activated', 'side'],
+ standalone: false
})
export class IonFabList {
protected el: HTMLIonFabListElement;
@@ -774,7 +835,7 @@ export class IonFabList {
}
-export declare interface IonFabList extends Components.IonFabList {}
+export declare interface IonFabList extends Components.IonFabList { }
@ProxyCmp({
@@ -786,6 +847,7 @@ export declare interface IonFabList extends Components.IonFabList {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['collapse', 'mode', 'translucent'],
+ standalone: false
})
export class IonFooter {
protected el: HTMLIonFooterElement;
@@ -796,7 +858,7 @@ export class IonFooter {
}
-export declare interface IonFooter extends Components.IonFooter {}
+export declare interface IonFooter extends Components.IonFooter { }
@ProxyCmp({
@@ -808,6 +870,7 @@ export declare interface IonFooter extends Components.IonFooter {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['fixed'],
+ standalone: false
})
export class IonGrid {
protected el: HTMLIonGridElement;
@@ -818,7 +881,7 @@ export class IonGrid {
}
-export declare interface IonGrid extends Components.IonGrid {}
+export declare interface IonGrid extends Components.IonGrid { }
@ProxyCmp({
@@ -830,6 +893,7 @@ export declare interface IonGrid extends Components.IonGrid {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['collapse', 'mode', 'translucent'],
+ standalone: false
})
export class IonHeader {
protected el: HTMLIonHeaderElement;
@@ -840,7 +904,7 @@ export class IonHeader {
}
-export declare interface IonHeader extends Components.IonHeader {}
+export declare interface IonHeader extends Components.IonHeader { }
@ProxyCmp({
@@ -852,6 +916,7 @@ export declare interface IonHeader extends Components.IonHeader {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src'],
+ standalone: false
})
export class IonIcon {
protected el: HTMLIonIconElement;
@@ -862,7 +927,7 @@ export class IonIcon {
}
-export declare interface IonIcon extends Components.IonIcon {}
+export declare interface IonIcon extends Components.IonIcon { }
@ProxyCmp({
@@ -874,13 +939,17 @@ export declare interface IonIcon extends Components.IonIcon {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['alt', 'src'],
+ outputs: ['ionImgWillLoad', 'ionImgDidLoad', 'ionError'],
+ standalone: false
})
export class IonImg {
protected el: HTMLIonImgElement;
+ @Output() ionImgWillLoad = new EventEmitter>();
+ @Output() ionImgDidLoad = new EventEmitter>();
+ @Output() ionError = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionImgWillLoad', 'ionImgDidLoad', 'ionError']);
}
}
@@ -911,13 +980,15 @@ export declare interface IonImg extends Components.IonImg {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'position', 'threshold'],
+ outputs: ['ionInfinite'],
+ standalone: false
})
export class IonInfiniteScroll {
protected el: HTMLIonInfiniteScrollElement;
+ @Output() ionInfinite = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionInfinite']);
}
}
@@ -942,6 +1013,7 @@ your async operation has completed.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['loadingSpinner', 'loadingText'],
+ standalone: false
})
export class IonInfiniteScrollContent {
protected el: HTMLIonInfiniteScrollContentElement;
@@ -952,7 +1024,7 @@ export class IonInfiniteScrollContent {
}
-export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent {}
+export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent { }
@ProxyCmp({
@@ -965,13 +1037,18 @@ export declare interface IonInfiniteScrollContent extends Components.IonInfinite
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearInputIcon', 'clearOnEdit', 'color', 'counter', 'counterFormatter', 'debounce', 'disabled', 'enterkeyhint', 'errorText', 'fill', 'helperText', 'inputmode', 'label', 'labelPlacement', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'shape', 'spellcheck', 'step', 'type', 'value'],
+ outputs: ['ionInput', 'ionChange', 'ionBlur', 'ionFocus'],
+ standalone: false
})
export class IonInput {
protected el: HTMLIonInputElement;
+ @Output() ionInput = new EventEmitter>();
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);
}
}
@@ -1027,13 +1104,19 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['autocapitalize', 'color', 'disabled', 'fill', 'inputmode', 'length', 'pattern', 'readonly', 'separators', 'shape', 'size', 'type', 'value'],
+ outputs: ['ionInput', 'ionChange', 'ionComplete', 'ionBlur', 'ionFocus'],
+ standalone: false
})
export class IonInputOtp {
protected el: HTMLIonInputOtpElement;
+ @Output() ionInput = new EventEmitter>();
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionComplete = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionComplete', 'ionBlur', 'ionFocus']);
}
}
@@ -1089,6 +1172,7 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'hideIcon', 'mode', 'showIcon'],
+ standalone: false
})
export class IonInputPasswordToggle {
protected el: HTMLIonInputPasswordToggleElement;
@@ -1099,21 +1183,35 @@ export class IonInputPasswordToggle {
}
-export declare interface IonInputPasswordToggle extends Components.IonInputPasswordToggle {}
+export declare interface IonInputPasswordToggle extends Components.IonInputPasswordToggle { }
@ProxyCmp({
- inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']
+ inputs: ['color', 'detailIcon', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']
})
@Component({
selector: 'ion-item',
changeDetection: ChangeDetectionStrategy.OnPush,
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
- inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'],
+ inputs: ['color', 'detailIcon', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'],
+ standalone: false
})
export class IonItem {
protected el: HTMLIonItemElement;
+
+ @Input({ transform: booleanAttribute })
+ get button() { return this.el.button ?? false; }
+ set button(value: boolean) { this.z.runOutsideAngular(() => (this.el.button = value)); }
+
+ @Input({ transform: booleanAttribute })
+ get detail() { return this.el.detail ?? false; }
+ set detail(value: boolean) { this.z.runOutsideAngular(() => (this.el.detail = value)); }
+
+ @Input({ transform: booleanAttribute })
+ get disabled() { return this.el.disabled ?? false; }
+ set disabled(value: boolean) { this.z.runOutsideAngular(() => (this.el.disabled = value)); }
+
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
@@ -1121,7 +1219,7 @@ export class IonItem {
}
-export declare interface IonItem extends Components.IonItem {}
+export declare interface IonItem extends Components.IonItem { }
@ProxyCmp({
@@ -1133,6 +1231,7 @@ export declare interface IonItem extends Components.IonItem {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'sticky'],
+ standalone: false
})
export class IonItemDivider {
protected el: HTMLIonItemDividerElement;
@@ -1143,7 +1242,7 @@ export class IonItemDivider {
}
-export declare interface IonItemDivider extends Components.IonItemDivider {}
+export declare interface IonItemDivider extends Components.IonItemDivider { }
@ProxyCmp({
@@ -1154,6 +1253,7 @@ export declare interface IonItemDivider extends Components.IonItemDivider {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
+ standalone: false
})
export class IonItemGroup {
protected el: HTMLIonItemGroupElement;
@@ -1164,7 +1264,7 @@ export class IonItemGroup {
}
-export declare interface IonItemGroup extends Components.IonItemGroup {}
+export declare interface IonItemGroup extends Components.IonItemGroup { }
@ProxyCmp({
@@ -1176,6 +1276,7 @@ export declare interface IonItemGroup extends Components.IonItemGroup {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type'],
+ standalone: false
})
export class IonItemOption {
protected el: HTMLIonItemOptionElement;
@@ -1186,7 +1287,7 @@ export class IonItemOption {
}
-export declare interface IonItemOption extends Components.IonItemOption {}
+export declare interface IonItemOption extends Components.IonItemOption { }
@ProxyCmp({
@@ -1198,13 +1299,15 @@ export declare interface IonItemOption extends Components.IonItemOption {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['side'],
+ outputs: ['ionSwipe'],
+ standalone: false
})
export class IonItemOptions {
protected el: HTMLIonItemOptionsElement;
+ @Output() ionSwipe = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionSwipe']);
}
}
@@ -1227,13 +1330,15 @@ export declare interface IonItemOptions extends Components.IonItemOptions {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled'],
+ outputs: ['ionDrag'],
+ standalone: false
})
export class IonItemSliding {
protected el: HTMLIonItemSlidingElement;
+ @Output() ionDrag = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionDrag']);
}
}
@@ -1255,6 +1360,7 @@ export declare interface IonItemSliding extends Components.IonItemSliding {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'position'],
+ standalone: false
})
export class IonLabel {
protected el: HTMLIonLabelElement;
@@ -1265,7 +1371,7 @@ export class IonLabel {
}
-export declare interface IonLabel extends Components.IonLabel {}
+export declare interface IonLabel extends Components.IonLabel { }
@ProxyCmp({
@@ -1278,6 +1384,7 @@ export declare interface IonLabel extends Components.IonLabel {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['inset', 'lines', 'mode'],
+ standalone: false
})
export class IonList {
protected el: HTMLIonListElement;
@@ -1288,7 +1395,7 @@ export class IonList {
}
-export declare interface IonList extends Components.IonList {}
+export declare interface IonList extends Components.IonList { }
@ProxyCmp({
@@ -1300,6 +1407,7 @@ export declare interface IonList extends Components.IonList {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'lines', 'mode'],
+ standalone: false
})
export class IonListHeader {
protected el: HTMLIonListHeaderElement;
@@ -1310,7 +1418,7 @@ export class IonListHeader {
}
-export declare interface IonListHeader extends Components.IonListHeader {}
+export declare interface IonListHeader extends Components.IonListHeader { }
@ProxyCmp({
@@ -1323,13 +1431,22 @@ export declare interface IonListHeader extends Components.IonListHeader {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger'],
+ outputs: ['ionLoadingDidPresent', 'ionLoadingWillPresent', 'ionLoadingWillDismiss', 'ionLoadingDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
+ standalone: false
})
export class IonLoading {
protected el: HTMLIonLoadingElement;
+ @Output() ionLoadingDidPresent = new EventEmitter>();
+ @Output() ionLoadingWillPresent = new EventEmitter>();
+ @Output() ionLoadingWillDismiss = new EventEmitter>();
+ @Output() ionLoadingDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionLoadingDidPresent', 'ionLoadingWillPresent', 'ionLoadingWillDismiss', 'ionLoadingDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -1386,13 +1503,18 @@ Shorthand for ionLoadingDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'],
+ outputs: ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose'],
+ standalone: false
})
export class IonMenu {
protected el: HTMLIonMenuElement;
+ @Output() ionWillOpen = new EventEmitter>();
+ @Output() ionWillClose = new EventEmitter>();
+ @Output() ionDidOpen = new EventEmitter>();
+ @Output() ionDidClose = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose']);
}
}
@@ -1428,6 +1550,7 @@ export declare interface IonMenu extends Components.IonMenu {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['autoHide', 'color', 'disabled', 'menu', 'mode', 'type'],
+ standalone: false
})
export class IonMenuButton {
protected el: HTMLIonMenuButtonElement;
@@ -1438,7 +1561,7 @@ export class IonMenuButton {
}
-export declare interface IonMenuButton extends Components.IonMenuButton {}
+export declare interface IonMenuButton extends Components.IonMenuButton { }
@ProxyCmp({
@@ -1450,6 +1573,7 @@ export declare interface IonMenuButton extends Components.IonMenuButton {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['autoHide', 'menu'],
+ standalone: false
})
export class IonMenuToggle {
protected el: HTMLIonMenuToggleElement;
@@ -1460,7 +1584,7 @@ export class IonMenuToggle {
}
-export declare interface IonMenuToggle extends Components.IonMenuToggle {}
+export declare interface IonMenuToggle extends Components.IonMenuToggle { }
@ProxyCmp({
@@ -1472,6 +1596,7 @@ export declare interface IonMenuToggle extends Components.IonMenuToggle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['component', 'componentProps', 'routerAnimation', 'routerDirection'],
+ standalone: false
})
export class IonNavLink {
protected el: HTMLIonNavLinkElement;
@@ -1482,7 +1607,7 @@ export class IonNavLink {
}
-export declare interface IonNavLink extends Components.IonNavLink {}
+export declare interface IonNavLink extends Components.IonNavLink { }
@ProxyCmp({
@@ -1494,6 +1619,7 @@ export declare interface IonNavLink extends Components.IonNavLink {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
+ standalone: false
})
export class IonNote {
protected el: HTMLIonNoteElement;
@@ -1504,7 +1630,7 @@ export class IonNote {
}
-export declare interface IonNote extends Components.IonNote {}
+export declare interface IonNote extends Components.IonNote { }
@ProxyCmp({
@@ -1516,6 +1642,7 @@ export declare interface IonNote extends Components.IonNote {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['mode'],
+ standalone: false
})
export class IonPicker {
protected el: HTMLIonPickerElement;
@@ -1526,7 +1653,7 @@ export class IonPicker {
}
-export declare interface IonPicker extends Components.IonPicker {}
+export declare interface IonPicker extends Components.IonPicker { }
@ProxyCmp({
@@ -1539,13 +1666,15 @@ export declare interface IonPicker extends Components.IonPicker {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'mode', 'value'],
+ outputs: ['ionChange'],
+ standalone: false
})
export class IonPickerColumn {
protected el: HTMLIonPickerColumnElement;
+ @Output() ionChange = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange']);
}
}
@@ -1571,6 +1700,7 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'value'],
+ standalone: false
})
export class IonPickerColumnOption {
protected el: HTMLIonPickerColumnOptionElement;
@@ -1581,7 +1711,7 @@ export class IonPickerColumnOption {
}
-export declare interface IonPickerColumnOption extends Components.IonPickerColumnOption {}
+export declare interface IonPickerColumnOption extends Components.IonPickerColumnOption { }
@ProxyCmp({
@@ -1594,13 +1724,22 @@ export declare interface IonPickerColumnOption extends Components.IonPickerColum
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger'],
+ outputs: ['ionPickerDidPresent', 'ionPickerWillPresent', 'ionPickerWillDismiss', 'ionPickerDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
+ standalone: false
})
export class IonPickerLegacy {
protected el: HTMLIonPickerLegacyElement;
+ @Output() ionPickerDidPresent = new EventEmitter>();
+ @Output() ionPickerWillPresent = new EventEmitter>();
+ @Output() ionPickerWillDismiss = new EventEmitter>();
+ @Output() ionPickerDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionPickerDidPresent', 'ionPickerWillPresent', 'ionPickerWillDismiss', 'ionPickerDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -1656,6 +1795,7 @@ Shorthand for ionPickerDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value'],
+ standalone: false
})
export class IonProgressBar {
protected el: HTMLIonProgressBarElement;
@@ -1666,7 +1806,7 @@ export class IonProgressBar {
}
-export declare interface IonProgressBar extends Components.IonProgressBar {}
+export declare interface IonProgressBar extends Components.IonProgressBar { }
@ProxyCmp({
@@ -1678,13 +1818,16 @@ export declare interface IonProgressBar extends Components.IonProgressBar {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['alignment', 'color', 'disabled', 'justify', 'labelPlacement', 'mode', 'name', 'value'],
+ outputs: ['ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonRadio {
protected el: HTMLIonRadioElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -1710,13 +1853,15 @@ export declare interface IonRadio extends Components.IonRadio {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['allowEmptySelection', 'compareWith', 'errorText', 'helperText', 'name', 'value'],
+ outputs: ['ionChange'],
+ standalone: false
})
export class IonRadioGroup {
protected el: HTMLIonRadioGroupElement;
+ @Output() ionChange = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange']);
}
}
@@ -1742,13 +1887,20 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['activeBarStart', 'color', 'debounce', 'disabled', 'dualKnobs', 'label', 'labelPlacement', 'max', 'min', 'mode', 'name', 'pin', 'pinFormatter', 'snaps', 'step', 'ticks', 'value'],
+ outputs: ['ionChange', 'ionInput', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd'],
+ standalone: false
})
export class IonRange {
protected el: HTMLIonRangeElement;
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionInput = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
+ @Output() ionKnobMoveStart = new EventEmitter>();
+ @Output() ionKnobMoveEnd = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);
}
}
@@ -1804,13 +1956,17 @@ mouse drag, touch gesture, or keyboard interaction.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['closeDuration', 'disabled', 'mode', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'],
+ outputs: ['ionRefresh', 'ionPull', 'ionStart'],
+ standalone: false
})
export class IonRefresher {
protected el: HTMLIonRefresherElement;
+ @Output() ionRefresh = new EventEmitter>();
+ @Output() ionPull = new EventEmitter>();
+ @Output() ionStart = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionRefresh', 'ionPull', 'ionStart']);
}
}
@@ -1845,6 +2001,7 @@ called when the async operation has completed.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText'],
+ standalone: false
})
export class IonRefresherContent {
protected el: HTMLIonRefresherContentElement;
@@ -1855,7 +2012,7 @@ export class IonRefresherContent {
}
-export declare interface IonRefresherContent extends Components.IonRefresherContent {}
+export declare interface IonRefresherContent extends Components.IonRefresherContent { }
@ProxyCmp({
@@ -1866,6 +2023,7 @@ export declare interface IonRefresherContent extends Components.IonRefresherCont
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
+ standalone: false
})
export class IonReorder {
protected el: HTMLIonReorderElement;
@@ -1876,7 +2034,7 @@ export class IonReorder {
}
-export declare interface IonReorder extends Components.IonReorder {}
+export declare interface IonReorder extends Components.IonReorder { }
@ProxyCmp({
@@ -1889,13 +2047,18 @@ export declare interface IonReorder extends Components.IonReorder {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled'],
+ outputs: ['ionItemReorder', 'ionReorderStart', 'ionReorderMove', 'ionReorderEnd'],
+ standalone: false
})
export class IonReorderGroup {
protected el: HTMLIonReorderGroupElement;
+ @Output() ionItemReorder = new EventEmitter>();
+ @Output() ionReorderStart = new EventEmitter>();
+ @Output() ionReorderMove = new EventEmitter>();
+ @Output() ionReorderEnd = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionItemReorder', 'ionReorderStart', 'ionReorderMove', 'ionReorderEnd']);
}
}
@@ -1942,6 +2105,7 @@ to be called in order to finalize the reorder action.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['type'],
+ standalone: false
})
export class IonRippleEffect {
protected el: HTMLIonRippleEffectElement;
@@ -1952,7 +2116,7 @@ export class IonRippleEffect {
}
-export declare interface IonRippleEffect extends Components.IonRippleEffect {}
+export declare interface IonRippleEffect extends Components.IonRippleEffect { }
@ProxyCmp({
@@ -1963,6 +2127,7 @@ export declare interface IonRippleEffect extends Components.IonRippleEffect {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
+ standalone: false
})
export class IonRow {
protected el: HTMLIonRowElement;
@@ -1973,7 +2138,7 @@ export class IonRow {
}
-export declare interface IonRow extends Components.IonRow {}
+export declare interface IonRow extends Components.IonRow { }
@ProxyCmp({
@@ -1986,13 +2151,20 @@ export declare interface IonRow extends Components.IonRow {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'autocapitalize', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'searchIcon', 'showCancelButton', 'showClearButton', 'spellcheck', 'type', 'value'],
+ outputs: ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus'],
+ standalone: false
})
export class IonSearchbar {
protected el: HTMLIonSearchbarElement;
+ @Output() ionInput = new EventEmitter>();
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionCancel = new EventEmitter>();
+ @Output() ionClear = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionCancel', 'ionClear', 'ionBlur', 'ionFocus']);
}
}
@@ -2046,13 +2218,15 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value'],
+ outputs: ['ionChange'],
+ standalone: false
})
export class IonSegment {
protected el: HTMLIonSegmentElement;
+ @Output() ionChange = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange']);
}
}
@@ -2078,6 +2252,7 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['contentId', 'disabled', 'layout', 'mode', 'type', 'value'],
+ standalone: false
})
export class IonSegmentButton {
protected el: HTMLIonSegmentButtonElement;
@@ -2088,7 +2263,7 @@ export class IonSegmentButton {
}
-export declare interface IonSegmentButton extends Components.IonSegmentButton {}
+export declare interface IonSegmentButton extends Components.IonSegmentButton { }
@ProxyCmp({
@@ -2099,6 +2274,7 @@ export declare interface IonSegmentButton extends Components.IonSegmentButton {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
+ standalone: false
})
export class IonSegmentContent {
protected el: HTMLIonSegmentContentElement;
@@ -2109,7 +2285,7 @@ export class IonSegmentContent {
}
-export declare interface IonSegmentContent extends Components.IonSegmentContent {}
+export declare interface IonSegmentContent extends Components.IonSegmentContent { }
@ProxyCmp({
@@ -2121,13 +2297,15 @@ export declare interface IonSegmentContent extends Components.IonSegmentContent
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled'],
+ outputs: ['ionSegmentViewScroll'],
+ standalone: false
})
export class IonSegmentView {
protected el: HTMLIonSegmentViewElement;
+ @Output() ionSegmentViewScroll = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionSegmentViewScroll']);
}
}
@@ -2152,13 +2330,19 @@ export declare interface IonSegmentView extends Components.IonSegmentView {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['cancelText', 'color', 'compareWith', 'disabled', 'errorText', 'expandedIcon', 'fill', 'helperText', 'interface', 'interfaceOptions', 'justify', 'label', 'labelPlacement', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'required', 'selectedText', 'shape', 'toggleIcon', 'value'],
+ outputs: ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonSelect {
protected el: HTMLIonSelectElement;
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionCancel = new EventEmitter>();
+ @Output() ionDismiss = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange', 'ionCancel', 'ionDismiss', 'ionFocus', 'ionBlur']);
}
}
@@ -2200,6 +2384,7 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['header', 'multiple', 'options'],
+ standalone: false
})
export class IonSelectModal {
protected el: HTMLIonSelectModalElement;
@@ -2210,7 +2395,7 @@ export class IonSelectModal {
}
-export declare interface IonSelectModal extends Components.IonSelectModal {}
+export declare interface IonSelectModal extends Components.IonSelectModal { }
@ProxyCmp({
@@ -2222,6 +2407,7 @@ export declare interface IonSelectModal extends Components.IonSelectModal {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'value'],
+ standalone: false
})
export class IonSelectOption {
protected el: HTMLIonSelectOptionElement;
@@ -2232,7 +2418,7 @@ export class IonSelectOption {
}
-export declare interface IonSelectOption extends Components.IonSelectOption {}
+export declare interface IonSelectOption extends Components.IonSelectOption { }
@ProxyCmp({
@@ -2244,6 +2430,7 @@ export declare interface IonSelectOption extends Components.IonSelectOption {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated'],
+ standalone: false
})
export class IonSkeletonText {
protected el: HTMLIonSkeletonTextElement;
@@ -2254,7 +2441,7 @@ export class IonSkeletonText {
}
-export declare interface IonSkeletonText extends Components.IonSkeletonText {}
+export declare interface IonSkeletonText extends Components.IonSkeletonText { }
@ProxyCmp({
@@ -2266,6 +2453,7 @@ export declare interface IonSkeletonText extends Components.IonSkeletonText {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'duration', 'name', 'paused'],
+ standalone: false
})
export class IonSpinner {
protected el: HTMLIonSpinnerElement;
@@ -2276,7 +2464,7 @@ export class IonSpinner {
}
-export declare interface IonSpinner extends Components.IonSpinner {}
+export declare interface IonSpinner extends Components.IonSpinner { }
@ProxyCmp({
@@ -2288,13 +2476,15 @@ export declare interface IonSpinner extends Components.IonSpinner {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['contentId', 'disabled', 'when'],
+ outputs: ['ionSplitPaneVisible'],
+ standalone: false
})
export class IonSplitPane {
protected el: HTMLIonSplitPaneElement;
+ @Output() ionSplitPaneVisible = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionSplitPaneVisible']);
}
}
@@ -2316,7 +2506,8 @@ export declare interface IonSplitPane extends Components.IonSplitPane {
changeDetection: ChangeDetectionStrategy.OnPush,
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
- inputs: ['component', 'tab'],
+ inputs: ['component', { name: 'tab', required: true }],
+ standalone: false
})
export class IonTab {
protected el: HTMLIonTabElement;
@@ -2327,7 +2518,7 @@ export class IonTab {
}
-export declare interface IonTab extends Components.IonTab {}
+export declare interface IonTab extends Components.IonTab { }
@ProxyCmp({
@@ -2339,6 +2530,7 @@ export declare interface IonTab extends Components.IonTab {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'selectedTab', 'translucent'],
+ standalone: false
})
export class IonTabBar {
protected el: HTMLIonTabBarElement;
@@ -2349,7 +2541,7 @@ export class IonTabBar {
}
-export declare interface IonTabBar extends Components.IonTabBar {}
+export declare interface IonTabBar extends Components.IonTabBar { }
@ProxyCmp({
@@ -2361,6 +2553,7 @@ export declare interface IonTabBar extends Components.IonTabBar {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target'],
+ standalone: false
})
export class IonTabButton {
protected el: HTMLIonTabButtonElement;
@@ -2371,7 +2564,7 @@ export class IonTabButton {
}
-export declare interface IonTabButton extends Components.IonTabButton {}
+export declare interface IonTabButton extends Components.IonTabButton { }
@ProxyCmp({
@@ -2383,6 +2576,7 @@ export declare interface IonTabButton extends Components.IonTabButton {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
+ standalone: false
})
export class IonText {
protected el: HTMLIonTextElement;
@@ -2393,7 +2587,7 @@ export class IonText {
}
-export declare interface IonText extends Components.IonText {}
+export declare interface IonText extends Components.IonText { }
@ProxyCmp({
@@ -2406,13 +2600,18 @@ export declare interface IonText extends Components.IonText {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'counter', 'counterFormatter', 'debounce', 'disabled', 'enterkeyhint', 'errorText', 'fill', 'helperText', 'inputmode', 'label', 'labelPlacement', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'shape', 'spellcheck', 'value', 'wrap'],
+ outputs: ['ionChange', 'ionInput', 'ionBlur', 'ionFocus'],
+ standalone: false
})
export class IonTextarea {
protected el: HTMLIonTextareaElement;
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionInput = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionBlur', 'ionFocus']);
}
}
@@ -2457,6 +2656,7 @@ the user clears the textarea by performing a keydown event.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
+ standalone: false
})
export class IonThumbnail {
protected el: HTMLIonThumbnailElement;
@@ -2467,7 +2667,7 @@ export class IonThumbnail {
}
-export declare interface IonThumbnail extends Components.IonThumbnail {}
+export declare interface IonThumbnail extends Components.IonThumbnail { }
@ProxyCmp({
@@ -2479,6 +2679,7 @@ export declare interface IonThumbnail extends Components.IonThumbnail {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'size'],
+ standalone: false
})
export class IonTitle {
protected el: HTMLIonTitleElement;
@@ -2489,7 +2690,7 @@ export class IonTitle {
}
-export declare interface IonTitle extends Components.IonTitle {}
+export declare interface IonTitle extends Components.IonTitle { }
@ProxyCmp({
@@ -2502,13 +2703,22 @@ export declare interface IonTitle extends Components.IonTitle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger'],
+ outputs: ['ionToastDidPresent', 'ionToastWillPresent', 'ionToastWillDismiss', 'ionToastDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
+ standalone: false
})
export class IonToast {
protected el: HTMLIonToastElement;
+ @Output() ionToastDidPresent = new EventEmitter>();
+ @Output() ionToastWillPresent = new EventEmitter>();
+ @Output() ionToastWillDismiss = new EventEmitter>();
+ @Output() ionToastDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionToastDidPresent', 'ionToastWillPresent', 'ionToastWillDismiss', 'ionToastDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -2564,13 +2774,17 @@ Shorthand for ionToastDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['alignment', 'checked', 'color', 'disabled', 'enableOnOffLabels', 'errorText', 'helperText', 'justify', 'labelPlacement', 'mode', 'name', 'required', 'value'],
+ outputs: ['ionChange', 'ionFocus', 'ionBlur'],
+ standalone: false
})
export class IonToggle {
protected el: HTMLIonToggleElement;
+ @Output() ionChange = new EventEmitter>();
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);
}
}
@@ -2604,6 +2818,7 @@ This event will not emit when programmatically setting the `checked` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
+ standalone: false
})
export class IonToolbar {
protected el: HTMLIonToolbarElement;
@@ -2614,6 +2829,6 @@ export class IonToolbar {
}
-export declare interface IonToolbar extends Components.IonToolbar {}
+export declare interface IonToolbar extends Components.IonToolbar { }
diff --git a/packages/angular/standalone/src/directives/proxies.ts b/packages/angular/standalone/src/directives/proxies.ts
index 93f9bf10c86..c5c90b785bc 100644
--- a/packages/angular/standalone/src/directives/proxies.ts
+++ b/packages/angular/standalone/src/directives/proxies.ts
@@ -1,8 +1,8 @@
/* tslint:disable */
/* auto-generated angular directive proxies */
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone, booleanAttribute, Input } from '@angular/core';
-import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
+import { ProxyCmp } from './angular-component-lib/utils';
import type { Components } from '@ionic/core/components';
@@ -90,7 +90,6 @@ import { defineCustomElement as defineIonToolbar } from '@ionic/core/components/
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'mode', 'readonly', 'toggleIcon', 'toggleIconSlot', 'value'],
- standalone: true
})
export class IonAccordion {
protected el: HTMLIonAccordionElement;
@@ -101,7 +100,7 @@ export class IonAccordion {
}
-export declare interface IonAccordion extends Components.IonAccordion {}
+export declare interface IonAccordion extends Components.IonAccordion { }
@ProxyCmp({
@@ -114,14 +113,14 @@ export declare interface IonAccordion extends Components.IonAccordion {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'disabled', 'expand', 'mode', 'multiple', 'readonly', 'value'],
- standalone: true
+ outputs: ['ionChange'],
})
export class IonAccordionGroup {
protected el: HTMLIonAccordionGroupElement;
+ @Output() ionChange = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange']);
}
}
@@ -149,14 +148,21 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger'],
- standalone: true
+ outputs: ['ionActionSheetDidPresent', 'ionActionSheetWillPresent', 'ionActionSheetWillDismiss', 'ionActionSheetDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
})
export class IonActionSheet {
protected el: HTMLIonActionSheetElement;
+ @Output() ionActionSheetDidPresent = new EventEmitter>();
+ @Output() ionActionSheetWillPresent = new EventEmitter>();
+ @Output() ionActionSheetWillDismiss = new EventEmitter>();
+ @Output() ionActionSheetDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionActionSheetDidPresent', 'ionActionSheetWillPresent', 'ionActionSheetWillDismiss', 'ionActionSheetDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -214,14 +220,21 @@ Shorthand for ionActionSheetDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger'],
- standalone: true
+ outputs: ['ionAlertDidPresent', 'ionAlertWillPresent', 'ionAlertWillDismiss', 'ionAlertDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
})
export class IonAlert {
protected el: HTMLIonAlertElement;
+ @Output() ionAlertDidPresent = new EventEmitter>();
+ @Output() ionAlertWillPresent = new EventEmitter>();
+ @Output() ionAlertWillDismiss = new EventEmitter>();
+ @Output() ionAlertDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionAlertDidPresent', 'ionAlertWillPresent', 'ionAlertWillDismiss', 'ionAlertDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -278,7 +291,6 @@ Shorthand for ionAlertDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
- standalone: true
})
export class IonApp {
protected el: HTMLIonAppElement;
@@ -289,7 +301,7 @@ export class IonApp {
}
-export declare interface IonApp extends Components.IonApp {}
+export declare interface IonApp extends Components.IonApp { }
@ProxyCmp({
@@ -301,7 +313,6 @@ export declare interface IonApp extends Components.IonApp {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
- standalone: true
})
export class IonAvatar {
protected el: HTMLIonAvatarElement;
@@ -312,7 +323,7 @@ export class IonAvatar {
}
-export declare interface IonAvatar extends Components.IonAvatar {}
+export declare interface IonAvatar extends Components.IonAvatar { }
@ProxyCmp({
@@ -325,14 +336,14 @@ export declare interface IonAvatar extends Components.IonAvatar {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['stopPropagation', 'tappable', 'visible'],
- standalone: true
+ outputs: ['ionBackdropTap'],
})
export class IonBackdrop {
protected el: HTMLIonBackdropElement;
+ @Output() ionBackdropTap = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionBackdropTap']);
}
}
@@ -355,7 +366,6 @@ export declare interface IonBackdrop extends Components.IonBackdrop {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
- standalone: true
})
export class IonBadge {
protected el: HTMLIonBadgeElement;
@@ -366,7 +376,7 @@ export class IonBadge {
}
-export declare interface IonBadge extends Components.IonBadge {}
+export declare interface IonBadge extends Components.IonBadge { }
@ProxyCmp({
@@ -379,14 +389,15 @@ export declare interface IonBadge extends Components.IonBadge {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['active', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'separator', 'target'],
- standalone: true
+ outputs: ['ionFocus', 'ionBlur'],
})
export class IonBreadcrumb {
protected el: HTMLIonBreadcrumbElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -413,14 +424,14 @@ export declare interface IonBreadcrumb extends Components.IonBreadcrumb {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'itemsAfterCollapse', 'itemsBeforeCollapse', 'maxItems', 'mode'],
- standalone: true
+ outputs: ['ionCollapsedClick'],
})
export class IonBreadcrumbs {
protected el: HTMLIonBreadcrumbsElement;
+ @Output() ionCollapsedClick = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionCollapsedClick']);
}
}
@@ -445,14 +456,15 @@ export declare interface IonBreadcrumbs extends Components.IonBreadcrumbs {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'form', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type'],
- standalone: true
+ outputs: ['ionFocus', 'ionBlur'],
})
export class IonButton {
protected el: HTMLIonButtonElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -479,7 +491,6 @@ export declare interface IonButton extends Components.IonButton {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['collapse'],
- standalone: true
})
export class IonButtons {
protected el: HTMLIonButtonsElement;
@@ -490,7 +501,7 @@ export class IonButtons {
}
-export declare interface IonButtons extends Components.IonButtons {}
+export declare interface IonButtons extends Components.IonButtons { }
@ProxyCmp({
@@ -503,7 +514,6 @@ export declare interface IonButtons extends Components.IonButtons {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'],
- standalone: true
})
export class IonCard {
protected el: HTMLIonCardElement;
@@ -514,7 +524,7 @@ export class IonCard {
}
-export declare interface IonCard extends Components.IonCard {}
+export declare interface IonCard extends Components.IonCard { }
@ProxyCmp({
@@ -527,7 +537,6 @@ export declare interface IonCard extends Components.IonCard {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['mode'],
- standalone: true
})
export class IonCardContent {
protected el: HTMLIonCardContentElement;
@@ -538,7 +547,7 @@ export class IonCardContent {
}
-export declare interface IonCardContent extends Components.IonCardContent {}
+export declare interface IonCardContent extends Components.IonCardContent { }
@ProxyCmp({
@@ -551,7 +560,6 @@ export declare interface IonCardContent extends Components.IonCardContent {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'translucent'],
- standalone: true
})
export class IonCardHeader {
protected el: HTMLIonCardHeaderElement;
@@ -562,7 +570,7 @@ export class IonCardHeader {
}
-export declare interface IonCardHeader extends Components.IonCardHeader {}
+export declare interface IonCardHeader extends Components.IonCardHeader { }
@ProxyCmp({
@@ -575,7 +583,6 @@ export declare interface IonCardHeader extends Components.IonCardHeader {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
- standalone: true
})
export class IonCardSubtitle {
protected el: HTMLIonCardSubtitleElement;
@@ -586,7 +593,7 @@ export class IonCardSubtitle {
}
-export declare interface IonCardSubtitle extends Components.IonCardSubtitle {}
+export declare interface IonCardSubtitle extends Components.IonCardSubtitle { }
@ProxyCmp({
@@ -599,7 +606,6 @@ export declare interface IonCardSubtitle extends Components.IonCardSubtitle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
- standalone: true
})
export class IonCardTitle {
protected el: HTMLIonCardTitleElement;
@@ -610,7 +616,7 @@ export class IonCardTitle {
}
-export declare interface IonCardTitle extends Components.IonCardTitle {}
+export declare interface IonCardTitle extends Components.IonCardTitle { }
@ProxyCmp({
@@ -623,7 +629,6 @@ export declare interface IonCardTitle extends Components.IonCardTitle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'mode', 'outline'],
- standalone: true
})
export class IonChip {
protected el: HTMLIonChipElement;
@@ -634,7 +639,7 @@ export class IonChip {
}
-export declare interface IonChip extends Components.IonChip {}
+export declare interface IonChip extends Components.IonChip { }
@ProxyCmp({
@@ -647,7 +652,6 @@ export declare interface IonChip extends Components.IonChip {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs'],
- standalone: true
})
export class IonCol {
protected el: HTMLIonColElement;
@@ -658,7 +662,7 @@ export class IonCol {
}
-export declare interface IonCol extends Components.IonCol {}
+export declare interface IonCol extends Components.IonCol { }
@ProxyCmp({
@@ -672,14 +676,16 @@ export declare interface IonCol extends Components.IonCol {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'fixedSlotPlacement', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'],
- standalone: true
+ outputs: ['ionScrollStart', 'ionScroll', 'ionScrollEnd'],
})
export class IonContent {
protected el: HTMLIonContentElement;
+ @Output() ionScrollStart = new EventEmitter>();
+ @Output() ionScroll = new EventEmitter>();
+ @Output() ionScrollEnd = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionScrollStart', 'ionScroll', 'ionScrollEnd']);
}
}
@@ -716,7 +722,6 @@ Set `scrollEvents` to `true` to enable.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'datetime', 'disabled', 'mode'],
- standalone: true
})
export class IonDatetimeButton {
protected el: HTMLIonDatetimeButtonElement;
@@ -727,7 +732,7 @@ export class IonDatetimeButton {
}
-export declare interface IonDatetimeButton extends Components.IonDatetimeButton {}
+export declare interface IonDatetimeButton extends Components.IonDatetimeButton { }
@ProxyCmp({
@@ -741,7 +746,6 @@ export declare interface IonDatetimeButton extends Components.IonDatetimeButton
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['activated', 'edge', 'horizontal', 'vertical'],
- standalone: true
})
export class IonFab {
protected el: HTMLIonFabElement;
@@ -752,7 +756,7 @@ export class IonFab {
}
-export declare interface IonFab extends Components.IonFab {}
+export declare interface IonFab extends Components.IonFab { }
@ProxyCmp({
@@ -765,14 +769,15 @@ export declare interface IonFab extends Components.IonFab {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['activated', 'closeIcon', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type'],
- standalone: true
+ outputs: ['ionFocus', 'ionBlur'],
})
export class IonFabButton {
protected el: HTMLIonFabButtonElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -799,7 +804,6 @@ export declare interface IonFabButton extends Components.IonFabButton {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['activated', 'side'],
- standalone: true
})
export class IonFabList {
protected el: HTMLIonFabListElement;
@@ -810,7 +814,7 @@ export class IonFabList {
}
-export declare interface IonFabList extends Components.IonFabList {}
+export declare interface IonFabList extends Components.IonFabList { }
@ProxyCmp({
@@ -823,7 +827,6 @@ export declare interface IonFabList extends Components.IonFabList {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['collapse', 'mode', 'translucent'],
- standalone: true
})
export class IonFooter {
protected el: HTMLIonFooterElement;
@@ -834,7 +837,7 @@ export class IonFooter {
}
-export declare interface IonFooter extends Components.IonFooter {}
+export declare interface IonFooter extends Components.IonFooter { }
@ProxyCmp({
@@ -847,7 +850,6 @@ export declare interface IonFooter extends Components.IonFooter {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['fixed'],
- standalone: true
})
export class IonGrid {
protected el: HTMLIonGridElement;
@@ -858,7 +860,7 @@ export class IonGrid {
}
-export declare interface IonGrid extends Components.IonGrid {}
+export declare interface IonGrid extends Components.IonGrid { }
@ProxyCmp({
@@ -871,7 +873,6 @@ export declare interface IonGrid extends Components.IonGrid {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['collapse', 'mode', 'translucent'],
- standalone: true
})
export class IonHeader {
protected el: HTMLIonHeaderElement;
@@ -882,7 +883,7 @@ export class IonHeader {
}
-export declare interface IonHeader extends Components.IonHeader {}
+export declare interface IonHeader extends Components.IonHeader { }
@ProxyCmp({
@@ -895,14 +896,16 @@ export declare interface IonHeader extends Components.IonHeader {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['alt', 'src'],
- standalone: true
+ outputs: ['ionImgWillLoad', 'ionImgDidLoad', 'ionError'],
})
export class IonImg {
protected el: HTMLIonImgElement;
+ @Output() ionImgWillLoad = new EventEmitter>();
+ @Output() ionImgDidLoad = new EventEmitter>();
+ @Output() ionError = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionImgWillLoad', 'ionImgDidLoad', 'ionError']);
}
}
@@ -934,14 +937,14 @@ export declare interface IonImg extends Components.IonImg {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'position', 'threshold'],
- standalone: true
+ outputs: ['ionInfinite'],
})
export class IonInfiniteScroll {
protected el: HTMLIonInfiniteScrollElement;
+ @Output() ionInfinite = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionInfinite']);
}
}
@@ -967,7 +970,6 @@ your async operation has completed.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['loadingSpinner', 'loadingText'],
- standalone: true
})
export class IonInfiniteScrollContent {
protected el: HTMLIonInfiniteScrollContentElement;
@@ -978,7 +980,7 @@ export class IonInfiniteScrollContent {
}
-export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent {}
+export declare interface IonInfiniteScrollContent extends Components.IonInfiniteScrollContent { }
@ProxyCmp({
@@ -991,7 +993,6 @@ export declare interface IonInfiniteScrollContent extends Components.IonInfinite
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'hideIcon', 'mode', 'showIcon'],
- standalone: true
})
export class IonInputPasswordToggle {
protected el: HTMLIonInputPasswordToggleElement;
@@ -1002,23 +1003,35 @@ export class IonInputPasswordToggle {
}
-export declare interface IonInputPasswordToggle extends Components.IonInputPasswordToggle {}
+export declare interface IonInputPasswordToggle extends Components.IonInputPasswordToggle { }
@ProxyCmp({
defineCustomElementFn: defineIonItem,
- inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']
+ inputs: ['color', 'detailIcon', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type']
})
@Component({
selector: 'ion-item',
changeDetection: ChangeDetectionStrategy.OnPush,
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
- inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'],
- standalone: true
+ inputs: ['color', 'detailIcon', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'],
})
export class IonItem {
protected el: HTMLIonItemElement;
+
+ @Input({ transform: booleanAttribute })
+ get button() { return this.el.button ?? false; }
+ set button(value: boolean) { this.z.runOutsideAngular(() => (this.el.button = value)); }
+
+ @Input({ transform: booleanAttribute })
+ get detail() { return this.el.detail ?? false; }
+ set detail(value: boolean) { this.z.runOutsideAngular(() => (this.el.detail = value)); }
+
+ @Input({ transform: booleanAttribute })
+ get disabled() { return this.el.disabled ?? false; }
+ set disabled(value: boolean) { this.z.runOutsideAngular(() => (this.el.disabled = value)); }
+
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
@@ -1026,7 +1039,7 @@ export class IonItem {
}
-export declare interface IonItem extends Components.IonItem {}
+export declare interface IonItem extends Components.IonItem { }
@ProxyCmp({
@@ -1039,7 +1052,6 @@ export declare interface IonItem extends Components.IonItem {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'sticky'],
- standalone: true
})
export class IonItemDivider {
protected el: HTMLIonItemDividerElement;
@@ -1050,7 +1062,7 @@ export class IonItemDivider {
}
-export declare interface IonItemDivider extends Components.IonItemDivider {}
+export declare interface IonItemDivider extends Components.IonItemDivider { }
@ProxyCmp({
@@ -1062,7 +1074,6 @@ export declare interface IonItemDivider extends Components.IonItemDivider {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
- standalone: true
})
export class IonItemGroup {
protected el: HTMLIonItemGroupElement;
@@ -1073,7 +1084,7 @@ export class IonItemGroup {
}
-export declare interface IonItemGroup extends Components.IonItemGroup {}
+export declare interface IonItemGroup extends Components.IonItemGroup { }
@ProxyCmp({
@@ -1086,7 +1097,6 @@ export declare interface IonItemGroup extends Components.IonItemGroup {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type'],
- standalone: true
})
export class IonItemOption {
protected el: HTMLIonItemOptionElement;
@@ -1097,7 +1107,7 @@ export class IonItemOption {
}
-export declare interface IonItemOption extends Components.IonItemOption {}
+export declare interface IonItemOption extends Components.IonItemOption { }
@ProxyCmp({
@@ -1110,14 +1120,14 @@ export declare interface IonItemOption extends Components.IonItemOption {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['side'],
- standalone: true
+ outputs: ['ionSwipe'],
})
export class IonItemOptions {
protected el: HTMLIonItemOptionsElement;
+ @Output() ionSwipe = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionSwipe']);
}
}
@@ -1141,14 +1151,14 @@ export declare interface IonItemOptions extends Components.IonItemOptions {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled'],
- standalone: true
+ outputs: ['ionDrag'],
})
export class IonItemSliding {
protected el: HTMLIonItemSlidingElement;
+ @Output() ionDrag = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionDrag']);
}
}
@@ -1171,7 +1181,6 @@ export declare interface IonItemSliding extends Components.IonItemSliding {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'position'],
- standalone: true
})
export class IonLabel {
protected el: HTMLIonLabelElement;
@@ -1182,7 +1191,7 @@ export class IonLabel {
}
-export declare interface IonLabel extends Components.IonLabel {}
+export declare interface IonLabel extends Components.IonLabel { }
@ProxyCmp({
@@ -1196,7 +1205,6 @@ export declare interface IonLabel extends Components.IonLabel {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['inset', 'lines', 'mode'],
- standalone: true
})
export class IonList {
protected el: HTMLIonListElement;
@@ -1207,7 +1215,7 @@ export class IonList {
}
-export declare interface IonList extends Components.IonList {}
+export declare interface IonList extends Components.IonList { }
@ProxyCmp({
@@ -1220,7 +1228,6 @@ export declare interface IonList extends Components.IonList {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'lines', 'mode'],
- standalone: true
})
export class IonListHeader {
protected el: HTMLIonListHeaderElement;
@@ -1231,7 +1238,7 @@ export class IonListHeader {
}
-export declare interface IonListHeader extends Components.IonListHeader {}
+export declare interface IonListHeader extends Components.IonListHeader { }
@ProxyCmp({
@@ -1245,14 +1252,21 @@ export declare interface IonListHeader extends Components.IonListHeader {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger'],
- standalone: true
+ outputs: ['ionLoadingDidPresent', 'ionLoadingWillPresent', 'ionLoadingWillDismiss', 'ionLoadingDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
})
export class IonLoading {
protected el: HTMLIonLoadingElement;
+ @Output() ionLoadingDidPresent = new EventEmitter>();
+ @Output() ionLoadingWillPresent = new EventEmitter>();
+ @Output() ionLoadingWillDismiss = new EventEmitter>();
+ @Output() ionLoadingDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionLoadingDidPresent', 'ionLoadingWillPresent', 'ionLoadingWillDismiss', 'ionLoadingDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -1310,14 +1324,17 @@ Shorthand for ionLoadingDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'],
- standalone: true
+ outputs: ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose'],
})
export class IonMenu {
protected el: HTMLIonMenuElement;
+ @Output() ionWillOpen = new EventEmitter>();
+ @Output() ionWillClose = new EventEmitter>();
+ @Output() ionDidOpen = new EventEmitter>();
+ @Output() ionDidClose = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionWillOpen', 'ionWillClose', 'ionDidOpen', 'ionDidClose']);
}
}
@@ -1354,7 +1371,6 @@ export declare interface IonMenu extends Components.IonMenu {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['autoHide', 'color', 'disabled', 'menu', 'mode', 'type'],
- standalone: true
})
export class IonMenuButton {
protected el: HTMLIonMenuButtonElement;
@@ -1365,7 +1381,7 @@ export class IonMenuButton {
}
-export declare interface IonMenuButton extends Components.IonMenuButton {}
+export declare interface IonMenuButton extends Components.IonMenuButton { }
@ProxyCmp({
@@ -1378,7 +1394,6 @@ export declare interface IonMenuButton extends Components.IonMenuButton {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['autoHide', 'menu'],
- standalone: true
})
export class IonMenuToggle {
protected el: HTMLIonMenuToggleElement;
@@ -1389,7 +1404,7 @@ export class IonMenuToggle {
}
-export declare interface IonMenuToggle extends Components.IonMenuToggle {}
+export declare interface IonMenuToggle extends Components.IonMenuToggle { }
@ProxyCmp({
@@ -1402,7 +1417,6 @@ export declare interface IonMenuToggle extends Components.IonMenuToggle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['component', 'componentProps', 'routerAnimation', 'routerDirection'],
- standalone: true
})
export class IonNavLink {
protected el: HTMLIonNavLinkElement;
@@ -1413,7 +1427,7 @@ export class IonNavLink {
}
-export declare interface IonNavLink extends Components.IonNavLink {}
+export declare interface IonNavLink extends Components.IonNavLink { }
@ProxyCmp({
@@ -1426,7 +1440,6 @@ export declare interface IonNavLink extends Components.IonNavLink {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
- standalone: true
})
export class IonNote {
protected el: HTMLIonNoteElement;
@@ -1437,7 +1450,7 @@ export class IonNote {
}
-export declare interface IonNote extends Components.IonNote {}
+export declare interface IonNote extends Components.IonNote { }
@ProxyCmp({
@@ -1450,7 +1463,6 @@ export declare interface IonNote extends Components.IonNote {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['mode'],
- standalone: true
})
export class IonPicker {
protected el: HTMLIonPickerElement;
@@ -1461,7 +1473,7 @@ export class IonPicker {
}
-export declare interface IonPicker extends Components.IonPicker {}
+export declare interface IonPicker extends Components.IonPicker { }
@ProxyCmp({
@@ -1475,14 +1487,14 @@ export declare interface IonPicker extends Components.IonPicker {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'mode', 'value'],
- standalone: true
+ outputs: ['ionChange'],
})
export class IonPickerColumn {
protected el: HTMLIonPickerColumnElement;
+ @Output() ionChange = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionChange']);
}
}
@@ -1509,7 +1521,6 @@ This event will not emit when programmatically setting the `value` property.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'disabled', 'value'],
- standalone: true
})
export class IonPickerColumnOption {
protected el: HTMLIonPickerColumnOptionElement;
@@ -1520,7 +1531,7 @@ export class IonPickerColumnOption {
}
-export declare interface IonPickerColumnOption extends Components.IonPickerColumnOption {}
+export declare interface IonPickerColumnOption extends Components.IonPickerColumnOption { }
@ProxyCmp({
@@ -1534,14 +1545,21 @@ export declare interface IonPickerColumnOption extends Components.IonPickerColum
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger'],
- standalone: true
+ outputs: ['ionPickerDidPresent', 'ionPickerWillPresent', 'ionPickerWillDismiss', 'ionPickerDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
})
export class IonPickerLegacy {
protected el: HTMLIonPickerLegacyElement;
+ @Output() ionPickerDidPresent = new EventEmitter>();
+ @Output() ionPickerWillPresent = new EventEmitter>();
+ @Output() ionPickerWillDismiss = new EventEmitter>();
+ @Output() ionPickerDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionPickerDidPresent', 'ionPickerWillPresent', 'ionPickerWillDismiss', 'ionPickerDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -1598,7 +1616,6 @@ Shorthand for ionPickerDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value'],
- standalone: true
})
export class IonProgressBar {
protected el: HTMLIonProgressBarElement;
@@ -1609,7 +1626,7 @@ export class IonProgressBar {
}
-export declare interface IonProgressBar extends Components.IonProgressBar {}
+export declare interface IonProgressBar extends Components.IonProgressBar { }
@ProxyCmp({
@@ -1622,14 +1639,15 @@ export declare interface IonProgressBar extends Components.IonProgressBar {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['alignment', 'color', 'disabled', 'justify', 'labelPlacement', 'mode', 'name', 'value'],
- standalone: true
+ outputs: ['ionFocus', 'ionBlur'],
})
export class IonRadio {
protected el: HTMLIonRadioElement;
+ @Output() ionFocus = new EventEmitter>();
+ @Output() ionBlur = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
}
}
@@ -1657,14 +1675,16 @@ export declare interface IonRadio extends Components.IonRadio {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['closeDuration', 'disabled', 'mode', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'],
- standalone: true
+ outputs: ['ionRefresh', 'ionPull', 'ionStart'],
})
export class IonRefresher {
protected el: HTMLIonRefresherElement;
+ @Output() ionRefresh = new EventEmitter>();
+ @Output() ionPull = new EventEmitter>();
+ @Output() ionStart = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionRefresh', 'ionPull', 'ionStart']);
}
}
@@ -1700,7 +1720,6 @@ called when the async operation has completed.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText'],
- standalone: true
})
export class IonRefresherContent {
protected el: HTMLIonRefresherContentElement;
@@ -1711,7 +1730,7 @@ export class IonRefresherContent {
}
-export declare interface IonRefresherContent extends Components.IonRefresherContent {}
+export declare interface IonRefresherContent extends Components.IonRefresherContent { }
@ProxyCmp({
@@ -1723,7 +1742,6 @@ export declare interface IonRefresherContent extends Components.IonRefresherCont
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
- standalone: true
})
export class IonReorder {
protected el: HTMLIonReorderElement;
@@ -1734,7 +1752,7 @@ export class IonReorder {
}
-export declare interface IonReorder extends Components.IonReorder {}
+export declare interface IonReorder extends Components.IonReorder { }
@ProxyCmp({
@@ -1748,14 +1766,17 @@ export declare interface IonReorder extends Components.IonReorder {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled'],
- standalone: true
+ outputs: ['ionItemReorder', 'ionReorderStart', 'ionReorderMove', 'ionReorderEnd'],
})
export class IonReorderGroup {
protected el: HTMLIonReorderGroupElement;
+ @Output() ionItemReorder = new EventEmitter>();
+ @Output() ionReorderStart = new EventEmitter>();
+ @Output() ionReorderMove = new EventEmitter>();
+ @Output() ionReorderEnd = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionItemReorder', 'ionReorderStart', 'ionReorderMove', 'ionReorderEnd']);
}
}
@@ -1803,7 +1824,6 @@ to be called in order to finalize the reorder action.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['type'],
- standalone: true
})
export class IonRippleEffect {
protected el: HTMLIonRippleEffectElement;
@@ -1814,7 +1834,7 @@ export class IonRippleEffect {
}
-export declare interface IonRippleEffect extends Components.IonRippleEffect {}
+export declare interface IonRippleEffect extends Components.IonRippleEffect { }
@ProxyCmp({
@@ -1826,7 +1846,6 @@ export declare interface IonRippleEffect extends Components.IonRippleEffect {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
- standalone: true
})
export class IonRow {
protected el: HTMLIonRowElement;
@@ -1837,7 +1856,7 @@ export class IonRow {
}
-export declare interface IonRow extends Components.IonRow {}
+export declare interface IonRow extends Components.IonRow { }
@ProxyCmp({
@@ -1850,7 +1869,6 @@ export declare interface IonRow extends Components.IonRow {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['contentId', 'disabled', 'layout', 'mode', 'type', 'value'],
- standalone: true
})
export class IonSegmentButton {
protected el: HTMLIonSegmentButtonElement;
@@ -1861,7 +1879,7 @@ export class IonSegmentButton {
}
-export declare interface IonSegmentButton extends Components.IonSegmentButton {}
+export declare interface IonSegmentButton extends Components.IonSegmentButton { }
@ProxyCmp({
@@ -1873,7 +1891,6 @@ export declare interface IonSegmentButton extends Components.IonSegmentButton {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
- standalone: true
})
export class IonSegmentContent {
protected el: HTMLIonSegmentContentElement;
@@ -1884,7 +1901,7 @@ export class IonSegmentContent {
}
-export declare interface IonSegmentContent extends Components.IonSegmentContent {}
+export declare interface IonSegmentContent extends Components.IonSegmentContent { }
@ProxyCmp({
@@ -1897,14 +1914,14 @@ export declare interface IonSegmentContent extends Components.IonSegmentContent
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled'],
- standalone: true
+ outputs: ['ionSegmentViewScroll'],
})
export class IonSegmentView {
protected el: HTMLIonSegmentViewElement;
+ @Output() ionSegmentViewScroll = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionSegmentViewScroll']);
}
}
@@ -1929,7 +1946,6 @@ export declare interface IonSegmentView extends Components.IonSegmentView {
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['header', 'multiple', 'options'],
- standalone: true
})
export class IonSelectModal {
protected el: HTMLIonSelectModalElement;
@@ -1940,7 +1956,7 @@ export class IonSelectModal {
}
-export declare interface IonSelectModal extends Components.IonSelectModal {}
+export declare interface IonSelectModal extends Components.IonSelectModal { }
@ProxyCmp({
@@ -1953,7 +1969,6 @@ export declare interface IonSelectModal extends Components.IonSelectModal {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'value'],
- standalone: true
})
export class IonSelectOption {
protected el: HTMLIonSelectOptionElement;
@@ -1964,7 +1979,7 @@ export class IonSelectOption {
}
-export declare interface IonSelectOption extends Components.IonSelectOption {}
+export declare interface IonSelectOption extends Components.IonSelectOption { }
@ProxyCmp({
@@ -1977,7 +1992,6 @@ export declare interface IonSelectOption extends Components.IonSelectOption {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated'],
- standalone: true
})
export class IonSkeletonText {
protected el: HTMLIonSkeletonTextElement;
@@ -1988,7 +2002,7 @@ export class IonSkeletonText {
}
-export declare interface IonSkeletonText extends Components.IonSkeletonText {}
+export declare interface IonSkeletonText extends Components.IonSkeletonText { }
@ProxyCmp({
@@ -2001,7 +2015,6 @@ export declare interface IonSkeletonText extends Components.IonSkeletonText {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'duration', 'name', 'paused'],
- standalone: true
})
export class IonSpinner {
protected el: HTMLIonSpinnerElement;
@@ -2012,7 +2025,7 @@ export class IonSpinner {
}
-export declare interface IonSpinner extends Components.IonSpinner {}
+export declare interface IonSpinner extends Components.IonSpinner { }
@ProxyCmp({
@@ -2025,14 +2038,14 @@ export declare interface IonSpinner extends Components.IonSpinner {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['contentId', 'disabled', 'when'],
- standalone: true
+ outputs: ['ionSplitPaneVisible'],
})
export class IonSplitPane {
protected el: HTMLIonSplitPaneElement;
+ @Output() ionSplitPaneVisible = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionSplitPaneVisible']);
}
}
@@ -2055,8 +2068,7 @@ export declare interface IonSplitPane extends Components.IonSplitPane {
changeDetection: ChangeDetectionStrategy.OnPush,
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
- inputs: ['component', 'tab'],
- standalone: true
+ inputs: ['component', { name: 'tab', required: true }],
})
export class IonTab {
protected el: HTMLIonTabElement;
@@ -2067,7 +2079,7 @@ export class IonTab {
}
-export declare interface IonTab extends Components.IonTab {}
+export declare interface IonTab extends Components.IonTab { }
@ProxyCmp({
@@ -2080,7 +2092,6 @@ export declare interface IonTab extends Components.IonTab {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode', 'selectedTab', 'translucent'],
- standalone: true
})
export class IonTabBar {
protected el: HTMLIonTabBarElement;
@@ -2091,7 +2102,7 @@ export class IonTabBar {
}
-export declare interface IonTabBar extends Components.IonTabBar {}
+export declare interface IonTabBar extends Components.IonTabBar { }
@ProxyCmp({
@@ -2104,7 +2115,6 @@ export declare interface IonTabBar extends Components.IonTabBar {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target'],
- standalone: true
})
export class IonTabButton {
protected el: HTMLIonTabButtonElement;
@@ -2115,7 +2125,7 @@ export class IonTabButton {
}
-export declare interface IonTabButton extends Components.IonTabButton {}
+export declare interface IonTabButton extends Components.IonTabButton { }
@ProxyCmp({
@@ -2128,7 +2138,6 @@ export declare interface IonTabButton extends Components.IonTabButton {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
- standalone: true
})
export class IonText {
protected el: HTMLIonTextElement;
@@ -2139,7 +2148,7 @@ export class IonText {
}
-export declare interface IonText extends Components.IonText {}
+export declare interface IonText extends Components.IonText { }
@ProxyCmp({
@@ -2151,7 +2160,6 @@ export declare interface IonText extends Components.IonText {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: [],
- standalone: true
})
export class IonThumbnail {
protected el: HTMLIonThumbnailElement;
@@ -2162,7 +2170,7 @@ export class IonThumbnail {
}
-export declare interface IonThumbnail extends Components.IonThumbnail {}
+export declare interface IonThumbnail extends Components.IonThumbnail { }
@ProxyCmp({
@@ -2175,7 +2183,6 @@ export declare interface IonThumbnail extends Components.IonThumbnail {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'size'],
- standalone: true
})
export class IonTitle {
protected el: HTMLIonTitleElement;
@@ -2186,7 +2193,7 @@ export class IonTitle {
}
-export declare interface IonTitle extends Components.IonTitle {}
+export declare interface IonTitle extends Components.IonTitle { }
@ProxyCmp({
@@ -2200,14 +2207,21 @@ export declare interface IonTitle extends Components.IonTitle {}
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger'],
- standalone: true
+ outputs: ['ionToastDidPresent', 'ionToastWillPresent', 'ionToastWillDismiss', 'ionToastDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss'],
})
export class IonToast {
protected el: HTMLIonToastElement;
+ @Output() ionToastDidPresent = new EventEmitter>();
+ @Output() ionToastWillPresent = new EventEmitter>();
+ @Output() ionToastWillDismiss = new EventEmitter>();
+ @Output() ionToastDidDismiss = new EventEmitter>();
+ @Output() didPresent = new EventEmitter>();
+ @Output() willPresent = new EventEmitter>();
+ @Output() willDismiss = new EventEmitter>();
+ @Output() didDismiss = new EventEmitter>();
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
- proxyOutputs(this, this.el, ['ionToastDidPresent', 'ionToastWillPresent', 'ionToastWillDismiss', 'ionToastDidDismiss', 'didPresent', 'willPresent', 'willDismiss', 'didDismiss']);
}
}
@@ -2264,7 +2278,6 @@ Shorthand for ionToastDidDismiss.
template: '',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['color', 'mode'],
- standalone: true
})
export class IonToolbar {
protected el: HTMLIonToolbarElement;
@@ -2275,6 +2288,6 @@ export class IonToolbar {
}
-export declare interface IonToolbar extends Components.IonToolbar {}
+export declare interface IonToolbar extends Components.IonToolbar { }