Skip to content

feat(textarea): reflect disabled and readonly props - #30910

Merged
thetaPC merged 2 commits into
ionic-team:feature-8.8from
KillerCodeMonkey:patch-3
Feb 11, 2026
Merged

thetaPC merged 2 commits into
ionic-team:feature-8.8from
KillerCodeMonkey:patch-3

Conversation

@KillerCodeMonkey

@KillerCodeMonkey KillerCodeMonkey commented Jan 13, 2026 •

Copy link
Copy Markdown
Contributor

Reflect readonly and disabled properties at ion-textarea host element.

Issue number: resolves #30911


What is the current behavior?

When setting readonly or disabled those settings are only reflected deep inside the ion-textarea component at the native textarea element.

Since there is no predefined readonly class it is hard to select readonly/disabled ion-textareas.

What is the new behavior?

Readonly and disabled props are reflected at ion-textarea host element.
Like they are for ion-inputs.
So it is consistent and will be helpful for easy element selection of disabled/readonly textareas (css, querySelector).

Does this introduce a breaking change?

  • Yes
  • No

Other information

  • /

@KillerCodeMonkey
KillerCodeMonkey requested a review from a team as a code owner January 13, 2026 09:24
@vercel

vercel Bot commented Jan 13, 2026

Copy link
Copy Markdown

@KillerCodeMonkey is attempting to deploy a commit to the Ionic Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added the package: core @ionic/core package label Jan 13, 2026
@gnbm
gnbm requested review from brandyscarney and removed request for OS-jacobbell January 27, 2026 21:12
@gnbm gnbm added type: feature request a new feature, enhancement, or improvement and removed type: feature request a new feature, enhancement, or improvement labels Jan 27, 2026
@brandyscarney
brandyscarney requested review from thetaPC and removed request for brandyscarney February 2, 2026 16:50
@vercel

vercel Bot commented Feb 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ionic-framework Ready Ready Preview, Comment Feb 11, 2026 0:06am

Request Review

@github-actions github-actions Bot added package: angular @ionic/angular package package: vue @ionic/vue package package: react @ionic/react package labels Feb 5, 2026
await expect(page.locator('ion-range').first()).toHaveJSProperty('value', 50);
});
test.describe('basic functionality', () => {
test('should have default values', async ({ page }) => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like a lot of changes but I only moved the tests under a describe.

await expect(page.locator('#input-otp-note')).toHaveText('123');
});

test('should reflect props when component has a default value', async ({ page }) => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the new test added.

cy.get('ion-select').should('have.prop', 'value').and('eq', 'apples');
});
describe('basic functionality', () => {
it('should have default value', () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like a lot of changes but I only moved the tests under a describe.

cy.get('ion-select').should('have.prop', 'value').and('eq', 'apples');
});

it('should reflect props when component has a default value', () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the new test.

});

describe('basic functionality', () => {
it('should have default value', () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like a lot of changes but I only moved the tests under a describe.

cy.get('ion-select').should('have.prop', 'value').and('eq', 'apples');
});

it('should reflect props when component has a default value', () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the new test.

@ShaneK ShaneK left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, left a few quickly fixable nits that are just minor cleanup I'm kind of surprised linting didn't catch

Comment thread packages/angular/test/base/src/app/lazy/inputs/inputs.component.html Outdated
Comment thread packages/angular/test/base/src/app/standalone/inputs/inputs.component.html Outdated
Comment thread packages/angular/test/base/src/app/standalone/inputs/inputs.component.ts Outdated

@brandyscarney brandyscarney left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thank you!

@thetaPC thetaPC changed the title fix(textarea): add reflect option to disabled and readonly props feat(textarea): reflect disabled and readonly props Feb 10, 2026
@thetaPC
thetaPC changed the base branch from main to feature-8.8 February 10, 2026 18:49
@thetaPC
thetaPC force-pushed the patch-3 branch 2 times, most recently from a660675 to 4d9cd7a Compare February 10, 2026 22:04
@thetaPC
thetaPC merged commit 55735df into ionic-team:feature-8.8 Feb 11, 2026
49 checks passed
@thetaPC

thetaPC commented Feb 11, 2026

Copy link
Copy Markdown
Contributor

Thank you for the PR! It'll be released in v8.8!

This branch was successfully deployed

1 active deployment
Preview — b941de95 Deployed Feb 11, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

package: angular @ionic/angular package package: core @ionic/core package package: react @ionic/react package package: vue @ionic/vue package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: reflect readonly/disabled at ion-textarea

5 participants