Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@instructure/ui-react-utils

instructure129.9kMIT10.26.4TypeScript support: included

A React utility library made by Instructure Inc.

readme


id: instructure-ui

Instructure UI

MIT License Code of Conduct

Instructure UI is an open source UI framework and design system for React. Its components are used by millions of learners every day when they use Instructure products like Canvas LMS.

See our website for usage, examples and documentation.

Contributing

Before contributing please read our code of conduct and read the contribution guidelines.

React Support

Instructure UI currently supports 16.14.0 and higher.

Browser Support

The last two versions of all modern browsers (Firefox, Safari, Chrome, Edge).

License

MIT

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

10.26.4 (2025-11-20)

Note: Version bump only for package @instructure/ui-react-utils

10.26.3 (2025-11-19)

Note: Version bump only for package @instructure/ui-react-utils

10.26.2 (2025-10-13)

Note: Version bump only for package @instructure/ui-react-utils

10.26.1 (2025-10-06)

Note: Version bump only for package @instructure/ui-react-utils

10.26.0 (2025-10-01)

Note: Version bump only for package @instructure/ui-react-utils

10.25.0 (2025-09-09)

Note: Version bump only for package @instructure/ui-react-utils

10.24.2 (2025-08-11)

Bug Fixes

  • ui-react-utils: fix "ref is not a prop" warning spam (5c02971)

10.24.1 (2025-07-30)

Note: Version bump only for package @instructure/ui-react-utils

10.24.0 (2025-07-18)

Bug Fixes

  • many: fix focus ring not respecting theme overrides in Button and FileDrop (8fffc5d)

Features

  • ui-react-utils: safeClonElement to support react 19 (2c9931f)

10.23.0 (2025-07-09)

Note: Version bump only for package @instructure/ui-react-utils

10.22.0 (2025-07-04)

Bug Fixes

  • ui-react-utils: fix an edge-case where safeCloneElement breaks with non-functional refs (fa78679)

10.21.0 (2025-06-27)

Note: Version bump only for package @instructure/ui-react-utils

10.20.1 (2025-06-17)

Note: Version bump only for package @instructure/ui-react-utils

10.20.0 (2025-06-13)

Bug Fixes

  • many: update dependencies, browsersdb and moment timezone database (3813636)

10.19.1 (2025-06-05)

Note: Version bump only for package @instructure/ui-react-utils

10.19.0 (2025-06-03)

Note: Version bump only for package @instructure/ui-react-utils

10.18.1 (2025-05-29)

Note: Version bump only for package @instructure/ui-react-utils

10.18.0 (2025-05-26)

Note: Version bump only for package @instructure/ui-react-utils

10.17.0 (2025-05-20)

Note: Version bump only for package @instructure/ui-react-utils

10.16.4 (2025-05-09)

Note: Version bump only for package @instructure/ui-react-utils

10.16.3 (2025-04-30)

Note: Version bump only for package @instructure/ui-react-utils

10.16.2 (2025-04-22)

Note: Version bump only for package @instructure/ui-react-utils

10.16.1 (2025-04-22)

Note: Version bump only for package @instructure/ui-react-utils

10.16.0 (2025-04-11)

Note: Version bump only for package @instructure/ui-react-utils

10.15.2 (2025-04-07)

Note: Version bump only for package @instructure/ui-react-utils

10.15.1 (2025-04-03)

Note: Version bump only for package @instructure/ui-react-utils

10.15.0 (2025-03-31)

Bug Fixes

  • many: fix having the same DOM ids if there are multiple instances of InstUI, e.g. module federation (a0bb4d0)

10.14.0 (2025-03-17)

Note: Version bump only for package @instructure/ui-react-utils

10.13.0 (2025-03-06)

Note: Version bump only for package @instructure/ui-react-utils

10.12.0 (2025-02-24)

Note: Version bump only for package @instructure/ui-react-utils

10.11.0 (2025-02-03)

Note: Version bump only for package @instructure/ui-react-utils

