diff --git a/packages/angular/test/apps/ng14/package-lock.json b/packages/angular/test/apps/ng14/package-lock.json index 8f559970248..5e258386991 100644 --- a/packages/angular/test/apps/ng14/package-lock.json +++ b/packages/angular/test/apps/ng14/package-lock.json @@ -22,7 +22,7 @@ "@ionic/angular-server": "^6.1.15", "core-js": "^2.6.11", "express": "^4.15.2", - "ionicons": "^6.0.4", + "ionicons": "^7.1.3-dev.11692630068.1f5f09ee", "rxjs": "~7.5.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", @@ -52,6 +52,9 @@ "wait-on": "^5.2.1", "webpack": "^5.61.0", "webpack-cli": "^4.9.2" + }, + "engines": { + "node": ">= 16" } }, "node_modules/@ampproject/remapping": { @@ -2928,6 +2931,14 @@ "tslib": "^2.1.0" } }, + "node_modules/@ionic/core/node_modules/ionicons": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.1.3.tgz", + "integrity": "sha512-ptzz38dd/Yq+PgjhXegh7yhb/SLIk1bvL9vQDtLv1aoSc7alO6mX2DIMgcKYzt9vrNWkRu1f9Jr78zIFFyOXqw==", + "dependencies": { + "@stencil/core": "^2.18.0" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -9968,9 +9979,9 @@ } }, "node_modules/ionicons": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", - "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", + "version": "7.1.3-dev.11692630068.1f5f09ee", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.3-dev.11692630068.1f5f09ee.tgz", + "integrity": "sha512-UadZRbi50/IFJM5sIa3X7+c1sVsA0AB7uLrLyH7SRTX2MCol7clT1gfw/si28tG0NWScDyvbdC2SgzhN7lkroA==", "dependencies": { "@stencil/core": "^2.18.0" } @@ -18570,6 +18581,16 @@ "@stencil/core": "^2.16.0", "ionicons": "^6.0.2", "tslib": "^2.1.0" + }, + "dependencies": { + "ionicons": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.1.3.tgz", + "integrity": "sha512-ptzz38dd/Yq+PgjhXegh7yhb/SLIk1bvL9vQDtLv1aoSc7alO6mX2DIMgcKYzt9vrNWkRu1f9Jr78zIFFyOXqw==", + "requires": { + "@stencil/core": "^2.18.0" + } + } } }, "@istanbuljs/load-nyc-config": { @@ -23769,9 +23790,9 @@ "dev": true }, "ionicons": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", - "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", + "version": "7.1.3-dev.11692630068.1f5f09ee", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.3-dev.11692630068.1f5f09ee.tgz", + "integrity": "sha512-UadZRbi50/IFJM5sIa3X7+c1sVsA0AB7uLrLyH7SRTX2MCol7clT1gfw/si28tG0NWScDyvbdC2SgzhN7lkroA==", "requires": { "@stencil/core": "^2.18.0" } diff --git a/packages/angular/test/apps/ng14/package.json b/packages/angular/test/apps/ng14/package.json index ec700a1a888..7515f7b7283 100644 --- a/packages/angular/test/apps/ng14/package.json +++ b/packages/angular/test/apps/ng14/package.json @@ -33,7 +33,7 @@ "@ionic/angular-server": "^6.1.15", "core-js": "^2.6.11", "express": "^4.15.2", - "ionicons": "^6.0.4", + "ionicons": "7.1.3-dev.11692630068.1f5f09ee", "rxjs": "~7.5.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", diff --git a/packages/angular/test/apps/ng15/package-lock.json b/packages/angular/test/apps/ng15/package-lock.json index 3049ab8a793..a47d40dc489 100644 --- a/packages/angular/test/apps/ng15/package-lock.json +++ b/packages/angular/test/apps/ng15/package-lock.json @@ -23,7 +23,7 @@ "@nguniversal/express-engine": "^15.0.0", "core-js": "^2.6.11", "express": "^4.15.2", - "ionicons": "^6.0.4", + "ionicons": "7.1.3-dev.11692630068.1f5f09ee", "rxjs": "~7.5.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", @@ -53,6 +53,9 @@ "wait-on": "^5.2.1", "webpack": "^5.61.0", "webpack-cli": "^4.9.2" + }, + "engines": { + "node": ">= 16" } }, "node_modules/@ampproject/remapping": { @@ -2653,6 +2656,14 @@ "tslib": "^2.1.0" } }, + "node_modules/@ionic/core/node_modules/ionicons": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.1.3.tgz", + "integrity": "sha512-ptzz38dd/Yq+PgjhXegh7yhb/SLIk1bvL9vQDtLv1aoSc7alO6mX2DIMgcKYzt9vrNWkRu1f9Jr78zIFFyOXqw==", + "dependencies": { + "@stencil/core": "^2.18.0" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -9560,9 +9571,9 @@ } }, "node_modules/ionicons": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", - "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", + "version": "7.1.3-dev.11692630068.1f5f09ee", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.3-dev.11692630068.1f5f09ee.tgz", + "integrity": "sha512-UadZRbi50/IFJM5sIa3X7+c1sVsA0AB7uLrLyH7SRTX2MCol7clT1gfw/si28tG0NWScDyvbdC2SgzhN7lkroA==", "dependencies": { "@stencil/core": "^2.18.0" } @@ -17575,6 +17586,16 @@ "@stencil/core": "^2.16.0", "ionicons": "^6.0.2", "tslib": "^2.1.0" + }, + "dependencies": { + "ionicons": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.1.3.tgz", + "integrity": "sha512-ptzz38dd/Yq+PgjhXegh7yhb/SLIk1bvL9vQDtLv1aoSc7alO6mX2DIMgcKYzt9vrNWkRu1f9Jr78zIFFyOXqw==", + "requires": { + "@stencil/core": "^2.18.0" + } + } } }, "@istanbuljs/load-nyc-config": { @@ -22669,9 +22690,9 @@ "dev": true }, "ionicons": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", - "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", + "version": "7.1.3-dev.11692630068.1f5f09ee", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.3-dev.11692630068.1f5f09ee.tgz", + "integrity": "sha512-UadZRbi50/IFJM5sIa3X7+c1sVsA0AB7uLrLyH7SRTX2MCol7clT1gfw/si28tG0NWScDyvbdC2SgzhN7lkroA==", "requires": { "@stencil/core": "^2.18.0" } diff --git a/packages/angular/test/apps/ng15/package.json b/packages/angular/test/apps/ng15/package.json index 0829dd3e086..430252407e8 100644 --- a/packages/angular/test/apps/ng15/package.json +++ b/packages/angular/test/apps/ng15/package.json @@ -34,7 +34,7 @@ "@nguniversal/express-engine": "^15.0.0", "core-js": "^2.6.11", "express": "^4.15.2", - "ionicons": "^6.0.4", + "ionicons": "7.1.3-dev.11692630068.1f5f09ee", "rxjs": "~7.5.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", diff --git a/packages/angular/test/apps/ng16/package-lock.json b/packages/angular/test/apps/ng16/package-lock.json index 762baf3cd90..99e0de1acd6 100644 --- a/packages/angular/test/apps/ng16/package-lock.json +++ b/packages/angular/test/apps/ng16/package-lock.json @@ -22,7 +22,7 @@ "@nguniversal/express-engine": "^16.0.0", "core-js": "^2.6.11", "express": "^4.15.2", - "ionicons": "^7.0.4", + "ionicons": "7.1.3-dev.11692630068.1f5f09ee", "rxjs": "~7.8.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", @@ -3230,6 +3230,14 @@ "zone.js": ">=0.11.0" } }, + "node_modules/@ionic/angular/node_modules/ionicons": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.2.tgz", + "integrity": "sha512-zZ4njAqSP39H8RRvZhJvkHsv7cBjYE/VfInH218Osf2UVxJITSOutTTd25MW+tAXKN5fheYzclUXUsF55JHUDg==", + "dependencies": { + "@stencil/core": "^2.18.0" + } + }, "node_modules/@ionic/core": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.2.tgz", @@ -3252,6 +3260,26 @@ "npm": ">=6.0.0" } }, + "node_modules/@ionic/core/node_modules/ionicons": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.2.tgz", + "integrity": "sha512-zZ4njAqSP39H8RRvZhJvkHsv7cBjYE/VfInH218Osf2UVxJITSOutTTd25MW+tAXKN5fheYzclUXUsF55JHUDg==", + "dependencies": { + "@stencil/core": "^2.18.0" + } + }, + "node_modules/@ionic/core/node_modules/ionicons/node_modules/@stencil/core": { + "version": "2.22.3", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.22.3.tgz", + "integrity": "sha512-kmVA0M/HojwsfkeHsifvHVIYe4l5tin7J5+DLgtl8h6WWfiMClND5K3ifCXXI2ETDNKiEk21p6jql3Fx9o2rng==", + "bin": { + "stencil": "bin/stencil" + }, + "engines": { + "node": ">=12.10.0", + "npm": ">=6.0.0" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -10142,9 +10170,9 @@ } }, "node_modules/ionicons": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.0.tgz", - "integrity": "sha512-iE4GuEdEHARJpp0sWL7WJZCzNCf5VxpNRhAjW0fLnZPnNL5qZOJUcfup2Z2Ty7Jk8Q5hacrHfGEB1lCwOdXqGg==", + "version": "7.1.3-dev.11692630068.1f5f09ee", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.3-dev.11692630068.1f5f09ee.tgz", + "integrity": "sha512-UadZRbi50/IFJM5sIa3X7+c1sVsA0AB7uLrLyH7SRTX2MCol7clT1gfw/si28tG0NWScDyvbdC2SgzhN7lkroA==", "dependencies": { "@stencil/core": "^2.18.0" } @@ -19155,6 +19183,16 @@ "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" + }, + "dependencies": { + "ionicons": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.2.tgz", + "integrity": "sha512-zZ4njAqSP39H8RRvZhJvkHsv7cBjYE/VfInH218Osf2UVxJITSOutTTd25MW+tAXKN5fheYzclUXUsF55JHUDg==", + "requires": { + "@stencil/core": "^2.18.0" + } + } } }, "@ionic/angular-server": { @@ -19180,6 +19218,21 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/@stencil/core/-/core-3.2.1.tgz", "integrity": "sha512-Ybm4NteQBScLq3H0JML/uqo4nWjNpZw1HAAURtR5LlRm7ptzNKO5S8EnHp3m05/uyTzeh9yLpUFHY7bxGNdYLg==" + }, + "ionicons": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.2.tgz", + "integrity": "sha512-zZ4njAqSP39H8RRvZhJvkHsv7cBjYE/VfInH218Osf2UVxJITSOutTTd25MW+tAXKN5fheYzclUXUsF55JHUDg==", + "requires": { + "@stencil/core": "^2.18.0" + }, + "dependencies": { + "@stencil/core": { + "version": "2.22.3", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.22.3.tgz", + "integrity": "sha512-kmVA0M/HojwsfkeHsifvHVIYe4l5tin7J5+DLgtl8h6WWfiMClND5K3ifCXXI2ETDNKiEk21p6jql3Fx9o2rng==" + } + } } } }, @@ -24312,9 +24365,9 @@ "dev": true }, "ionicons": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.0.tgz", - "integrity": "sha512-iE4GuEdEHARJpp0sWL7WJZCzNCf5VxpNRhAjW0fLnZPnNL5qZOJUcfup2Z2Ty7Jk8Q5hacrHfGEB1lCwOdXqGg==", + "version": "7.1.3-dev.11692630068.1f5f09ee", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-7.1.3-dev.11692630068.1f5f09ee.tgz", + "integrity": "sha512-UadZRbi50/IFJM5sIa3X7+c1sVsA0AB7uLrLyH7SRTX2MCol7clT1gfw/si28tG0NWScDyvbdC2SgzhN7lkroA==", "requires": { "@stencil/core": "^2.18.0" } diff --git a/packages/angular/test/apps/ng16/package.json b/packages/angular/test/apps/ng16/package.json index dc108ed7c4d..b462d5e1390 100644 --- a/packages/angular/test/apps/ng16/package.json +++ b/packages/angular/test/apps/ng16/package.json @@ -33,7 +33,7 @@ "@nguniversal/express-engine": "^16.0.0", "core-js": "^2.6.11", "express": "^4.15.2", - "ionicons": "^7.0.4", + "ionicons": "7.1.3-dev.11692630068.1f5f09ee", "rxjs": "~7.8.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", diff --git a/packages/angular/test/base/e2e/src/standalone/icon.spec.ts b/packages/angular/test/base/e2e/src/standalone/icon.spec.ts new file mode 100644 index 00000000000..0f1e9f7f7b3 --- /dev/null +++ b/packages/angular/test/base/e2e/src/standalone/icon.spec.ts @@ -0,0 +1,20 @@ +describe('Icons', () => { + it('should render an icon', () => { + cy.visit('/standalone/icon'); + + cy.get('ion-icon#icon-string').shadow().find('svg').should('exist'); + cy.get('ion-icon#icon-binding').shadow().find('svg').should('exist'); + }); + + it('should render an icon on iOS mode', () => { + cy.visit('/standalone/icon?ionic:mode=ios'); + + cy.get('ion-icon#icon-mode').shadow().find('svg').should('exist'); + }); + + it('should render an icon on MD mode', () => { + cy.visit('/standalone/icon?ionic:mode=md'); + + cy.get('ion-icon#icon-mode').shadow().find('svg').should('exist'); + }); +}); diff --git a/packages/angular/test/base/src/app/standalone/app-standalone/app.routes.ts b/packages/angular/test/base/src/app/standalone/app-standalone/app.routes.ts index 1026d18b627..2367c617729 100644 --- a/packages/angular/test/base/src/app/standalone/app-standalone/app.routes.ts +++ b/packages/angular/test/base/src/app/standalone/app-standalone/app.routes.ts @@ -14,7 +14,8 @@ export const routes: Routes = [ { path: 'nav', loadComponent: () => import('../nav/nav.component').then(c => c.NavComponent) }, { path: 'providers', loadComponent: () => import('../providers/providers.component').then(c => c.ProvidersComponent) }, { path: 'overlay-controllers', loadComponent: () => import('../overlay-controllers/overlay-controllers.component').then(c => c.OverlayControllersComponent) }, - { path: 'button', loadComponent: () => import('../button/button.component').then(c => c.ButtonComponent) } + { path: 'button', loadComponent: () => import('../button/button.component').then(c => c.ButtonComponent) }, + { path: 'icon', loadComponent: () => import('../icon/icon.component').then(c => c.IconComponent) }, ] }, ]; diff --git a/packages/angular/test/base/src/app/standalone/icon/icon.component.html b/packages/angular/test/base/src/app/standalone/icon/icon.component.html new file mode 100644 index 00000000000..f87898d684e --- /dev/null +++ b/packages/angular/test/base/src/app/standalone/icon/icon.component.html @@ -0,0 +1,6 @@ +