Giter Site home page Giter Site logo

Comments (8)

Templarian avatar Templarian commented on July 21, 2024 1
  • <Stack/> is implemented. ๐Ÿ˜… (not released just yet)
  • Heavily cleaned up the code for readability.
  • Updated all the <Icon/> unit tests.
  • Need to update the <Stack/> unit tests (why it isn't released)
  • https://templarian.github.io/@mdi/react/ has mobile support now for easier previewing.
  • spin, vertical, horizontal and rotate can be mixed without issues now.

Really good progress, but going to work on unit tests a little more. Will release v1.0.0 once these unit tests are done.

from materialdesign-react.

mririgoyen avatar mririgoyen commented on July 21, 2024

I don't think there is a right answer here, but from a React point-of-view, I think it might make more sense to structure an overlay more like this:

import { Icon, Overlay } from '@mdi/react';
import { mdiCheckboxBlackCircle, mdiStar } from '@mdi/js';

...

<Overlay>
  <Icon path={mdiStar} color='yellow' spin />
  <Icon path={mdiCheckboxBlankCircle} color='black' />
</Overlay>

In this fashion, we could literally support all props and not have to mess with arrays and array ordering. It's also much clearer what is on top of what from just a quick pass.

I also personally like the term "Stack" better, since you can literally stack as many icons as you want, while an overlay typically is only one layer.

That's my 2ยข.

from materialdesign-react.

Templarian avatar Templarian commented on July 21, 2024

Agreed, I like that more, overloading isn't a normal react pattern, so this looks nicer.

from materialdesign-react.

Templarian avatar Templarian commented on July 21, 2024

I'm starting to code it, and basically setting up how the final output will look like.

<Stack color="#444">
  <Icon path={mdiAccount}/>
  <Icon path={mdiBlockHelper} color="red"/>
<Stack>
<svg viewBox="0 0 24 24" style="width:1.5rem">
  <path d="M...Z" style="fill:#444"/>
  <path d="M...Z" style="fill:red"/>
</svg>

There may be some difficulty to calculate the size, but this seems like the best solution to just have Stack simply inherit properties to the children.

from materialdesign-react.

Templarian avatar Templarian commented on July 21, 2024

Will need to update the docs so people know to use path:nth-child(2) { fill: red; } in their CSS if they are not using props.

from materialdesign-react.

Templarian avatar Templarian commented on July 21, 2024

Note: If it's a single <Icon/> spread props to <svg/> and if it's a <Stack/> spread <Icon/> props to <path/> and <Stack/> spreads to <svg/>.

from materialdesign-react.

Templarian avatar Templarian commented on July 21, 2024

Everything except for horizontal and vertical work now. I setup the unit tests, but still need to add a lot more unit tests for <Stack>.

from materialdesign-react.

Templarian avatar Templarian commented on July 21, 2024

Closing this out. Feel free to open any issues if you see any bugs.

Will be wrapping up the v1.0.0 release for this Friday. Don't want to release such a drastic update until then so I'll have time support it this weekend.

from materialdesign-react.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.