Skip to content

v6.0.0

No due date 0% complete

This is going to be a pretty big release that:

  • revamps the internal build systems to use swc instead of tsc for compilation
  • switch from classnames to cnbuilder
  • provide className utils for most components for type-safe class names. i.e. button(), dialog(), dialogHeader()
  • update to React 18 and make all ids optional
  • natively support new color preferences of

This is going to be a pretty big release that:

  • revamps the internal build systems to use swc instead of tsc for compilation
  • switch from classnames to cnbuilder
  • provide className utils for most components for type-safe class names. i.e. button(), dialog(), dialogHeader()
  • update to React 18 and make all ids optional
  • natively support new color preferences of light, dark, and system. also provide hooks to configure these values
  • reduce the number of packages to make it easier for new users to pick up this library
    • @react-md/utils, @react-md/theme, @react-md/typography, @react-md/transition, @react-md/theme, @react-md/states, and @react-md/elevation combined into a single @react-md/core
    • @react-md/sheet and @react-md/overlay merged into @react-md/dialog
  • fully support the new Sass module system for the scoped packages
  • revamp the css variables usage to reduce bundle size
    • only support a single light and dark pre-built bundle. use @include react-md.colors; to define your custom color theme/overrides
    • only enable :root definitions for the color palette
  • update @react-md/material-icons to support all the latest icons...
    • will only support svg icons
    • will provide an "icon generator" script with this package
  • remove legacy code and use new a11y movement behavior

Documentation Changes

  • update all components to provide examples and a link to the documentation page within the source code
    • this is my preferred way of looking up documentation instead of having to go to the documentation site. it allows the "Go to Definition" functionality to provide all the info you need
    • add the @defaultValue annotation for all optional props so you can see what the default implementation is
  • update demos into copy/paste-able versions and "real world" examples. The "real world" examples are more to showcase how you might use react-md with these components
  • provide a "react-md theme builder" which allows for copy/pasting the @use "react-md" with ( ...overrides... ) based on feature flags and everything within react-md
    • i.e. build an interface to show the toggleable feature flags and show how the .scss and Configuration should be updated to reflect these changes
  • provide a simple component API page describing the props instead of only relying on typedoc