10.10.0 (2024-12-18)

Note: Version bump only for package @instructure/ui-react-utils

10.9.0 (2024-12-12)

Note: Version bump only for package @instructure/ui-react-utils

10.8.0 (2024-12-09)

Bug Fixes

  • ui-select,ui-text-input: fix long before elements overflowing in TextInput, Select, SimpleSelect (ee9cafd)

10.7.0 (2024-12-03)

Note: Version bump only for package @instructure/ui-react-utils

10.6.1 (2024-11-26)

Bug Fixes

  • ui-date-input: fix DateInput2 not working with NVDA (34fb8e0)

10.6.0 (2024-11-18)

Note: Version bump only for package @instructure/ui-react-utils

10.5.0 (2024-11-07)

Note: Version bump only for package @instructure/ui-react-utils

10.4.1 (2024-10-28)

Bug Fixes

10.4.0 (2024-10-16)

Note: Version bump only for package @instructure/ui-react-utils

10.3.0 (2024-10-03)

Note: Version bump only for package @instructure/ui-react-utils

10.2.2 (2024-09-13)

Note: Version bump only for package @instructure/ui-react-utils

10.2.1 (2024-08-30)

Note: Version bump only for package @instructure/ui-react-utils

10.2.0 (2024-08-23)

Note: Version bump only for package @instructure/ui-react-utils

10.1.0 (2024-08-23)

Note: Version bump only for package @instructure/ui-react-utils

10.0.0 (2024-07-31)

Note: Version bump only for package @instructure/ui-react-utils

9.5.1 (2024-07-30)

Note: Version bump only for package @instructure/ui-react-utils

9.5.0 (2024-07-26)

Note: Version bump only for package @instructure/ui-react-utils

9.4.0 (2024-07-26)

Note: Version bump only for package @instructure/ui-react-utils

9.3.0 (2024-07-17)

Note: Version bump only for package @instructure/ui-react-utils

9.2.0 (2024-07-09)

Note: Version bump only for package @instructure/ui-react-utils

9.1.0 (2024-06-14)

Bug Fixes

  • ui-react-utils: remove defaultProps from DeterministicContextProvider (5c89612)

9.0.1 (2024-05-09)

Note: Version bump only for package @instructure/ui-react-utils

9.0.0 (2024-05-09)

Features

  • ui-dom-utils,ui-react-utils,ui-utils: remove deprecated utils (0a8c8e3)

BREAKING CHANGES

  • ui-dom-utils,ui-react-utils,ui-utils: deprecated utils has been removed

8.56.0 (2024-05-06)

Note: Version bump only for package @instructure/ui-react-utils

8.55.1 (2024-04-30)

Note: Version bump only for package @instructure/ui-react-utils

8.55.0 (2024-04-09)

Note: Version bump only for package @instructure/ui-react-utils

8.54.0 (2024-03-21)

Note: Version bump only for package @instructure/ui-react-utils

8.53.2 (2024-02-15)

Note: Version bump only for package @instructure/ui-react-utils

8.53.1 (2024-02-09)

Note: Version bump only for package @instructure/ui-react-utils

8.53.0 (2024-02-08)

Note: Version bump only for package @instructure/ui-react-utils

8.52.0 (2024-02-02)

Note: Version bump only for package @instructure/ui-react-utils

8.51.0 (2023-12-14)

Note: Version bump only for package @instructure/ui-react-utils

8.50.0 (2023-12-05)

Note: Version bump only for package @instructure/ui-react-utils

8.49.0 (2023-11-24)

Note: Version bump only for package @instructure/ui-react-utils

8.48.3 (2023-11-23)

Note: Version bump only for package @instructure/ui-react-utils

8.48.2 (2023-11-21)

Note: Version bump only for package @instructure/ui-react-utils

8.48.1 (2023-11-17)

Note: Version bump only for package @instructure/ui-react-utils

8.48.0 (2023-11-10)

