From 940545327fc9283d5dd15f7d19876b36eb13ada9 Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Wed, 22 Jun 2022 00:11:17 -0400 Subject: [PATCH 1/8] docs(nav): nav link component playground --- docs/api/nav.md | 4 +- .../nav-link/angular/app_component_html.md | 3 + .../nav/nav-link/angular/app_component_ts.md | 13 +++ .../nav/nav-link/angular/app_module_ts.md | 20 +++++ .../nav-link/angular/page_one_component_ts.md | 25 ++++++ .../angular/page_three_component_ts.md | 21 +++++ .../nav-link/angular/page_two_component_ts.md | 30 +++++++ static/usage/nav/nav-link/demo.html | 84 +++++++++++++++++++ static/usage/nav/nav-link/index.md | 27 ++++++ static/usage/nav/nav-link/javascript.md | 67 +++++++++++++++ 10 files changed, 293 insertions(+), 1 deletion(-) create mode 100644 static/usage/nav/nav-link/angular/app_component_html.md create mode 100644 static/usage/nav/nav-link/angular/app_component_ts.md create mode 100644 static/usage/nav/nav-link/angular/app_module_ts.md create mode 100644 static/usage/nav/nav-link/angular/page_one_component_ts.md create mode 100644 static/usage/nav/nav-link/angular/page_three_component_ts.md create mode 100644 static/usage/nav/nav-link/angular/page_two_component_ts.md create mode 100644 static/usage/nav/nav-link/demo.html create mode 100644 static/usage/nav/nav-link/index.md create mode 100644 static/usage/nav/nav-link/javascript.md diff --git a/docs/api/nav.md b/docs/api/nav.md index 678969eca07..4cd9f5587d7 100644 --- a/docs/api/nav.md +++ b/docs/api/nav.md @@ -42,7 +42,9 @@ TODO: Playground Example ## Using NavLink -TODO: Playground Example +import NavLinkExample from '@site/static/usage/nav/nav-link/index.md'; + + ## Navigation within a Modal diff --git a/static/usage/nav/nav-link/angular/app_component_html.md b/static/usage/nav/nav-link/angular/app_component_html.md new file mode 100644 index 00000000000..078dc23a556 --- /dev/null +++ b/static/usage/nav/nav-link/angular/app_component_html.md @@ -0,0 +1,3 @@ +```html + +``` diff --git a/static/usage/nav/nav-link/angular/app_component_ts.md b/static/usage/nav/nav-link/angular/app_component_ts.md new file mode 100644 index 00000000000..4b261cd344f --- /dev/null +++ b/static/usage/nav/nav-link/angular/app_component_ts.md @@ -0,0 +1,13 @@ +```ts +import { Component } from '@angular/core'; + +import { PageOneComponent } from './page-one.component'; + +@Component({ + selector: 'app-root', + templateUrl: 'app.component.html', +}) +export class AppComponent { + pageOne = PageOneComponent; +} +``` diff --git a/static/usage/nav/nav-link/angular/app_module_ts.md b/static/usage/nav/nav-link/angular/app_module_ts.md new file mode 100644 index 00000000000..599b26a1d54 --- /dev/null +++ b/static/usage/nav/nav-link/angular/app_module_ts.md @@ -0,0 +1,20 @@ +```ts +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +import { RouterModule } from '@angular/router'; + +import { IonicModule } from '@ionic/angular'; + +import { AppComponent } from './app.component'; + +import { PageOneComponent } from './page-one.component'; +import { PageTwoComponent } from './page-two.component'; +import { PageThreeComponent } from './page-three.component'; + +@NgModule({ + imports: [BrowserModule, RouterModule, IonicModule.forRoot({})], + declarations: [AppComponent, PageOneComponent, PageTwoComponent, PageThreeComponent], + bootstrap: [AppComponent], +}) +export class AppModule {} +``` diff --git a/static/usage/nav/nav-link/angular/page_one_component_ts.md b/static/usage/nav/nav-link/angular/page_one_component_ts.md new file mode 100644 index 00000000000..0145562aeb9 --- /dev/null +++ b/static/usage/nav/nav-link/angular/page_one_component_ts.md @@ -0,0 +1,25 @@ +```ts +import { Component } from '@angular/core'; + +import { PageTwoComponent } from './page-two.component'; + +@Component({ + selector: 'app-page-one', + template: ` + + + Page One + + + +

Page One

+ + Go to Page Two + +
+ `, +}) +export class PageOneComponent { + pageTwo = PageTwoComponent; +} +``` diff --git a/static/usage/nav/nav-link/angular/page_three_component_ts.md b/static/usage/nav/nav-link/angular/page_three_component_ts.md new file mode 100644 index 00000000000..d9e95ed7218 --- /dev/null +++ b/static/usage/nav/nav-link/angular/page_three_component_ts.md @@ -0,0 +1,21 @@ +```ts +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-page-one', + template: ` + + + + + + Page Three + + + +

Page Three

+
+ `, +}) +export class PageThreeComponent {} +``` diff --git a/static/usage/nav/nav-link/angular/page_two_component_ts.md b/static/usage/nav/nav-link/angular/page_two_component_ts.md new file mode 100644 index 00000000000..a2938a0e7a1 --- /dev/null +++ b/static/usage/nav/nav-link/angular/page_two_component_ts.md @@ -0,0 +1,30 @@ +```ts +import { Component } from '@angular/core'; + +import { PageThreeComponent } from './page-three.component'; + +@Component({ + selector: 'app-page-two', + template: ` + + + + + + Page Two + + + +

Page Two

+
+ + Go to Page Three + +
+
+ `, +}) +export class PageTwoComponent { + pageThree = PageThreeComponent; +} +``` diff --git a/static/usage/nav/nav-link/demo.html b/static/usage/nav/nav-link/demo.html new file mode 100644 index 00000000000..d813dfe8a87 --- /dev/null +++ b/static/usage/nav/nav-link/demo.html @@ -0,0 +1,84 @@ + + + + + + + + Nav | NavLink + + + + + + + + + + + + + + + + diff --git a/static/usage/nav/nav-link/index.md b/static/usage/nav/nav-link/index.md new file mode 100644 index 00000000000..fe46fd7a3fa --- /dev/null +++ b/static/usage/nav/nav-link/index.md @@ -0,0 +1,27 @@ +import Playground from '@site/src/components/global/Playground'; + +import javascript from './javascript.md'; + +import angular_app_module_ts from './angular/app_module_ts.md'; +import angular_app_component_html from './angular/app_component_html.md'; +import angular_app_component_ts from './angular/app_component_ts.md'; +import angular_page_one_component_ts from './angular/page_one_component_ts.md'; +import angular_page_two_component_ts from './angular/page_two_component_ts.md'; +import angular_page_three_component_ts from './angular/page_three_component_ts.md'; + + diff --git a/static/usage/nav/nav-link/javascript.md b/static/usage/nav/nav-link/javascript.md new file mode 100644 index 00000000000..faf19dc3ca7 --- /dev/null +++ b/static/usage/nav/nav-link/javascript.md @@ -0,0 +1,67 @@ +```html + + + + + +``` From efcdd0dd8d09b840ffc29933df82f5801ec8259a Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Wed, 22 Jun 2022 11:55:31 -0400 Subject: [PATCH 2/8] wip(): react example --- docs/api/nav.md | 2 + static/usage/nav/nav-link/index.md | 13 +++++++ static/usage/nav/nav-link/react/main_tsx.md | 11 ++++++ .../usage/nav/nav-link/react/page_one_tsx.md | 26 +++++++++++++ .../nav/nav-link/react/page_three_tsx.md | 24 ++++++++++++ .../usage/nav/nav-link/react/page_two_tsx.md | 39 +++++++++++++++++++ 6 files changed, 115 insertions(+) create mode 100644 static/usage/nav/nav-link/react/main_tsx.md create mode 100644 static/usage/nav/nav-link/react/page_one_tsx.md create mode 100644 static/usage/nav/nav-link/react/page_three_tsx.md create mode 100644 static/usage/nav/nav-link/react/page_two_tsx.md diff --git a/docs/api/nav.md b/docs/api/nav.md index 4cd9f5587d7..5e649ae8912 100644 --- a/docs/api/nav.md +++ b/docs/api/nav.md @@ -42,6 +42,8 @@ TODO: Playground Example ## Using NavLink +NavLink is a simplified API when interacting with Nav. Developers can customize the component, pass along component properties, modify the direction of the route animation or define a custom animation when navigating. + import NavLinkExample from '@site/static/usage/nav/nav-link/index.md'; diff --git a/static/usage/nav/nav-link/index.md b/static/usage/nav/nav-link/index.md index fe46fd7a3fa..0b309dc58f0 100644 --- a/static/usage/nav/nav-link/index.md +++ b/static/usage/nav/nav-link/index.md @@ -9,6 +9,11 @@ import angular_page_one_component_ts from './angular/page_one_component_ts.md'; import angular_page_two_component_ts from './angular/page_two_component_ts.md'; import angular_page_three_component_ts from './angular/page_three_component_ts.md'; +import react_main_tsx from './react/main_tsx.md'; +import react_page_one_tsx from './react/page_one_tsx.md'; +import react_page_two_tsx from './react/page_two_tsx.md'; +import react_page_three_tsx from './react/page_three_tsx.md'; + diff --git a/static/usage/nav/nav-link/react/main_tsx.md b/static/usage/nav/nav-link/react/main_tsx.md new file mode 100644 index 00000000000..f6196a362e9 --- /dev/null +++ b/static/usage/nav/nav-link/react/main_tsx.md @@ -0,0 +1,11 @@ +```tsx +import React from 'react'; +import { IonNav } from '@ionic/react'; + +import PageOne from './page-one'; + +function Example() { + return }>; +} +export default Example; +``` diff --git a/static/usage/nav/nav-link/react/page_one_tsx.md b/static/usage/nav/nav-link/react/page_one_tsx.md new file mode 100644 index 00000000000..25cb4d087c2 --- /dev/null +++ b/static/usage/nav/nav-link/react/page_one_tsx.md @@ -0,0 +1,26 @@ +```tsx +import React from 'react'; +import { IonButton, IonHeader, IonContent, IonNavLink, IonToolbar, IonTitle, IonPage } from '@ionic/react'; + +import PageTwo from './page-two'; + +function PageOne() { + return ( + + + + Page One + + + +

