Skip to main content
react-md
Layout - Changelog

Change Log

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

2.7.0 (2021-02-28)

Features

  • @react-md/layout: added support for mini layouts (36b3cbc)

Documentation

  • tsdoc: fixed remaining tsdoc syntax warnings (946f4dd)
  • tsdoc: fixed some tsdoc annotations and styling (0449b86)
  • tsdoc: updated @since annotations (c62027e)

Other Internal Changes

  • updated test coverage to not include conditional component PropTypes (24e5df1)

2.6.0 (2021-02-13)

Bug Fixes

  • @react-md/layout: floating layout has correct color in dark theme (7fa6b0c)
  • @react-md/layout: toggleable layout title now aligns with persistent layouts (8b8efb2)

Features

  • @react-md/layout: added prop to control toggleable layouts default visibility (6e4a06d), closes #1066

Other Internal Changes

  • @react-md/utils: refactored UserInteractionMode hooks and components (af72791)

2.5.5 (2021-01-30)

Note: Version bump only for package @react-md/layout

2.5.4 (2021-01-27)

Note: Version bump only for package @react-md/layout

2.5.3 (2021-01-12)

Note: Version bump only for package @react-md/layout

2.5.2 (2021-01-12)

Note: Version bump only for package @react-md/layout

2.5.1 (2020-12-16)

Note: Version bump only for package @react-md/layout

2.5.0 (2020-12-15)

Note: Version bump only for package @react-md/layout

2.4.3 (2020-11-14)

Note: Version bump only for package @react-md/layout

2.4.2 (2020-10-23)

Note: Version bump only for package @react-md/layout

2.4.1 (2020-10-17)

Note: Version bump only for package @react-md/layout

2.4.0 (2020-10-17)

Features

2.3.1 (2020-09-15)

Note: Version bump only for package @react-md/layout

2.3.0 (2020-09-10)

Features

2.2.2 (2020-09-02)

Note: Version bump only for package @react-md/layout

2.2.1 (2020-09-02)

Note: Version bump only for package @react-md/layout

2.2.0 (2020-08-11)

Note: Version bump only for package @react-md/layout

2.1.2 (2020-08-01)

Note: Version bump only for package @react-md/layout

2.1.1 (2020-07-21)

Note: Version bump only for package @react-md/layout

2.1.0 (2020-07-12)

Note: Version bump only for package @react-md/layout

2.0.4 (2020-07-10)

Bug Fixes

2.0.2 (2020-06-30)

Bug Fixes

  • LICENSE: Removed the time range from license since it was incorrect (50c9021)
  • Added sideEffects field to package.json (31820b9)
  • sideEffects formatting (78a7b6b)

v2.0.1

No changes.

v2.0.0

This package is kind of a replacement for the NavigationDrawer component that also now has a top-level Configuration provider for react-md.

New Behavior and Features

  • every part of the layout is now completely configurable by exporting multiple layout components along with a <name>Props configuration object
  • better built-in support for rendering navigation trees with the new useLayoutNavigation hook and LayoutTree component
  • when the persistent navigation panel toggles in and out of view, the title and main content will now correctly use the same animation timing as the panel
  • the layout will no longer animate while switching layout types due to resizing and instead will update instantly
  • a new useLayoutConfig hook that allows controlled the layout for additional customization
  • new exported utils for determining what the current layout type is being rendered as
  • keyboard focus behavior is now correctly maintained while toggling the temporary and persistent layout types
  • all the icon buttons now have a default aria-label for toggling the temporary and persistent layouts
  • the <main> element will now gain a focus box-shadow while being keyboard focused
  • the <main> element will only gain a tabIndex={-1} while in keyboard mode so that clicking anywhere in the <main> content will not re-focus the main element. This is super nice since it allows you to click somewhere within the <main> element and press tab to focus the closest focusable element

Breaking Changes

Everything is a really a breaking change since the components were re-written and the API has changed, but here are a few notable points:

  • this release does not have a mini variant for the temporary and persistent layout types. The mini variant will be added in a following release once I figure out a better way to handle these types along with keyboard movement
  • the Layout has no functionality for determining your current app size since it was moved to the @react-md/utils package as AppSizeListener and useAppSize
  • removed the static getCurrentMedia function from the component
  • removed the DrawerType and DrawerTypes static enums from the component
New SCSS Variables, Functions, and Mixins
  • $rmd-layout-enter-duration: $rmd-sheet-enter-duration !default - the duration when the toggleable navigation panel comes into view
  • $rmd-layout-leave-duration: $rmd-sheet-leave-duration !default - the duration when the toggleable navigation panel leaves the view
  • $rmd-layout-main-focus-shadow: $rmd-states-focus-shadow !default - the box-shadow to use when the <main> element has been keyboard focused
  • $rmd-layout-main-focus-z-index: 999 !default - the z-index for the <main> element when it has been keyboard focused
  • $rmd-layout-navigation-z-index: $rmd-dialog-z-index !default - the z-index for the navigation pane
  • $rmd-layout-navigation-width: $rmd-sheet-static-width !default - the width to use for the desktop persistent navigation panel
  • $rmd-layout-mini-navigation-width: 4.5rem !default - the width to use for the mini navigation tree. Note: currently not implemented
  • @function rmd-layout-theme-var - gets one of the theme values as a css variable with a fallback value and validates that the theme name is valid
  • @mixin rmd-layout-theme - applies one of the theme values to a css property as a css variable
  • @mixin rmd-layout-theme-update-var - updates one of the theme values as a css variable
Removed SCSS Variables Placeholders, and Mixins
  • removed $md-navigation-drawer-enforce-height since it is no longer used
  • removed $md-navigation-drawer-use-view-height since it lead to a lot of problems
  • removed $md-navigation-drawer-include-cross-fade, $md-cross-fade-transition-time, and $md-cross-fade-distance since this is now part of the @react-md/transition package
  • removed $md-navigation-drawer-title-offset since this is automatically calculated with CSS variables