* chore(e2e): WIP to add files needed for app-scripts
* chore(e2e): WIP one e2e test building but with errors
* chore(e2e): move e2e.prod to working with app-scripts
move shared functions into util, add support for debug flag when
running e2e.prod / demos.prod which gets passed to app-scripts
* chore(build): fix app-scripts build for all e2e and demos
* chore(e2e): update ionic-angular import path
* chore(build): update dev paths to work with prod
* chore(e2e): get watch working with e2e prod
* docs(scripts): update README for running e2e and demos
closes#8411closes#10023
Internal refactor completed in order to improve tree shaking and dead
code removal. The public API, with an exception to ion-slides, has
stayed the same. However, internally many changes were required so
bundlers could better exclude modules which should not be bundled.
Ultimately most changes resorted to removing references to `window` or
`document`, or a module that referenced one of those.
BREAKING CHANGES
ion-slides was refactored to remove the external dependencies, and
rewritten in TypeScript/ES6 modules to again improve tree shaking
abilities.
* fix(datetime): dayValues attribute
fixes#7190
* fix(datetime): default to the first year if the current year doesn't exist
When the current year does not exist in yearValues, it was disabling
months when it shouldn’t - this commit fixes that so all of the months
are enabled.
Closes#7190
* fix(datetime): only set the year to the first option if yearCol exists
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:
- Overlay components, such as Alert or Modals, should now be created
using its injected provider.
- Overlays now have the `present()` method on the overlay’s instance,
rather than using `nav.present(overlayInstance)`.
- All overlays now present on top of all app content, to include menus.
- Below is an example of the change to `Alert`, but the pattern is the
same for all overlays: ActionSheet, Loading, Modal, Picker, Popover,
Toast
WAS:
```
import { NavController, Alert } from ‘ionic-angular’;
constructor(private nav: NavController) {
}
doAlert() {
let alert = Alert.create({
title: 'Alert',
});
this.nav.present(alert);
}
```
NOW:
```
import { AlertController } from ‘ionic-angular’;
constructor(private alertCtrl: AlertController) {
}
doAlert() {
let alert = this.alertCtrl.create({
title: 'Alert'
});
alert.present();
}
```