chore(): sync with main
14
CHANGELOG.md
@ -3,6 +3,20 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic-framework/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **item-sliding:** open method works with items added async ([#27035](https://github.com/ionic-team/ionic-framework/issues/27035)) ([521063b](https://github.com/ionic-team/ionic-framework/commit/521063bf241dc2c55bcd02a92ed8a418cfec6b1e)), closes [#26991](https://github.com/ionic-team/ionic-framework/issues/26991)
|
||||||
|
* **item:** use thumbnail's size when present ([#27014](https://github.com/ionic-team/ionic-framework/issues/27014)) ([6cecdf4](https://github.com/ionic-team/ionic-framework/commit/6cecdf41451a5c7aa908494dfad9fab1496a0c6c)), closes [#22935](https://github.com/ionic-team/ionic-framework/issues/22935)
|
||||||
|
* **radio-group:** radios participate in form submission ([#27018](https://github.com/ionic-team/ionic-framework/issues/27018)) ([3b99c31](https://github.com/ionic-team/ionic-framework/commit/3b99c31bab41bf7fcec340ac7159d3e8fce126c1)), closes [#27016](https://github.com/ionic-team/ionic-framework/issues/27016)
|
||||||
|
* **select:** inherit white-space in select-text to allow text wrapping ([#26973](https://github.com/ionic-team/ionic-framework/issues/26973)) ([19c1e25](https://github.com/ionic-team/ionic-framework/commit/19c1e25399ca18c8e6a8dd39c0131979c0bb01e9)), closes [#19949](https://github.com/ionic-team/ionic-framework/issues/19949)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic-framework/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic-framework/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/angular
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package @ionic/angular
|
**Note:** Version bump only for package @ionic/angular
|
||||||
|
|||||||
@ -3,6 +3,19 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
* **item-sliding:** open method works with items added async ([#27035](https://github.com/ionic-team/ionic/issues/27035)) ([521063b](https://github.com/ionic-team/ionic/commit/521063bf241dc2c55bcd02a92ed8a418cfec6b1e)), closes [#26991](https://github.com/ionic-team/ionic/issues/26991)
|
||||||
|
* **item:** use thumbnail's size when present ([#27014](https://github.com/ionic-team/ionic/issues/27014)) ([6cecdf4](https://github.com/ionic-team/ionic/commit/6cecdf41451a5c7aa908494dfad9fab1496a0c6c)), closes [#22935](https://github.com/ionic-team/ionic/issues/22935)
|
||||||
|
* **radio-group:** radios participate in form submission ([#27018](https://github.com/ionic-team/ionic/issues/27018)) ([3b99c31](https://github.com/ionic-team/ionic/commit/3b99c31bab41bf7fcec340ac7159d3e8fce126c1)), closes [#27016](https://github.com/ionic-team/ionic/issues/27016)
|
||||||
|
* **select:** inherit white-space in select-text to allow text wrapping ([#26973](https://github.com/ionic-team/ionic/issues/26973)) ([19c1e25](https://github.com/ionic-team/ionic/commit/19c1e25399ca18c8e6a8dd39c0131979c0bb01e9)), closes [#19949](https://github.com/ionic-team/ionic/issues/19949)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
46
core/package-lock.json
generated
@ -18,7 +18,7 @@
|
|||||||
"@ionic/eslint-config": "^0.3.0",
|
"@ionic/eslint-config": "^0.3.0",
|
||||||
"@ionic/prettier-config": "^2.0.0",
|
"@ionic/prettier-config": "^2.0.0",
|
||||||
"@jest/core": "^27.5.1",
|
"@jest/core": "^27.5.1",
|
||||||
"@playwright/test": "^1.32.0",
|
"@playwright/test": "^1.32.1",
|
||||||
"@rollup/plugin-node-resolve": "^8.4.0",
|
"@rollup/plugin-node-resolve": "^8.4.0",
|
||||||
"@rollup/plugin-virtual": "^2.0.3",
|
"@rollup/plugin-virtual": "^2.0.3",
|
||||||
"@stencil/angular-output-target": "^0.6.0",
|
"@stencil/angular-output-target": "^0.6.0",
|
||||||
@ -1501,13 +1501,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@playwright/test": {
|
"node_modules/@playwright/test": {
|
||||||
"version": "1.32.0",
|
"version": "1.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.1.tgz",
|
||||||
"integrity": "sha512-zOdGloaF0jeec7hqoLqM5S3L2rR4WxMJs6lgiAeR70JlH7Ml54ZPoIIf3X7cvnKde3Q9jJ/gaxkFh8fYI9s1rg==",
|
"integrity": "sha512-FTwjCuhlm1qHUGf4hWjfr64UMJD/z0hXYbk+O387Ioe6WdyZQ+0TBDAc6P+pHjx2xCv1VYNgrKbYrNixFWy4Dg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"playwright-core": "1.32.0"
|
"playwright-core": "1.32.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
@ -8150,14 +8150,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/playwright": {
|
"node_modules/playwright": {
|
||||||
"version": "1.32.0",
|
"version": "1.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.1.tgz",
|
||||||
"integrity": "sha512-zQVzxTGoC/ak2Zu0l3CeBGQ6z5oOka5ecUOk+5QbmAerih6CaVsjY9BjjhiN+UOImd3xLiNeCcmLEWcXlz1Dlg==",
|
"integrity": "sha512-GnEizysWMvoqHC3I9l8+4/ZxeLwLNdJJG76xdKGxzOcIZDcw5RSk/FKrFb5CuA+zcLpjIM2p9eR9Z4CuUDkWXg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"playwright-core": "1.32.0"
|
"playwright-core": "1.32.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
@ -8167,9 +8167,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/playwright-core": {
|
"node_modules/playwright-core": {
|
||||||
"version": "1.32.0",
|
"version": "1.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.1.tgz",
|
||||||
"integrity": "sha512-Z9Ij17X5Z3bjpp6XKujGBp9Gv4eViESac9aDmwgQFUEJBW0K80T21m/Z+XJQlu4cNsvPygw33b6V1Va6Bda5zQ==",
|
"integrity": "sha512-KZYUQC10mXD2Am1rGlidaalNGYk3LU1vZqqNk0gT4XPty1jOqgup8KDP8l2CUlqoNKhXM5IfGjWgW37xvGllBA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
@ -11398,14 +11398,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@playwright/test": {
|
"@playwright/test": {
|
||||||
"version": "1.32.0",
|
"version": "1.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.1.tgz",
|
||||||
"integrity": "sha512-zOdGloaF0jeec7hqoLqM5S3L2rR4WxMJs6lgiAeR70JlH7Ml54ZPoIIf3X7cvnKde3Q9jJ/gaxkFh8fYI9s1rg==",
|
"integrity": "sha512-FTwjCuhlm1qHUGf4hWjfr64UMJD/z0hXYbk+O387Ioe6WdyZQ+0TBDAc6P+pHjx2xCv1VYNgrKbYrNixFWy4Dg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"fsevents": "2.3.2",
|
"fsevents": "2.3.2",
|
||||||
"playwright-core": "1.32.0"
|
"playwright-core": "1.32.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@rollup/plugin-node-resolve": {
|
"@rollup/plugin-node-resolve": {
|
||||||
@ -16275,19 +16275,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"playwright": {
|
"playwright": {
|
||||||
"version": "1.32.0",
|
"version": "1.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.1.tgz",
|
||||||
"integrity": "sha512-zQVzxTGoC/ak2Zu0l3CeBGQ6z5oOka5ecUOk+5QbmAerih6CaVsjY9BjjhiN+UOImd3xLiNeCcmLEWcXlz1Dlg==",
|
"integrity": "sha512-GnEizysWMvoqHC3I9l8+4/ZxeLwLNdJJG76xdKGxzOcIZDcw5RSk/FKrFb5CuA+zcLpjIM2p9eR9Z4CuUDkWXg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"peer": true,
|
"peer": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"playwright-core": "1.32.0"
|
"playwright-core": "1.32.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"playwright-core": {
|
"playwright-core": {
|
||||||
"version": "1.32.0",
|
"version": "1.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.0.tgz",
|
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.1.tgz",
|
||||||
"integrity": "sha512-Z9Ij17X5Z3bjpp6XKujGBp9Gv4eViESac9aDmwgQFUEJBW0K80T21m/Z+XJQlu4cNsvPygw33b6V1Va6Bda5zQ==",
|
"integrity": "sha512-KZYUQC10mXD2Am1rGlidaalNGYk3LU1vZqqNk0gT4XPty1jOqgup8KDP8l2CUlqoNKhXM5IfGjWgW37xvGllBA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
"@ionic/eslint-config": "^0.3.0",
|
"@ionic/eslint-config": "^0.3.0",
|
||||||
"@ionic/prettier-config": "^2.0.0",
|
"@ionic/prettier-config": "^2.0.0",
|
||||||
"@jest/core": "^27.5.1",
|
"@jest/core": "^27.5.1",
|
||||||
"@playwright/test": "^1.32.0",
|
"@playwright/test": "^1.32.1",
|
||||||
"@rollup/plugin-node-resolve": "^8.4.0",
|
"@rollup/plugin-node-resolve": "^8.4.0",
|
||||||
"@rollup/plugin-virtual": "^2.0.3",
|
"@rollup/plugin-virtual": "^2.0.3",
|
||||||
"@stencil/angular-output-target": "^0.6.0",
|
"@stencil/angular-output-target": "^0.6.0",
|
||||||
|
|||||||
@ -250,13 +250,13 @@ export class Alert implements ComponentInterface, OverlayInterface {
|
|||||||
|
|
||||||
// If hitting arrow down or arrow right, move to the next radio
|
// If hitting arrow down or arrow right, move to the next radio
|
||||||
// If we're on the last radio, move to the first radio
|
// If we're on the last radio, move to the first radio
|
||||||
if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {
|
if (['ArrowDown', 'ArrowRight'].includes(ev.key)) {
|
||||||
nextEl = index === radios.length - 1 ? radios[0] : radios[index + 1];
|
nextEl = index === radios.length - 1 ? radios[0] : radios[index + 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
// If hitting arrow up or arrow left, move to the previous radio
|
// If hitting arrow up or arrow left, move to the previous radio
|
||||||
// If we're on the first radio, move to the last radio
|
// If we're on the first radio, move to the last radio
|
||||||
if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {
|
if (['ArrowUp', 'ArrowLeft'].includes(ev.key)) {
|
||||||
nextEl = index === 0 ? radios[radios.length - 1] : radios[index - 1];
|
nextEl = index === 0 ? radios[radios.length - 1] : radios[index - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
|
<ion-datetime value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-date-time-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-date-time-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
@ -15,6 +16,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
|
<ion-datetime value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-time-date-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-time-date-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
@ -22,6 +24,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
|
<ion-datetime value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-time-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-time-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
@ -29,6 +32,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
|
<ion-datetime value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-date-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-date-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
@ -46,6 +50,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date-time"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-cover-date-time-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-cover-date-time-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
@ -53,6 +58,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time-date"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-cover-time-date-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-cover-time-date-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
@ -60,6 +66,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="time"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-cover-time-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-cover-time-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
@ -67,6 +74,7 @@ test.describe('datetime: display', () => {
|
|||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
|
<ion-datetime size="cover" value="2022-02-22T16:30:00" presentation="date"></ion-datetime>
|
||||||
`);
|
`);
|
||||||
|
await page.waitForSelector('.datetime-ready');
|
||||||
const datetime = page.locator('ion-datetime');
|
const datetime = page.locator('ion-datetime');
|
||||||
await expect(datetime).toHaveScreenshot(`datetime-display-cover-date-${page.getSnapshotSettings()}.png`);
|
await expect(datetime).toHaveScreenshot(`datetime-display-cover-date-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -96,13 +96,11 @@
|
|||||||
height: $item-md-avatar-height;
|
height: $item-md-avatar-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Material Design Item Divider Thumbnail
|
// Material Design Item Divider Thumbnail
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
::slotted(ion-thumbnail) {
|
::slotted(ion-thumbnail) {
|
||||||
width: $item-md-thumbnail-width;
|
--size: #{$item-md-thumbnail-size};
|
||||||
height: $item-md-thumbnail-height;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Material Design Item Divider Avatar/Thumbnail
|
// Material Design Item Divider Avatar/Thumbnail
|
||||||
|
|||||||
@ -128,7 +128,16 @@ export class ItemSliding implements ComponentInterface {
|
|||||||
*/
|
*/
|
||||||
@Method()
|
@Method()
|
||||||
async open(side: Side | undefined) {
|
async open(side: Side | undefined) {
|
||||||
if (this.item === null) {
|
/**
|
||||||
|
* It is possible for the item to be added to the DOM
|
||||||
|
* after the item-sliding component was created. As a result,
|
||||||
|
* if this.item is null, then we should attempt to
|
||||||
|
* query for the ion-item again.
|
||||||
|
* However, if the item is already defined then
|
||||||
|
* we do not query for it again.
|
||||||
|
*/
|
||||||
|
const item = (this.item = this.item ?? this.el.querySelector('ion-item'));
|
||||||
|
if (item === null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
49
core/src/components/item-sliding/test/async/index.html
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en" dir="ltr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Item Sliding - Async</title>
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"
|
||||||
|
/>
|
||||||
|
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
|
||||||
|
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
||||||
|
<script src="../../../../../scripts/testing/scripts.js"></script>
|
||||||
|
<script nomodule src="../../../../../dist/ionic/ionic.js"></script>
|
||||||
|
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<ion-app>
|
||||||
|
<ion-header>
|
||||||
|
<ion-toolbar>
|
||||||
|
<ion-title>Item Sliding - Basic</ion-title>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
<ion-list>
|
||||||
|
<ion-item-sliding>
|
||||||
|
<ion-item-options side="end">
|
||||||
|
<ion-item-option>Option</ion-item-option>
|
||||||
|
</ion-item-options>
|
||||||
|
</ion-item-sliding>
|
||||||
|
</ion-list>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const itemSliding = document.querySelector('ion-item-sliding');
|
||||||
|
setTimeout(() => {
|
||||||
|
const item = document.createElement('ion-item');
|
||||||
|
item.innerText = 'Item Sliding Option';
|
||||||
|
itemSliding.appendChild(item);
|
||||||
|
|
||||||
|
item.onclick = () => {
|
||||||
|
itemSliding.open('end');
|
||||||
|
};
|
||||||
|
}, 250);
|
||||||
|
</script>
|
||||||
|
</ion-content>
|
||||||
|
</ion-app>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
import { expect } from '@playwright/test';
|
||||||
|
import { test } from '@utils/test/playwright';
|
||||||
|
|
||||||
|
test.describe('item-sliding: async', () => {
|
||||||
|
test('should open even when item is added async', async ({ page, skip }) => {
|
||||||
|
skip.rtl();
|
||||||
|
skip.mode('md');
|
||||||
|
|
||||||
|
await page.goto(`/src/components/item-sliding/test/async`);
|
||||||
|
|
||||||
|
const itemEl = page.locator('ion-item');
|
||||||
|
const itemSlidingEl = page.locator('ion-item-sliding');
|
||||||
|
|
||||||
|
// Wait for item to be added to DOM
|
||||||
|
await page.waitForSelector('ion-item');
|
||||||
|
|
||||||
|
// Click item to open ion-item-sliding
|
||||||
|
await itemEl.click();
|
||||||
|
|
||||||
|
// This class is added when the item sliding component is fully open
|
||||||
|
await expect(itemSlidingEl).toHaveClass(/item-sliding-active-slide/);
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -154,8 +154,7 @@
|
|||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// iOS Item Avatar
|
||||||
// iOS Item Avatar & Thumbnail
|
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
::slotted(ion-avatar) {
|
::slotted(ion-avatar) {
|
||||||
@ -163,11 +162,16 @@
|
|||||||
height: $item-ios-avatar-height;
|
height: $item-ios-avatar-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// iOS Item Thumbnail
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
::slotted(ion-thumbnail) {
|
::slotted(ion-thumbnail) {
|
||||||
width: $item-ios-thumbnail-width;
|
--size: #{$item-ios-thumbnail-size};
|
||||||
height: $item-ios-thumbnail-height;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// iOS Item Avatar/Thumbnail
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
::slotted(ion-avatar[slot="end"]),
|
::slotted(ion-avatar[slot="end"]),
|
||||||
::slotted(ion-thumbnail[slot="end"]) {
|
::slotted(ion-thumbnail[slot="end"]) {
|
||||||
@include margin(($item-ios-padding-end * 0.5));
|
@include margin(($item-ios-padding-end * 0.5));
|
||||||
|
|||||||
@ -33,11 +33,8 @@ $item-ios-avatar-width: 36px !default;
|
|||||||
/// @prop - Height of the avatar in the item
|
/// @prop - Height of the avatar in the item
|
||||||
$item-ios-avatar-height: $item-ios-avatar-width !default;
|
$item-ios-avatar-height: $item-ios-avatar-width !default;
|
||||||
|
|
||||||
/// @prop - Width of the thumbnail in the item
|
/// @prop - Size of the thumbnail in the item
|
||||||
$item-ios-thumbnail-width: 56px !default;
|
$item-ios-thumbnail-size: 56px !default;
|
||||||
|
|
||||||
/// @prop - Height of the thumbnail in the item
|
|
||||||
$item-ios-thumbnail-height: $item-ios-thumbnail-width !default;
|
|
||||||
|
|
||||||
/// @prop - Color of the detail arrow icon
|
/// @prop - Color of the detail arrow icon
|
||||||
$item-ios-detail-icon-color: $item-ios-border-color !default;
|
$item-ios-detail-icon-color: $item-ios-border-color !default;
|
||||||
|
|||||||
@ -258,7 +258,6 @@
|
|||||||
@include padding-horizontal($item-md-note-end-slot-padding-start, $item-md-note-end-slot-padding-end);
|
@include padding-horizontal($item-md-note-end-slot-padding-start, $item-md-note-end-slot-padding-end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Material Design Item Avatar
|
// Material Design Item Avatar
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
@ -267,13 +266,11 @@
|
|||||||
height: $item-md-avatar-height;
|
height: $item-md-avatar-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Material Design Item Thumbnail
|
// Material Design Item Thumbnail
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
::slotted(ion-thumbnail) {
|
::slotted(ion-thumbnail) {
|
||||||
width: $item-md-thumbnail-width;
|
--size: #{$item-md-thumbnail-size};
|
||||||
height: $item-md-thumbnail-height;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Material Design Item Avatar/Thumbnail
|
// Material Design Item Avatar/Thumbnail
|
||||||
|
|||||||
@ -18,11 +18,8 @@ $item-md-avatar-width: 40px !default;
|
|||||||
/// @prop - Height of the avatar in the item
|
/// @prop - Height of the avatar in the item
|
||||||
$item-md-avatar-height: $item-md-avatar-width !default;
|
$item-md-avatar-height: $item-md-avatar-width !default;
|
||||||
|
|
||||||
/// @prop - Width of the thumbnail in the item
|
/// @prop - Size of the thumbnail in the item
|
||||||
$item-md-thumbnail-width: 56px !default;
|
$item-md-thumbnail-size: 56px !default;
|
||||||
|
|
||||||
/// @prop - Height of the thumbnail in the item
|
|
||||||
$item-md-thumbnail-height: $item-md-thumbnail-width !default;
|
|
||||||
|
|
||||||
/// @prop - Color of the detail arrow icon
|
/// @prop - Color of the detail arrow icon
|
||||||
$item-md-detail-icon-color: $item-md-border-color !default;
|
$item-md-detail-icon-color: $item-md-border-color !default;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { expect } from '@playwright/test';
|
import { expect } from '@playwright/test';
|
||||||
import { test, Viewports } from '@utils/test/playwright';
|
import { test, Viewports } from '@utils/test/playwright';
|
||||||
|
|
||||||
import { openPopover } from '../test.utils';
|
import { openPopover, screenshotPopover } from '../test.utils';
|
||||||
|
|
||||||
test.describe('popover: size', async () => {
|
test.describe('popover: size', async () => {
|
||||||
/**
|
/**
|
||||||
@ -22,7 +22,6 @@ test.describe('popover: size', async () => {
|
|||||||
await expect(page).toHaveScreenshot(`popover-size-${page.getSnapshotSettings()}.png`);
|
await expect(page).toHaveScreenshot(`popover-size-${page.getSnapshotSettings()}.png`);
|
||||||
|
|
||||||
// test this one separately since it would overlap others
|
// test this one separately since it would overlap others
|
||||||
// TODO FW-3598
|
await screenshotPopover(page, 'no-event-trigger', 'size');
|
||||||
//await screenshotPopover(page, 'no-event-trigger', 'size');
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 16 KiB |
@ -147,13 +147,13 @@ export class RadioGroup implements ComponentInterface {
|
|||||||
|
|
||||||
// If hitting arrow down or arrow right, move to the next radio
|
// If hitting arrow down or arrow right, move to the next radio
|
||||||
// If we're on the last radio, move to the first radio
|
// If we're on the last radio, move to the first radio
|
||||||
if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {
|
if (['ArrowDown', 'ArrowRight'].includes(ev.key)) {
|
||||||
next = index === radios.length - 1 ? radios[0] : radios[index + 1];
|
next = index === radios.length - 1 ? radios[0] : radios[index + 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
// If hitting arrow up or arrow left, move to the previous radio
|
// If hitting arrow up or arrow left, move to the previous radio
|
||||||
// If we're on the first radio, move to the last radio
|
// If we're on the first radio, move to the last radio
|
||||||
if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {
|
if (['ArrowUp', 'ArrowLeft'].includes(ev.key)) {
|
||||||
next = index === 0 ? radios[radios.length - 1] : radios[index - 1];
|
next = index === 0 ? radios[radios.length - 1] : radios[index - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,7 +168,7 @@ export class RadioGroup implements ComponentInterface {
|
|||||||
|
|
||||||
// Update the radio group value when a user presses the
|
// Update the radio group value when a user presses the
|
||||||
// space bar on top of a selected radio
|
// space bar on top of a selected radio
|
||||||
if (['Space'].includes(ev.code)) {
|
if ([' '].includes(ev.key)) {
|
||||||
const previousValue = this.value;
|
const previousValue = this.value;
|
||||||
this.value = this.allowEmptySelection && this.value !== undefined ? undefined : current.value;
|
this.value = this.allowEmptySelection && this.value !== undefined ? undefined : current.value;
|
||||||
if (previousValue !== this.value || this.allowEmptySelection) {
|
if (previousValue !== this.value || this.allowEmptySelection) {
|
||||||
|
|||||||
@ -24,4 +24,24 @@ test.describe('thumbnail: basic', () => {
|
|||||||
|
|
||||||
await expect(referenceEl).toHaveScreenshot(`thumbnail-ion-item-diff-${page.getSnapshotSettings()}.png`);
|
await expect(referenceEl).toHaveScreenshot(`thumbnail-ion-item-diff-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('size should be customizable in <ion-item>', async ({ page, skip }) => {
|
||||||
|
skip.rtl();
|
||||||
|
|
||||||
|
test.info().annotations.push({
|
||||||
|
type: 'issue',
|
||||||
|
description: 'https://github.com/ionic-team/ionic-framework/issues/22935',
|
||||||
|
});
|
||||||
|
|
||||||
|
await page.setContent(`
|
||||||
|
<ion-item>
|
||||||
|
<ion-thumbnail style="--size: 20px">
|
||||||
|
<img src="/src/components/thumbnail/test/thumbnail.svg" />
|
||||||
|
</ion-thumbnail>
|
||||||
|
</ion-item>
|
||||||
|
`);
|
||||||
|
|
||||||
|
const item = page.locator('ion-item');
|
||||||
|
await expect(item).toHaveScreenshot(`thumbnail-ion-item-size-diff-${page.getSnapshotSettings()}.png`);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
|
After Width: | Height: | Size: 709 B |
|
After Width: | Height: | Size: 993 B |
|
After Width: | Height: | Size: 839 B |
|
After Width: | Height: | Size: 722 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 857 B |
@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic-docs/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/docs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic-docs/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic-docs/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package @ionic/docs
|
**Note:** Version bump only for package @ionic/docs
|
||||||
|
|||||||
@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/angular-server
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package @ionic/angular-server
|
**Note:** Version bump only for package @ionic/angular-server
|
||||||
|
|||||||
@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/react-router
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package @ionic/react-router
|
**Note:** Version bump only for package @ionic/react-router
|
||||||
|
|||||||
@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/react
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package @ionic/react
|
**Note:** Version bump only for package @ionic/react
|
||||||
|
|||||||
@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/vue-router
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package @ionic/vue-router
|
**Note:** Version bump only for package @ionic/vue-router
|
||||||
|
|||||||
@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [6.7.1](https://github.com/ionic-team/ionic/compare/v6.7.0...v6.7.1) (2023-03-29)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/vue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
# [7.0.0-rc.4](https://github.com/ionic-team/ionic/compare/v7.0.0-rc.3...v7.0.0-rc.4) (2023-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package @ionic/vue
|
**Note:** Version bump only for package @ionic/vue
|
||||||
|
|||||||