diff --git a/packages/core/src/components/badge/badge.tsx b/packages/core/src/components/badge/badge.tsx index 1da079730b..eeae61d964 100644 --- a/packages/core/src/components/badge/badge.tsx +++ b/packages/core/src/components/badge/badge.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; /** * @name Badge @@ -39,6 +39,21 @@ import { Component } from '@stencil/core'; } }) export class Badge { + + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/button/button.tsx b/packages/core/src/components/button/button.tsx index da290f817e..58c5771af6 100644 --- a/packages/core/src/components/button/button.tsx +++ b/packages/core/src/components/button/button.tsx @@ -75,94 +75,98 @@ export class Button { @Prop() itemButton: boolean = false; + /** + * @input {string} Contains a URL or a URL fragment that the hyperlink points to. + * If this property is set, an anchor tag will be rendered. + */ @Prop() href: string; /** - * @Prop {string} The type of button. + * @input {string} The type of button. * Possible values are: `"button"`, `"bar-button"`. */ @Prop() buttonType: string = 'button'; /** - * @Prop {boolean} If true, activates the large button size. + * @input {boolean} If true, activates the large button size. * Type: size */ @Prop() large: boolean = false; /** - * @Prop {boolean} If true, activates the small button size. + * @input {boolean} If true, activates the small button size. * Type: size */ @Prop() small: boolean = false; /** - * @Prop {boolean} If true, activates the default button size. Normally the default, useful for buttons in an item. + * @input {boolean} If true, activates the default button size. Normally the default, useful for buttons in an item. * Type: size */ @Prop() default: boolean = false; /** - * @Prop {boolean} If true, sets the button into a disabled state. + * @input {boolean} If true, sets the button into a disabled state. */ @Prop() disabled: boolean = false; /** - * @Prop {boolean} If true, activates a transparent button style with a border. + * @input {boolean} If true, activates a transparent button style with a border. * Type: style */ @Prop() outline: boolean = false; /** - * @Prop {boolean} If true, activates a transparent button style without a border. + * @input {boolean} If true, activates a transparent button style without a border. * Type: style */ @Prop() clear: boolean = false; /** - * @Prop {boolean} If true, activates a solid button style. Normally the default, useful for buttons in a toolbar. + * @input {boolean} If true, activates a solid button style. Normally the default, useful for buttons in a toolbar. * Type: style */ @Prop() solid: boolean = false; /** - * @Prop {boolean} If true, activates a button with rounded corners. + * @input {boolean} If true, activates a button with rounded corners. * Type: shape */ @Prop() round: boolean = false; /** - * @Prop {boolean} If true, activates a button style that fills the available width. + * @input {boolean} If true, activates a button style that fills the available width. * Type: display */ @Prop() block: boolean = false; /** - * @Prop {boolean} If true, activates a button style that fills the available width without + * @input {boolean} If true, activates a button style that fills the available width without * a left and right border. * Type: display */ @Prop() full: boolean = false; /** - * @Prop {boolean} If true, activates a button with a heavier font weight. + * @input {boolean} If true, activates a button with a heavier font weight. * Type: decorator */ @Prop() strong: boolean = false; /** - * @Prop {string} The mode determines which platform styles to use. - * Possible values are: `"ios"`, `"md"`, or `"wp"`. - * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). - */ - @Prop() mode: 'ios' | 'md' | 'wp'; - - /** - * @Prop {string} The color to use from your Sass `$colors` map. + * @input {string} The color to use from your Sass `$colors` map. * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. * For more information, see [Theming your App](/docs/theming/theming-your-app). */ @Prop() color: string; + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { const buttonType = this.buttonType; const mode = this.mode; diff --git a/packages/core/src/components/card-content/card-content.tsx b/packages/core/src/components/card-content/card-content.tsx index 61d78fd82c..45ce4e1846 100644 --- a/packages/core/src/components/card-content/card-content.tsx +++ b/packages/core/src/components/card-content/card-content.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; @Component({ tag: 'ion-card-content', @@ -12,6 +12,20 @@ import { Component } from '@stencil/core'; } }) export class CardContent { + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/card-header/card-header.tsx b/packages/core/src/components/card-header/card-header.tsx index 58132e8766..af012c2581 100644 --- a/packages/core/src/components/card-header/card-header.tsx +++ b/packages/core/src/components/card-header/card-header.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; @Component({ @@ -13,6 +13,20 @@ import { Component } from '@stencil/core'; } }) export class CardHeader { + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/card-title/card-title.tsx b/packages/core/src/components/card-title/card-title.tsx index 1ba2f162f7..5e62123e37 100644 --- a/packages/core/src/components/card-title/card-title.tsx +++ b/packages/core/src/components/card-title/card-title.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop} from '@stencil/core'; @Component({ @@ -13,6 +13,20 @@ import { Component } from '@stencil/core'; } }) export class CardTitle { + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/card/card.tsx b/packages/core/src/components/card/card.tsx index 254e2ab92a..5d9ea83999 100644 --- a/packages/core/src/components/card/card.tsx +++ b/packages/core/src/components/card/card.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; @Component({ tag: 'ion-card', @@ -12,6 +12,20 @@ import { Component } from '@stencil/core'; } }) export class Card { + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/checkbox/checkbox.tsx b/packages/core/src/components/checkbox/checkbox.tsx index b857dc88bf..10ef921af8 100644 --- a/packages/core/src/components/checkbox/checkbox.tsx +++ b/packages/core/src/components/checkbox/checkbox.tsx @@ -92,6 +92,20 @@ export class Checkbox { */ @Event() ionStyle: EventEmitter; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /** * @input {boolean} If true, the checkbox is selected. Defaults to `false`. */ diff --git a/packages/core/src/components/chip-button/chip-button.tsx b/packages/core/src/components/chip-button/chip-button.tsx index 9c89fed9a8..cc87f848d9 100644 --- a/packages/core/src/components/chip-button/chip-button.tsx +++ b/packages/core/src/components/chip-button/chip-button.tsx @@ -12,18 +12,34 @@ import { getElementClassObject } from '../../utils/theme'; }) export class ChipButton { @Element() private el: HTMLElement; - private mode: string; - private color: string; + /** + * @input {string} Contains a URL or a URL fragment that the hyperlink points to. + * If this property is set, an anchor tag will be rendered. + */ @Prop() href: string; /** - * @Prop {boolean} If true, activates a transparent button style. + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + + /** + * @input {boolean} If true, activates a transparent button style. */ @Prop() clear: boolean = false; /** - * @Prop {boolean} If true, sets the button into a disabled state. + * @input {boolean} If true, sets the button into a disabled state. */ @Prop() disabled: boolean = false; diff --git a/packages/core/src/components/chip/chip.tsx b/packages/core/src/components/chip/chip.tsx index 0db97b3e45..325017bf2d 100644 --- a/packages/core/src/components/chip/chip.tsx +++ b/packages/core/src/components/chip/chip.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; /** * @name Chip @@ -99,6 +99,20 @@ import { Component } from '@stencil/core'; } }) export class Chip { + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/fab/fab.tsx b/packages/core/src/components/fab/fab.tsx index c1174ccc91..2600bb6706 100755 --- a/packages/core/src/components/fab/fab.tsx +++ b/packages/core/src/components/fab/fab.tsx @@ -57,10 +57,27 @@ import { createThemedClasses, getElementClassObject } from '../../utils/theme'; }) export class FabButton { @Element() private el: HTMLElement; - private mode: string; - private color: string; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + + /** + * @input {string} Contains a URL or a URL fragment that the hyperlink points to. + * If this property is set, an anchor tag will be rendered. + */ @Prop() href: string; + @Prop() activated: boolean = false; @Prop() toggleActive: Function = () => {}; @@ -70,7 +87,7 @@ export class FabButton { @State() private inList: boolean = false; /** - * @Prop {boolean} If true, sets the button into a disabled state. + * @input {boolean} If true, sets the button into a disabled state. */ @Prop() disabled: boolean = false; diff --git a/packages/core/src/components/input/textarea.tsx b/packages/core/src/components/input/textarea.tsx index dcfefcc1c7..9082bf8056 100644 --- a/packages/core/src/components/input/textarea.tsx +++ b/packages/core/src/components/input/textarea.tsx @@ -166,7 +166,7 @@ export class Textarea implements TextareaComponent { @Prop() wrap: string; /** - * @input {string} The value of the textare. + * @input {string} The value of the textarea. */ @Prop({ mutable: true }) value: string; diff --git a/packages/core/src/components/item-divider/item-divider.tsx b/packages/core/src/components/item-divider/item-divider.tsx index 5530e18507..4357f281be 100644 --- a/packages/core/src/components/item-divider/item-divider.tsx +++ b/packages/core/src/components/item-divider/item-divider.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; @Component({ @@ -13,6 +13,21 @@ import { Component } from '@stencil/core'; } }) export class ItemDivider { + + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return [ , diff --git a/packages/core/src/components/item-sliding/item-option.tsx b/packages/core/src/components/item-sliding/item-option.tsx index ac905902e3..e15942f890 100644 --- a/packages/core/src/components/item-sliding/item-option.tsx +++ b/packages/core/src/components/item-sliding/item-option.tsx @@ -14,13 +14,28 @@ import { Component, Prop } from '@stencil/core'; } }) export class ItemOption { - mode: string; - color: string; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + + /** + * @input {string} Contains a URL or a URL fragment that the hyperlink points to. + * If this property is set, an anchor tag will be rendered. + */ @Prop() href: string; /** - * @Prop {boolean} If true, sets the button into a disabled state. + * @input {boolean} If true, sets the button into a disabled state. */ @Prop() disabled: boolean = false; diff --git a/packages/core/src/components/item/item.tsx b/packages/core/src/components/item/item.tsx index 6b865055b0..909a6ba460 100644 --- a/packages/core/src/components/item/item.tsx +++ b/packages/core/src/components/item/item.tsx @@ -22,8 +22,24 @@ export class Item { @Element() private el: HTMLElement; - @Prop() mode: string; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + + /** + * @input {string} Contains a URL or a URL fragment that the hyperlink points to. + * If this property is set, an anchor tag will be rendered. + */ @Prop() href: string; @Listen('ionStyle') diff --git a/packages/core/src/components/label/label.tsx b/packages/core/src/components/label/label.tsx index 121bccbb94..18657df6af 100644 --- a/packages/core/src/components/label/label.tsx +++ b/packages/core/src/components/label/label.tsx @@ -22,6 +22,20 @@ export class Label { */ @Event() ionStyle: EventEmitter; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /** * @output {Event} If true, the label will sit alongside an input. Defaults to `false`. */ diff --git a/packages/core/src/components/list-header/list-header.tsx b/packages/core/src/components/list-header/list-header.tsx index e9cff6a22c..d675852bba 100644 --- a/packages/core/src/components/list-header/list-header.tsx +++ b/packages/core/src/components/list-header/list-header.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; @Component({ @@ -13,6 +13,21 @@ import { Component } from '@stencil/core'; } }) export class ListHeader { + + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/note/note.tsx b/packages/core/src/components/note/note.tsx index b234ea6937..089e3e9eff 100644 --- a/packages/core/src/components/note/note.tsx +++ b/packages/core/src/components/note/note.tsx @@ -1,4 +1,4 @@ -import { Component } from '@stencil/core'; +import { Component, Prop } from '@stencil/core'; /** @@ -40,6 +40,21 @@ import { Component } from '@stencil/core'; } }) export class Note { + + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + protected render() { return ; } diff --git a/packages/core/src/components/radio/radio.tsx b/packages/core/src/components/radio/radio.tsx index 389aa59ca0..ec6da34952 100644 --- a/packages/core/src/components/radio/radio.tsx +++ b/packages/core/src/components/radio/radio.tsx @@ -50,8 +50,6 @@ import { createThemedClasses } from '../../utils/theme'; } }) export class Radio { - mode: string; - color: string; labelId: string; styleTmr: any; @@ -89,6 +87,20 @@ export class Radio { */ @Event() ionSelect: EventEmitter; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /** * @input {boolean} If true, the radio is selected. Defaults to `false`. */ diff --git a/packages/core/src/components/range/range.tsx b/packages/core/src/components/range/range.tsx index a78f6f1c3d..c708679a55 100644 --- a/packages/core/src/components/range/range.tsx +++ b/packages/core/src/components/range/range.tsx @@ -59,6 +59,20 @@ export class Range implements BaseInputComponent { */ @Event() ionBlur: EventEmitter; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /** * @input {number} How long, in milliseconds, to wait to trigger the * `ionChange` event after each change in the range value. Default `0`. diff --git a/packages/core/src/components/searchbar/searchbar.tsx b/packages/core/src/components/searchbar/searchbar.tsx index cbaa9921c9..1dae974a06 100644 --- a/packages/core/src/components/searchbar/searchbar.tsx +++ b/packages/core/src/components/searchbar/searchbar.tsx @@ -38,10 +38,6 @@ export class Searchbar { @Element() private el: HTMLElement; - @Prop() mode: string; - - @Prop() color: string; - @State() activated: boolean = false; @State() focused: boolean = false; @@ -72,6 +68,19 @@ export class Searchbar { */ @Event() ionFocus: EventEmitter; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; /** * @input {boolean} If true, enable searchbar animation. Default `false`. diff --git a/packages/core/src/components/segment-button/segment-button.tsx b/packages/core/src/components/segment-button/segment-button.tsx index ac84576276..5da1f37466 100644 --- a/packages/core/src/components/segment-button/segment-button.tsx +++ b/packages/core/src/components/segment-button/segment-button.tsx @@ -46,9 +46,6 @@ import { createThemedClasses, getElementClassObject } from '../../utils/theme'; export class SegmentButton { styleTmr: any; - mode: string; - color: string; - @Element() private el: HTMLElement; /** @@ -58,6 +55,20 @@ export class SegmentButton { @State() activated: boolean = false; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /** * @input {boolean} If true, the segment button is selected. Defaults to `false`. */ diff --git a/packages/core/src/components/segment/segment.tsx b/packages/core/src/components/segment/segment.tsx index a0f4aa2fd9..ade2e8f673 100644 --- a/packages/core/src/components/segment/segment.tsx +++ b/packages/core/src/components/segment/segment.tsx @@ -81,6 +81,20 @@ export class Segment { */ @Event() ionChange: EventEmitter; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /* * @input {boolean} If true, the user cannot interact with the segment. Default false. */ diff --git a/packages/core/src/components/spinner/spinner.tsx b/packages/core/src/components/spinner/spinner.tsx index f8e776cc32..855ac5bf10 100644 --- a/packages/core/src/components/spinner/spinner.tsx +++ b/packages/core/src/components/spinner/spinner.tsx @@ -109,11 +109,22 @@ import { SPINNERS, SpinnerConfig } from './spinner-configs'; } }) export class Spinner { - mode: string; - color: string; - @Prop({ context: 'config' }) config: Config; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /** * @input {string} How long it takes it to do one loop. */ diff --git a/packages/core/src/components/tabs/tab-bar.tsx b/packages/core/src/components/tabs/tab-bar.tsx index adfeff37b3..8f20941031 100644 --- a/packages/core/src/components/tabs/tab-bar.tsx +++ b/packages/core/src/components/tabs/tab-bar.tsx @@ -9,6 +9,21 @@ import { Component, Prop } from '@stencil/core'; } }) export class TabBar { + + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + @Prop() tabs: any; @Prop() onTabSelected: Function; @@ -16,7 +31,7 @@ export class TabBar { @Prop() selectedIndex: number = 0; /** - * @prop {string} Set the tabbar layout: `icon-top`, `icon-start`, `icon-end`, `icon-bottom`, `icon-hide`, `title-hide`. + * @input {string} Set the tabbar layout: `icon-top`, `icon-start`, `icon-end`, `icon-bottom`, `icon-hide`, `title-hide`. */ @Prop() tabsLayout: string = 'icon-top'; /* diff --git a/packages/core/src/components/tabs/tab.tsx b/packages/core/src/components/tabs/tab.tsx index 2940622845..c337fc372a 100644 --- a/packages/core/src/components/tabs/tab.tsx +++ b/packages/core/src/components/tabs/tab.tsx @@ -10,61 +10,61 @@ import { Component, Event, EventEmitter, Prop, State } from '@stencil/core'; export class Tab { /** - * @prop {Page} Set the root component for this tab. + * @input {Page} Set the root component for this tab. */ @Prop() root: string; /** - * @prop {object} Any nav-params to pass to the root componentof this tab. + * @input {object} Any nav-params to pass to the root componentof this tab. */ @Prop() rootParams: any; /** - * @prop {boolean} If true, the tab is selected + * @input {boolean} If true, the tab is selected */ @State() isSelected: Boolean = false; /** - * @prop {string} The title of the tab button. + * @input {string} The title of the tab button. */ @Prop() tabTitle: string; /** - * @prop {string} The icon for the tab button. + * @input {string} The icon for the tab button. */ @Prop() tabIcon: string; /** - * @prop {string} The badge for the tab button. + * @input {string} The badge for the tab button. */ @Prop() tabBadge: string; /** - * @prop {string} The badge color for the tab button. + * @input {string} The badge color for the tab button. */ @Prop() tabBadgeStyle: string; /** * TODO why isn't this disabled like other components? - * @prop {boolean} If true, enable the tab. If false, + * @input {boolean} If true, enable the tab. If false, * the user cannot interact with the tab. * Default: `true`. */ @Prop() enabled: boolean = true; /** - * @prop {boolean} If true, the tab button is visible within the + * @input {boolean} If true, the tab button is visible within the * tabbar. Default: `true`. */ @Prop() shown: boolean = true; /** - * @prop {boolean} If true, hide the tabs on child pages. + * @input {boolean} If true, hide the tabs on child pages. */ @Prop() tabsHideOnSubPages: boolean = false; /** - * @prop {Tab} Emitted when the current tab is selected. + * @input {Tab} Emitted when the current tab is selected. */ @Prop() onSelected: Function; diff --git a/packages/core/src/components/tabs/tabs.tsx b/packages/core/src/components/tabs/tabs.tsx index 37d63e8def..30122e28b2 100644 --- a/packages/core/src/components/tabs/tabs.tsx +++ b/packages/core/src/components/tabs/tabs.tsx @@ -28,17 +28,17 @@ export class Tabs { @State() selectedIndex: number = 0; /** - * @prop {string} Set the tabbar layout: `icon-top`, `icon-start`, `icon-end`, `icon-bottom`, `icon-hide`, `title-hide`. + * @input {string} Set the tabbar layout: `icon-top`, `icon-start`, `icon-end`, `icon-bottom`, `icon-hide`, `title-hide`. */ @Prop() tabsLayout: string = 'icon-top'; /** - * @prop {string} Set position of the tabbar: `top`, `bottom`. + * @input {string} Set position of the tabbar: `top`, `bottom`. */ @Prop() tabsPlacement: string = 'bottom'; /** - * @prop {boolean} If true, show the tab highlight bar under the selected tab. + * @input {boolean} If true, show the tab highlight bar under the selected tab. */ @Prop() tabsHighlight: boolean = false; diff --git a/packages/core/src/components/toggle/toggle.tsx b/packages/core/src/components/toggle/toggle.tsx index 7a0fdda2e3..718d482c9d 100644 --- a/packages/core/src/components/toggle/toggle.tsx +++ b/packages/core/src/components/toggle/toggle.tsx @@ -15,7 +15,6 @@ import { hapticSelection } from '../../utils/haptic'; } }) export class Toggle implements BooleanInputComponent { - private toggleId: string; private labelId: string; private styleTmr: any; @@ -45,6 +44,20 @@ export class Toggle implements BooleanInputComponent { */ @Event() ionBlur: EventEmitter; + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; + /** * @input {boolean} If true, the toggle is selected. Defaults to `false`. */ diff --git a/packages/core/src/components/toolbar/toolbar.tsx b/packages/core/src/components/toolbar/toolbar.tsx index bf066502ea..852e0125d6 100644 --- a/packages/core/src/components/toolbar/toolbar.tsx +++ b/packages/core/src/components/toolbar/toolbar.tsx @@ -103,9 +103,22 @@ import { Config } from '../../index'; }) export class Toolbar { @Element() private el: HTMLElement; + @Prop({ context: 'config' }) config: Config; - mode: string; - color: string; + + /** + * @input {string} The color to use from your Sass `$colors` map. + * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. + * For more information, see [Theming your App](/docs/theming/theming-your-app). + */ + @Prop() color: string; + + /** + * @input {string} The mode determines which platform styles to use. + * Possible values are: `"ios"`, `"md"`, or `"wp"`. + * For more information, see [Platform Styles](/docs/theming/platform-specific-styles). + */ + @Prop() mode: 'ios' | 'md' | 'wp'; protected ionViewDidLoad() { const buttons = this.el.querySelectorAll('ion-button') as any;