* chore(demos): WIP refactor gulp demos task to use SystemJS
move build files into dist/demos and comment out the AoT demos task for
right now. This makes both `gulp demos` and `gulp demos.watch`work
again.
references #8411
* docs(demos): fix infinite scroll demo
* chore(demos): move old demos task to demos.prod
update the demos file with shared tasks, include the shared css
* docs(demos): fix API demos to use correct styles
* chore(demos): remove the main.ts files from each demo
* chore(demos): add prod template and constant
* chore(demos): remove tsconfig and package from demos
* chore(demos): update app.module path to ionic
* chore(demos): update app.module path to ionic
* chore(demos): update prod task for demos to work with AoT
also puts the demo build files into dist/ instead of the src directory
* docs(demos): update deploy and docs tasks for new build
* docs(scripts): update demos README
* chore(demos): fix path for prod build
BREAKING CHANGES:
Colors should be passed in the `color` input on components, not added
individually as an attribute on the component.
For example:
```
<ion-tabs primary>
```
Becomes
```
<ion-tabs color=”primary”>
```
Or to bind an expression to color:
```
<ion-navbar [color]="barColor">
...
</ion-navbar>
```
```ts
@Component({
templateUrl: 'build/pages/about/about.html'
})
export class AboutPage {
barColor: string;
constructor(private nav: NavController, platform: Platform) {
this.barColor = platform.is('android') ? 'primary' : 'light';
}
}
```
Reason for this change:
It was difficult to dynamically add colors to components, especially if
the name of the color attribute was unknown in the template.
This change keeps the css flat since we aren’t chaining color
attributes on components and instead we assign a class to the component
which includes the color’s name.
This allows you to easily toggle a component between multiple colors.
Speeds up performance because we are no longer reading through all of
the attributes to grab the color ones.
references #7467closes#7087closes#7401closes#7523
BREAKING CHANGES:
- `<button>` becomes `<button ion-button>`
- `<a button>` becomes `<a ion-button>`
- `<button ion-item>` does not get the `ion-button` attribute
- Buttons inside of `<ion-item-options>` do get the `ion-button`
attribute
- Removed the `category` attribute, this should be passed in
`ion-button` instead.
- Button attributes added for icons in buttons: `icon-only`,
`icon-left`, and `icon-right`
closes#7466
BREAKING CHANGES:
The Option component’s `checked` attribute has been renamed to
`selected` in order to select an option. This is to the follow the MDN
spec for a select option:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option
If a `ngModel` is added to the Select component the value of the
`ngModel` will take precedence over the `selected` attribute.
references #7334
BREAKING CHANGES:
Tab input/config options have been renamed. The following options were
renamed:
- `tabbarHighlight` -> `tabsHighlight`
- `tabbarLayout` -> `tabsLayout`
- `tabSubPages` -> `tabsHideOnSubPages`
- `tabbarPlacement` -> `tabsPlacement`
The previous names have been deprecated. They will still work in the
current release but will be removed in the future so please update to
the new names.
references #7143
- add spacing between imports
- alphabetize imports
- removed app.html files in favor of an inline ion-nav
- cleaned up config demo so it uses proper syntax
- use file name main.html for the first page for the demo
- name the app ApiDemoApp and first page ApiDemoPage
- replace the ion-toolbars with ion-navbars
closes#7019closesdriftyco/ionic-site#647
- `ion-list-header` and `ion-item-divider` now take advantage of the
same content projection as the `ion-item`
- they are still styled as list headers and item dividers
- added docs and demos on this addition
closes#5561