Page One

+ }> + Go to Page Two + +
+
+ ); +} + +export default PageOne; +``` diff --git a/static/usage/nav/nav-link/react/page_three_tsx.md b/static/usage/nav/nav-link/react/page_three_tsx.md new file mode 100644 index 00000000000..02b5ba6b406 --- /dev/null +++ b/static/usage/nav/nav-link/react/page_three_tsx.md @@ -0,0 +1,24 @@ +```tsx +import React from 'react'; +import { IonBackButton, IonButtons, IonHeader, IonContent, IonToolbar, IonTitle, IonPage } from '@ionic/react'; + +function PageThree() { + return ( + + + + + + + Page Three + + + +

Page Three

+
+
+ ); +} + +export default PageThree; +``` diff --git a/static/usage/nav/nav-link/react/page_two_tsx.md b/static/usage/nav/nav-link/react/page_two_tsx.md new file mode 100644 index 00000000000..2ba3d75f7ab --- /dev/null +++ b/static/usage/nav/nav-link/react/page_two_tsx.md @@ -0,0 +1,39 @@ +```tsx +import React from 'react'; +import { + IonBackButton, + IonButtons, + IonButton, + IonHeader, + IonContent, + IonNavLink, + IonToolbar, + IonTitle, + IonPage, +} from '@ionic/react'; + +import PageThree from './page-three'; + +function PageTwo() { + return ( + + + + + + + Page Two + + + +

Page Two

+ }> + Go to Page Three + +
+
+ ); +} + +export default PageTwo; +``` From b27d02148e01406708ec1fc12a5b83b219693a92 Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Tue, 5 Jul 2022 22:00:26 -0400 Subject: [PATCH 3/8] docs(): vue nav-link example --- static/usage/nav/nav-link/index.md | 13 ++++++++ static/usage/nav/nav-link/vue/example_vue.md | 19 ++++++++++++ static/usage/nav/nav-link/vue/page_one_vue.md | 31 +++++++++++++++++++ .../usage/nav/nav-link/vue/page_three_vue.md | 25 +++++++++++++++ static/usage/nav/nav-link/vue/page_two_vue.md | 31 +++++++++++++++++++ 5 files changed, 119 insertions(+) create mode 100644 static/usage/nav/nav-link/vue/example_vue.md create mode 100644 static/usage/nav/nav-link/vue/page_one_vue.md create mode 100644 static/usage/nav/nav-link/vue/page_three_vue.md create mode 100644 static/usage/nav/nav-link/vue/page_two_vue.md diff --git a/static/usage/nav/nav-link/index.md b/static/usage/nav/nav-link/index.md index 0b309dc58f0..e0bcea0661b 100644 --- a/static/usage/nav/nav-link/index.md +++ b/static/usage/nav/nav-link/index.md @@ -14,6 +14,11 @@ import react_page_one_tsx from './react/page_one_tsx.md'; import react_page_two_tsx from './react/page_two_tsx.md'; import react_page_three_tsx from './react/page_three_tsx.md'; +import vue_example from './vue/example_vue.md'; +import vue_page_one from './vue/page_one_vue.md'; +import vue_page_two from './vue/page_two_vue.md'; +import vue_page_three from './vue/page_three_vue.md'; + diff --git a/static/usage/nav/nav-link/vue/example_vue.md b/static/usage/nav/nav-link/vue/example_vue.md new file mode 100644 index 00000000000..ec054a80749 --- /dev/null +++ b/static/usage/nav/nav-link/vue/example_vue.md @@ -0,0 +1,19 @@ +```html + + + +``` diff --git a/static/usage/nav/nav-link/vue/page_one_vue.md b/static/usage/nav/nav-link/vue/page_one_vue.md new file mode 100644 index 00000000000..0cd03901703 --- /dev/null +++ b/static/usage/nav/nav-link/vue/page_one_vue.md @@ -0,0 +1,31 @@ +```html + + + +``` diff --git a/static/usage/nav/nav-link/vue/page_three_vue.md b/static/usage/nav/nav-link/vue/page_three_vue.md new file mode 100644 index 00000000000..542cfb916d9 --- /dev/null +++ b/static/usage/nav/nav-link/vue/page_three_vue.md @@ -0,0 +1,25 @@ +```html + + + +``` diff --git a/static/usage/nav/nav-link/vue/page_two_vue.md b/static/usage/nav/nav-link/vue/page_two_vue.md new file mode 100644 index 00000000000..a02a9bc6d9d --- /dev/null +++ b/static/usage/nav/nav-link/vue/page_two_vue.md @@ -0,0 +1,31 @@ +```html + + + +``` From fe321b77e1d26ecb97a2a2b6eb3c279886b51336 Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Tue, 5 Jul 2022 22:03:41 -0400 Subject: [PATCH 4/8] docs(): make angular example match other examples --- static/usage/nav/nav-link/angular/app_component_html.md | 2 +- static/usage/nav/nav-link/angular/app_component_ts.md | 2 +- static/usage/nav/nav-link/angular/page_one_component_ts.md | 4 ++-- static/usage/nav/nav-link/angular/page_two_component_ts.md | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/static/usage/nav/nav-link/angular/app_component_html.md b/static/usage/nav/nav-link/angular/app_component_html.md index 078dc23a556..1534ea3a6ec 100644 --- a/static/usage/nav/nav-link/angular/app_component_html.md +++ b/static/usage/nav/nav-link/angular/app_component_html.md @@ -1,3 +1,3 @@ ```html - + ``` diff --git a/static/usage/nav/nav-link/angular/app_component_ts.md b/static/usage/nav/nav-link/angular/app_component_ts.md index 4b261cd344f..472f41634da 100644 --- a/static/usage/nav/nav-link/angular/app_component_ts.md +++ b/static/usage/nav/nav-link/angular/app_component_ts.md @@ -8,6 +8,6 @@ import { PageOneComponent } from './page-one.component'; templateUrl: 'app.component.html', }) export class AppComponent { - pageOne = PageOneComponent; + component = PageOneComponent; } ``` diff --git a/static/usage/nav/nav-link/angular/page_one_component_ts.md b/static/usage/nav/nav-link/angular/page_one_component_ts.md index 0145562aeb9..06c42b342cf 100644 --- a/static/usage/nav/nav-link/angular/page_one_component_ts.md +++ b/static/usage/nav/nav-link/angular/page_one_component_ts.md @@ -13,13 +13,13 @@ import { PageTwoComponent } from './page-two.component';

