Skip to content
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

v6.0.0 Status and Todos #1436

Open
5 of 18 tasks
mlaursen opened this issue Feb 5, 2023 · 1 comment
Open
5 of 18 tasks

v6.0.0 Status and Todos #1436

mlaursen opened this issue Feb 5, 2023 · 1 comment

Comments

@mlaursen
Copy link
Owner

mlaursen commented Feb 5, 2023

Preview Website

I'm creating this ticket since I'm getting distracted by additional features instead of completing the release.

Here's a list of remaining todo items:

  • Update main layout to support resizing with the window splitter
  • Update main layout to support SSR when layout types are different because of local storage settings
    • also make it so that the visibility can be stored in local storage
  • Implement a multi select mode for the new Select implementation
  • Create the new API for AutoComplete
  • Create a ButtonGroup component that behaves like a radio group
  • Generate the @react-md/material-symbols package
  • Do I need to add the old Grid and GridList components back now that I have the new Box component?
  • Figure out how I want to generate the documentation pages
    • Part of this rewrite was to split examples into two groups
      • Super Simple - used to just get a feel for the component API
      • Real World - showcase how to use react-md components in real world applications and example patterns
    • I think some components should have a "feature builder" which generates the copy/paste-able code instead of having 20+ examples for themes and different states
    • I'll need to figure out how to generate simple component prop types instead of relying on typedoc since it is too verbose.
    • I need to rework the Sass documentation to be easier to find variables. Ideally create a table with condensed summaries and values.
    • Showcase how to use mixins
  • Tests
  • Create the full changelog
  • Create the @react-md/codemod transformations for v5 -> v6

Additional wants:

  • Update tabs' active indicator to only animate on change instead of initial render.
  • Showcase how to use the CSS variables for dynamic themes
  • Create a "builder" page that allows for copy/pasting the providers and Sass variable overrides to create a react-md app. This is really to showcase the disabling features behavior.
  • Create a useCookie hook
    • this is mostly for a nice API to not set cookies until a user has accepted them
    • also include permissions
  • Create a useStorage hook that connects both useLocalStorage and useCookie?
  • Look into updating the useTextField and useNumberField to support validating against multiple form items. I really designed these to validate a single field, but would be nice to support password confirmation for example. I'm not sure if I should really support this though and instead point people to react-hook-form
  • Might be nice to update all form components to correctly inherit the disabled state from a Fieldset since that is part of the spec
@isomx
Copy link

isomx commented Feb 20, 2023

This is awesome! Just checked out the preview site. Really appreciate all your hard work, been using this since v1.

I'd love to help, I'm not so good with the design aspects which I know kind of precludes me from being much help on the components themselves. But I could help out with things like the documentation site, building out example pages, etc.

In fact, I created a full drag & drop site builder using react-md v1, and I'm in the process of updating it to v5. Maybe that'd be a cool way for people to try out the various components? I sent you an email about it before Christmas, but never heard back. You can check it out here though - https://isomx.com. Scroll to the bottom, there's a video walkthrough.

I also see you have redoing the API for the AutoComplete component. That's something I could help with. I'm using it right now to provide AutoComplete for country, city, and state in a checkout form, but I had to fork your code to to do it. There were a couple reasons for that, like your implementation doesn't really do well with dynamic results, and also the useScrollListener() hook doesn't accept the scrollable element to monitor, it only attaches to the body, so the ListBox couldn't stay attached to the input element in the Dialog I used for the checkout. All that was for a client's site so I can't post the link here, but would be happy to send to you privately if you want to check it out. I could also contribute the code for connecting it to MeiliSearch, that's how I'm doing the address autocompletes. It handles everything from setting up & hosting MeiliSearch, to building out indexes, to providing real-time suggestions. Could be a nice option for anyone trying to do the same.

Either way, thanks again for all your hard work and feel free to reach out, would love to help.

Josh Cope

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants