diff --git a/demos/music/index.ts b/demos/music/index.ts
index 8099c8d2a5..8adf5598e4 100644
--- a/demos/music/index.ts
+++ b/demos/music/index.ts
@@ -16,7 +16,7 @@ class AppPage {
@Directive({
selector: '[parallax]',
- properties: [
+ inputs: [
'parallax'
]
})
diff --git a/demos/profile/index.ts b/demos/profile/index.ts
index f3f57d1f1e..df84ae083c 100644
--- a/demos/profile/index.ts
+++ b/demos/profile/index.ts
@@ -8,7 +8,7 @@ import {dom} from 'ionic/util';
@Directive({
selector: '[parallax]',
- properties: [
+ inputs: [
'parallax',
'counter'
]
diff --git a/demos/weather/index.ts b/demos/weather/index.ts
index 4dc3de854d..2579213ea5 100755
--- a/demos/weather/index.ts
+++ b/demos/weather/index.ts
@@ -56,7 +56,7 @@ let WEATHER_ICONS = {
@Component({
selector: 'weather-icon',
- properties: [
+ inputs: [
'icon'
]
})
@@ -80,7 +80,7 @@ export class WeatherIcon {
@Component({
selector: 'current-time',
- properties: [
+ inputs: [
'localtz'
]
})
@@ -100,7 +100,7 @@ export class CurrentTime {
@Component({
selector: 'current-weather',
- properties: [
+ inputs: [
'current'
]
})
@@ -175,7 +175,7 @@ export class CurrentWeather {
@Component({
selector: 'background-cycler',
- properties: [
+ inputs: [
'image'
]
})
diff --git a/ionic/components/app/id.ts b/ionic/components/app/id.ts
index 1abf836666..746b8b459d 100644
--- a/ionic/components/app/id.ts
+++ b/ionic/components/app/id.ts
@@ -30,7 +30,7 @@ import {IonicApp} from './app';
*/
@Directive({
selector: '[id]',
- properties: ['id']
+ inputs: ['id']
})
export class IdRef {
diff --git a/ionic/components/checkbox/checkbox.ts b/ionic/components/checkbox/checkbox.ts
index fb1272e379..ec6219214e 100644
--- a/ionic/components/checkbox/checkbox.ts
+++ b/ionic/components/checkbox/checkbox.ts
@@ -25,7 +25,7 @@ import {IonicComponent} from '../../config/decorators';
*/
@IonicComponent({
selector: 'ion-checkbox',
- properties: [
+ inputs: [
'value',
'checked',
'disabled',
diff --git a/ionic/components/content/content.ts b/ionic/components/content/content.ts
index dd795bcb9f..029445429f 100644
--- a/ionic/components/content/content.ts
+++ b/ionic/components/content/content.ts
@@ -26,7 +26,7 @@ import {ScrollTo} from '../../animations/scroll-to';
*/
@Component({
selector: 'ion-content',
- properties: [
+ inputs: [
'parallax'
]
})
diff --git a/ionic/components/icon/icon.ts b/ionic/components/icon/icon.ts
index 7f2c28d74b..aad91b1c89 100644
--- a/ionic/components/icon/icon.ts
+++ b/ionic/components/icon/icon.ts
@@ -8,7 +8,7 @@ import {IonicConfig} from '../../config/config';
*/
@Directive({
selector: 'icon',
- properties: [
+ inputs: [
'name',
'ios',
'md',
diff --git a/ionic/components/ion.ts b/ionic/components/ion.ts
index 6be3e4dd58..677b722ee8 100644
--- a/ionic/components/ion.ts
+++ b/ionic/components/ion.ts
@@ -17,8 +17,8 @@ export class Ion {
onInit() {
let cls = this.constructor;
- if (cls.defaultProperties && this.config) {
- for (let prop in cls.defaultProperties) {
+ if (cls.defaultInputs && this.config) {
+ for (let prop in cls.defaultInputs) {
// Priority:
// ---------
// 1) Value set from within constructor
@@ -42,7 +42,7 @@ export class Ion {
}
// wasn't set yet, so go with property's default value
- this[prop] = cls.defaultProperties[prop];
+ this[prop] = cls.defaultInputs[prop];
}
}
}
diff --git a/ionic/components/list/list.ts b/ionic/components/list/list.ts
index 864fb11a62..72fe0b7190 100644
--- a/ionic/components/list/list.ts
+++ b/ionic/components/list/list.ts
@@ -19,7 +19,7 @@ import * as util from 'ionic/util';
*/
@IonicDirective({
selector: 'ion-list',
- properties: [
+ inputs: [
'items',
'virtual',
'content'
@@ -74,7 +74,7 @@ export class List extends Ion {
*/
@Directive({
selector: 'ion-header',
- properties: [
+ inputs: [
'id'
],
host: {
diff --git a/ionic/components/menu/menu-close.ts b/ionic/components/menu/menu-close.ts
index f3c1ee4456..56ac93df47 100644
--- a/ionic/components/menu/menu-close.ts
+++ b/ionic/components/menu/menu-close.ts
@@ -9,7 +9,7 @@ import {IonicApp} from '../app/app';
*/
@Directive({
selector: '[menu-close]',
- properties: [
+ inputs: [
'menuClose'
],
host: {
diff --git a/ionic/components/menu/menu-toggle.ts b/ionic/components/menu/menu-toggle.ts
index 07f702dab7..2de876178a 100644
--- a/ionic/components/menu/menu-toggle.ts
+++ b/ionic/components/menu/menu-toggle.ts
@@ -11,7 +11,7 @@ import {Navbar} from '../nav-bar/nav-bar';
*/
@Directive({
selector: '[menu-toggle]',
- properties: [
+ inputs: [
'menuToggle'
],
host: {
diff --git a/ionic/components/menu/menu.ts b/ionic/components/menu/menu.ts
index 59fca885ae..769cabb4f8 100644
--- a/ionic/components/menu/menu.ts
+++ b/ionic/components/menu/menu.ts
@@ -45,19 +45,19 @@ import * as gestures from './menu-gestures';
*/
@IonicComponent({
selector: 'ion-menu',
- properties: [
+ inputs: [
'content',
'dragThreshold',
'id'
],
- defaultProperties: {
+ defaultInputs: {
'side': 'left',
'type': 'reveal'
},
host: {
'role': 'navigation'
},
- events: ['opening']
+ outputs: ['opening']
})
@View({
template: '',
diff --git a/ionic/components/nav/nav-push.ts b/ionic/components/nav/nav-push.ts
index a37ec30a79..a72688d1a0 100644
--- a/ionic/components/nav/nav-push.ts
+++ b/ionic/components/nav/nav-push.ts
@@ -36,7 +36,7 @@ import {NavRegistry} from './nav-registry';
*/
@Directive({
selector: '[nav-push]',
- properties: [
+ inputs: [
'instruction: navPush',
'params: navParams'
],
diff --git a/ionic/components/nav/nav.ts b/ionic/components/nav/nav.ts
index a2391a5634..67aba08cb8 100644
--- a/ionic/components/nav/nav.ts
+++ b/ionic/components/nav/nav.ts
@@ -120,10 +120,10 @@ import {NavController} from './nav-controller';
*/
@IonicComponent({
selector: 'ion-nav',
- properties: [
+ inputs: [
'root'
],
- defaultProperties: {
+ defaultInputs: {
'swipeBackEnabled': true
}
})
diff --git a/ionic/components/radio/radio.ts b/ionic/components/radio/radio.ts
index 93a41e7478..2fb3ca116a 100644
--- a/ionic/components/radio/radio.ts
+++ b/ionic/components/radio/radio.ts
@@ -164,7 +164,7 @@ export class RadioGroup extends Ion {
*/
@IonicComponent({
selector: 'ion-radio',
- properties: [
+ inputs: [
'value',
'checked',
'disabled',
diff --git a/ionic/components/scroll/pull-to-refresh.ts b/ionic/components/scroll/pull-to-refresh.ts
index 8fafa82630..67534828ce 100644
--- a/ionic/components/scroll/pull-to-refresh.ts
+++ b/ionic/components/scroll/pull-to-refresh.ts
@@ -37,8 +37,7 @@ import {raf, ready, CSS} from 'ionic/util/dom';
*/
@Component({
selector: 'ion-refresher',
- events: ['refresh', 'starting', 'pulling'],
- properties: [
+ inputs: [
'pullingIcon',
'pullingText',
'refreshingIcon',
@@ -46,6 +45,7 @@ import {raf, ready, CSS} from 'ionic/util/dom';
'spinner',
'disablePullingRotation'
],
+ outputs: ['refresh', 'starting', 'pulling'],
host: {
'[class.active]': 'isActive',
'[class.refreshing]': 'isRefreshing',
diff --git a/ionic/components/scroll/scroll.ts b/ionic/components/scroll/scroll.ts
index d221909ba3..9089483a7d 100644
--- a/ionic/components/scroll/scroll.ts
+++ b/ionic/components/scroll/scroll.ts
@@ -15,7 +15,7 @@ import * as util from 'ionic/util';
*/
@IonicComponent({
selector: 'ion-scroll',
- properties: [
+ inputs: [
'scrollX', 'scrollY', 'zoom', 'maxZoom'
],
host: {
diff --git a/ionic/components/search-bar/search-bar.ts b/ionic/components/search-bar/search-bar.ts
index 4e55ab3377..d1deb7d4e2 100644
--- a/ionic/components/search-bar/search-bar.ts
+++ b/ionic/components/search-bar/search-bar.ts
@@ -17,11 +17,11 @@ import {IonicComponent} from '../../config/decorators';
*/
@IonicComponent({
selector: 'ion-search-bar',
- properties: [
+ inputs: [
'list',
'query'
],
- defaultProperties: {
+ defaultInputs: {
'cancelText': 'Cancel',
'placeholder': 'Search'
}
diff --git a/ionic/components/segment/segment.ts b/ionic/components/segment/segment.ts
index 64f19d16a9..f337f8d2c8 100644
--- a/ionic/components/segment/segment.ts
+++ b/ionic/components/segment/segment.ts
@@ -12,7 +12,7 @@ import {dom} from 'ionic/util';
@IonicComponent({
selector: 'ion-segment',
appInjector: [ NgControl ],
- properties: [
+ inputs: [
'value'
],
host: {
@@ -125,7 +125,7 @@ export class Segment extends Ion {
*/
@IonicDirective({
selector: 'ion-segment',
- //properties: ['value'],
+ //inputs: ['value'],
host: {
'(change)': 'onChange($event.target.value)',
'(input)': 'onChange($event.target.value)',
@@ -192,7 +192,7 @@ export class SegmentControlValueAccessor {
*/
@IonicDirective({
selector: 'ion-segment-button',
- properties: [
+ inputs: [
'value'
],
host: {
diff --git a/ionic/components/slides/slides.ts b/ionic/components/slides/slides.ts
index 39e1ca3083..6d85eb9db0 100644
--- a/ionic/components/slides/slides.ts
+++ b/ionic/components/slides/slides.ts
@@ -31,7 +31,7 @@ import {Scroll} from '../scroll/scroll';
*/
@IonicComponent({
selector: 'ion-slides',
- properties: [
+ inputs: [
'loop',
'index',
'bounce',
@@ -449,7 +449,7 @@ export class Slides extends Ion {
*/
@IonicComponent({
selector: 'ion-slide',
- properties: ['zoom']
+ inputs: ['zoom']
})
@View({
template: `
`
diff --git a/ionic/components/switch/switch.ts b/ionic/components/switch/switch.ts
index eb0fbecd45..9c6d3cf95c 100644
--- a/ionic/components/switch/switch.ts
+++ b/ionic/components/switch/switch.ts
@@ -79,7 +79,7 @@ class MediaSwitch {
*/
@IonicComponent({
selector: 'ion-switch',
- properties: [
+ inputs: [
'value',
'checked',
'disabled',
diff --git a/ionic/components/tabs/tab.ts b/ionic/components/tabs/tab.ts
index 2deeb70da4..a1e4159c41 100644
--- a/ionic/components/tabs/tab.ts
+++ b/ionic/components/tabs/tab.ts
@@ -41,7 +41,7 @@ import {Tabs} from './tabs';
* set on each Tab.
*
* To change the title and icon, use the `tab-title` and `tab-icon`
- * properties:
+ * inputs:
* ```html
*
*
@@ -51,7 +51,7 @@ import {Tabs} from './tabs';
*/
@Component({
selector: 'ion-tab',
- properties: [
+ inputs: [
'root',
'tabTitle',
'tabIcon'
diff --git a/ionic/components/tabs/tabs.ts b/ionic/components/tabs/tabs.ts
index d3dec8dc3d..fe2cc19f30 100644
--- a/ionic/components/tabs/tabs.ts
+++ b/ionic/components/tabs/tabs.ts
@@ -1,11 +1,12 @@
-import {Component, Directive, View, Injector, NgFor, ElementRef, Optional, Host, forwardRef, NgZone, ViewContainerRef} from 'angular2/angular2';
+import {Component, Directive, View, Injector, ElementRef, NgZone, Optional, Host, NgFor, forwardRef, ViewContainerRef} from 'angular2/angular2';
import {Ion} from '../ion';
import {IonicApp} from '../app/app';
import {NavController} from '../nav/nav-controller';
import {ViewController} from '../nav/view-controller';
-import {IonicComponent, IonicView} from '../../config/decorators';
+import {IonicComponent} from '../../config/decorators';
import {IonicConfig} from '../../config/config';
+import {Icon} from '../icon/icon';
import * as dom from 'ionic/util/dom';
@@ -61,7 +62,7 @@ import * as dom from 'ionic/util/dom';
*/
@IonicComponent({
selector: 'ion-tabs',
- defaultProperties: {
+ defaultInputs: {
'tabBarPlacement': 'bottom',
'tabBarIcons': 'top'
}
@@ -84,6 +85,8 @@ import * as dom from 'ionic/util/dom';
'' +
'',
directives: [
+ Icon,
+ NgFor,
forwardRef(() => TabButton),
forwardRef(() => TabHighlight),
forwardRef(() => TabNavBarAnchor)
@@ -220,7 +223,7 @@ export class Tabs extends NavController {
*/
@Directive({
selector: '.tab-button',
- properties: ['tab'],
+ inputs: ['tab'],
host: {
'[attr.id]': 'btnId',
'[attr.aria-controls]': 'panelId',
diff --git a/ionic/components/text-input/label.ts b/ionic/components/text-input/label.ts
index b4ff8a1e1d..e46eb0331b 100644
--- a/ionic/components/text-input/label.ts
+++ b/ionic/components/text-input/label.ts
@@ -8,7 +8,7 @@ import {pointerCoord, hasPointerMoved} from '../../util/dom';
*/
@Directive({
selector: 'ion-label',
- properties: [
+ inputs: [
'id'
],
host: {
diff --git a/ionic/components/text-input/text-input.ts b/ionic/components/text-input/text-input.ts
index 16c76cf7b4..47cb379314 100644
--- a/ionic/components/text-input/text-input.ts
+++ b/ionic/components/text-input/text-input.ts
@@ -72,7 +72,7 @@ export class TextInputElement {
@IonicDirective({
selector: 'ion-input',
classId: 'item-input',
- properties: [
+ inputs: [
'tabIndex'
],
host: {