feat(select): add modal as valid interface

This commit is contained in:
Tanner Reits
2024-10-21 11:47:34 -04:00
parent ab61c122e4
commit 8bc5b2ec53
13 changed files with 403 additions and 6 deletions

View File

@@ -70,6 +70,7 @@ export const DIRECTIVES = [
d.IonSegment,
d.IonSegmentButton,
d.IonSelect,
d.IonSelectModal,
d.IonSelectOption,
d.IonSkeletonText,
d.IonSpinner,

View File

@@ -2060,6 +2060,28 @@ This event will not emit when programmatically setting the `value` property.
}
@ProxyCmp({
inputs: ['confirmHandler', 'header', 'multiple', 'options']
})
@Component({
selector: 'ion-select-modal',
changeDetection: ChangeDetectionStrategy.OnPush,
template: '<ng-content></ng-content>',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['confirmHandler', 'header', 'multiple', 'options'],
})
export class IonSelectModal {
protected el: HTMLElement;
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
}
}
export declare interface IonSelectModal extends Components.IonSelectModal {}
@ProxyCmp({
inputs: ['disabled', 'mode', 'theme', 'value']
})

View File

@@ -65,6 +65,7 @@ import { defineCustomElement as defineIonReorderGroup } from '@ionic/core/compon
import { defineCustomElement as defineIonRippleEffect } from '@ionic/core/components/ion-ripple-effect.js';
import { defineCustomElement as defineIonRow } from '@ionic/core/components/ion-row.js';
import { defineCustomElement as defineIonSegmentButton } from '@ionic/core/components/ion-segment-button.js';
import { defineCustomElement as defineIonSelectModal } from '@ionic/core/components/ion-select-modal.js';
import { defineCustomElement as defineIonSelectOption } from '@ionic/core/components/ion-select-option.js';
import { defineCustomElement as defineIonSkeletonText } from '@ionic/core/components/ion-skeleton-text.js';
import { defineCustomElement as defineIonSpinner } from '@ionic/core/components/ion-spinner.js';
@@ -1843,6 +1844,30 @@ export class IonSegmentButton {
export declare interface IonSegmentButton extends Components.IonSegmentButton {}
@ProxyCmp({
defineCustomElementFn: defineIonSelectModal,
inputs: ['confirmHandler', 'header', 'multiple', 'options']
})
@Component({
selector: 'ion-select-modal',
changeDetection: ChangeDetectionStrategy.OnPush,
template: '<ng-content></ng-content>',
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
inputs: ['confirmHandler', 'header', 'multiple', 'options'],
standalone: true
})
export class IonSelectModal {
protected el: HTMLElement;
constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
c.detach();
this.el = r.nativeElement;
}
}
export declare interface IonSelectModal extends Components.IonSelectModal {}
@ProxyCmp({
defineCustomElementFn: defineIonSelectOption,
inputs: ['disabled', 'mode', 'theme', 'value']