Bug Fixes

  • support multiple decorators with ReactTestUtils (ef704b4)

8.47.1 (2023-11-06)

Note: Version bump only for package @instructure/ui-react-utils

8.47.0 (2023-10-27)

Bug Fixes

  • emotion,ui-i18n,ui-react-utils: make decorated components testable with ReactTestUtils (3568250)

8.46.1 (2023-10-13)

Note: Version bump only for package @instructure/ui-react-utils

8.46.0 (2023-10-11)

Bug Fixes

  • ui-react-utils: fix ID counter wrong when not in context (29f8885)

8.45.0 (2023-10-03)

Note: Version bump only for package @instructure/ui-react-utils

8.44.0 (2023-09-21)

Note: Version bump only for package @instructure/ui-react-utils

8.43.1 (2023-09-11)

Note: Version bump only for package @instructure/ui-react-utils

8.43.0 (2023-09-07)

Note: Version bump only for package @instructure/ui-react-utils

8.42.0 (2023-09-07)

Note: Version bump only for package @instructure/ui-react-utils

8.41.1 (2023-08-24)

Note: Version bump only for package @instructure/ui-react-utils

8.41.0 (2023-08-21)

Note: Version bump only for package @instructure/ui-react-utils

8.40.1 (2023-08-18)

Note: Version bump only for package @instructure/ui-react-utils

8.40.0 (2023-08-17)

Note: Version bump only for package @instructure/ui-react-utils

8.39.0 (2023-07-21)

Note: Version bump only for package @instructure/ui-react-utils

8.38.1 (2023-06-13)

Note: Version bump only for package @instructure/ui-react-utils

8.38.0 (2023-05-15)

Note: Version bump only for package @instructure/ui-react-utils

8.37.0 (2023-04-25)

Note: Version bump only for package @instructure/ui-react-utils

8.36.0 (2023-03-23)

Note: Version bump only for package @instructure/ui-react-utils

8.35.1 (2023-03-10)

Note: Version bump only for package @instructure/ui-react-utils

8.35.0 (2023-02-17)

Note: Version bump only for package @instructure/ui-react-utils

8.34.0 (2023-02-10)

Note: Version bump only for package @instructure/ui-react-utils

8.33.2 (2023-01-25)

Note: Version bump only for package @instructure/ui-react-utils

8.33.1 (2023-01-06)

Note: Version bump only for package @instructure/ui-react-utils

8.33.0 (2023-01-04)

Note: Version bump only for package @instructure/ui-react-utils

8.32.1 (2022-12-01)

Note: Version bump only for package @instructure/ui-react-utils

8.32.0 (2022-11-23)

Note: Version bump only for package @instructure/ui-react-utils

8.31.0 (2022-11-21)

Note: Version bump only for package @instructure/ui-react-utils

8.30.0 (2022-10-26)

Note: Version bump only for package @instructure/ui-react-utils

8.29.0 (2022-09-29)

Bug Fixes

8.28.2 (2022-09-16)

Bug Fixes

8.28.1 (2022-09-12)

Bug Fixes

8.28.0 (2022-09-02)

Note: Version bump only for package @instructure/ui-react-utils

8.27.0 (2022-07-25)

Features

8.26.3 (2022-07-14)

Note: Version bump only for package @instructure/ui-react-utils

8.26.2 (2022-07-11)

Note: Version bump only for package @instructure/ui-react-utils

8.26.1 (2022-07-06)

Note: Version bump only for package @instructure/ui-react-utils

8.26.0 (2022-06-30)

Note: Version bump only for package @instructure/ui-react-utils

8.25.0 (2022-06-03)

Note: Version bump only for package @instructure/ui-react-utils

8.24.5 (2022-05-31)

Note: Version bump only for package @instructure/ui-react-utils

8.24.4 (2022-05-27)

Note: Version bump only for package @instructure/ui-react-utils

8.24.3 (2022-05-25)

Note: Version bump only for package @instructure/ui-react-utils

8.24.2 (2022-05-02)

Note: Version bump only for package @instructure/ui-react-utils

8.24.1 (2022-04-29)

Note: Version bump only for package @instructure/ui-react-utils

8.24.0 (2022-04-26)

Note: Version bump only for package @instructure/ui-react-utils

8.23.0 (2022-04-07)

Note: Version bump only for package @instructure/ui-react-utils

8.22.0 (2022-03-31)

Note: Version bump only for package @instructure/ui-react-utils

8.21.0 (2022-03-30)

Note: Version bump only for package @instructure/ui-react-utils

8.20.0 (2022-03-22)

Note: Version bump only for package @instructure/ui-react-utils

8.19.0 (2022-03-16)

Note: Version bump only for package @instructure/ui-react-utils

8.18.0 (2022-02-23)

Note: Version bump only for package @instructure/ui-react-utils

8.17.0 (2022-02-07)

Bug Fixes

  • remove type:"commonjs" from package.json files (0b243be)

8.16.0 (2022-02-03)

Note: Version bump only for package @instructure/ui-react-utils

8.15.0 (2022-01-26)

Features

  • ui-text: deprecate the warning color variant for Text (8e021a5)

8.14.0 (2021-12-16)

Note: Version bump only for package @instructure/ui-react-utils

8.13.0 (2021-12-01)

Note: Version bump only for package @instructure/ui-react-utils

8.12.0 (2021-11-17)

Note: Version bump only for package @instructure/ui-react-utils

8.11.1 (2021-10-19)

Note: Version bump only for package @instructure/ui-react-utils

8.11.0 (2021-10-15)

Note: Version bump only for package @instructure/ui-react-utils

8.10.2 (2021-10-01)

Note: Version bump only for package @instructure/ui-react-utils

8.10.1 (2021-10-01)

Note: Version bump only for package @instructure/ui-react-utils

8.10.0 (2021-09-28)

Note: Version bump only for package @instructure/ui-react-utils

8.9.1 (2021-09-16)

Note: Version bump only for package @instructure/ui-react-utils

8.9.0 (2021-09-15)

Bug Fixes

  • fix shared-types TS errors (7b83164)

8.8.0 (2021-08-27)

Note: Version bump only for package @instructure/ui-react-utils

8.7.0 (2021-07-16)

Features

  • add support for React 17 (f647826)

8.6.0 (2021-06-18)

Note: Version bump only for package @instructure/ui-react-utils

8.5.0 (2021-06-09)

Note: Version bump only for package @instructure/ui-react-utils

8.4.0 (2021-05-11)

Bug Fixes

  • fix all inter-package dependencies using fix version (75cd898)

8.3.0 (2021-05-04)

Note: Version bump only for package @instructure/ui-react-utils

8.2.1 (2021-04-22)

Note: Version bump only for package @instructure/ui-react-utils

8.2.0 (2021-04-22)

Note: Version bump only for package @instructure/ui-react-utils

8.1.0 (2021-04-15)

Note: Version bump only for package @instructure/ui-react-utils

8.0.0 (2021-03-29)

Note: Version bump only for package @instructure/ui-react-utils

7.5.0 (2021-03-22)

Note: Version bump only for package @instructure/ui-react-utils

7.4.4 (2021-03-12)

Note: Version bump only for package @instructure/ui-react-utils

7.4.3 (2021-03-11)

Note: Version bump only for package @instructure/ui-react-utils

7.4.2 (2021-03-11)

Note: Version bump only for package @instructure/ui-react-utils

7.4.1 (2021-03-04)

Bug Fixes

  • all: Fix package imports, now everything can be imported; fix test:all in main package.json (2f11024)

7.4.0 (2021-02-01)

Note: Version bump only for package @instructure/ui-react-utils

7.3.5 (2021-01-21)

Bug Fixes

  • esm: specify "exports" in package manifests (6007684)

7.3.4 (2021-01-14)