Page One

- + Go to Page Two
`, }) export class PageOneComponent { - pageTwo = PageTwoComponent; + component = PageTwoComponent; } ``` diff --git a/static/usage/nav/nav-link/angular/page_two_component_ts.md b/static/usage/nav/nav-link/angular/page_two_component_ts.md index a2938a0e7a1..d6edd90a593 100644 --- a/static/usage/nav/nav-link/angular/page_two_component_ts.md +++ b/static/usage/nav/nav-link/angular/page_two_component_ts.md @@ -17,7 +17,7 @@ import { PageThreeComponent } from './page-three.component';

Page Two

- + Go to Page Three
@@ -25,6 +25,6 @@ import { PageThreeComponent } from './page-three.component'; `, }) export class PageTwoComponent { - pageThree = PageThreeComponent; + component = PageThreeComponent; } ``` From 374e91e9c3c417df177b6c5ef6a1119f8135c09e Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Wed, 6 Jul 2022 13:28:07 -0400 Subject: [PATCH 5/8] fix(): render example in device frame --- static/usage/nav/nav-link/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/static/usage/nav/nav-link/index.md b/static/usage/nav/nav-link/index.md index e0bcea0661b..07f88bf10f1 100644 --- a/static/usage/nav/nav-link/index.md +++ b/static/usage/nav/nav-link/index.md @@ -50,4 +50,5 @@ import vue_page_three from './vue/page_three_vue.md'; }, }} src="usage/nav/nav-link/demo.html" + devicePreview /> From 4729edb8a4aa7dbec858b084fdb045c69eac324d Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Wed, 6 Jul 2022 13:38:03 -0400 Subject: [PATCH 6/8] fix(): react back button --- static/usage/nav/nav-link/react/page_one_tsx.md | 6 +++--- static/usage/nav/nav-link/react/page_three_tsx.md | 6 +++--- static/usage/nav/nav-link/react/page_two_tsx.md | 5 ++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/static/usage/nav/nav-link/react/page_one_tsx.md b/static/usage/nav/nav-link/react/page_one_tsx.md index 25cb4d087c2..303ad18547a 100644 --- a/static/usage/nav/nav-link/react/page_one_tsx.md +++ b/static/usage/nav/nav-link/react/page_one_tsx.md @@ -1,12 +1,12 @@ ```tsx import React from 'react'; -import { IonButton, IonHeader, IonContent, IonNavLink, IonToolbar, IonTitle, IonPage } from '@ionic/react'; +import { IonButton, IonHeader, IonContent, IonNavLink, IonToolbar, IonTitle } from '@ionic/react'; import PageTwo from './page-two'; function PageOne() { return ( - + <> Page One @@ -18,7 +18,7 @@ function PageOne() { Go to Page Two - + ); } diff --git a/static/usage/nav/nav-link/react/page_three_tsx.md b/static/usage/nav/nav-link/react/page_three_tsx.md index 02b5ba6b406..451d30db85d 100644 --- a/static/usage/nav/nav-link/react/page_three_tsx.md +++ b/static/usage/nav/nav-link/react/page_three_tsx.md @@ -1,10 +1,10 @@ ```tsx import React from 'react'; -import { IonBackButton, IonButtons, IonHeader, IonContent, IonToolbar, IonTitle, IonPage } from '@ionic/react'; +import { IonBackButton, IonButtons, IonHeader, IonContent, IonToolbar, IonTitle } from '@ionic/react'; function PageThree() { return ( - + <> @@ -16,7 +16,7 @@ function PageThree() {

Page Three

-
+ ); } diff --git a/static/usage/nav/nav-link/react/page_two_tsx.md b/static/usage/nav/nav-link/react/page_two_tsx.md index 2ba3d75f7ab..fd3f8764873 100644 --- a/static/usage/nav/nav-link/react/page_two_tsx.md +++ b/static/usage/nav/nav-link/react/page_two_tsx.md @@ -9,14 +9,13 @@ import { IonNavLink, IonToolbar, IonTitle, - IonPage, } from '@ionic/react'; import PageThree from './page-three'; function PageTwo() { return ( - + <> @@ -31,7 +30,7 @@ function PageTwo() { Go to Page Three - + ); } From 4a3e5396baa50da2de5923881bee6fce4efbf6d7 Mon Sep 17 00:00:00 2001 From: Sean Perkins Date: Wed, 6 Jul 2022 13:39:24 -0400 Subject: [PATCH 7/8] fix(): vue back button --- static/usage/nav/nav-link/vue/page_one_vue.md | 28 +++++------ .../usage/nav/nav-link/vue/page_three_vue.md | 28 +++++------ static/usage/nav/nav-link/vue/page_two_vue.md | 49 +++++++++++++------ 3 files changed, 60 insertions(+), 45 deletions(-) diff --git a/static/usage/nav/nav-link/vue/page_one_vue.md b/static/usage/nav/nav-link/vue/page_one_vue.md index 0cd03901703..f3635e1db37 100644 --- a/static/usage/nav/nav-link/vue/page_one_vue.md +++ b/static/usage/nav/nav-link/vue/page_one_vue.md @@ -1,26 +1,24 @@ ```html ``` diff --git a/static/usage/nav/nav-link/vue/page_two_vue.md b/static/usage/nav/nav-link/vue/page_two_vue.md index a02a9bc6d9d..0d736d69c88 100644 --- a/static/usage/nav/nav-link/vue/page_two_vue.md +++ b/static/usage/nav/nav-link/vue/page_two_vue.md @@ -1,26 +1,45 @@ ```html