@rdlabo/ionic-theme-ios26 0.0.4 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demo/src/app/index/index-page.component.html +8 -6
- package/demo/src/app/index/index-page.component.ts +7 -13
- package/demo/src/app/index/index.routes.ts +24 -4
- package/demo/src/app/index/pages/accordion/accordion.page.html +45 -0
- package/demo/src/app/index/pages/accordion/accordion.page.scss +0 -0
- package/demo/src/app/index/pages/accordion/accordion.page.spec.ts +21 -0
- package/demo/src/app/index/pages/accordion/accordion.page.ts +47 -0
- package/demo/src/app/index/pages/inputs/inputs.page.html +65 -0
- package/demo/src/app/index/pages/inputs/inputs.page.scss +0 -0
- package/demo/src/app/index/pages/inputs/inputs.page.spec.ts +21 -0
- package/demo/src/app/index/pages/inputs/inputs.page.ts +49 -0
- package/demo/src/app/index/pages/item-list/item-list.page.html +52 -0
- package/demo/src/app/index/pages/item-list/item-list.page.scss +0 -0
- package/demo/src/app/index/pages/item-list/item-list.page.spec.ts +21 -0
- package/demo/src/app/index/pages/item-list/item-list.page.ts +47 -0
- package/demo/src/app/index/pages/reorder/reorder.page.html +52 -0
- package/demo/src/app/index/pages/reorder/reorder.page.scss +0 -0
- package/demo/src/app/index/pages/reorder/reorder.page.spec.ts +21 -0
- package/demo/src/app/index/pages/reorder/reorder.page.ts +47 -0
- package/demo/src/app/index/pages/segment/segment.page.html +6 -1
- package/demo/src/app/index/pages/segment/segment.page.scss +1 -0
- package/demo/src/app/index/pages/tabs/tabs.page.html +78 -0
- package/demo/src/app/index/pages/tabs/tabs.page.scss +6 -0
- package/demo/src/app/index/pages/tabs/tabs.page.spec.ts +21 -0
- package/demo/src/app/index/pages/tabs/tabs.page.ts +47 -0
- package/demo/src/app/index/pages/toolbar/toolbar.page.html +121 -0
- package/demo/src/app/index/pages/toolbar/toolbar.page.scss +0 -0
- package/demo/src/app/index/pages/toolbar/toolbar.page.spec.ts +21 -0
- package/demo/src/app/index/pages/toolbar/toolbar.page.ts +55 -0
- package/demo/src/app/tabs/tabs.page.scss +0 -9
- package/demo/src/app/tabs/tabs.page.ts +2 -2
- package/package.json +3 -3
- package/src/components/ion-action-sheet.scss +4 -0
- package/src/components/ion-alert.scss +0 -1
- package/src/components/ion-button.scss +19 -6
- package/src/components/ion-datetime.scss +2 -2
- package/src/components/ion-list.scss +3 -1
- package/src/components/ion-modal.scss +2 -2
- package/src/components/ion-searchbar.scss +2 -3
- package/src/components/ion-tabs.scss +23 -7
- package/src/default-variables.scss +2 -0
- package/src/ionic-theme-ios26.scss +0 -1
- package/src/utils/theme-list-inset.scss +1 -0
- package/src/utils/translucent.scss +2 -3
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
</ion-list>
|
|
24
24
|
|
|
25
25
|
<ion-list [inset]="true">
|
|
26
|
-
<ion-list-header><ion-label>
|
|
26
|
+
<ion-list-header><ion-label>Ready</ion-label></ion-list-header>
|
|
27
27
|
<ion-item-group>
|
|
28
28
|
@for (item of enableComponents(); track item.name) {
|
|
29
|
-
<ion-item [
|
|
29
|
+
<ion-item [button]="true" (click)="navigateComponent(item)">
|
|
30
30
|
<ion-label>{{ item.name }}</ion-label>
|
|
31
31
|
</ion-item>
|
|
32
32
|
}
|
|
@@ -35,15 +35,17 @@
|
|
|
35
35
|
</ion-list>
|
|
36
36
|
|
|
37
37
|
<ion-list [inset]="true">
|
|
38
|
-
<ion-list-header><ion-label>
|
|
38
|
+
<ion-list-header><ion-label>Spec Limitation</ion-label></ion-list-header>
|
|
39
39
|
<ion-item-group>
|
|
40
40
|
@for (item of disableComponents(); track item.name) {
|
|
41
|
-
<ion-item [
|
|
41
|
+
<ion-item [button]="true" (click)="navigateComponent(item)">
|
|
42
42
|
<ion-label>{{ item.name }}</ion-label>
|
|
43
|
-
<ion-text>WIP</ion-text>
|
|
44
43
|
</ion-item>
|
|
45
44
|
}
|
|
46
45
|
</ion-item-group>
|
|
47
|
-
<ion-note
|
|
46
|
+
<ion-note
|
|
47
|
+
>Some HTML elements or APIs are missing, which limits what can be implemented. This is currently being discussed with the Ionic
|
|
48
|
+
team.</ion-note
|
|
49
|
+
>
|
|
48
50
|
</ion-list>
|
|
49
51
|
</ion-content>
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
IonList,
|
|
14
14
|
IonListHeader,
|
|
15
15
|
IonNote,
|
|
16
|
-
IonText,
|
|
17
16
|
IonTitle,
|
|
18
17
|
IonToggle,
|
|
19
18
|
IonToolbar,
|
|
@@ -45,7 +44,6 @@ interface IComponent {
|
|
|
45
44
|
IonList,
|
|
46
45
|
IonListHeader,
|
|
47
46
|
IonItemGroup,
|
|
48
|
-
IonText,
|
|
49
47
|
IonNote,
|
|
50
48
|
IonToggle,
|
|
51
49
|
],
|
|
@@ -53,7 +51,7 @@ interface IComponent {
|
|
|
53
51
|
})
|
|
54
52
|
export class IndexPageComponent {
|
|
55
53
|
readonly components = signal<IComponent[]>([
|
|
56
|
-
{ name: 'accordion', enable:
|
|
54
|
+
{ name: 'accordion', enable: true },
|
|
57
55
|
{ name: 'action-sheet', enable: true },
|
|
58
56
|
{ name: 'alert', enable: true },
|
|
59
57
|
{ name: 'breadcrumbs', enable: true },
|
|
@@ -63,22 +61,21 @@ export class IndexPageComponent {
|
|
|
63
61
|
{ name: 'chip', enable: true },
|
|
64
62
|
{ name: 'date-and-time-pickers', enable: true },
|
|
65
63
|
{ name: 'floating-action-button', enable: true },
|
|
66
|
-
{ name: 'inputs', enable:
|
|
67
|
-
{ name: 'item-list', enable:
|
|
68
|
-
{ name: 'menu', enable: false },
|
|
64
|
+
{ name: 'inputs', enable: true },
|
|
65
|
+
{ name: 'item-list', enable: true },
|
|
69
66
|
{ name: 'modal', enable: true },
|
|
70
67
|
{ name: 'popover', enable: true },
|
|
71
68
|
{ name: 'progress-indicators', enable: true },
|
|
72
69
|
{ name: 'radio', enable: true },
|
|
73
70
|
{ name: 'range', enable: true },
|
|
74
|
-
{ name: 'reorder', enable:
|
|
71
|
+
{ name: 'reorder', enable: true },
|
|
75
72
|
{ name: 'searchbar', enable: true },
|
|
76
|
-
{ name: 'segment', enable:
|
|
73
|
+
{ name: 'segment', enable: false },
|
|
77
74
|
{ name: 'select', enable: true },
|
|
78
|
-
{ name: 'tabs', enable:
|
|
75
|
+
{ name: 'tabs', enable: true },
|
|
79
76
|
{ name: 'toast', enable: true },
|
|
80
77
|
{ name: 'toggle', enable: true },
|
|
81
|
-
{ name: 'toolbar', enable:
|
|
78
|
+
{ name: 'toolbar', enable: true },
|
|
82
79
|
]);
|
|
83
80
|
readonly enableComponents = computed(() => this.components().filter((c) => c.enable));
|
|
84
81
|
readonly disableComponents = computed(() => this.components().filter((c) => !c.enable));
|
|
@@ -88,9 +85,6 @@ export class IndexPageComponent {
|
|
|
88
85
|
readonly #document = inject(DOCUMENT);
|
|
89
86
|
|
|
90
87
|
async navigateComponent(item: IComponent) {
|
|
91
|
-
if (!item.enable) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
88
|
await this.#router.navigate([item.name], { relativeTo: this.#route });
|
|
95
89
|
}
|
|
96
90
|
|
|
@@ -58,10 +58,6 @@ export const routes: Routes = [
|
|
|
58
58
|
path: 'searchbar',
|
|
59
59
|
loadComponent: () => import('./pages/searchbar/searchbar.page').then((m) => m.SearchbarPage),
|
|
60
60
|
},
|
|
61
|
-
{
|
|
62
|
-
path: 'menu',
|
|
63
|
-
loadComponent: () => import('./pages/menu/menu.page').then((m) => m.MenuPage),
|
|
64
|
-
},
|
|
65
61
|
{
|
|
66
62
|
path: 'popover',
|
|
67
63
|
loadComponent: () => import('./pages/popover/popover.page').then((m) => m.PopoverPage),
|
|
@@ -86,4 +82,28 @@ export const routes: Routes = [
|
|
|
86
82
|
path: 'date-and-time-pickers',
|
|
87
83
|
loadComponent: () => import('./pages/date-and-time-pickers/date-and-time-pickers.page').then((m) => m.DateAndTimePickersPage),
|
|
88
84
|
},
|
|
85
|
+
{
|
|
86
|
+
path: 'accordion',
|
|
87
|
+
loadComponent: () => import('./pages/accordion/accordion.page').then((m) => m.AccordionPage),
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
path: 'inputs',
|
|
91
|
+
loadComponent: () => import('./pages/inputs/inputs.page').then((m) => m.InputsPage),
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
path: 'item-list',
|
|
95
|
+
loadComponent: () => import('./pages/item-list/item-list.page').then((m) => m.ItemListPage),
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
path: 'reorder',
|
|
99
|
+
loadComponent: () => import('./pages/reorder/reorder.page').then((m) => m.ReorderPage),
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
path: 'tabs',
|
|
103
|
+
loadComponent: () => import('./pages/tabs/tabs.page').then((m) => m.TabsPage),
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
path: 'toolbar',
|
|
107
|
+
loadComponent: () => import('./pages/toolbar/toolbar.page').then((m) => m.ToolbarPage),
|
|
108
|
+
},
|
|
89
109
|
];
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<ion-header [translucent]="true">
|
|
2
|
+
<ion-toolbar>
|
|
3
|
+
<ion-back-button slot="start" defaultHref="/main/index"></ion-back-button>
|
|
4
|
+
<ion-title>accordion</ion-title>
|
|
5
|
+
</ion-toolbar>
|
|
6
|
+
</ion-header>
|
|
7
|
+
|
|
8
|
+
<ion-content [fullscreen]="true" color="light">
|
|
9
|
+
<ion-list [inset]="true">
|
|
10
|
+
<ion-item-group class="header-item-group">
|
|
11
|
+
<ion-item>
|
|
12
|
+
<ion-label>
|
|
13
|
+
<ion-icon name="logo-ionic" style="background: linear-gradient(#489bfd, #2b77f4)"></ion-icon>
|
|
14
|
+
<h2>accordion</h2>
|
|
15
|
+
<ion-header collapse="condense">
|
|
16
|
+
<ion-toolbar></ion-toolbar>
|
|
17
|
+
</ion-header>
|
|
18
|
+
<ion-text><code>This page is a component demo for @rdlabo/ionic-theme-ios26.</code></ion-text>
|
|
19
|
+
</ion-label>
|
|
20
|
+
</ion-item>
|
|
21
|
+
</ion-item-group>
|
|
22
|
+
</ion-list>
|
|
23
|
+
<ion-list [inset]="true">
|
|
24
|
+
<ion-accordion-group>
|
|
25
|
+
<ion-accordion value="first">
|
|
26
|
+
<ion-item slot="header">
|
|
27
|
+
<ion-label>First Accordion</ion-label>
|
|
28
|
+
</ion-item>
|
|
29
|
+
<div class="ion-padding" slot="content">First Content</div>
|
|
30
|
+
</ion-accordion>
|
|
31
|
+
<ion-accordion value="second">
|
|
32
|
+
<ion-item slot="header">
|
|
33
|
+
<ion-label>Second Accordion</ion-label>
|
|
34
|
+
</ion-item>
|
|
35
|
+
<div class="ion-padding" slot="content">Second Content</div>
|
|
36
|
+
</ion-accordion>
|
|
37
|
+
<ion-accordion value="third">
|
|
38
|
+
<ion-item slot="header">
|
|
39
|
+
<ion-label>Third Accordion</ion-label>
|
|
40
|
+
</ion-item>
|
|
41
|
+
<div class="ion-padding" slot="content">Third Content</div>
|
|
42
|
+
</ion-accordion>
|
|
43
|
+
</ion-accordion-group>
|
|
44
|
+
</ion-list>
|
|
45
|
+
</ion-content>
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
import { AccordionPage } from './accordion.page';
|
|
3
|
+
import { testConfig } from '../../../../../util/test.config';
|
|
4
|
+
|
|
5
|
+
describe('AccordionPage', () => {
|
|
6
|
+
let component: AccordionPage;
|
|
7
|
+
let fixture: ComponentFixture<AccordionPage>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
providers: testConfig.providers,
|
|
12
|
+
}).compileComponents();
|
|
13
|
+
fixture = TestBed.createComponent(AccordionPage);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import {
|
|
5
|
+
IonAccordion,
|
|
6
|
+
IonAccordionGroup,
|
|
7
|
+
IonBackButton,
|
|
8
|
+
IonContent,
|
|
9
|
+
IonHeader,
|
|
10
|
+
IonIcon,
|
|
11
|
+
IonItem,
|
|
12
|
+
IonItemGroup,
|
|
13
|
+
IonLabel,
|
|
14
|
+
IonList,
|
|
15
|
+
IonText,
|
|
16
|
+
IonTitle,
|
|
17
|
+
IonToolbar,
|
|
18
|
+
} from '@ionic/angular/standalone';
|
|
19
|
+
|
|
20
|
+
@Component({
|
|
21
|
+
selector: 'app-accordion',
|
|
22
|
+
templateUrl: './accordion.page.html',
|
|
23
|
+
styleUrls: ['./accordion.page.scss'],
|
|
24
|
+
standalone: true,
|
|
25
|
+
imports: [
|
|
26
|
+
IonContent,
|
|
27
|
+
IonHeader,
|
|
28
|
+
IonTitle,
|
|
29
|
+
IonToolbar,
|
|
30
|
+
CommonModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
IonBackButton,
|
|
33
|
+
IonIcon,
|
|
34
|
+
IonItem,
|
|
35
|
+
IonItemGroup,
|
|
36
|
+
IonLabel,
|
|
37
|
+
IonList,
|
|
38
|
+
IonText,
|
|
39
|
+
IonAccordion,
|
|
40
|
+
IonAccordionGroup,
|
|
41
|
+
],
|
|
42
|
+
})
|
|
43
|
+
export class AccordionPage implements OnInit {
|
|
44
|
+
constructor() {}
|
|
45
|
+
|
|
46
|
+
ngOnInit() {}
|
|
47
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<ion-header [translucent]="true">
|
|
2
|
+
<ion-toolbar>
|
|
3
|
+
<ion-back-button slot="start" defaultHref="/main/index"></ion-back-button>
|
|
4
|
+
<ion-title>inputs</ion-title>
|
|
5
|
+
</ion-toolbar>
|
|
6
|
+
</ion-header>
|
|
7
|
+
|
|
8
|
+
<ion-content [fullscreen]="true" color="light">
|
|
9
|
+
<ion-list [inset]="true">
|
|
10
|
+
<ion-item-group class="header-item-group">
|
|
11
|
+
<ion-item>
|
|
12
|
+
<ion-label>
|
|
13
|
+
<ion-icon name="logo-ionic" style="background: linear-gradient(#489bfd, #2b77f4)"></ion-icon>
|
|
14
|
+
<h2>inputs</h2>
|
|
15
|
+
<ion-header collapse="condense">
|
|
16
|
+
<ion-toolbar></ion-toolbar>
|
|
17
|
+
</ion-header>
|
|
18
|
+
<ion-text><code>This page is a component demo for @rdlabo/ionic-theme-ios26.</code></ion-text>
|
|
19
|
+
</ion-label>
|
|
20
|
+
</ion-item>
|
|
21
|
+
</ion-item-group>
|
|
22
|
+
</ion-list>
|
|
23
|
+
<ion-list [inset]="true">
|
|
24
|
+
<ion-item-group>
|
|
25
|
+
<ion-item>
|
|
26
|
+
<ion-input label="Default label" placeholder="Enter text"></ion-input>
|
|
27
|
+
</ion-item>
|
|
28
|
+
|
|
29
|
+
<ion-item>
|
|
30
|
+
<ion-input label="Fixed label" labelPlacement="fixed" placeholder="Enter text"></ion-input>
|
|
31
|
+
</ion-item>
|
|
32
|
+
|
|
33
|
+
<ion-item>
|
|
34
|
+
<ion-input label="Stacked label" labelPlacement="stacked" placeholder="Enter text"></ion-input>
|
|
35
|
+
</ion-item>
|
|
36
|
+
|
|
37
|
+
<ion-item>
|
|
38
|
+
<ion-input label="Floating label" labelPlacement="floating" placeholder="Enter text"></ion-input>
|
|
39
|
+
</ion-item>
|
|
40
|
+
|
|
41
|
+
<ion-item>
|
|
42
|
+
<ion-input type="password" label="Password" value="NeverGonnaGiveYouUp">
|
|
43
|
+
<ion-input-password-toggle slot="end"></ion-input-password-toggle>
|
|
44
|
+
</ion-input>
|
|
45
|
+
</ion-item>
|
|
46
|
+
</ion-item-group>
|
|
47
|
+
</ion-list>
|
|
48
|
+
|
|
49
|
+
<ion-list [inset]="true">
|
|
50
|
+
<ion-item-group>
|
|
51
|
+
<ion-item>
|
|
52
|
+
<ion-textarea label="Default label" placeholder="Enter textarea"></ion-textarea>
|
|
53
|
+
</ion-item>
|
|
54
|
+
<ion-item>
|
|
55
|
+
<ion-textarea label="Fixed label" labelPlacement="fixed" placeholder="Enter textarea"></ion-textarea>
|
|
56
|
+
</ion-item>
|
|
57
|
+
<ion-item>
|
|
58
|
+
<ion-textarea label="Stacked label" labelPlacement="stacked" placeholder="Enter textarea"></ion-textarea>
|
|
59
|
+
</ion-item>
|
|
60
|
+
<ion-item>
|
|
61
|
+
<ion-textarea label="Floating label" labelPlacement="floating" placeholder="Enter textarea"></ion-textarea>
|
|
62
|
+
</ion-item>
|
|
63
|
+
</ion-item-group>
|
|
64
|
+
</ion-list>
|
|
65
|
+
</ion-content>
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
import { InputsPage } from './inputs.page';
|
|
3
|
+
import { testConfig } from '../../../../../util/test.config';
|
|
4
|
+
|
|
5
|
+
describe('InputsPage', () => {
|
|
6
|
+
let component: InputsPage;
|
|
7
|
+
let fixture: ComponentFixture<InputsPage>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
providers: testConfig.providers,
|
|
12
|
+
}).compileComponents();
|
|
13
|
+
fixture = TestBed.createComponent(InputsPage);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import {
|
|
5
|
+
IonBackButton,
|
|
6
|
+
IonContent,
|
|
7
|
+
IonHeader,
|
|
8
|
+
IonIcon,
|
|
9
|
+
IonInput,
|
|
10
|
+
IonInputPasswordToggle,
|
|
11
|
+
IonItem,
|
|
12
|
+
IonItemGroup,
|
|
13
|
+
IonLabel,
|
|
14
|
+
IonList,
|
|
15
|
+
IonText,
|
|
16
|
+
IonTextarea,
|
|
17
|
+
IonTitle,
|
|
18
|
+
IonToolbar,
|
|
19
|
+
} from '@ionic/angular/standalone';
|
|
20
|
+
|
|
21
|
+
@Component({
|
|
22
|
+
selector: 'app-inputs',
|
|
23
|
+
templateUrl: './inputs.page.html',
|
|
24
|
+
styleUrls: ['./inputs.page.scss'],
|
|
25
|
+
standalone: true,
|
|
26
|
+
imports: [
|
|
27
|
+
IonContent,
|
|
28
|
+
IonHeader,
|
|
29
|
+
IonTitle,
|
|
30
|
+
IonToolbar,
|
|
31
|
+
CommonModule,
|
|
32
|
+
FormsModule,
|
|
33
|
+
IonBackButton,
|
|
34
|
+
IonIcon,
|
|
35
|
+
IonItem,
|
|
36
|
+
IonItemGroup,
|
|
37
|
+
IonLabel,
|
|
38
|
+
IonList,
|
|
39
|
+
IonText,
|
|
40
|
+
IonInput,
|
|
41
|
+
IonInputPasswordToggle,
|
|
42
|
+
IonTextarea,
|
|
43
|
+
],
|
|
44
|
+
})
|
|
45
|
+
export class InputsPage implements OnInit {
|
|
46
|
+
constructor() {}
|
|
47
|
+
|
|
48
|
+
ngOnInit() {}
|
|
49
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<ion-header [translucent]="true">
|
|
2
|
+
<ion-toolbar>
|
|
3
|
+
<ion-back-button slot="start" defaultHref="/main/index"></ion-back-button>
|
|
4
|
+
<ion-title>item-list</ion-title>
|
|
5
|
+
</ion-toolbar>
|
|
6
|
+
</ion-header>
|
|
7
|
+
|
|
8
|
+
<ion-content [fullscreen]="true" color="light">
|
|
9
|
+
<ion-list [inset]="true">
|
|
10
|
+
<ion-item-group class="header-item-group">
|
|
11
|
+
<ion-item>
|
|
12
|
+
<ion-label>
|
|
13
|
+
<ion-icon name="logo-ionic" style="background: linear-gradient(#489bfd, #2b77f4)"></ion-icon>
|
|
14
|
+
<h2>item-list</h2>
|
|
15
|
+
<ion-header collapse="condense">
|
|
16
|
+
<ion-toolbar></ion-toolbar>
|
|
17
|
+
</ion-header>
|
|
18
|
+
<ion-text><code>This page is a component demo for @rdlabo/ionic-theme-ios26.</code></ion-text>
|
|
19
|
+
</ion-label>
|
|
20
|
+
</ion-item>
|
|
21
|
+
</ion-item-group>
|
|
22
|
+
</ion-list>
|
|
23
|
+
<ion-list [inset]="true">
|
|
24
|
+
<ion-list-header><ion-label>Inset List</ion-label></ion-list-header>
|
|
25
|
+
<ion-item-group>
|
|
26
|
+
<ion-item>
|
|
27
|
+
<ion-label>Basic Item</ion-label>
|
|
28
|
+
</ion-item>
|
|
29
|
+
<ion-item>
|
|
30
|
+
<ion-label>
|
|
31
|
+
Multi-line text that should wrap when it is too long to fit on one line. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
32
|
+
</ion-label>
|
|
33
|
+
</ion-item>
|
|
34
|
+
</ion-item-group>
|
|
35
|
+
<ion-note>Note additional information.</ion-note>
|
|
36
|
+
</ion-list>
|
|
37
|
+
|
|
38
|
+
<ion-list>
|
|
39
|
+
<ion-list-header><ion-label>Default List</ion-label></ion-list-header>
|
|
40
|
+
<ion-item-group>
|
|
41
|
+
<ion-item>
|
|
42
|
+
<ion-label>Basic Item</ion-label>
|
|
43
|
+
</ion-item>
|
|
44
|
+
<ion-item>
|
|
45
|
+
<ion-label>
|
|
46
|
+
Multi-line text that should wrap when it is too long to fit on one line. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
47
|
+
</ion-label>
|
|
48
|
+
</ion-item>
|
|
49
|
+
</ion-item-group>
|
|
50
|
+
<ion-note>Note additional information.</ion-note>
|
|
51
|
+
</ion-list>
|
|
52
|
+
</ion-content>
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
import { ItemListPage } from './item-list.page';
|
|
3
|
+
import { testConfig } from '../../../../../util/test.config';
|
|
4
|
+
|
|
5
|
+
describe('ItemListPage', () => {
|
|
6
|
+
let component: ItemListPage;
|
|
7
|
+
let fixture: ComponentFixture<ItemListPage>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
providers: testConfig.providers,
|
|
12
|
+
}).compileComponents();
|
|
13
|
+
fixture = TestBed.createComponent(ItemListPage);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import {
|
|
5
|
+
IonBackButton,
|
|
6
|
+
IonContent,
|
|
7
|
+
IonHeader,
|
|
8
|
+
IonIcon,
|
|
9
|
+
IonItem,
|
|
10
|
+
IonItemGroup,
|
|
11
|
+
IonLabel,
|
|
12
|
+
IonList,
|
|
13
|
+
IonListHeader,
|
|
14
|
+
IonNote,
|
|
15
|
+
IonText,
|
|
16
|
+
IonTitle,
|
|
17
|
+
IonToolbar,
|
|
18
|
+
} from '@ionic/angular/standalone';
|
|
19
|
+
|
|
20
|
+
@Component({
|
|
21
|
+
selector: 'app-item-list',
|
|
22
|
+
templateUrl: './item-list.page.html',
|
|
23
|
+
styleUrls: ['./item-list.page.scss'],
|
|
24
|
+
standalone: true,
|
|
25
|
+
imports: [
|
|
26
|
+
IonContent,
|
|
27
|
+
IonHeader,
|
|
28
|
+
IonTitle,
|
|
29
|
+
IonToolbar,
|
|
30
|
+
CommonModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
IonBackButton,
|
|
33
|
+
IonIcon,
|
|
34
|
+
IonItem,
|
|
35
|
+
IonItemGroup,
|
|
36
|
+
IonLabel,
|
|
37
|
+
IonList,
|
|
38
|
+
IonText,
|
|
39
|
+
IonListHeader,
|
|
40
|
+
IonNote,
|
|
41
|
+
],
|
|
42
|
+
})
|
|
43
|
+
export class ItemListPage implements OnInit {
|
|
44
|
+
constructor() {}
|
|
45
|
+
|
|
46
|
+
ngOnInit() {}
|
|
47
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
<ion-header [translucent]="true">
|
|
2
|
+
<ion-toolbar>
|
|
3
|
+
<ion-back-button slot="start" defaultHref="/main/index"></ion-back-button>
|
|
4
|
+
<ion-title>reorder</ion-title>
|
|
5
|
+
</ion-toolbar>
|
|
6
|
+
</ion-header>
|
|
7
|
+
|
|
8
|
+
<ion-content [fullscreen]="true" color="light">
|
|
9
|
+
<ion-list [inset]="true">
|
|
10
|
+
<ion-item-group class="header-item-group">
|
|
11
|
+
<ion-item>
|
|
12
|
+
<ion-label>
|
|
13
|
+
<ion-icon name="logo-ionic" style="background: linear-gradient(#489bfd, #2b77f4)"></ion-icon>
|
|
14
|
+
<h2>reorder</h2>
|
|
15
|
+
<ion-header collapse="condense">
|
|
16
|
+
<ion-toolbar></ion-toolbar>
|
|
17
|
+
</ion-header>
|
|
18
|
+
<ion-text><code>This page is a component demo for @rdlabo/ionic-theme-ios26.</code></ion-text>
|
|
19
|
+
</ion-label>
|
|
20
|
+
</ion-item>
|
|
21
|
+
</ion-item-group>
|
|
22
|
+
</ion-list>
|
|
23
|
+
|
|
24
|
+
<ion-list [inset]="true">
|
|
25
|
+
<ion-reorder-group [disabled]="false">
|
|
26
|
+
<ion-item>
|
|
27
|
+
<ion-label> Item 1 </ion-label>
|
|
28
|
+
<ion-reorder slot="end"></ion-reorder>
|
|
29
|
+
</ion-item>
|
|
30
|
+
|
|
31
|
+
<ion-item>
|
|
32
|
+
<ion-label> Item 2 </ion-label>
|
|
33
|
+
<ion-reorder slot="end"></ion-reorder>
|
|
34
|
+
</ion-item>
|
|
35
|
+
|
|
36
|
+
<ion-item>
|
|
37
|
+
<ion-label> Item 3 </ion-label>
|
|
38
|
+
<ion-reorder slot="end"></ion-reorder>
|
|
39
|
+
</ion-item>
|
|
40
|
+
|
|
41
|
+
<ion-item>
|
|
42
|
+
<ion-label> Item 4 </ion-label>
|
|
43
|
+
<ion-reorder slot="end"></ion-reorder>
|
|
44
|
+
</ion-item>
|
|
45
|
+
|
|
46
|
+
<ion-item>
|
|
47
|
+
<ion-label> Item 5 </ion-label>
|
|
48
|
+
<ion-reorder slot="end"></ion-reorder>
|
|
49
|
+
</ion-item>
|
|
50
|
+
</ion-reorder-group>
|
|
51
|
+
</ion-list>
|
|
52
|
+
</ion-content>
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
import { ReorderPage } from './reorder.page';
|
|
3
|
+
import { testConfig } from '../../../../../util/test.config';
|
|
4
|
+
|
|
5
|
+
describe('ReorderPage', () => {
|
|
6
|
+
let component: ReorderPage;
|
|
7
|
+
let fixture: ComponentFixture<ReorderPage>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async () => {
|
|
10
|
+
await TestBed.configureTestingModule({
|
|
11
|
+
providers: testConfig.providers,
|
|
12
|
+
}).compileComponents();
|
|
13
|
+
fixture = TestBed.createComponent(ReorderPage);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import {
|
|
5
|
+
IonBackButton,
|
|
6
|
+
IonContent,
|
|
7
|
+
IonHeader,
|
|
8
|
+
IonIcon,
|
|
9
|
+
IonItem,
|
|
10
|
+
IonItemGroup,
|
|
11
|
+
IonLabel,
|
|
12
|
+
IonList,
|
|
13
|
+
IonReorder,
|
|
14
|
+
IonReorderGroup,
|
|
15
|
+
IonText,
|
|
16
|
+
IonTitle,
|
|
17
|
+
IonToolbar,
|
|
18
|
+
} from '@ionic/angular/standalone';
|
|
19
|
+
|
|
20
|
+
@Component({
|
|
21
|
+
selector: 'app-reorder',
|
|
22
|
+
templateUrl: './reorder.page.html',
|
|
23
|
+
styleUrls: ['./reorder.page.scss'],
|
|
24
|
+
standalone: true,
|
|
25
|
+
imports: [
|
|
26
|
+
IonContent,
|
|
27
|
+
IonHeader,
|
|
28
|
+
IonTitle,
|
|
29
|
+
IonToolbar,
|
|
30
|
+
CommonModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
IonBackButton,
|
|
33
|
+
IonIcon,
|
|
34
|
+
IonItem,
|
|
35
|
+
IonItemGroup,
|
|
36
|
+
IonLabel,
|
|
37
|
+
IonList,
|
|
38
|
+
IonText,
|
|
39
|
+
IonReorder,
|
|
40
|
+
IonReorderGroup,
|
|
41
|
+
],
|
|
42
|
+
})
|
|
43
|
+
export class ReorderPage implements OnInit {
|
|
44
|
+
constructor() {}
|
|
45
|
+
|
|
46
|
+
ngOnInit() {}
|
|
47
|
+
}
|
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
<ion-header collapse="condense">
|
|
16
16
|
<ion-toolbar></ion-toolbar>
|
|
17
17
|
</ion-header>
|
|
18
|
-
<ion-text><code>This page is a component demo for @rdlabo/ionic-theme-ios26.</code></ion-text
|
|
18
|
+
<!-- <ion-text><code>This page is a component demo for @rdlabo/ionic-theme-ios26.</code></ion-text>-->
|
|
19
|
+
|
|
20
|
+
<ion-text
|
|
21
|
+
>This components is excluded this packages. You should use default ios design util release re-design version.
|
|
22
|
+
<a href="https://github.com/rdlabo-team/ionic-theme-ios26/blob/main/FEEDBACK2.md" target="_blank">Reason is here.</a></ion-text
|
|
23
|
+
>
|
|
19
24
|
</ion-label>
|
|
20
25
|
</ion-item>
|
|
21
26
|
</ion-item-group>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@use '../../../../../../src/components/ion-segment';
|