@rdlabo/ionic-theme-ios26 0.0.1 → 0.0.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 (120) hide show
  1. package/.cursor/rules/css-compilation.mdc +34 -0
  2. package/.cursor/rules/demo-application.mdc +39 -0
  3. package/.cursor/rules/development-workflow.mdc +41 -0
  4. package/.cursor/rules/project-role.mdc +21 -0
  5. package/.github/FUNDING.yml +15 -0
  6. package/.husky/pre-commit +1 -0
  7. package/.lintstagedrc.yml +6 -0
  8. package/.prettierignore +3 -0
  9. package/FEEDBACK.md +25 -0
  10. package/README.md +60 -83
  11. package/USING_ION_ITEM_GROUP.md +58 -0
  12. package/build-sass.js +25 -0
  13. package/demo/ .cursor/rules/angular-20.mdc +136 -0
  14. package/demo/.browserslistrc +15 -0
  15. package/demo/.editorconfig +16 -0
  16. package/demo/.vscode/extensions.json +5 -0
  17. package/demo/.vscode/settings.json +3 -0
  18. package/demo/angular.json +141 -0
  19. package/demo/capacitor.config.ts +9 -0
  20. package/demo/eslint.config.js +47 -0
  21. package/demo/ionic.config.json +7 -0
  22. package/demo/karma.conf.js +44 -0
  23. package/demo/package-lock.json +20001 -0
  24. package/demo/package.json +60 -0
  25. package/demo/src/app/album/album-page.component.html +24 -0
  26. package/demo/src/app/album/album-page.component.scss +31 -0
  27. package/demo/src/app/album/album-page.component.spec.ts +21 -0
  28. package/demo/src/app/album/album-page.component.ts +24 -0
  29. package/demo/src/app/app.component.html +3 -0
  30. package/demo/src/app/app.component.ts +16 -0
  31. package/demo/src/app/app.config.ts +17 -0
  32. package/demo/src/app/app.routes.ts +8 -0
  33. package/demo/src/app/health/health-page.component.html +17 -0
  34. package/demo/src/app/health/health-page.component.scss +0 -0
  35. package/demo/src/app/health/health-page.component.spec.ts +21 -0
  36. package/demo/src/app/health/health-page.component.ts +14 -0
  37. package/demo/src/app/index/index-page.component.html +41 -0
  38. package/demo/src/app/index/index-page.component.scss +0 -0
  39. package/demo/src/app/index/index-page.component.spec.ts +21 -0
  40. package/demo/src/app/index/index-page.component.ts +102 -0
  41. package/demo/src/app/index/index.routes.ts +25 -0
  42. package/demo/src/app/index/pages/action-sheet/action-sheet.page.html +33 -0
  43. package/demo/src/app/index/pages/action-sheet/action-sheet.page.scss +0 -0
  44. package/demo/src/app/index/pages/action-sheet/action-sheet.page.spec.ts +17 -0
  45. package/demo/src/app/index/pages/action-sheet/action-sheet.page.ts +75 -0
  46. package/demo/src/app/index/pages/action-sheet/action-sheet.util.ts +28 -0
  47. package/demo/src/app/index/pages/alert/alert.page.html +33 -0
  48. package/demo/src/app/index/pages/alert/alert.page.scss +0 -0
  49. package/demo/src/app/index/pages/alert/alert.page.spec.ts +17 -0
  50. package/demo/src/app/index/pages/alert/alert.page.ts +75 -0
  51. package/demo/src/app/index/pages/alert/alert.util.ts +21 -0
  52. package/demo/src/app/index/pages/button/button.page.html +90 -0
  53. package/demo/src/app/index/pages/button/button.page.scss +0 -0
  54. package/demo/src/app/index/pages/button/button.page.spec.ts +17 -0
  55. package/demo/src/app/index/pages/button/button.page.ts +53 -0
  56. package/demo/src/app/index/pages/checkbox/checkbox.page.html +66 -0
  57. package/demo/src/app/index/pages/checkbox/checkbox.page.scss +0 -0
  58. package/demo/src/app/index/pages/checkbox/checkbox.page.spec.ts +17 -0
  59. package/demo/src/app/index/pages/checkbox/checkbox.page.ts +47 -0
  60. package/demo/src/app/settings/settings-page.component.html +120 -0
  61. package/demo/src/app/settings/settings-page.component.scss +33 -0
  62. package/demo/src/app/settings/settings-page.component.spec.ts +21 -0
  63. package/demo/src/app/settings/settings-page.component.ts +55 -0
  64. package/demo/src/app/tabs/tabs.page.html +23 -0
  65. package/demo/src/app/tabs/tabs.page.scss +9 -0
  66. package/demo/src/app/tabs/tabs.page.spec.ts +26 -0
  67. package/demo/src/app/tabs/tabs.page.ts +28 -0
  68. package/demo/src/app/tabs/tabs.routes.ts +41 -0
  69. package/demo/src/assets/.gitkeep +0 -0
  70. package/demo/src/favicon.ico +0 -0
  71. package/demo/src/global.scss +47 -0
  72. package/demo/src/index.html +24 -0
  73. package/demo/src/main.ts +5 -0
  74. package/demo/src/theme/theme-ios26.scss +25 -0
  75. package/demo/src/theme/variables.scss +2 -0
  76. package/demo/tsconfig.app.json +14 -0
  77. package/demo/tsconfig.json +30 -0
  78. package/demo/tsconfig.spec.json +17 -0
  79. package/package.json +38 -11
  80. package/prettier.config.js +18 -0
  81. package/screenshots/ios26.png +0 -0
  82. package/screenshots/why-ion-list-inset.png +0 -0
  83. package/src/components/ion-action-sheet.scss +42 -0
  84. package/src/components/ion-alert.scss +31 -0
  85. package/src/components/ion-button.scss +111 -0
  86. package/src/components/ion-card.scss +3 -0
  87. package/src/components/ion-fab.scss +16 -0
  88. package/src/components/ion-list.scss +33 -0
  89. package/src/components/ion-modal.scss +6 -0
  90. package/src/components/ion-popover.scss +21 -0
  91. package/src/components/ion-searchbar.scss +37 -0
  92. package/src/components/ion-segment.scss +10 -0
  93. package/src/components/ion-tabs.scss +47 -0
  94. package/src/components/ion-toast.scss +3 -0
  95. package/src/components/ion-toggle.scss +47 -0
  96. package/src/components-dark/ion-button.scss +28 -0
  97. package/src/components-dark/theme-dark.scss +14 -0
  98. package/src/ionic-theme-dark-class.scss +6 -0
  99. package/src/ionic-theme-dark-system.scss +8 -0
  100. package/src/ionic-theme-ios26.scss +32 -0
  101. package/src/md-ion-list-inset.scss +19 -0
  102. package/src/utils/api.scss +20 -0
  103. package/src/utils/default-variables.scss +10 -0
  104. package/src/utils/theme-list-inset.scss +92 -0
  105. package/src/utils/translucent.scss +70 -0
  106. package/tsconfig.json +5 -0
  107. package/css/ionic-theme-ios26.css +0 -422
  108. package/css/ionic-theme-ios26.css.map +0 -1
  109. package/fesm2022/rdlabo-ionic-theme-ios26.mjs +0 -4
  110. package/fesm2022/rdlabo-ionic-theme-ios26.mjs.map +0 -1
  111. package/index.d.ts +0 -3
  112. package/src/assets/ion-button.scss +0 -77
  113. package/src/assets/ion-popover.scss +0 -23
  114. package/src/assets/ion-searchbar.scss +0 -42
  115. package/src/assets/ion-segment.scss +0 -12
  116. package/src/assets/ion-tabs.scss +0 -60
  117. package/src/assets/ios-design-dark.scss +0 -28
  118. package/src/assets/ios-design.scss +0 -131
  119. package/src/assets/ios-talk-room.scss +0 -50
  120. package/src/assets/ios-variables.scss +0 -38
