@rdlabo/ionic-theme-ios26 0.1.1 → 0.1.3

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.
Files changed (211) hide show
  1. package/dist/css/components/ion-action-sheet.css +1 -0
  2. package/dist/css/components/ion-alert.css +1 -0
  3. package/dist/css/components/ion-breadcrumbs.css +1 -0
  4. package/dist/css/components/ion-button.css +1 -0
  5. package/dist/css/components/ion-card.css +1 -0
  6. package/dist/css/components/ion-chip.css +1 -0
  7. package/dist/css/components/ion-content.css +1 -0
  8. package/dist/css/components/ion-datetime.css +1 -0
  9. package/dist/css/components/ion-fab.css +1 -0
  10. package/dist/css/components/ion-list.css +1 -0
  11. package/dist/css/components/ion-loading.css +1 -0
  12. package/dist/css/components/ion-modal.css +1 -0
  13. package/dist/css/components/ion-picker.css +1 -0
  14. package/dist/css/components/ion-popover.css +1 -0
  15. package/dist/css/components/ion-range.css +1 -0
  16. package/dist/css/components/ion-searchbar.css +1 -0
  17. package/dist/css/components/ion-segment.css +1 -0
  18. package/dist/css/components/ion-tabs.css +1 -0
  19. package/dist/css/components/ion-toast.css +1 -0
  20. package/dist/css/components/ion-toggle.css +1 -0
  21. package/dist/css/components/ion-toolbar.css +1 -0
  22. package/dist/css/default-variables.css +1 -0
  23. package/dist/css/ionic-theme-ios26-dark-always.css +1 -0
  24. package/dist/css/ionic-theme-ios26-dark-class.css +1 -0
  25. package/dist/css/ionic-theme-ios26-dark-system.css +1 -0
  26. package/dist/css/ionic-theme-ios26.css +1 -0
  27. package/dist/css/md-ion-list-inset.css +1 -0
  28. package/dist/css/utils/api.css +1 -0
  29. package/dist/css/utils/dark/ion-button.css +1 -0
  30. package/dist/css/utils/theme-dark.css +1 -0
  31. package/dist/css/utils/theme-list-inset.css +1 -0
  32. package/dist/css/utils/translucent.css +1 -0
  33. package/package.json +8 -13
  34. package/.cursor/rules/css-compilation.mdc +0 -34
  35. package/.cursor/rules/demo-application.mdc +0 -39
  36. package/.cursor/rules/development-workflow.mdc +0 -41
  37. package/.cursor/rules/project-role.mdc +0 -21
  38. package/.github/FUNDING.yml +0 -15
  39. package/.github/workflows/lint.yml +0 -40
  40. package/.husky/pre-commit +0 -1
  41. package/.lintstagedrc.yml +0 -6
  42. package/.prettierignore +0 -3
  43. package/FEEDBACK.md +0 -118
  44. package/FEEDBACK2.md +0 -45
  45. package/USING_ION_ITEM_GROUP.md +0 -56
  46. package/demo/ .cursor/rules/angular-20.mdc +0 -136
  47. package/demo/.browserslistrc +0 -15
  48. package/demo/.editorconfig +0 -16
  49. package/demo/.vscode/extensions.json +0 -5
  50. package/demo/.vscode/settings.json +0 -3
  51. package/demo/angular.json +0 -141
  52. package/demo/capacitor.config.ts +0 -9
  53. package/demo/eslint.config.js +0 -49
  54. package/demo/ionic.config.json +0 -7
  55. package/demo/karma.conf.js +0 -44
  56. package/demo/package-lock.json +0 -20001
  57. package/demo/package.json +0 -60
  58. package/demo/src/app/album/album-page.component.html +0 -24
  59. package/demo/src/app/album/album-page.component.scss +0 -17
  60. package/demo/src/app/album/album-page.component.spec.ts +0 -21
  61. package/demo/src/app/album/album-page.component.ts +0 -24
  62. package/demo/src/app/app.component.html +0 -3
  63. package/demo/src/app/app.component.ts +0 -16
  64. package/demo/src/app/app.config.ts +0 -17
  65. package/demo/src/app/app.routes.ts +0 -8
  66. package/demo/src/app/health/health-page.component.html +0 -17
  67. package/demo/src/app/health/health-page.component.scss +0 -0
  68. package/demo/src/app/health/health-page.component.spec.ts +0 -21
  69. package/demo/src/app/health/health-page.component.ts +0 -14
  70. package/demo/src/app/index/index-page.component.html +0 -51
  71. package/demo/src/app/index/index-page.component.scss +0 -0
  72. package/demo/src/app/index/index-page.component.spec.ts +0 -21
  73. package/demo/src/app/index/index-page.component.ts +0 -94
  74. package/demo/src/app/index/index.routes.ts +0 -109
  75. package/demo/src/app/index/pages/accordion/accordion.page.html +0 -45
  76. package/demo/src/app/index/pages/accordion/accordion.page.scss +0 -0
  77. package/demo/src/app/index/pages/accordion/accordion.page.spec.ts +0 -21
  78. package/demo/src/app/index/pages/accordion/accordion.page.ts +0 -47
  79. package/demo/src/app/index/pages/action-sheet/action-sheet.page.html +0 -33
  80. package/demo/src/app/index/pages/action-sheet/action-sheet.page.scss +0 -0
  81. package/demo/src/app/index/pages/action-sheet/action-sheet.page.spec.ts +0 -21
  82. package/demo/src/app/index/pages/action-sheet/action-sheet.page.ts +0 -73
  83. package/demo/src/app/index/pages/action-sheet/action-sheet.util.ts +0 -28
  84. package/demo/src/app/index/pages/alert/alert.page.html +0 -33
  85. package/demo/src/app/index/pages/alert/alert.page.scss +0 -0
  86. package/demo/src/app/index/pages/alert/alert.page.spec.ts +0 -21
  87. package/demo/src/app/index/pages/alert/alert.page.ts +0 -73
  88. package/demo/src/app/index/pages/alert/alert.util.ts +0 -21
  89. package/demo/src/app/index/pages/breadcrumbs/breadcrumbs.page.html +0 -41
  90. package/demo/src/app/index/pages/breadcrumbs/breadcrumbs.page.scss +0 -0
  91. package/demo/src/app/index/pages/breadcrumbs/breadcrumbs.page.spec.ts +0 -21
  92. package/demo/src/app/index/pages/breadcrumbs/breadcrumbs.page.ts +0 -47
  93. package/demo/src/app/index/pages/button/button.page.html +0 -112
  94. package/demo/src/app/index/pages/button/button.page.scss +0 -3
  95. package/demo/src/app/index/pages/button/button.page.spec.ts +0 -21
  96. package/demo/src/app/index/pages/button/button.page.ts +0 -51
  97. package/demo/src/app/index/pages/card/card.page.html +0 -171
  98. package/demo/src/app/index/pages/card/card.page.scss +0 -0
  99. package/demo/src/app/index/pages/card/card.page.spec.ts +0 -21
  100. package/demo/src/app/index/pages/card/card.page.ts +0 -57
  101. package/demo/src/app/index/pages/checkbox/checkbox.page.html +0 -66
  102. package/demo/src/app/index/pages/checkbox/checkbox.page.scss +0 -0
  103. package/demo/src/app/index/pages/checkbox/checkbox.page.spec.ts +0 -21
  104. package/demo/src/app/index/pages/checkbox/checkbox.page.ts +0 -45
  105. package/demo/src/app/index/pages/chip/chip.page.html +0 -72
  106. package/demo/src/app/index/pages/chip/chip.page.scss +0 -0
  107. package/demo/src/app/index/pages/chip/chip.page.spec.ts +0 -21
  108. package/demo/src/app/index/pages/chip/chip.page.ts +0 -47
  109. package/demo/src/app/index/pages/date-and-time-pickers/date-and-time-pickers.page.html +0 -48
  110. package/demo/src/app/index/pages/date-and-time-pickers/date-and-time-pickers.page.scss +0 -0
  111. package/demo/src/app/index/pages/date-and-time-pickers/date-and-time-pickers.page.spec.ts +0 -21
  112. package/demo/src/app/index/pages/date-and-time-pickers/date-and-time-pickers.page.ts +0 -55
  113. package/demo/src/app/index/pages/floating-action-button/floating-action-button.page.html +0 -106
  114. package/demo/src/app/index/pages/floating-action-button/floating-action-button.page.scss +0 -0
  115. package/demo/src/app/index/pages/floating-action-button/floating-action-button.page.spec.ts +0 -21
  116. package/demo/src/app/index/pages/floating-action-button/floating-action-button.page.ts +0 -49
  117. package/demo/src/app/index/pages/inputs/inputs.page.html +0 -65
  118. package/demo/src/app/index/pages/inputs/inputs.page.scss +0 -0
  119. package/demo/src/app/index/pages/inputs/inputs.page.spec.ts +0 -21
  120. package/demo/src/app/index/pages/inputs/inputs.page.ts +0 -49
  121. package/demo/src/app/index/pages/item-list/item-list.page.html +0 -52
  122. package/demo/src/app/index/pages/item-list/item-list.page.scss +0 -0
  123. package/demo/src/app/index/pages/item-list/item-list.page.spec.ts +0 -21
  124. package/demo/src/app/index/pages/item-list/item-list.page.ts +0 -47
  125. package/demo/src/app/index/pages/menu/menu.page.html +0 -13
  126. package/demo/src/app/index/pages/menu/menu.page.scss +0 -0
  127. package/demo/src/app/index/pages/menu/menu.page.spec.ts +0 -21
  128. package/demo/src/app/index/pages/menu/menu.page.ts +0 -17
  129. package/demo/src/app/index/pages/modal/modal.page.html +0 -37
  130. package/demo/src/app/index/pages/modal/modal.page.scss +0 -0
  131. package/demo/src/app/index/pages/modal/modal.page.spec.ts +0 -21
  132. package/demo/src/app/index/pages/modal/modal.page.ts +0 -77
  133. package/demo/src/app/index/pages/popover/popover.page.html +0 -34
  134. package/demo/src/app/index/pages/popover/popover.page.scss +0 -0
  135. package/demo/src/app/index/pages/popover/popover.page.spec.ts +0 -21
  136. package/demo/src/app/index/pages/popover/popover.page.ts +0 -47
  137. package/demo/src/app/index/pages/progress-indicators/progress-indicators.page.html +0 -28
  138. package/demo/src/app/index/pages/progress-indicators/progress-indicators.page.scss +0 -0
  139. package/demo/src/app/index/pages/progress-indicators/progress-indicators.page.spec.ts +0 -21
  140. package/demo/src/app/index/pages/progress-indicators/progress-indicators.page.ts +0 -47
  141. package/demo/src/app/index/pages/radio/radio.page.html +0 -39
  142. package/demo/src/app/index/pages/radio/radio.page.scss +0 -0
  143. package/demo/src/app/index/pages/radio/radio.page.spec.ts +0 -21
  144. package/demo/src/app/index/pages/radio/radio.page.ts +0 -47
  145. package/demo/src/app/index/pages/range/range.page.html +0 -58
  146. package/demo/src/app/index/pages/range/range.page.scss +0 -0
  147. package/demo/src/app/index/pages/range/range.page.spec.ts +0 -21
  148. package/demo/src/app/index/pages/range/range.page.ts +0 -49
  149. package/demo/src/app/index/pages/reorder/reorder.page.html +0 -52
  150. package/demo/src/app/index/pages/reorder/reorder.page.scss +0 -0
  151. package/demo/src/app/index/pages/reorder/reorder.page.spec.ts +0 -21
  152. package/demo/src/app/index/pages/reorder/reorder.page.ts +0 -47
  153. package/demo/src/app/index/pages/searchbar/searchbar.page.html +0 -33
  154. package/demo/src/app/index/pages/searchbar/searchbar.page.scss +0 -0
  155. package/demo/src/app/index/pages/searchbar/searchbar.page.spec.ts +0 -21
  156. package/demo/src/app/index/pages/searchbar/searchbar.page.ts +0 -45
  157. package/demo/src/app/index/pages/segment/segment.page.html +0 -107
  158. package/demo/src/app/index/pages/segment/segment.page.scss +0 -1
  159. package/demo/src/app/index/pages/segment/segment.page.spec.ts +0 -21
  160. package/demo/src/app/index/pages/segment/segment.page.ts +0 -51
  161. package/demo/src/app/index/pages/select/select.page.html +0 -74
  162. package/demo/src/app/index/pages/select/select.page.scss +0 -0
  163. package/demo/src/app/index/pages/select/select.page.spec.ts +0 -21
  164. package/demo/src/app/index/pages/select/select.page.ts +0 -50
  165. package/demo/src/app/index/pages/tabs/tabs.page.html +0 -78
  166. package/demo/src/app/index/pages/tabs/tabs.page.scss +0 -6
  167. package/demo/src/app/index/pages/tabs/tabs.page.spec.ts +0 -21
  168. package/demo/src/app/index/pages/tabs/tabs.page.ts +0 -47
  169. package/demo/src/app/index/pages/toast/toast.page.html +0 -32
  170. package/demo/src/app/index/pages/toast/toast.page.scss +0 -0
  171. package/demo/src/app/index/pages/toast/toast.page.spec.ts +0 -21
  172. package/demo/src/app/index/pages/toast/toast.page.ts +0 -66
  173. package/demo/src/app/index/pages/toggle/toggle.page.html +0 -45
  174. package/demo/src/app/index/pages/toggle/toggle.page.scss +0 -0
  175. package/demo/src/app/index/pages/toggle/toggle.page.spec.ts +0 -21
  176. package/demo/src/app/index/pages/toggle/toggle.page.ts +0 -49
  177. package/demo/src/app/index/pages/toolbar/toolbar.page.html +0 -121
  178. package/demo/src/app/index/pages/toolbar/toolbar.page.scss +0 -0
  179. package/demo/src/app/index/pages/toolbar/toolbar.page.spec.ts +0 -21
  180. package/demo/src/app/index/pages/toolbar/toolbar.page.ts +0 -55
  181. package/demo/src/app/settings/settings-page.component.html +0 -117
  182. package/demo/src/app/settings/settings-page.component.scss +0 -33
  183. package/demo/src/app/settings/settings-page.component.spec.ts +0 -21
  184. package/demo/src/app/settings/settings-page.component.ts +0 -55
  185. package/demo/src/app/tabs/tabs.page.html +0 -23
  186. package/demo/src/app/tabs/tabs.page.scss +0 -0
  187. package/demo/src/app/tabs/tabs.page.spec.ts +0 -26
  188. package/demo/src/app/tabs/tabs.page.ts +0 -28
  189. package/demo/src/app/tabs/tabs.routes.ts +0 -40
  190. package/demo/src/assets/.gitkeep +0 -0
  191. package/demo/src/favicon.ico +0 -0
  192. package/demo/src/global.scss +0 -65
  193. package/demo/src/index.html +0 -24
  194. package/demo/src/main.ts +0 -5
  195. package/demo/src/test.ts +0 -7
  196. package/demo/src/theme/variables.scss +0 -20
  197. package/demo/tsconfig.app.json +0 -14
  198. package/demo/tsconfig.json +0 -30
  199. package/demo/tsconfig.spec.json +0 -17
  200. package/demo/util/mocks/angular/angular-delegate.ts +0 -18
  201. package/demo/util/mocks/angular/ion-router-outlet.ts +0 -39
  202. package/demo/util/mocks/angular/modal-controller.ts +0 -7
  203. package/demo/util/mocks/angular/nav-controller.ts +0 -22
  204. package/demo/util/mocks/angular/popover-controller.ts +0 -7
  205. package/demo/util/mocks/util/base.mock.ts +0 -13
  206. package/demo/util/mocks/util/overlay.ts +0 -13
  207. package/demo/util/test.config.ts +0 -54
  208. package/prettier.config.js +0 -18
  209. package/screenshots/ios26.png +0 -0
  210. package/screenshots/why-ion-list-inset.png +0 -0
  211. package/tsconfig.json +0 -5
