From bb40f3e38e290c5aaf9269a774af23664002a9dc Mon Sep 17 00:00:00 2001 From: "Manu Mtz.-Almeida" Date: Wed, 9 Jan 2019 17:30:04 +0100 Subject: [PATCH 1/5] test(nav): fix e2e tests --- core/src/components/nav/test/basic/e2e.ts | 8 ++++---- core/src/components/nav/test/routing/e2e.ts | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/src/components/nav/test/basic/e2e.ts b/core/src/components/nav/test/basic/e2e.ts index dc889a03c32..a597d0db89f 100644 --- a/core/src/components/nav/test/basic/e2e.ts +++ b/core/src/components/nav/test/basic/e2e.ts @@ -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(); diff --git a/core/src/components/nav/test/routing/e2e.ts b/core/src/components/nav/test/routing/e2e.ts index 0dd745e33b0..ad6a83ac62e 100644 --- a/core/src/components/nav/test/routing/e2e.ts +++ b/core/src/components/nav/test/routing/e2e.ts @@ -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(); From a30f760d9292b857033247d4cd1581d3bf40d5db Mon Sep 17 00:00:00 2001 From: "Manu Mtz.-Almeida" Date: Wed, 9 Jan 2019 17:54:00 +0100 Subject: [PATCH 2/5] 4.0.0-rc.1 --- CHANGELOG.md | 64 ++++++++++++++++++++++++++++++++++++++++++++ angular/package.json | 4 +-- core/README.md | 4 +-- core/package.json | 2 +- docs/package.json | 2 +- 5 files changed, 70 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef752c66c89..00f693c56b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) diff --git a/angular/package.json b/angular/package.json index 652ecd4f40e..26ea7949837 100644 --- a/angular/package.json +++ b/angular/package.json @@ -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", @@ -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": { diff --git a/core/README.md b/core/README.md index 89023f5b313..658f67b3a7f 100644 --- a/core/README.md +++ b/core/README.md @@ -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 - - + + ``` 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')`. diff --git a/core/package.json b/core/package.json index 84c1ed799b8..cc46e84da69 100644 --- a/core/package.json +++ b/core/package.json @@ -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", diff --git a/docs/package.json b/docs/package.json index 345ad5eee19..139b45a4cbc 100644 --- a/docs/package.json +++ b/docs/package.json @@ -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": [ From b4f34054efa9b720df4001a5e8bb1efe515407fb Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Wed, 9 Jan 2019 11:31:30 -0600 Subject: [PATCH 3/5] fix(icon): fix rtl detail icon for ios (#17016) Closes #14958 --- core/src/components/item/item.tsx | 7 ++++++- core/src/components/item/test/icons/e2e.ts | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/components/item/item.tsx b/core/src/components/item/item.tsx index e78df24047a..df31a67df42 100644 --- a/core/src/components/item/item.tsx +++ b/core/src/components/item/item.tsx @@ -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 [ { 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(); +}); From 1338d71dff1ede62c39e6f72cab428c72dc2a249 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Wed, 9 Jan 2019 12:06:13 -0600 Subject: [PATCH 4/5] fix(picker): do not change datetime/picker column order in RTL (#17018) Closes #16294 --- core/.stylelintrc.yml | 2 +- core/src/components/datetime/test/basic/e2e.ts | 16 ++++++++++++++++ .../components/datetime/test/basic/index.html | 2 +- core/src/components/picker/picker.scss | 6 +----- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/core/.stylelintrc.yml b/core/.stylelintrc.yml index 47cd0e4e0ee..556ee7d5fb1 100644 --- a/core/.stylelintrc.yml +++ b/core/.stylelintrc.yml @@ -239,6 +239,7 @@ rules: - contain - content - cursor + - direction - empty-cells - object-fit - opacity @@ -254,7 +255,6 @@ rules: property-blacklist: - background-position - - direction - right - left - float diff --git a/core/src/components/datetime/test/basic/e2e.ts b/core/src/components/datetime/test/basic/e2e.ts index f0ce389dae3..dc85a43cfad 100644 --- a/core/src/components/datetime/test/basic/e2e.ts +++ b/core/src/components/datetime/test/basic/e2e.ts @@ -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(); +}); diff --git a/core/src/components/datetime/test/basic/index.html b/core/src/components/datetime/test/basic/index.html index a8ea7bc041c..cbbaa87efc7 100644 --- a/core/src/components/datetime/test/basic/index.html +++ b/core/src/components/datetime/test/basic/index.html @@ -101,7 +101,7 @@ h:mm a - + diff --git a/core/src/components/picker/picker.scss b/core/src/components/picker/picker.scss index 52873843fb8..66ddcb0ac05 100644 --- a/core/src/components/picker/picker.scss +++ b/core/src/components/picker/picker.scss @@ -108,11 +108,6 @@ // -------------------------------------------------- .picker-columns { - @include rtl() { - // Date is the same format in both directions - flex-direction: row-reverse; - } - display: flex; position: relative; @@ -121,6 +116,7 @@ margin-bottom: var(--ion-safe-area-bottom, 0); contain: strict; + direction: ltr; overflow: hidden; } From f1c970af8d3898e8b9f2477bb69e474fcebf3c34 Mon Sep 17 00:00:00 2001 From: Tamesh Sharma Date: Wed, 9 Jan 2019 13:08:01 -0500 Subject: [PATCH 5/5] test(avatar): update index.html (#17017) --- core/src/components/avatar/test/preview/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/components/avatar/test/preview/index.html b/core/src/components/avatar/test/preview/index.html index f69b47f8c88..9249937fe5c 100644 --- a/core/src/components/avatar/test/preview/index.html +++ b/core/src/components/avatar/test/preview/index.html @@ -22,19 +22,19 @@ - + - + Chip Avatar - + Item Avatar