radio-button.d.ts 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer } from '@angular/core';
  2. import { Config } from '../../config/config';
  3. import { Form, IonicTapInput } from '../../util/form';
  4. import { Ion } from '../ion';
  5. import { Item } from '../item/item';
  6. import { RadioGroup } from './radio-group';
  7. /**
  8. * @description
  9. * A radio button is a button that can be either checked or unchecked. A user can tap
  10. * the button to check or uncheck it. It can also be checked from the template using
  11. * the `checked` property.
  12. *
  13. * Use an element with a `radio-group` attribute to group a set of radio buttons. When
  14. * radio buttons are inside a [radio group](../RadioGroup), exactly one radio button
  15. * in the group can be checked at any time. If a radio button is not placed in a group,
  16. * they will all have the ability to be checked at the same time.
  17. *
  18. * See the [Angular Forms Docs](https://angular.io/docs/ts/latest/guide/forms.html) for
  19. * more information on forms and input.
  20. *
  21. * @usage
  22. * ```html
  23. * <ion-list radio-group [(ngModel)]="relationship">
  24. * <ion-item>
  25. * <ion-label>Friends</ion-label>
  26. * <ion-radio value="friends" checked></ion-radio>
  27. * </ion-item>
  28. * <ion-item>
  29. * <ion-label>Family</ion-label>
  30. * <ion-radio value="family"></ion-radio>
  31. * </ion-item>
  32. * <ion-item>
  33. * <ion-label>Enemies</ion-label>
  34. * <ion-radio value="enemies" [disabled]="isDisabled"></ion-radio>
  35. * </ion-item>
  36. * </ion-list>
  37. * ```
  38. * @demo /docs/demos/src/radio/
  39. * @see {@link /docs/components#radio Radio Component Docs}
  40. * @see {@link ../RadioGroup RadioGroup API Docs}
  41. */
  42. export declare class RadioButton extends Ion implements IonicTapInput, OnDestroy, OnInit {
  43. private _form;
  44. private _item;
  45. private _group;
  46. /**
  47. * @internal
  48. */
  49. _checked: boolean;
  50. /**
  51. * @internal
  52. */
  53. _disabled: boolean;
  54. /**
  55. * @internal
  56. */
  57. _labelId: string;
  58. /**
  59. * @internal
  60. */
  61. _value: any;
  62. /**
  63. * @internal
  64. */
  65. id: string;
  66. /**
  67. * @input {string} The color to use from your Sass `$colors` map.
  68. * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`.
  69. * For more information, see [Theming your App](/docs/theming/theming-your-app).
  70. */
  71. color: string;
  72. /**
  73. * @output {any} Emitted when the radio button is selected.
  74. */
  75. ionSelect: EventEmitter<any>;
  76. constructor(_form: Form, config: Config, elementRef: ElementRef, renderer: Renderer, _item: Item, _group: RadioGroup);
  77. /**
  78. * @input {any} The value of the radio button. Defaults to the generated id.
  79. */
  80. value: any;
  81. /**
  82. * @input {boolean} If true, the element is selected, and other buttons in the group are unselected.
  83. */
  84. checked: boolean;
  85. /**
  86. * @input {boolean} If true, the user cannot interact with this element.
  87. */
  88. disabled: boolean;
  89. /**
  90. * @hidden
  91. */
  92. initFocus(): void;
  93. /**
  94. * @internal
  95. */
  96. _click(ev: UIEvent): void;
  97. /**
  98. * @internal
  99. */
  100. ngOnInit(): void;
  101. /**
  102. * @internal
  103. */
  104. ngOnDestroy(): void;
  105. }