Skip to content

Commit

Permalink
Merge pull request #16 from ionic-team/master
Browse files Browse the repository at this point in the history
pull `master`
  • Loading branch information
abennouna authored Jan 9, 2019
2 parents b474223 + f1c970a commit 4473bad
Show file tree
Hide file tree
Showing 14 changed files with 117 additions and 27 deletions.
64 changes: 64 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,67 @@
# [4.0.0-rc.1](https://github.com/ionic-team/ionic/compare/v4.0.0-rc.0...v4.0.0-rc.1) (2019-01-09)


### Bug Fixes

* **angular:** update [@angular](https://github.com/angular)/router dependency ([#16998](https://github.com/ionic-team/ionic/issues/16998)) ([76e9e02](https://github.com/ionic-team/ionic/commit/76e9e02))
* **col:** handle RTL offset-*, pull-*, and push-* ([#16702](https://github.com/ionic-team/ionic/issues/16702)) ([6d6472b](https://github.com/ionic-team/ionic/commit/6d6472b))
* **fab:** fab size when href provided ([b3316d4](https://github.com/ionic-team/ionic/commit/b3316d4)), closes [#16833](https://github.com/ionic-team/ionic/issues/16833)
* **menu:** swipe-back has higher priority ([f05c599](https://github.com/ionic-team/ionic/commit/f05c599)), closes [#16864](https://github.com/ionic-team/ionic/issues/16864)
* **overlays:** make them hidden until presented ([#16903](https://github.com/ionic-team/ionic/issues/16903)) ([302be53](https://github.com/ionic-team/ionic/commit/302be53)), closes [#16685](https://github.com/ionic-team/ionic/issues/16685)
* **popover:** position properly in RTL / MD modes ([#16745](https://github.com/ionic-team/ionic/issues/16745)) ([7846019](https://github.com/ionic-team/ionic/commit/7846019))
* **ripple-effect:** never capture click ([#16955](https://github.com/ionic-team/ionic/issues/16955)) ([7ee8aa6](https://github.com/ionic-team/ionic/commit/7ee8aa6)), closes [#16939](https://github.com/ionic-team/ionic/issues/16939)
* **segment:** update indicator and border based on theme ([#16821](https://github.com/ionic-team/ionic/issues/16821)) ([74587db](https://github.com/ionic-team/ionic/commit/74587db)), closes [#16820](https://github.com/ionic-team/ionic/issues/16820)
* **select:** interfaceOptions can customize mode ([#16826](https://github.com/ionic-team/ionic/issues/16826)) ([1227d57](https://github.com/ionic-team/ionic/commit/1227d57)), closes [#16825](https://github.com/ionic-team/ionic/issues/16825)
* **tab-button:** allow standalone tab-button ([#16905](https://github.com/ionic-team/ionic/issues/16905)) ([6ca7645](https://github.com/ionic-team/ionic/commit/6ca7645)), closes [#16845](https://github.com/ionic-team/ionic/issues/16845)
* **tabs:** fix goto root ([#16926](https://github.com/ionic-team/ionic/issues/16926)) ([8ee9205](https://github.com/ionic-team/ionic/commit/8ee9205)), closes [#16917](https://github.com/ionic-team/ionic/issues/16917)


### Features

* **radio-group:** add missing implementation for property allowEmptySelection ([#16880](https://github.com/ionic-team/ionic/issues/16880)) ([09726b0](https://github.com/ionic-team/ionic/commit/09726b0)), closes [#16841](https://github.com/ionic-team/ionic/issues/16841)
* **react:** add missing simple components to react. ([#16836](https://github.com/ionic-team/ionic/issues/16836)) ([696f62c](https://github.com/ionic-team/ionic/commit/696f62c))
* **react:** create initial portal implementation for overlay ctrls ([#16830](https://github.com/ionic-team/ionic/issues/16830)) ([99bdd1f](https://github.com/ionic-team/ionic/commit/99bdd1f))
* **react:** Initial implementations of controller required elements. ([#16817](https://github.com/ionic-team/ionic/issues/16817)) ([e30c5f1](https://github.com/ionic-team/ionic/commit/e30c5f1))


### Performance Improvements

* **angular:** bundle size improvements for angular ([#16966](https://github.com/ionic-team/ionic/issues/16966)) ([44fb45e](https://github.com/ionic-team/ionic/commit/44fb45e))
* **angular:** flat ng modules ([#17007](https://github.com/ionic-team/ionic/issues/17007)) ([0b84e27](https://github.com/ionic-team/ionic/commit/0b84e27)), closes [#17001](https://github.com/ionic-team/ionic/issues/17001)
* **angular:** proxy fast properties ([#16888](https://github.com/ionic-team/ionic/issues/16888)) ([ca9ec3e](https://github.com/ionic-team/ionic/commit/ca9ec3e))


### BREAKING CHANGES

In order to speed up the build and reduce the main bundle size,
we have moved the ionicons outside the webpack build pipeline.

Instead, a new copy task needs to be added to the `angular.json`, specifically to the
the `"assets"` option of the `"build"`.

#### angular.json

```diff
{
"projects": {
"app": {
"architect": {
"build": {
"options": {
"assets": [
{
"glob": "**/*",
"input": "src/assets",
"output": "assets"
},
+ {
+ "glob": "**/*.svg",
+ "input": "node_modules/ionicons/dist/ionicons/svg",
+ "output": "./svg"
+ }
```


# [4.0.0-rc.0](https://github.com/ionic-team/ionic/compare/v4.0.0-beta.19...v4.0.0-rc.0) (2018-12-19)


Expand Down
4 changes: 2 additions & 2 deletions angular/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ionic/angular",
"version": "4.0.0-rc.0",
"version": "4.0.0-rc.1",
"description": "Angular specific wrappers for @ionic/core",
"keywords": [
"ionic",
Expand Down Expand Up @@ -44,7 +44,7 @@
"css/"
],
"dependencies": {
"@ionic/core": "4.0.0-rc.0",
"@ionic/core": "4.0.0-rc.1",
"tslib": "^1.9.3"
},
"peerDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion core/.stylelintrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ rules:
- contain
- content
- cursor
- direction
- empty-cells
- object-fit
- opacity
Expand All @@ -254,7 +255,6 @@ rules:

property-blacklist:
- background-position
- direction
- right
- left
- float
Expand Down
4 changes: 2 additions & 2 deletions core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ The Ionic Core package contains the Web Components that make up the reusable UI
Easiest way to start using Ionic Core is by adding a script tag to the CDN:

```html
<link href="https://unpkg.com/@ionic/[email protected].0/css/ionic.bundle.css" rel="stylesheet">
<script src="https://unpkg.com/@ionic/[email protected].0/dist/ionic.js"></script>
<link href="https://unpkg.com/@ionic/[email protected].1/css/ionic.bundle.css" rel="stylesheet">
<script src="https://unpkg.com/@ionic/[email protected].1/dist/ionic.js"></script>
```

Any Ionic component added to the webpage will automatically load. This includes writing the component tag directly in HTML, or using JavaScript such as `document.createElement('ion-toggle')`.
Expand Down
2 changes: 1 addition & 1 deletion core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ionic/core",
"version": "4.0.0-rc.0",
"version": "4.0.0-rc.1",
"description": "Base components for Ionic",
"keywords": [
"ionic",
Expand Down
6 changes: 3 additions & 3 deletions core/src/components/avatar/test/preview/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@

<ion-content fullscreen padding>
<ion-avatar>
<img src="/src/components/avatar/test/avatar.svg">
<img src="/src/components/avatar/avatar.svg">
</ion-avatar>

<ion-chip>
<ion-avatar>
<img src="/src/components/avatar/test/avatar.svg">
<img src="/src/components/avatar/avatar.svg">
</ion-avatar>
<ion-label>Chip Avatar</ion-label>
</ion-chip>

<ion-item>
<ion-avatar slot="start">
<img src="/src/components/avatar/test/avatar.svg">
<img src="/src/components/avatar/avatar.svg">
</ion-avatar>
<ion-label>Item Avatar</ion-label>
</ion-item>
Expand Down
16 changes: 16 additions & 0 deletions core/src/components/datetime/test/basic/e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,19 @@ test('datetime: basic', async () => {
compare = await page.compareScreenshot('should open custom picker');
expect(compare).toMatchScreenshot();
});

test('datetime: basic-rtl', async () => {
const page = await newE2EPage({
url: '/src/components/datetime/test/basic?ionic:_testing=true&rtl=true'
});

const datetime = await page.find('#customPickerOptions');
await datetime.click();

const picker = await page.find('ion-picker');
await picker.waitForVisible();
await page.waitFor(250);

const compare = await page.compareScreenshot('should open custom picker');
expect(compare).toMatchScreenshot();
});
2 changes: 1 addition & 1 deletion core/src/components/datetime/test/basic/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@

<ion-item>
<ion-label>h:mm a</ion-label>
<ion-datetime display-format="h:mm a"></ion-datetime>
<ion-datetime display-format="h:mm a" value="01:47"></ion-datetime>
</ion-item>

<ion-item>
Expand Down
7 changes: 6 additions & 1 deletion core/src/components/item/item.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,18 @@ export class Item implements ComponentInterface {
}

render() {
const { href, detail, mode, win, detailIcon, routerDirection, type } = this;
const { href, detail, mode, win, routerDirection, type } = this;
let detailIcon = this.detailIcon;

const clickable = this.isClickable();
const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div' as any;
const attrs = TagType === 'button' ? { type } : { href };
const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable;

if (showDetail && detailIcon === 'ios-arrow-forward' && document.dir === 'rtl') {
detailIcon = 'ios-arrow-back';
}

return [
<TagType
{...attrs}
Expand Down
9 changes: 9 additions & 0 deletions core/src/components/item/test/icons/e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,12 @@ test('item: icons', async () => {
const compare = await page.compareScreenshot();
expect(compare).toMatchScreenshot();
});

test('item: icons-rtl', async () => {
const page = await newE2EPage({
url: '/src/components/item/test/icons?ionic:_testing=true&rtl=true'
});

const compare = await page.compareScreenshot();
expect(compare).toMatchScreenshot();
});
8 changes: 4 additions & 4 deletions core/src/components/nav/test/basic/e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ test('nav: basic', async () => {

expect(await page.compareScreenshot()).toMatchScreenshot();

await page.click('page-one ion-button.next');
page.click('page-one ion-button.next');
await page.waitFor(navChanged);
await page.click('page-two ion-button.next');
page.click('page-two ion-button.next');
await page.waitFor(navChanged);
await page.click('page-three ion-back-button');
page.click('page-three ion-back-button');
await page.waitFor(navChanged);
await page.click('page-two ion-back-button');
page.click('page-two ion-back-button');
await page.waitFor(navChanged);

expect(await page.compareScreenshot('stack traversal')).toMatchScreenshot();
Expand Down
12 changes: 6 additions & 6 deletions core/src/components/nav/test/routing/e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ test('nav: routing', async () => {

expect(await page.compareScreenshot()).toMatchScreenshot();

await page.click('page-root ion-button.next');
page.click('page-root ion-button.next');
await page.waitFor(navChanged);
await page.click('page-one ion-button.next');
page.click('page-one ion-button.next');
await page.waitFor(navChanged);
await page.click('page-two ion-button.next');
page.click('page-two ion-button.next');
await page.waitFor(navChanged);
await page.click('page-three ion-back-button');
page.click('page-three ion-back-button');
await page.waitFor(navChanged);
await page.click('page-two ion-back-button');
page.click('page-two ion-back-button');
await page.waitFor(navChanged);
await page.click('page-one ion-back-button');
page.click('page-one ion-back-button');
await page.waitFor(navChanged);

expect(await page.compareScreenshot('stack traversal')).toMatchScreenshot();
Expand Down
6 changes: 1 addition & 5 deletions core/src/components/picker/picker.scss
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,6 @@
// --------------------------------------------------

.picker-columns {
@include rtl() {
// Date is the same format in both directions
flex-direction: row-reverse;
}

display: flex;
position: relative;

Expand All @@ -121,6 +116,7 @@
margin-bottom: var(--ion-safe-area-bottom, 0);

contain: strict;
direction: ltr;
overflow: hidden;
}

Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ionic/docs",
"version": "4.0.0-rc.0",
"version": "4.0.0-rc.1",
"description": "Pre-packaged API documentation for the Ionic docs.",
"main": "core.json",
"files": [
Expand Down

0 comments on commit 4473bad

Please sign in to comment.