diff --git a/core/src/components/checkbox/checkbox.scss b/core/src/components/checkbox/checkbox.scss
index b351d5f546..11364b42c3 100644
--- a/core/src/components/checkbox/checkbox.scss
+++ b/core/src/components/checkbox/checkbox.scss
@@ -52,6 +52,11 @@
*/
:host([slot="start"]),
:host([slot="end"]) {
+ // Reset the flex property when the checkbox
+ // is slotted to avoid growing the element larger
+ // than its content.
+ flex: initial;
+
width: auto;
}
diff --git a/core/src/components/item/test/inputs/item.e2e.ts b/core/src/components/item/test/inputs/item.e2e.ts
index 4e50d5303c..27ca3149b9 100644
--- a/core/src/components/item/test/inputs/item.e2e.ts
+++ b/core/src/components/item/test/inputs/item.e2e.ts
@@ -200,3 +200,57 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
});
});
});
+
+/**
+ * This behavior does not vary across directions
+ */
+configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
+ test.describe(title('item: inputs'), () => {
+ test('should not shrink the width of a div next to a checkbox, radio, select or toggle', async ({
+ page,
+ }, testInfo) => {
+ testInfo.annotations.push({
+ type: 'issue',
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29319',
+ });
+ await page.setContent(
+ `
+
+
+
+
+
+ Checkbox
+
+
+
+ Radio
+
+
+
+
+ Option
+
+
+
+
+ Toggle
+
+
+ `,
+ config
+ );
+
+ const list = page.locator('ion-list');
+
+ await expect(list).toHaveScreenshot(screenshot(`item-inputs-div-with-inputs`));
+ });
+ });
+});
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..67d0ffd9bb
Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..624b20210e
Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..539832327f
Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..b0d5bde4d7
Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..f440ae41a7
Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..eafd009d1d
Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts b/core/src/components/item/test/slotted-inputs/item.e2e.ts
index eef05ce3ab..7fcbf4b8b1 100644
--- a/core/src/components/item/test/slotted-inputs/item.e2e.ts
+++ b/core/src/components/item/test/slotted-inputs/item.e2e.ts
@@ -12,3 +12,163 @@ configs().forEach(({ title, screenshot, config }) => {
});
});
});
+
+/**
+ * This behavior does not vary across directions
+ */
+configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
+ test.describe(title('item: slotted inputs'), () => {
+ test.describe('checkbox', () => {
+ test('should not expand the slotted checkbox width larger than its content', async ({ page }, testInfo) => {
+ testInfo.annotations.push({
+ type: 'issue',
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
+ });
+
+ await page.setContent(
+ `
+
+
+
+ Label
+
+
+ Label
+
+
+
+ Start
+ Label
+
+
+ Label
+ End
+
+
+ `,
+ config
+ );
+
+ const list = page.locator('ion-list');
+
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-checkbox`));
+ });
+ });
+ test.describe('radio', () => {
+ test('should not expand the slotted radio width larger than its content', async ({ page }, testInfo) => {
+ testInfo.annotations.push({
+ type: 'issue',
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
+ });
+
+ await page.setContent(
+ `
+
+
+
+ Label
+
+
+ Label
+
+
+
+ Start
+ Label
+
+
+ Label
+ End
+
+
+ `,
+ config
+ );
+
+ const list = page.locator('ion-list');
+
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-radio`));
+ });
+ });
+ test.describe('select', () => {
+ test('should not expand the slotted select width larger than its content', async ({ page }, testInfo) => {
+ testInfo.annotations.push({
+ type: 'issue',
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
+ });
+
+ await page.setContent(
+ `
+
+
+
+ Option
+
+ Label
+
+
+ Label
+
+ Option
+
+
+
+
+ Option
+
+ Label
+
+
+ Label
+
+ Option
+
+
+
+ `,
+ config
+ );
+
+ const list = page.locator('ion-list');
+
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-select`));
+ });
+ });
+ test.describe('toggle', () => {
+ test('should not expand the slotted toggle width larger than its content', async ({ page }, testInfo) => {
+ testInfo.annotations.push({
+ type: 'issue',
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
+ });
+
+ await page.setContent(
+ `
+
+
+
+ Label
+
+
+ Label
+
+
+
+ Start
+ Label
+
+
+ Label
+ End
+
+
+ `,
+ config
+ );
+
+ const list = page.locator('ion-list');
+
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-toggle`));
+ });
+ });
+ });
+});
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..89f28456b1
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..7f1c618670
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..f607cef301
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..9e81dce253
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..00d00427c5
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..0ea196c47b
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png
index 32b9ca4596..b11b0265d7 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png
index e3c6966669..d843bde11b 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png
index 7a81cfbf2c..1530ac33bb 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png
index dcce46ae7c..9193e4cd90 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png
index 1295c03f6d..aa387c7f93 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png
index c8b7b05abc..8a78dd6694 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png
index 1d24f390d2..30cab5c93c 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png
index 1770b0e7f8..20a23a6ed9 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png
index 8e0deee6a1..08de031cde 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png
index f536ae3012..14c73662bf 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png
index 5bbae0e1be..d777c35f19 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png
index c914dfdcbe..c5469ec994 100644
Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..c3a4aa8dc5
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..e490b4de5e
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..57d932a442
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..f28b6f311e
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..f993da9452
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..4e4957f125
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..1efd5b4003
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..69dc9c6fab
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..c64a4d2a37
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..403bce48fd
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..081d637178
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..b3a1e83aed
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..91a67e8ee6
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..f8e7bbafd9
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..1027efd0de
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..c8debd4918
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..74fe912e5a
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..4d8e2e275b
Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/radio.scss b/core/src/components/radio/radio.scss
index 159bde9262..2f70b3b2ee 100644
--- a/core/src/components/radio/radio.scss
+++ b/core/src/components/radio/radio.scss
@@ -72,6 +72,11 @@ input {
*/
:host([slot="start"]),
:host([slot="end"]) {
+ // Reset the flex property when the checkbox
+ // is slotted to avoid growing the element larger
+ // than its content.
+ flex: initial;
+
width: auto;
}
diff --git a/core/src/components/select/select.scss b/core/src/components/select/select.scss
index f564eec0ee..2ed4deee59 100644
--- a/core/src/components/select/select.scss
+++ b/core/src/components/select/select.scss
@@ -100,6 +100,11 @@
*/
:host([slot="start"]),
:host([slot="end"]) {
+ // Reset the flex property when the checkbox
+ // is slotted to avoid growing the element larger
+ // than its content.
+ flex: initial;
+
width: auto;
}
diff --git a/core/src/components/toggle/toggle.scss b/core/src/components/toggle/toggle.scss
index 90d4312146..9ea144a85b 100644
--- a/core/src/components/toggle/toggle.scss
+++ b/core/src/components/toggle/toggle.scss
@@ -53,6 +53,11 @@
*/
:host([slot="start"]),
:host([slot="end"]) {
+ // Reset the flex property when the checkbox
+ // is slotted to avoid growing the element larger
+ // than its content.
+ flex: initial;
+
width: auto;
}