@@ -0,0 +1,141 @@
1
+ {
2
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
+ "version": 1,
4
+ "newProjectRoot": "projects",
5
+ "projects": {
6
+ "app": {
7
+ "projectType": "application",
8
+ "schematics": {
9
+ "@ionic/angular-toolkit:page": {
10
+ "styleext": "scss",
11
+ "standalone": true
12
+ }
13
+ },
14
+ "root": "",
15
+ "sourceRoot": "src",
16
+ "prefix": "app",
17
+ "architect": {
18
+ "build": {
19
+ "builder": "@angular-devkit/build-angular:application",
20
+ "options": {
21
+ "outputPath": {
22
+ "base": "www",
23
+ "browser": ""
24
+ },
25
+ "index": "src/index.html",
26
+ "tsConfig": "tsconfig.app.json",
27
+ "inlineStyleLanguage": "scss",
28
+ "assets": [
29
+ {
30
+ "glob": "**/*",
31
+ "input": "src/assets",
32
+ "output": "assets"
33
+ }
34
+ ],
35
+ "styles": ["src/global.scss", "src/theme/variables.scss"],
36
+ "scripts": [],
37
+ "browser": "src/main.ts"
38
+ },
39
+ "configurations": {
40
+ "production": {
41
+ "budgets": [
42
+ {
43
+ "type": "initial",
44
+ "maximumWarning": "2mb",
45
+ "maximumError": "5mb"
46
+ },
47
+ {
48
+ "type": "anyComponentStyle",
49
+ "maximumWarning": "2kb",
50
+ "maximumError": "4kb"
51
+ }
52
+ ],
53
+ "outputHashing": "all"
54
+ },
55
+ "development": {
56
+ "optimization": false,
57
+ "extractLicenses": false,
58
+ "sourceMap": true,
59
+ "namedChunks": true
60
+ },
61
+ "ci": {
62
+ "progress": false
63
+ }
64
+ },
65
+ "defaultConfiguration": "production"
66
+ },
67
+ "serve": {
68
+ "builder": "@angular-devkit/build-angular:dev-server",
69
+ "configurations": {
70
+ "production": {
71
+ "buildTarget": "app:build:production"
72
+ },
73
+ "development": {
74
+ "buildTarget": "app:build:development"
75
+ },
76
+ "ci": {
77
+ "progress": false
78
+ }
79
+ },
80
+ "defaultConfiguration": "development"
81
+ },
82
+ "extract-i18n": {
83
+ "builder": "@angular-devkit/build-angular:extract-i18n",
84
+ "options": {
85
+ "buildTarget": "app:build"
86
+ }
87
+ },
88
+ "test": {
89
+ "builder": "@angular-devkit/build-angular:karma",
90
+ "options": {
91
+ "main": "src/test.ts",
92
+ "tsConfig": "tsconfig.spec.json",
93
+ "karmaConfig": "karma.conf.js",
94
+ "inlineStyleLanguage": "scss",
95
+ "assets": [
96
+ {
97
+ "glob": "**/*",
98
+ "input": "src/assets",
99
+ "output": "assets"
100
+ }
101
+ ],
102
+ "styles": ["src/global.scss", "src/theme/variables.scss"],
103
+ "scripts": []
104
+ },
105
+ "configurations": {
106
+ "ci": {
107
+ "progress": false,
108
+ "watch": false
109
+ }
110
+ }
111
+ },
112
+ "lint": {
113
+ "builder": "@angular-eslint/builder:lint",
114
+ "options": {
115
+ "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
116
+ }
117
+ }
118
+ }
119
+ }
120
+ },
121
+ "cli": {
122
+ "schematicCollections": [
123
+ "@ionic/angular-toolkit"
124
+ ],
125
+ "analytics": "cbe1df8d-204f-4a38-b88d-9f3a65fd6af4"
126
+ },
127
+ "schematics": {
128
+ "@ionic/angular-toolkit:component": {
129
+ "styleext": "scss"
130
+ },
131
+ "@ionic/angular-toolkit:page": {
132
+ "styleext": "scss"
133
+ },
134
+ "@angular-eslint/schematics:application": {
135
+ "setParserOptionsProject": true
136
+ },
137
+ "@angular-eslint/schematics:library": {
138
+ "setParserOptionsProject": true
139
+ }
140
+ }
141
+ }
@@ -0,0 +1,9 @@
1
+ import type { CapacitorConfig } from '@capacitor/cli';
2
+
3
+ const config: CapacitorConfig = {
4
+ appId: 'io.ionic.starter',
5
+ appName: 'demo',
6
+ webDir: 'www',
7
+ };
8
+
9
+ export default config;
@@ -0,0 +1,47 @@
1
+ // @ts-check
2
+ const eslint = require("@eslint/js");
3
+ const tseslint = require("typescript-eslint");
4
+ const angular = require("angular-eslint");
5
+ const rdlabo = require('@rdlabo/eslint-plugin-rules');
6
+
7
+ module.exports = tseslint.config(
8
+ {
9
+ files: ["**/*.ts"],
10
+ plugins: {
11
+ '@rdlabo/rules': rdlabo,
12
+ },
13
+ extends: [
14
+ eslint.configs.recommended,
15
+ ...tseslint.configs.recommended,
16
+ ...tseslint.configs.stylistic,
17
+ ...angular.configs.tsRecommended,
18
+ ],
19
+ processor: angular.processInlineTemplates,
20
+ rules: {
21
+ "@typescript-eslint/no-explicit-any": "off",
22
+ "@typescript-eslint/no-unused-vars": "off",
23
+ "@angular-eslint/directive-selector": "off",
24
+ "@angular-eslint/component-selector": "off",
25
+ '@rdlabo/rules/deny-constructor-di': 'error',
26
+ '@rdlabo/rules/deny-import-from-ionic-module': 'error',
27
+ '@rdlabo/rules/implements-ionic-lifecycle': 'error',
28
+ '@rdlabo/rules/deny-soft-private-modifier': 'error',
29
+ '@rdlabo/rules/signal-use-as-signal': 'error',
30
+ '@rdlabo/rules/signal-use-as-signal-template': 'error',
31
+ '@rdlabo/rules/component-property-use-readonly': 'error',
32
+ },
33
+ },
34
+ {
35
+ files: ["**/*.html"],
36
+ plugins: {
37
+ '@rdlabo/rules': rdlabo,
38
+ },
39
+ extends: [
40
+ ...angular.configs.templateRecommended,
41
+ ...angular.configs.templateAccessibility,
42
+ ],
43
+ rules: {
44
+ '@rdlabo/rules/ionic-attr-type-check': 'error',
45
+ },
46
+ }
47
+ );
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "demo",
3
+ "integrations": {
4
+ "capacitor": {}
5
+ },
6
+ "type": "angular-standalone"
7
+ }
@@ -0,0 +1,44 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/1.0/config/configuration-file.html
3
+
4
+ module.exports = function (config) {
5
+ config.set({
6
+ basePath: '',
7
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
+ plugins: [
9
+ require('karma-jasmine'),
10
+ require('karma-chrome-launcher'),
11
+ require('karma-jasmine-html-reporter'),
12
+ require('karma-coverage'),
13
+ require('@angular-devkit/build-angular/plugins/karma')
14
+ ],
15
+ client: {
16
+ jasmine: {
17
+ // you can add configuration options for Jasmine here
18
+ // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
19
+ // for example, you can disable the random execution with `random: false`
20
+ // or set a specific seed with `seed: 4321`
21
+ },
22
+ clearContext: false // leave Jasmine Spec Runner output visible in browser
23
+ },
24
+ jasmineHtmlReporter: {
25
+ suppressAll: true // removes the duplicated traces
26
+ },
27
+ coverageReporter: {
28
+ dir: require('path').join(__dirname, './coverage/app'),
29
+ subdir: '.',
30
+ reporters: [
31
+ { type: 'html' },
32
+ { type: 'text-summary' }
33
+ ]
34
+ },
35
+ reporters: ['progress', 'kjhtml'],
36
+ port: 9876,
37
+ colors: true,
38
+ logLevel: config.LOG_INFO,
39
+ autoWatch: true,
40
+ browsers: ['Chrome'],
41
+ singleRun: false,
42
+ restartOnFileChange: true
43
+ });
44
+ };