Skip to content

fix(text-area): fix error caused by internal measuring on disconnect #11751

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

jcfranco
Copy link
Member

@jcfranco jcfranco commented Mar 14, 2025

Related Issue: #11514

Summary

Updates internal measuring logic to check for references before calling Element.getBoundingClientRect() since refs can be cleared when a ref is updated and the element is disconnected.

@github-actions github-actions bot added the bug Bug reports for broken functionality. Issues should include a reproduction of the bug. label Mar 14, 2025
@jcfranco jcfranco added the pr ready for visual snapshots Adding this label will run visual snapshot testing. label Mar 14, 2025
@jcfranco jcfranco added skip visual snapshots Pull requests that do not need visual regression testing. and removed pr ready for visual snapshots Adding this label will run visual snapshot testing. labels Mar 14, 2025
@jcfranco jcfranco marked this pull request as ready for review March 14, 2025 23:18
Copy link
Contributor

@aPreciado88 aPreciado88 left a comment

Choose a reason for hiding this comment

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

🚀🐱‍👤

@jcfranco jcfranco merged commit 2e59646 into dev Mar 15, 2025
10 checks passed
@jcfranco jcfranco deleted the jcfranco/11514-fix-text-area-error-caused-by-early-removal branch March 15, 2025 01:34
benelan added a commit that referenced this pull request Mar 26, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>@esri/calcite-design-tokens: 3.0.1</summary>

##
[3.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)


### Bug Fixes