package/demo/package.json DELETED
@@ -1,60 +0,0 @@
1
- {
2
- "name": "demo",
3
- "version": "0.0.1",
4
- "author": "Ionic Framework",
5
- "homepage": "https://ionicframework.com/",
6
- "scripts": {
7
- "ng": "ng",
8
- "start": "ng serve",
9
- "build": "ng build",
10
- "watch": "ng build --watch --configuration development",
11
- "test": "ng test",
12
- "lint": "ng lint"
13
- },
14
- "private": true,
15
- "dependencies": {
16
- "@angular/animations": "^20.0.0",
17
- "@angular/common": "^20.0.0",
18
- "@angular/compiler": "^20.0.0",
19
- "@angular/core": "^20.0.0",
20
- "@angular/forms": "^20.0.0",
21
- "@angular/platform-browser": "^20.0.0",
22
- "@angular/platform-browser-dynamic": "^20.0.0",
23
- "@angular/router": "^20.0.0",
24
- "@capacitor/app": "7.1.0",
25
- "@capacitor/core": "7.4.3",
26
- "@capacitor/haptics": "7.0.2",
27
- "@capacitor/keyboard": "7.0.3",
28
- "@capacitor/status-bar": "7.0.3",
29
- "@ionic/angular": "^8.0.0",
30
- "ionicons": "^7.0.0",
31
- "rxjs": "~7.8.0",
32
- "tslib": "^2.3.0",
33
- "zone.js": "~0.15.0"
34
- },
35
- "devDependencies": {
36
- "@angular-devkit/build-angular": "^20.0.0",
37
- "@angular/cli": "^20.0.0",
38
- "@angular/compiler-cli": "^20.0.0",
39
- "@angular/language-service": "^20.0.0",
40
- "@capacitor/cli": "7.4.3",
41
- "@ionic/angular-toolkit": "^12.0.0",
42
- "@rdlabo/eslint-plugin-rules": "^20.3.0",
43
- "@types/jasmine": "~5.1.0",
44
- "angular-eslint": "20.3.0",
45
- "eslint": "^9.35.0",
46
- "eslint-plugin-import": "^2.29.1",
47
- "eslint-plugin-jsdoc": "^48.2.1",
48
- "eslint-plugin-prefer-arrow": "1.2.2",
49
- "jasmine-core": "~5.1.0",
50
- "jasmine-spec-reporter": "~5.0.0",
51
- "karma": "~6.4.0",
52
- "karma-chrome-launcher": "~3.2.0",
53
- "karma-coverage": "~2.2.0",
54
- "karma-jasmine": "~5.1.0",
55
- "karma-jasmine-html-reporter": "~2.1.0",
56
- "typescript": "~5.8.0",
57
- "typescript-eslint": "8.40.0"
58
- },
59
- "description": "An Ionic project"
60
- }
@@ -1,24 +0,0 @@
1
- <ion-header [translucent]="true">
2
- <ion-toolbar>
3
- <ion-title size="large" style="margin-top: 8px">Library</ion-title>
4
- <ion-buttons class="ios26-disabled" slot="end" style="margin-top: 6px">
5
- <ion-button fill="default" href="https://github.com/rdlabo-team/ionic-theme-ios26" style="margin-right: 8px"
6
- ><ion-icon name="logo-github" slot="icon-only"></ion-icon
7
- ></ion-button>
8
- <ion-button fill="default">Select</ion-button>
9
- </ion-buttons>
10
- </ion-toolbar>
11
- </ion-header>
12
- <ion-content [fullscreen]="true">
13
- <section class="images">
14
- @for (item of sourceIonIcons; track item) {
15
- <img [src]="'https://picsum.photos/600/600?id=' + item" alt="" />
16
- }
17
- </section>
18
-
19
- <ion-fab class="inner-tab-bar" vertical="bottom" horizontal="end" slot="fixed">
20
- <ion-fab-button>
21
- <ion-icon name="search"></ion-icon>
22
- </ion-fab-button>
23
- </ion-fab>
24
- </ion-content>
@@ -1,17 +0,0 @@
1
- ion-header {
2
- position: absolute;
3
- top: 0;
4
- left: 0;
5
- }
6
-
7
- ion-content {
8
- position: relative;
9
- section.images {
10
- display: grid;
11
- grid-template-columns: 33.33% 33.33% 33.33%;
12
- img {
13
- border: 0.1px solid #fff;
14
- border-top: none;
15
- }
16
- }
17
- }
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { AlbumPage } from './album-page.component';
3
- import { testConfig } from '../../../util/test.config';
4
-
5
- describe('ScrollHeaderPage', () => {
6
- let component: AlbumPage;
7
- let fixture: ComponentFixture<AlbumPage>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- providers: testConfig.providers,
12
- }).compileComponents();
13
- fixture = TestBed.createComponent(AlbumPage);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });
@@ -1,24 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import {
5
- IonButton,
6
- IonButtons,
7
- IonContent,
8
- IonFab,
9
- IonFabButton,
10
- IonHeader,
11
- IonIcon,
12
- IonTitle,
13
- IonToolbar,
14
- } from '@ionic/angular/standalone';
15
-
16
- @Component({
17
- selector: 'app-album-page',
18
- templateUrl: './album-page.component.html',
19
- styleUrls: ['./album-page.component.scss'],
20
- imports: [IonContent, IonHeader, IonTitle, IonToolbar, CommonModule, FormsModule, IonIcon, IonButton, IonButtons, IonFab, IonFabButton],
21
- })
22
- export class AlbumPage {
23
- readonly sourceIonIcons = [...Array(60)].map((_, i) => i);
24
- }
@@ -1,3 +0,0 @@
1
- <ion-app>
2
- <ion-router-outlet></ion-router-outlet>
3
- </ion-app>
@@ -1,16 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { IonApp, IonRouterOutlet } from '@ionic/angular/standalone';
3
- import { addIcons } from 'ionicons';
4
- import * as allIcons from 'ionicons/icons';
5
-
6
- @Component({
7
- selector: 'app-root',
8
- imports: [IonRouterOutlet, IonApp],
9
- templateUrl: './app.component.html',
10
- changeDetection: ChangeDetectionStrategy.OnPush,
11
- })
12
- export class AppComponent {
13
- constructor() {
14
- addIcons(allIcons);
15
- }
16
- }
@@ -1,17 +0,0 @@
1
- import { ApplicationConfig, provideZonelessChangeDetection } from '@angular/core';
2
- import { provideRouter } from '@angular/router';
3
- import * as allIcons from 'ionicons/icons';
4
-
5
- import { routes } from './app.routes';
6
- import { provideIonicAngular } from '@ionic/angular/standalone';
7
- import { addIcons } from 'ionicons';
8
-
9
- addIcons(allIcons);
10
-
11
- export const appConfig: ApplicationConfig = {
12
- providers: [
13
- provideZonelessChangeDetection(),
14
- provideRouter(routes),
15
- provideIonicAngular({ useSetInputAPI: true, mode: 'ios', backButtonText: '' }),
16
- ],
17
- };
@@ -1,8 +0,0 @@
1
- import { Routes } from '@angular/router';
2
-
3
- export const routes: Routes = [
4
- {
5
- path: '',
6
- loadChildren: () => import('./tabs/tabs.routes').then((m) => m.routes),
7
- },
8
- ];
@@ -1,17 +0,0 @@
1
- <ion-header [translucent]="true">
2
- <ion-toolbar>
3
- <ion-title>Health</ion-title>
4
- <ion-buttons slot="end">
5
- <ion-button fill="default" href="https://github.com/rdlabo-team/ionic-theme-ios26"
6
- ><ion-icon name="logo-github" slot="icon-only"></ion-icon
7
- ></ion-button>
8
- </ion-buttons>
9
- </ion-toolbar>
10
- </ion-header>
11
- <ion-content [fullscreen]="true" color="light">
12
- <ion-header collapse="condense">
13
- <ion-toolbar color="light">
14
- <ion-title size="large">Health(WIP)</ion-title>
15
- </ion-toolbar>
16
- </ion-header>
17
- </ion-content>
File without changes
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { HealthPage } from './health-page.component';
3
- import { testConfig } from '../../../util/test.config';
4
-
5
- describe('HealthPage', () => {
6
- let component: HealthPage;
7
- let fixture: ComponentFixture<HealthPage>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- providers: testConfig.providers,
12
- }).compileComponents();
13
- fixture = TestBed.createComponent(HealthPage);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });
@@ -1,14 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonTitle, IonToolbar, Platform } from '@ionic/angular/standalone';
5
-
6
- @Component({
7
- selector: 'app-health-page',
8
- templateUrl: './health-page.component.html',
9
- styleUrls: ['./health-page.component.scss'],
10
- imports: [IonContent, IonHeader, IonTitle, IonToolbar, CommonModule, FormsModule, IonIcon, IonButton, IonButtons],
11
- })
12
- export class HealthPage {
13
- readonly platform = inject(Platform);
14
- }
@@ -1,51 +0,0 @@
1
- <ion-header [translucent]="true">
2
- <ion-toolbar>
3
- <ion-title>Index</ion-title>
4
- <ion-buttons slot="end">
5
- <ion-button href="https://github.com/rdlabo-team/ionic-theme-ios26"
6
- ><ion-icon name="logo-github" slot="icon-only"></ion-icon
7
- ></ion-button>
8
- <ion-button href="https://ionicframework.com/"><ion-icon name="logo-ionic" slot="icon-only"></ion-icon></ion-button>
9
- </ion-buttons>
10
- </ion-toolbar>
11
- </ion-header>
12
- <ion-content color="light" [fullscreen]="true">
13
- <ion-header collapse="condense">
14
- <ion-toolbar color="light">
15
- <ion-title size="large">Index</ion-title>
16
- </ion-toolbar>
17
- </ion-header>
18
- <ion-list [inset]="true">
19
- <ion-list-header><ion-label>Settings</ion-label></ion-list-header>
20
- <ion-item-group>
21
- <ion-item><ion-toggle (ionChange)="changeColorMode($event)">Dark Mode</ion-toggle></ion-item>
22
- </ion-item-group>
23
- </ion-list>
24
-
25
- <ion-list [inset]="true">
26
- <ion-list-header><ion-label>Ready</ion-label></ion-list-header>
27
- <ion-item-group>
28
- @for (item of enableComponents(); track item.name) {
29
- <ion-item [button]="true" (click)="navigateComponent(item)">
30
- <ion-label>{{ item.name }}</ion-label>
31
- </ion-item>
32
- }
33
- </ion-item-group>
34
- <ion-note>These components have largely finalized their APIs. However, please note that they are not yet stable.</ion-note>
35
- </ion-list>
36
-
37
- <ion-list [inset]="true">
38
- <ion-list-header><ion-label>Spec Limitation</ion-label></ion-list-header>
39
- <ion-item-group>
40
- @for (item of disableComponents(); track item.name) {
41
- <ion-item [button]="true" (click)="navigateComponent(item)">
42
- <ion-label>{{ item.name }}</ion-label>
43
- </ion-item>
44
- }
45
- </ion-item-group>
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
- >
50
- </ion-list>
51
- </ion-content>
File without changes
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { IndexPageComponent } from './index-page.component';
3
- import { testConfig } from '../../../util/test.config';
4
-
5
- describe('IndexPageComponent', () => {
6
- let component: IndexPageComponent;
7
- let fixture: ComponentFixture<IndexPageComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- providers: testConfig.providers,
12
- }).compileComponents();
13
- fixture = TestBed.createComponent(IndexPageComponent);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });
@@ -1,94 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, DOCUMENT, inject, signal } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import {
5
- IonButton,
6
- IonButtons,
7
- IonContent,
8
- IonHeader,
9
- IonIcon,
10
- IonItem,
11
- IonItemGroup,
12
- IonLabel,
13
- IonList,
14
- IonListHeader,
15
- IonNote,
16
- IonTitle,
17
- IonToggle,
18
- IonToolbar,
19
- ToggleCustomEvent,
20
- } from '@ionic/angular/standalone';
21
- import { ActivatedRoute, Router } from '@angular/router';
22
-
23
- interface IComponent {
24
- name: string;
25
- enable: boolean;
26
- }
27
-
28
- @Component({
29
- selector: 'index-page',
30
- templateUrl: './index-page.component.html',
31
- styleUrls: ['./index-page.component.scss'],
32
- imports: [
33
- IonContent,
34
- IonHeader,
35
- IonTitle,
36
- IonToolbar,
37
- CommonModule,
38
- FormsModule,
39
- IonButton,
40
- IonButtons,
41
- IonIcon,
42
- IonItem,
43
- IonLabel,
44
- IonList,
45
- IonListHeader,
46
- IonItemGroup,
47
- IonNote,
48
- IonToggle,
49
- ],
50
- changeDetection: ChangeDetectionStrategy.OnPush,
51
- })
52
- export class IndexPageComponent {
53
- readonly components = signal<IComponent[]>([
54
- { name: 'accordion', enable: true },
55
- { name: 'action-sheet', enable: true },
56
- { name: 'alert', enable: true },
57
- { name: 'breadcrumbs', enable: true },
58
- { name: 'button', enable: true },
59
- { name: 'card', enable: true },
60
- { name: 'checkbox', enable: true },
61
- { name: 'chip', enable: true },
62
- { name: 'date-and-time-pickers', enable: true },
63
- { name: 'floating-action-button', enable: true },
64
- { name: 'inputs', enable: true },
65
- { name: 'item-list', enable: true },
66
- { name: 'modal', enable: true },
67
- { name: 'popover', enable: true },
68
- { name: 'progress-indicators', enable: true },
69
- { name: 'radio', enable: true },
70
- { name: 'range', enable: true },
71
- { name: 'reorder', enable: true },
72
- { name: 'searchbar', enable: true },
73
- { name: 'segment', enable: false },
74
- { name: 'select', enable: true },
75
- { name: 'tabs', enable: true },
76
- { name: 'toast', enable: true },
77
- { name: 'toggle', enable: true },
78
- { name: 'toolbar', enable: true },
79
- ]);
80
- readonly enableComponents = computed(() => this.components().filter((c) => c.enable));
81
- readonly disableComponents = computed(() => this.components().filter((c) => !c.enable));
82
-
83
- readonly #router = inject(Router);
84
- readonly #route = inject(ActivatedRoute);
85
- readonly #document = inject(DOCUMENT);
86
-
87
- async navigateComponent(item: IComponent) {
88
- await this.#router.navigate([item.name], { relativeTo: this.#route });
89
- }
90
-
91
- changeColorMode(event: ToggleCustomEvent) {
92
- this.#document.documentElement.classList.toggle('ion-palette-dark', event.detail.checked);
93
- }
94
- }
@@ -1,109 +0,0 @@
1
- import { Routes } from '@angular/router';
2
- import { IndexPageComponent } from './index-page.component';
3
-
4
- export const routes: Routes = [
5
- {
6
- path: '',
7
- component: IndexPageComponent,
8
- },
9
- {
10
- path: 'action-sheet',
11
- loadComponent: () => import('./pages/action-sheet/action-sheet.page').then((m) => m.ActionSheetPage),
12
- },
13
- {
14
- path: 'alert',
15
- loadComponent: () => import('./pages/alert/alert.page').then((m) => m.AlertPage),
16
- },
17
- {
18
- path: 'button',
19
- loadComponent: () => import('./pages/button/button.page').then((m) => m.ButtonPage),
20
- },
21
- {
22
- path: 'checkbox',
23
- loadComponent: () => import('./pages/checkbox/checkbox.page').then((m) => m.CheckboxPage),
24
- },
25
- {
26
- path: 'range',
27
- loadComponent: () => import('./pages/range/range.page').then((m) => m.RangePage),
28
- },
29
- {
30
- path: 'toast',
31
- loadComponent: () => import('./pages/toast/toast.page').then((m) => m.ToastPage),
32
- },
33
- {
34
- path: 'toggle',
35
- loadComponent: () => import('./pages/toggle/toggle.page').then((m) => m.TogglePage),
36
- },
37
- {
38
- path: 'segment',
39
- loadComponent: () => import('./pages/segment/segment.page').then((m) => m.SegmentPage),
40
- },
41
- {
42
- path: 'modal',
43
- loadComponent: () => import('./pages/modal/modal.page').then((m) => m.ModalPage),
44
- },
45
- {
46
- path: 'card',
47
- loadComponent: () => import('./pages/card/card.page').then((m) => m.CardPage),
48
- },
49
- {
50
- path: 'chip',
51
- loadComponent: () => import('./pages/chip/chip.page').then((m) => m.ChipPage),
52
- },
53
- {
54
- path: 'breadcrumbs',
55
- loadComponent: () => import('./pages/breadcrumbs/breadcrumbs.page').then((m) => m.BreadcrumbsPage),
56
- },
57
- {
58
- path: 'searchbar',
59
- loadComponent: () => import('./pages/searchbar/searchbar.page').then((m) => m.SearchbarPage),
60
- },
61
- {
62
- path: 'popover',
63
- loadComponent: () => import('./pages/popover/popover.page').then((m) => m.PopoverPage),
64
- },
65
- {
66
- path: 'progress-indicators',
67
- loadComponent: () => import('./pages/progress-indicators/progress-indicators.page').then((m) => m.ProgressIndicatorsPage),
68
- },
69
- {
70
- path: 'floating-action-button',
71
- loadComponent: () => import('./pages/floating-action-button/floating-action-button.page').then((m) => m.FloatingActionButtonPage),
72
- },
73
- {
74
- path: 'select',
75
- loadComponent: () => import('./pages/select/select.page').then((m) => m.SelectPage),
76
- },
77
- {
78
- path: 'radio',
79
- loadComponent: () => import('./pages/radio/radio.page').then((m) => m.RadioPage),
80
- },
81
- {
82
- path: 'date-and-time-pickers',
83
- loadComponent: () => import('./pages/date-and-time-pickers/date-and-time-pickers.page').then((m) => m.DateAndTimePickersPage),
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
- },
109
- ];
@@ -1,45 +0,0 @@
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 &#64;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>
@@ -1,21 +0,0 @@
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
- });
@@ -1,47 +0,0 @@
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
- }