Bug Fixes

  • esm: specify "exports" in package manifests (6007684)

7.3.3 (2021-01-13)

Bug Fixes

  • esm: specify "exports" in package manifests (6007684)

7.3.2 (2020-12-10)

Note: Version bump only for package @instructure/ui-react-utils

7.3.1 (2020-11-30)

Note: Version bump only for package @instructure/ui-react-utils

7.3.0 (2020-10-26)

Note: Version bump only for package @instructure/ui-react-utils

7.2.4 (2020-10-09)

Note: Version bump only for package @instructure/ui-react-utils

7.2.3 (2020-10-08)

Note: Version bump only for package @instructure/ui-react-utils

7.2.2 (2020-10-08)

Note: Version bump only for package @instructure/ui-react-utils

7.2.1 (2020-10-07)

Note: Version bump only for package @instructure/ui-react-utils

7.2.0 (2020-09-23)

Note: Version bump only for package @instructure/ui-react-utils

7.1.4 (2020-09-09)

Note: Version bump only for package @instructure/ui-react-utils

7.1.3 (2020-08-10)

Note: Version bump only for package @instructure/ui-react-utils

7.1.2 (2020-07-17)

Note: Version bump only for package @instructure/ui-react-utils

7.1.1 (2020-07-01)

Note: Version bump only for package @instructure/ui-react-utils

7.1.0 (2020-06-25)

Note: Version bump only for package @instructure/ui-react-utils

7.0.0 (2020-05-27)

Bug Fixes

  • ui-react-utils: ensure ComponentIdentifier renders in the docs (044b9f3)

chore

  • bump minimum react version to 16.8.0 (7a96f00)
  • remove references to React 15 (4bb2426)
  • ui-react-utils: remove react-lifecycles-compat polyfill (aa698ae)

BREAKING CHANGES

  • ui-react-utils: - removed lifecycle polyfill from ui-react-utils

TEST PLAN:

  • No regressions to Expandable, Focusable, Transition, or Playground
  • ui-react-utils should no longer export or document polyfill

Change-Id: Ib714de4dc2a4ef048af2f43f272bcb8a2e545a5c Reviewed-on: https://gerrit.instructure.com/c/instructure-ui/+/237790 Tested-by: Service Cloud Jenkins svc.cloudjenkins@instructure.com Reviewed-by: Chris Guerrero cguerrero@instructure.com Product-Review: Ken Meleta kmeleta@instructure.com QA-Review: Daniel Sasaki dsasaki@instructure.com Visual-Regression-Test: Ken Meleta kmeleta@instructure.com

    • Minimum react and react-dom version raised to 16.8.0

TEST PLAN:

  • no regressions in docs app
  • homepage should note the react version change
  • automated tests should pass

Change-Id: I7cd9dd6423fb9524e0a1a0dd490caeee3a2c2c17 Reviewed-on: https://gerrit.instructure.com/c/instructure-ui/+/237727 Tested-by: Service Cloud Jenkins svc.cloudjenkins@instructure.com Reviewed-by: Chris Guerrero cguerrero@instructure.com Product-Review: Steve Jensen sejensen@instructure.com QA-Review: Daniel Sasaki dsasaki@instructure.com Visual-Regression-Test: Ken Meleta kmeleta@instructure.com

  • Dropping support for React 15.

TEST PLAN:

  • yarn dev/yarn start should work
  • yarn test/test:watch should work
  • there should be no mention of react 15 in code
  • there should be nothing depending on react 15 or reactDOM 15

Change-Id: I2c054c986421014ffe15f0402e14bd2725cbc267 Reviewed-on: https://gerrit.instructure.com/c/instructure-ui/+/229009 Tested-by: Service Cloud Jenkins svc.cloudjenkins@instructure.com QA-Review: Daniel Sasaki dsasaki@instructure.com Visual-Regression-Test: Ken Meleta kmeleta@instructure.com Reviewed-by: Steve Jensen sejensen@instructure.com Product-Review: Steve Jensen sejensen@instructure.com