* Allow global focus color token to inherit fallback value
([#11711](#11711))
([a732c8d](a732c8d))

</details>

<details><summary>@esri/calcite-ui-icons: 4.1.0</summary>

##
[4.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)


### Features

* Add browser join and browser plus
([#11779](#11779))
([8f69b2d](8f69b2d))
* Update check
([#11799](#11799))
([5058939](5058939))
* Add language-2
([#11739](#11739))
([989df67](989df67))

</details>

<details><summary>@esri/eslint-plugin-calcite-components:
2.0.1</summary>

##
[2.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

**Note:** Version bump only for package
@esri/eslint-plugin-calcite-components

</details>

<details><summary>@esri/calcite-components: 3.1.0</summary>

##
[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)


### Features

* **accordion:** Add new component tokens and deprecate old tokens
([#11390](#11390))
([fdf3e61](fdf3e61))
* **action:** Enhance component's interactivity states
([#11478](#11478))
([aad98df](aad98df))
* **block, block-section:** Add `expanded` property and deprecate `open`
property
([#11582](#11582))
([999f532](999f532))
* **button:** Enhance component's interactivity states
([#11590](#11590))
([23a62ca](23a62ca))
* **chip:** Deprecate `pressed` in favor of `press`
([#11389](#11389))
([c905f9f](c905f9f))
* **chip:** Enhance component's interactivity states
([#11538](#11538))
([8db5697](8db5697))
* **combobox-item:** Add component tokens
([#11645](#11645))
([9cbd155](9cbd155))
* **combobox-item:** Update idle icons
([#11801](#11801))
([034f430](034f430))
* **combobox-item:** Update interactive state
([#11647](#11647))
([19d7c43](19d7c43))
* **combobox-item:** Update selection icons
([#11726](#11726))
([723fd22](723fd22))
* **combobox, combobox-item-group:** Add component tokens
([#11623](#11623))
([8215314](8215314))
* **dropdown, dropdown-item, dropdown-group:** Add component tokens
([#11465](#11465))
([85f9378](85f9378))
* **dropdown:** Add `offsetDistance` and `offsetSkidding` properties
([#11614](#11614))
([3381040](3381040))
* **fab:** Add component tokens
([#11723](#11723))
([d436514](d436514))
* **flow-item:** Expose `FlowItemLike` type
([#11791](#11791))
([28c7522](28c7522))
* **list-item, list:** Add `expanded` property and deprecate `open`
property
([#11003](#11003))
([c80c44c](c80c44c))
* **rating:** Enhance component's interactivity states
([#11469](#11469))
([11d83f6](11d83f6))
* **segmented-control-item:** Enhance component's interactivity states
([#11477](#11477))
([f025330](f025330))
* **split-button:** Make downloadable and linkable
([#11520](#11520))
([fb3e1dc](fb3e1dc))
* **tab-title:** Enhance component's interactivity states
([#11493](#11493))
([88a5260](88a5260))


### Bug Fixes

* **card-group:** Restore default gap spacing
([#11638](#11638))
([a554598](a554598))
* **dropdown-group:** Fix error caused by early removal
([#11612](#11612))
([2dcef25](2dcef25))
* **panel:** Apply custom styles correctly to header actions
([#11495](#11495))
([5e84892](5e84892))
* Set floating-ui elements max size set to the view
([#11577](#11577))
([b3ffd7f](b3ffd7f))
* **tabs:** Redisplay close button when more than one tab is closable
([#11492](#11492))
([ae8064e](ae8064e))
* **text-area:** Fix error caused by internal measuring on disconnect
([#11751](#11751))
([810f79e](810f79e))
* **tooltip:** Close tooltip when hovering out of an iframe
([#11600](#11600))
([93a5692](93a5692))
* **tooltip:** Do not open after the pointer has moved off of the
reference element
([#11599](#11599))
([33cadc8](33cadc8))

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-ui-icons bumped from 4.1.0-next.3 to 4.1.0
  * devDependencies
    * @esri/calcite-design-tokens bumped from 3.0.1-next.4 to 3.0.1
* @esri/eslint-plugin-calcite-components bumped from 2.0.1-next.2 to
2.0.1
</details>

<details><summary>@esri/calcite-components-react: 3.1.0</summary>

##
[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from 3.1.0-next.31 to 3.1.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ben Elan <[email protected]>
benelan added a commit that referenced this pull request Mar 26, 2025
🤖 I have created a release *beep* *boop*
---

<details><summary>@esri/calcite-design-tokens: 3.0.1</summary>

[3.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* Allow global focus color token to inherit fallback value
([#11711](#11711))
([a732c8d](a732c8d))

</details>

<details><summary>@esri/calcite-ui-icons: 4.1.0</summary>

[4.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* Add browser join and browser plus
([#11779](#11779))
([8f69b2d](8f69b2d))
* Update check
([#11799](#11799))
([5058939](5058939))
* Add language-2
([#11739](#11739))
([989df67](989df67))

</details>

<details><summary>@esri/eslint-plugin-calcite-components:
2.0.1</summary>

[2.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

**Note:** Version bump only for package
@esri/eslint-plugin-calcite-components

</details>

<details><summary>@esri/calcite-components: 3.1.0</summary>

[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* **accordion:** Add new component tokens and deprecate old tokens
([#11390](#11390))
([fdf3e61](fdf3e61))
* **action:** Enhance component's interactivity states
([#11478](#11478))
([aad98df](aad98df))
* **block, block-section:** Add `expanded` property and deprecate `open`
property
([#11582](#11582))
([999f532](999f532))
* **button:** Enhance component's interactivity states
([#11590](#11590))
([23a62ca](23a62ca))
* **chip:** Deprecate `pressed` in favor of `press`
([#11389](#11389))
([c905f9f](c905f9f))
* **chip:** Enhance component's interactivity states
([#11538](#11538))
([8db5697](8db5697))
* **combobox-item:** Add component tokens
([#11645](#11645))
([9cbd155](9cbd155))
* **combobox-item:** Update idle icons
([#11801](#11801))
([034f430](034f430))
* **combobox-item:** Update interactive state
([#11647](#11647))
([19d7c43](19d7c43))
* **combobox-item:** Update selection icons
([#11726](#11726))
([723fd22](723fd22))
* **combobox, combobox-item-group:** Add component tokens
([#11623](#11623))
([8215314](8215314))
* **dropdown, dropdown-item, dropdown-group:** Add component tokens
([#11465](#11465))
([85f9378](85f9378))
* **dropdown:** Add `offsetDistance` and `offsetSkidding` properties
([#11614](#11614))
([3381040](3381040))
* **fab:** Add component tokens
([#11723](#11723))
([d436514](d436514))
* **flow-item:** Expose `FlowItemLike` type
([#11791](#11791))
([28c7522](28c7522))
* **list-item, list:** Add `expanded` property and deprecate `open`
property
([#11003](#11003))
([c80c44c](c80c44c))
* **rating:** Enhance component's interactivity states
([#11469](#11469))
([11d83f6](11d83f6))
* **segmented-control-item:** Enhance component's interactivity states
([#11477](#11477))
([f025330](f025330))
* **split-button:** Make downloadable and linkable
([#11520](#11520))
([fb3e1dc](fb3e1dc))
* **tab-title:** Enhance component's interactivity states
([#11493](#11493))
([88a5260](88a5260))

* **card-group:** Restore default gap spacing
([#11638](#11638))
([a554598](a554598))
* **dropdown-group:** Fix error caused by early removal
([#11612](#11612))
([2dcef25](2dcef25))
* **panel:** Apply custom styles correctly to header actions
([#11495](#11495))
([5e84892](5e84892))
* Set floating-ui elements max size set to the view
([#11577](#11577))
([b3ffd7f](b3ffd7f))
* **tabs:** Redisplay close button when more than one tab is closable
([#11492](#11492))
([ae8064e](ae8064e))
* **text-area:** Fix error caused by internal measuring on disconnect
([#11751](#11751))
([810f79e](810f79e))
* **tooltip:** Close tooltip when hovering out of an iframe
([#11600](#11600))
([93a5692](93a5692))
* **tooltip:** Do not open after the pointer has moved off of the
reference element
([#11599](#11599))
([33cadc8](33cadc8))

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-ui-icons bumped from 4.1.0-next.3 to 4.1.0
  * devDependencies
    * @esri/calcite-design-tokens bumped from 3.0.1-next.4 to 3.0.1
* @esri/eslint-plugin-calcite-components bumped from 2.0.1-next.2 to
2.0.1
</details>

<details><summary>@esri/calcite-components-react: 3.1.0</summary>

[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from 3.1.0-next.31 to 3.1.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ben Elan <[email protected]>
benelan added a commit that referenced this pull request Mar 26, 2025
🤖 I have created a release *beep* *boop*
---

<details><summary>@esri/calcite-design-tokens: 3.0.1</summary>


[3.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* Allow global focus color token to inherit fallback value
([#11711](#11711))

([a732c8d](a732c8d))

</details>

<details><summary>@esri/calcite-ui-icons: 4.1.0</summary>


[4.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* Add browser join and browser plus
([#11779](#11779))

([8f69b2d](8f69b2d))
* Update check
([#11799](#11799))

([5058939](5058939))
* Add language-2
([#11739](#11739))

([989df67](989df67))

</details>

<details><summary>@esri/eslint-plugin-calcite-components:
2.0.1</summary>


[2.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

**Note:** Version bump only for package
@esri/eslint-plugin-calcite-components

</details>

<details><summary>@esri/calcite-components: 3.1.0</summary>


[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* **accordion:** Add new component tokens and deprecate old tokens
([#11390](#11390))

([fdf3e61](fdf3e61))
* **action:** Enhance component's interactivity states
([#11478](#11478))

([aad98df](aad98df))
* **block, block-section:** Add `expanded` property and deprecate `open`
property
([#11582](#11582))

([999f532](999f532))
* **button:** Enhance component's interactivity states
([#11590](#11590))

([23a62ca](23a62ca))
* **chip:** Deprecate `pressed` in favor of `press`
([#11389](#11389))

([c905f9f](c905f9f))
* **chip:** Enhance component's interactivity states
([#11538](#11538))

([8db5697](8db5697))
* **combobox-item:** Add component tokens
([#11645](#11645))

([9cbd155](9cbd155))
* **combobox-item:** Update idle icons
([#11801](#11801))

([034f430](034f430))
* **combobox-item:** Update interactive state
([#11647](#11647))

([19d7c43](19d7c43))
* **combobox-item:** Update selection icons
([#11726](#11726))

([723fd22](723fd22))
* **combobox, combobox-item-group:** Add component tokens
([#11623](#11623))

([8215314](8215314))
* **dropdown, dropdown-item, dropdown-group:** Add component tokens
([#11465](#11465))

([85f9378](85f9378))
* **dropdown:** Add `offsetDistance` and `offsetSkidding` properties
([#11614](#11614))

([3381040](3381040))
* **fab:** Add component tokens
([#11723](#11723))

([d436514](d436514))
* **flow-item:** Expose `FlowItemLike` type
([#11791](#11791))

([28c7522](28c7522))
* **list-item, list:** Add `expanded` property and deprecate `open`
property
([#11003](#11003))

([c80c44c](c80c44c))
* **rating:** Enhance component's interactivity states
([#11469](#11469))

([11d83f6](11d83f6))
* **segmented-control-item:** Enhance component's interactivity states
([#11477](#11477))

([f025330](f025330))
* **split-button:** Make downloadable and linkable
([#11520](#11520))

([fb3e1dc](fb3e1dc))
* **tab-title:** Enhance component's interactivity states
([#11493](#11493))

([88a5260](88a5260))

* **card-group:** Restore default gap spacing
([#11638](#11638))

([a554598](a554598))
* **dropdown-group:** Fix error caused by early removal
([#11612](#11612))

([2dcef25](2dcef25))
* **panel:** Apply custom styles correctly to header actions
([#11495](#11495))

([5e84892](5e84892))
* Set floating-ui elements max size set to the view
([#11577](#11577))

([b3ffd7f](b3ffd7f))
* **tabs:** Redisplay close button when more than one tab is closable
([#11492](#11492))

([ae8064e](ae8064e))
* **text-area:** Fix error caused by internal measuring on disconnect
([#11751](#11751))

([810f79e](810f79e))
* **tooltip:** Close tooltip when hovering out of an iframe
([#11600](#11600))

([93a5692](93a5692))
* **tooltip:** Do not open after the pointer has moved off of the
reference element
([#11599](#11599))

([33cadc8](33cadc8))

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-ui-icons bumped from 4.1.0-next.3 to 4.1.0
  * devDependencies
    * @esri/calcite-design-tokens bumped from 3.0.1-next.4 to 3.0.1
* @esri/eslint-plugin-calcite-components bumped from 2.0.1-next.2 to
2.0.1
</details>

<details><summary>@esri/calcite-components-react: 3.1.0</summary>


[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from 3.1.0-next.31 to 3.1.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See

[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot]
<github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ben Elan <[email protected]>

Co-authored-by: Calcite Admin <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
benelan added a commit that referenced this pull request May 14, 2025
🤖 I have created a release *beep* *boop*
---

<details><summary>@esri/calcite-design-tokens: 3.0.1</summary>

[3.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* Allow global focus color token to inherit fallback value
([#11711](#11711))

([a732c8d](a732c8d))

</details>

<details><summary>@esri/calcite-ui-icons: 4.1.0</summary>

[4.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* Add browser join and browser plus
([#11779](#11779))

([8f69b2d](8f69b2d))
* Update check
([#11799](#11799))

([5058939](5058939))
* Add language-2
([#11739](#11739))

([989df67](989df67))

</details>

<details><summary>@esri/eslint-plugin-calcite-components:
2.0.1</summary>

[2.0.1](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

**Note:** Version bump only for package
@esri/eslint-plugin-calcite-components

</details>

<details><summary>@esri/calcite-components: 3.1.0</summary>

[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* **accordion:** Add new component tokens and deprecate old tokens
([#11390](#11390))

([fdf3e61](fdf3e61))
* **action:** Enhance component's interactivity states
([#11478](#11478))

([aad98df](aad98df))
* **block, block-section:** Add `expanded` property and deprecate `open`
property
([#11582](#11582))

([999f532](999f532))
* **button:** Enhance component's interactivity states
([#11590](#11590))

([23a62ca](23a62ca))
* **chip:** Deprecate `pressed` in favor of `press`
([#11389](#11389))

([c905f9f](c905f9f))
* **chip:** Enhance component's interactivity states
([#11538](#11538))

([8db5697](8db5697))
* **combobox-item:** Add component tokens
([#11645](#11645))

([9cbd155](9cbd155))
* **combobox-item:** Update idle icons
([#11801](#11801))

([034f430](034f430))
* **combobox-item:** Update interactive state
([#11647](#11647))

([19d7c43](19d7c43))
* **combobox-item:** Update selection icons
([#11726](#11726))

([723fd22](723fd22))
* **combobox, combobox-item-group:** Add component tokens
([#11623](#11623))

([8215314](8215314))
* **dropdown, dropdown-item, dropdown-group:** Add component tokens
([#11465](#11465))

([85f9378](85f9378))
* **dropdown:** Add `offsetDistance` and `offsetSkidding` properties
([#11614](#11614))

([3381040](3381040))
* **fab:** Add component tokens
([#11723](#11723))

([d436514](d436514))
* **flow-item:** Expose `FlowItemLike` type
([#11791](#11791))

([28c7522](28c7522))
* **list-item, list:** Add `expanded` property and deprecate `open`
property
([#11003](#11003))

([c80c44c](c80c44c))
* **rating:** Enhance component's interactivity states
([#11469](#11469))

([11d83f6](11d83f6))
* **segmented-control-item:** Enhance component's interactivity states
([#11477](#11477))

([f025330](f025330))
* **split-button:** Make downloadable and linkable
([#11520](#11520))

([fb3e1dc](fb3e1dc))
* **tab-title:** Enhance component's interactivity states
([#11493](#11493))

([88a5260](88a5260))

* **card-group:** Restore default gap spacing
([#11638](#11638))

([a554598](a554598))
* **dropdown-group:** Fix error caused by early removal
([#11612](#11612))

([2dcef25](2dcef25))
* **panel:** Apply custom styles correctly to header actions
([#11495](#11495))

([5e84892](5e84892))
* Set floating-ui elements max size set to the view
([#11577](#11577))

([b3ffd7f](b3ffd7f))
* **tabs:** Redisplay close button when more than one tab is closable
([#11492](#11492))

([ae8064e](ae8064e))
* **text-area:** Fix error caused by internal measuring on disconnect
([#11751](#11751))

([810f79e](810f79e))
* **tooltip:** Close tooltip when hovering out of an iframe
([#11600](#11600))

([93a5692](93a5692))
* **tooltip:** Do not open after the pointer has moved off of the
reference element
([#11599](#11599))

([33cadc8](33cadc8))

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-ui-icons bumped from 4.1.0-next.3 to 4.1.0
  * devDependencies
    * @esri/calcite-design-tokens bumped from 3.0.1-next.4 to 3.0.1
* @esri/eslint-plugin-calcite-components bumped from 2.0.1-next.2 to
2.0.1
</details>

<details><summary>@esri/calcite-components-react: 3.1.0</summary>

[3.1.0](https://github.com/Esri/calcite-design-system/compare/@esri/[email protected]...@esri/[email protected])
(2025-03-26)

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from 3.1.0-next.31 to 3.1.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See

[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot]
<github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ben Elan <[email protected]>

Co-authored-by: Calcite Admin <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug reports for broken functionality. Issues should include a reproduction of the bug. skip visual snapshots Pull requests that do not need visual regression testing.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants