diff --git a/core/src/components/input/input.ios.scss b/core/src/components/input/input.ios.scss
index 338adc517e4..314a8f46630 100644
--- a/core/src/components/input/input.ios.scss
+++ b/core/src/components/input/input.ios.scss
@@ -8,6 +8,7 @@
font-size: $input-ios-font-size;
}
+// TODO FW-2764 Remove this
:host(.legacy-input) {
--padding-top: #{$input-ios-padding-top};
--padding-end: #{$input-ios-padding-end};
diff --git a/core/src/components/input/input.md.scss b/core/src/components/input/input.md.scss
index d78519fa113..3df60a4a1bc 100644
--- a/core/src/components/input/input.md.scss
+++ b/core/src/components/input/input.md.scss
@@ -2,6 +2,7 @@
@import "./input.md.vars";
@import "./input.md.solid.scss";
@import "./input.md.outline.scss";
+@import "../item/item.md.vars.scss";
// Material Design Input
// --------------------------------------------------
@@ -13,6 +14,7 @@
font-size: $input-md-font-size;
}
+// TODO FW-2764 Remove this
:host(.legacy-input) {
--padding-top: #{$input-md-padding-top};
--padding-end: #{$input-md-padding-end};
@@ -36,6 +38,16 @@
background-size: $input-md-input-clear-icon-size;
}
+/**
+ * The input with no fill in item should
+ * have start padding applied on the input
+ * not the item.
+ */
+:host(.in-full-item:not(.input-fill-outline)),
+:host(.in-full-item:not(.input-fill-solid)) {
+ --padding-start: #{$item-md-padding-start};
+}
+
// Input Bottom
// ----------------------------------------------------------------
/**
diff --git a/core/src/components/input/input.scss b/core/src/components/input/input.scss
index 0e52dc90bf0..689dae558c9 100644
--- a/core/src/components/input/input.scss
+++ b/core/src/components/input/input.scss
@@ -67,6 +67,7 @@
z-index: $z-index-item-input;
}
+// TODO FW-2764 Remove this
:host(.legacy-input) {
display: flex;
@@ -76,15 +77,17 @@
background: var(--background);
}
+// TODO FW-2764 Remove this
:host(.legacy-input) .native-input {
@include padding(var(--padding-top), var(--padding-end), var(--padding-bottom), var(--padding-start));
@include border-radius(var(--border-radius));
}
-:host-context(ion-item:not(.item-label)) {
+:host-context(ion-item:not(.item-label):not(.item-has-modern-input)) {
--padding-start: 0;
}
+// TODO FW-2764 Remove this
:host(.legacy-input.ion-color) {
color: current-color(base);
}
@@ -180,8 +183,13 @@
// Clear Input Icon
// --------------------------------------------------
-.input-clear-icon {
+// TODO FW-2764 Remove this
+:host(.legacy-input) .input-clear-icon {
@include margin(0);
+}
+
+.input-clear-icon {
+ @include margin(auto);
@include padding(0);
@include background-position(center);
@@ -263,6 +271,17 @@
background: var(--background);
}
+// Input Native Wrapper
+// ----------------------------------------------------------------
+
+.native-wrapper {
+ display: flex;
+
+ flex-grow: 1;
+
+ width: 100%;
+}
+
// Input Highlight
// ----------------------------------------------------------------
diff --git a/core/src/components/input/input.tsx b/core/src/components/input/input.tsx
index e90691c66fb..7e6212299ae 100644
--- a/core/src/components/input/input.tsx
+++ b/core/src/components/input/input.tsx
@@ -15,7 +15,7 @@ import type {
} from '../../interface';
import type { Attributes } from '../../utils/helpers';
import { inheritAriaAttributes, debounceEvent, findItemLabel, inheritAttributes } from '../../utils/helpers';
-import { createColorClasses } from '../../utils/theme';
+import { createColorClasses, hostContext } from '../../utils/theme';
import { getCounterText } from './input.utils';
@@ -616,60 +616,63 @@ export class Input implements ComponentInterface {
[`input-fill-${fill}`]: fill !== undefined,
[`input-shape-${shape}`]: shape !== undefined,
[`input-label-placement-${labelPlacement}`]: true,
+ 'in-full-item': hostContext('ion-item:not(.item-lines-inset)', this.el),
})}
>
{this.renderBottomContent()}
@@ -677,6 +680,7 @@ export class Input implements ComponentInterface {
);
}
+ // TODO FW-2764 Remove this
private renderLegacyInput() {
if (!this.hasLoggedDeprecationWarning) {
printIonWarning(
diff --git a/core/src/components/input/test/basic/index.html b/core/src/components/input/test/basic/index.html
deleted file mode 100644
index a98bada1199..00000000000
--- a/core/src/components/input/test/basic/index.html
+++ /dev/null
@@ -1,174 +0,0 @@
-
-
-
-
- Input - Basic
-
-
-
-
-
-
-
-
-
-
-
-
- Input - Basic
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/core/src/components/input/test/basic/input.e2e.ts b/core/src/components/input/test/basic/input.e2e.ts
new file mode 100644
index 00000000000..ddfdc1a1ba4
--- /dev/null
+++ b/core/src/components/input/test/basic/input.e2e.ts
@@ -0,0 +1,99 @@
+import { expect } from '@playwright/test';
+import { test } from '@utils/test/playwright';
+
+test.describe('input: basic', () => {
+ test.describe('input with overflow', () => {
+ test('should not have visual regressions', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+ const input = page.locator('ion-input');
+ // Validates the display of an input where text extends off the edge of the component.
+ expect(await input.screenshot()).toMatchSnapshot(`input-with-text-overflow-${page.getSnapshotSettings()}.png`);
+ });
+ });
+ test.describe('input with placeholder', () => {
+ test('should not have visual regressions', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+ const input = page.locator('ion-input');
+ // Validates the display of an input with a placeholder.
+ expect(await input.screenshot()).toMatchSnapshot(`input-with-placeholder-${page.getSnapshotSettings()}.png`);
+ });
+ });
+
+ test.describe('input with clear button', () => {
+ test('should not have visual regressions with default label', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+ const input = page.locator('ion-input');
+ // Validates the display of an input with a clear button.
+ expect(await input.screenshot()).toMatchSnapshot(`input-with-clear-button-${page.getSnapshotSettings()}.png`);
+ });
+ test('should not have visual regressions with stacked label', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+ const input = page.locator('ion-input');
+ // Validates the display of an input with a clear button.
+ expect(await input.screenshot()).toMatchSnapshot(
+ `input-with-clear-button-stacked-${page.getSnapshotSettings()}.png`
+ );
+ });
+ });
+});
+
+test.describe('input: clear button', () => {
+ test.beforeEach(({ skip }) => {
+ skip.rtl();
+ });
+ test('should clear the input when pressed', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+
+ const input = page.locator('ion-input');
+ const clearButton = input.locator('.input-clear-icon');
+
+ await expect(input).toHaveJSProperty('value', 'abc');
+
+ await clearButton.click();
+ await page.waitForChanges();
+
+ await expect(input).toHaveJSProperty('value', '');
+ });
+ /**
+ * Note: This only tests the desktop focus behavior.
+ * Mobile browsers have different restrictions around
+ * focusing inputs, so these platforms should always
+ * be tested when making changes to the focus behavior.
+ */
+ test('should keep the input focused when the clear button is pressed', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+
+ const input = page.locator('ion-input');
+ const nativeInput = input.locator('input');
+ const clearButton = input.locator('.input-clear-icon');
+
+ await input.click();
+ await expect(nativeInput).toBeFocused();
+
+ await clearButton.click();
+ await page.waitForChanges();
+
+ await expect(nativeInput).toBeFocused();
+ });
+});
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..1edc1a881f5
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..ea9a9930a91
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..5ed484a58d5
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..d7512268ed3
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..a11f76e8761
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..d3a4be7a4b9
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..3cc34d073d5
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..05842e20d42
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..0fc97e58a48
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..281acabed61
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..b667f395ae7
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..daa5e14d578
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..901218fba6f
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..f7b180f8824
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..95cfdac9f80
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..abcd148e1e6
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..22bd335f034
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..210b5355641
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..59f2c369a94
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..3ac1fb79fbf
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..7c891cc6b75
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..b71820e9c6c
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..9d1ab23021b
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..ecac7681af3
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-clear-button-stacked-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..8c3191ac66f
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..bb5d8821841
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..02e39b85223
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..0ab40997b04
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..95e22648661
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..c05f55c8540
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..58252c1d526
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..e0cd162d2de
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..2094a6f06b6
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..e9cbff0ff4c
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..cb6090f2005
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..1100e1b0844
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-placeholder-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..83a81061c4e
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..afc36e571c5
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..e2bdd9cd016
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..272013882dd
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..e4af87296a3
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..8b999f2c068
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..c90e5b7b0a5
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..b05dbf5ba26
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..00657f32c82
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..994195e7f8a
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..554a246c5da
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..6e5f3098a61
Binary files /dev/null and b/core/src/components/input/test/basic/input.e2e.ts-snapshots/input-with-text-overflow-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts b/core/src/components/input/test/bottom-content/input.e2e.ts
index 4d449afb3ec..f1390b42f22 100644
--- a/core/src/components/input/test/bottom-content/input.e2e.ts
+++ b/core/src/components/input/test/bottom-content/input.e2e.ts
@@ -4,14 +4,35 @@ import { test } from '@utils/test/playwright';
test.describe('input: bottom content', () => {
test.beforeEach(({ skip }) => {
skip.rtl();
- skip.mode('ios', 'Rendering is the same across modes');
});
- test('should not render bottom content if no hint or counter is enabled', async ({ page }) => {
+ test('should not render bottom content if no hint or counter is enabled', async ({ page, skip }) => {
+ skip.mode('ios', 'Rendering is the same across modes');
await page.setContent(``);
const bottomEl = page.locator('ion-input .item-bottom');
await expect(bottomEl).toHaveCount(0);
});
+ test('entire input component should render correctly with no fill', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+ const input = page.locator('ion-input');
+ expect(await input.screenshot()).toMatchSnapshot(`input-full-bottom-no-fill-${page.getSnapshotSettings()}.png`);
+ });
+ test('entire input component should render correctly with solid fill', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+ const input = page.locator('ion-input');
+ expect(await input.screenshot()).toMatchSnapshot(`input-full-bottom-solid-${page.getSnapshotSettings()}.png`);
+ });
+ test('entire input component should render correctly with outline fill', async ({ page }) => {
+ await page.setContent(`
+
+ `);
+ const input = page.locator('ion-input');
+ expect(await input.screenshot()).toMatchSnapshot(`input-full-bottom-outline-${page.getSnapshotSettings()}.png`);
+ });
});
test.describe('input: hint text', () => {
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..29098919f50
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..6ddaa18d076
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..04aee41bde8
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..038a64796f1
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..92fe890eb43
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..92e65194aa1
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-no-fill-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..29098919f50
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..6ddaa18d076
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..04aee41bde8
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..65b8242ed41
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..d0d3652d4b3
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..c16f99263ad
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-outline-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..29098919f50
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..6ddaa18d076
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..04aee41bde8
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..1846b04b5a2
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..8776b15c7ae
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..658103fe144
Binary files /dev/null and b/core/src/components/input/test/bottom-content/input.e2e.ts-snapshots/input-full-bottom-solid-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/index.html b/core/src/components/input/test/item/index.html
new file mode 100644
index 00000000000..f58da8cbfe5
--- /dev/null
+++ b/core/src/components/input/test/item/index.html
@@ -0,0 +1,104 @@
+
+
+
+
+ Input - Item
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Input - Item
+
+
+
+
+ Regular List
+
+
+
No Fill
+
+
+
+
+
+
+
+
+
Solid
+
+
+
+
+
+
+
+
+
Outline
+
+
+
+
+
+
+
+
+
Outline, Floating
+
+
+
+
+
+
+
+
+ Inset List
+
+
+
No Fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core/src/components/input/test/item/input.e2e.ts b/core/src/components/input/test/item/input.e2e.ts
new file mode 100644
index 00000000000..ec586ad4bd6
--- /dev/null
+++ b/core/src/components/input/test/item/input.e2e.ts
@@ -0,0 +1,75 @@
+import { expect } from '@playwright/test';
+import { test } from '@utils/test/playwright';
+
+test.describe('input: item', () => {
+ test('should render correctly in list with no fill', async ({ page }) => {
+ await page.setContent(`
+
+
+
+
+
+ `);
+ const list = page.locator('ion-list');
+ expect(await list.screenshot()).toMatchSnapshot(`input-list-no-fill-${page.getSnapshotSettings()}.png`);
+ });
+ test('should render correctly in list with solid fill', async ({ page }) => {
+ await page.setContent(`
+
+
+
+
+
+ `);
+ const list = page.locator('ion-list');
+ expect(await list.screenshot()).toMatchSnapshot(`input-list-solid-${page.getSnapshotSettings()}.png`);
+ });
+ test('should render correctly in list with outline fill', async ({ page }) => {
+ await page.setContent(`
+
+
+
+
+
+ `);
+ const list = page.locator('ion-list');
+ expect(await list.screenshot()).toMatchSnapshot(`input-list-outline-${page.getSnapshotSettings()}.png`);
+ });
+ test('should render correctly in inset list with no fill', async ({ page }) => {
+ await page.setContent(`
+
+
+
+
+
+ `);
+ const list = page.locator('ion-list');
+ expect(await list.screenshot()).toMatchSnapshot(`input-inset-list-no-fill-${page.getSnapshotSettings()}.png`);
+ });
+});
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..066e035126d
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..ac695269bb3
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..53cb9541a47
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..ce0c9f100e1
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..059a648db47
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..2caefe050a1
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..8377fe7400d
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..63feb095bee
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..229f2d5cd25
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..2d3a762760c
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..e7704975787
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..5b3edf9a7f5
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-inset-list-no-fill-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..800c6df4264
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..9071b1909a0
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..cdc603dbe22
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..d241e5de9b3
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..2dd1f3248cb
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..ce67a57c67f
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..a47213419fb
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..e52817becbb
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..71dc933e49c
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..17b05e6fca9
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..f0d5624fdda
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..dbfdf6179c6
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-no-fill-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..800c6df4264
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..9071b1909a0
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..cdc603dbe22
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..d241e5de9b3
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..2dd1f3248cb
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..ce67a57c67f
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..4bad8fae114
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..5438b999857
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..0f5b415b925
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..2072acb8fb1
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..f9c7787b063
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..d2ee5494624
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-outline-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..800c6df4264
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..9071b1909a0
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..cdc603dbe22
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..d241e5de9b3
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..2dd1f3248cb
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..ce67a57c67f
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..23657ba3027
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..089d9f03ab9
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..4728461be7d
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Chrome-linux.png
new file mode 100644
index 00000000000..7ff4817562b
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Firefox-linux.png
new file mode 100644
index 00000000000..c28e1dac4cc
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Safari-linux.png
new file mode 100644
index 00000000000..d73c87db198
Binary files /dev/null and b/core/src/components/input/test/item/input.e2e.ts-snapshots/input-list-solid-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/item.md.scss b/core/src/components/item/item.md.scss
index 8077fb4df7d..9ef3b1699dc 100644
--- a/core/src/components/item/item.md.scss
+++ b/core/src/components/item/item.md.scss
@@ -35,6 +35,19 @@
--highlight-height: 2px;
}
+// Item: Modern Input
+// --------------------------------------------------
+
+/**
+ * Since ion-item should be a relatively
+ * unopinionated container, the padding
+ * should be set on the ion-input instead.
+ */
+// TODO FW-2764 This should check to see if item has ion-input or ion-textarea
+:host(.item-has-modern-input:not(.item-lines-inset)) .item-native {
+ @include padding(null, null, null, 0px);
+}
+
// Item Fill: None
// --------------------------------------------------
diff --git a/core/src/components/item/item.scss b/core/src/components/item/item.scss
index 4e1ab93adfc..68791d0691a 100644
--- a/core/src/components/item/item.scss
+++ b/core/src/components/item/item.scss
@@ -95,6 +95,17 @@
box-sizing: border-box;
}
+/**
+ * The highlight on ion-input should extend to
+ * the end of the item and should overlay any
+ * border that the ion-item has added.
+ */
+// TODO FW-2764 This should check to see if item has ion-input or ion-textarea
+:host(.item-has-modern-input) {
+ --inner-padding-end: 0px;
+
+ overflow: initial;
+}
// Item: Color
// --------------------------------------------------
diff --git a/core/src/components/item/item.tsx b/core/src/components/item/item.tsx
index f72ebfe3eaa..59bdd027ee1 100644
--- a/core/src/components/item/item.tsx
+++ b/core/src/components/item/item.tsx
@@ -310,6 +310,11 @@ export class Item implements ComponentInterface, AnchorInterface, ButtonInterfac
return this.canActivate() || focusableChild !== null;
}
+ private hasModernInput(): boolean {
+ const input = this.el.querySelector('ion-input:not(.legacy-input)');
+ return input !== null;
+ }
+
private getFirstInput(): HTMLIonInputElement | HTMLIonTextareaElement {
const inputs = this.el.querySelectorAll('ion-input, ion-textarea') as NodeListOf<
HTMLIonInputElement | HTMLIonTextareaElement
@@ -395,6 +400,7 @@ export class Item implements ComponentInterface, AnchorInterface, ButtonInterfac
const ariaDisabled = disabled || childStyles['item-interactive-disabled'] ? 'true' : null;
const fillValue = fill || 'none';
const inList = hostContext('ion-list', this.el);
+ const hasModernInput = this.hasModernInput();
return (