6.26.0 (2020-04-30)

Note: Version bump only for package @instructure/ui-react-utils

6.25.0 (2020-04-27)

Note: Version bump only for package @instructure/ui-react-utils

6.24.0 (2020-04-14)

Note: Version bump only for package @instructure/ui-react-utils

6.23.0 (2020-04-02)

Note: Version bump only for package @instructure/ui-react-utils

6.22.0 (2020-03-16)

Note: Version bump only for package @instructure/ui-react-utils

6.21.0 (2020-02-26)

Features

  • ui-select: Add a SimpleSelect component (a7ed234)

6.20.0 (2020-02-13)

Note: Version bump only for package @instructure/ui-react-utils

6.19.0 (2020-02-11)

Note: Version bump only for package @instructure/ui-react-utils

6.18.0 (2020-02-04)

Features

  • instui-config,ui-buttons,ui-react-utils: un-deprecate disabled and readOnly in button (8041bbf)
  • ui-react-utils,ui-scripts,ui-webpack-config: env variable to omit deprecation warnings (6cc3193)

6.17.0 (2020-01-22)

Bug Fixes

  • Update Package READMEs and align deprecation statements (8f892e4)

6.16.0 (2019-12-13)

Note: Version bump only for package @instructure/ui-react-utils

6.15.0 (2019-11-18)

Bug Fixes

  • ui-react-utils: fix deprecated util functions in production (1c09675)
  • ui-react-utils: omit children from passthroughProps (c0e9cff)

Features

  • ui-focusable: update deprecated lifecycles in Focusable (696c998)
  • ui-react-utils: allow for completely custom message in deprecatePropValues (9a86beb)
  • ui-react-utils: update deprecated lifecycles in decorators (87295bf)

6.14.0 (2019-10-14)

Bug Fixes

  • ui-react-utils: fix production errors for decorator functions (f5da64c)

Performance Improvements

  • ui-react-utils: make dev-only decorators really noops in prod (f2f4865)

6.13.0 (2019-09-24)

Features

  • ui-react-utils: add hack decorator (1351477)

6.12.0 (2019-09-17)

Note: Version bump only for package @instructure/ui-react-utils

6.11.0 (2019-09-16)

Bug Fixes

  • ui-react-utils: provide correct contextual binding for lifecycle methods in experimental (9aeeb19)

Features

  • ui-react-utils: add flag to suppress experimental warnings (d30e678)
  • ui-react-utils: pass props in callRenderProp (042bc84)

6.10.0 (2019-08-27)

Note: Version bump only for package @instructure/ui-react-utils

6.9.0 (2019-08-07)

Note: Version bump only for package @instructure/ui-react-utils

6.8.1 (2019-08-02)

Note: Version bump only for package @instructure/ui-react-utils

6.8.0 (2019-07-31)

Bug Fixes

  • ui-react-utils: handle fat arrow functions in callRenderProp (6e0d0c8)

6.7.0 (2019-07-15)

Note: Version bump only for package @instructure/ui-react-utils

6.6.0 (2019-07-03)

Note: Version bump only for package @instructure/ui-react-utils

6.5.0 (2019-07-01)

Note: Version bump only for package @instructure/ui-react-utils

6.4.0 (2019-06-13)

Bug Fixes

  • ui-component-examples: prevent OOM when generating View examples (df5f505)

6.3.0 (2019-05-28)

Features

  • ui-options: add Options component (c0df653)

6.2.0 (2019-05-13)

Note: Version bump only for package @instructure/ui-react-utils

6.1.0 (2019-05-09)

Note: Version bump only for package @instructure/ui-react-utils

6.0.0 (2019-05-03)

Features

  • ui-babel-preset: transform member imports to full paths (d02cc45)
  • ui-dom-utils,ui-react-utils,ui-color-utils: new utils packages (03e8ee2)

See the instructure-ui mono-repo change log for past changes.