Dogfalo / materialize

Materialize, a CSS Framework based on Material Design
https://materializecss.com
MIT License
38.86k stars 4.74k forks source link

Changes for v1.0.0 #5004

Closed Dogfalo closed 5 years ago

Dogfalo commented 6 years ago

v1 Updates

1.0.0-alpha.1 is here! Check out the announcement post on Medium

Big Changes

Slimming Down

Clean Up

Meta Items

New Features

DanielRuf commented 6 years ago

Not sure about Remove automatic initialization for plugins. At least we should provide some autoinit file like Google uses for their Material components or Materialize method like Foundation has to initialize all current components in the DOM.

Dogfalo commented 6 years ago

@DanielRuf Yes, we'll provide something akin to that.

DanielRuf commented 6 years ago

That's good, thanks for clarification.

So it is Move automatic initialization for plugins to own plugin / method(s)?

DanielRuf commented 6 years ago

Remove Velocity.js (and use pure CSS animations and transitions or JavaScript animation API).

Dogfalo commented 6 years ago

We'll probably remove Velocity once animation API becomes widely supported

DanielRuf commented 6 years ago

What about https://github.com/web-animations/web-animations-js

We can remove the polyfill in the future and do not have to change the code (again) but can already support and use the native Web Animations API of browsers.

DanielRuf commented 6 years ago

So people who use Gecko and Chromium based browsers would already benefit of this and this would bring a great performance improvement.

Dogfalo commented 6 years ago

Its not a good practice to use polyfills in libraries as they will change the browser behavior.

DanielRuf commented 6 years ago

Well, this one uses the native API if it is available so it is probably just used in Edge, IE, Safari and other older browsers.

At least we should evaluate it.

Dogfalo commented 6 years ago

Web animations is only in draft phase and is still subject to change.

tomscholz commented 6 years ago

There are some more issues I would consider to be included in v1.0.0.

tomscholz commented 6 years ago

That's good, thanks for clarification.So it is Move automatic initialization for plugins to own plugin / method(s)?

References: #915, #1236, #4821

DanielRuf commented 6 years ago

Remove the collections component with a lists component (#4727)

Do you mean "replace"?

tomscholz commented 6 years ago

;) Yup

Dogfalo commented 6 years ago

Materialize currently "requires" to import all colors. That are 1.6k lines trash(#3612, #936) for people that only use a primary and secondary color.

The colors aren't just used for primary and secondary color purposes, they are used to color background and text as well. A solution to this is to have a distribution of materialize without the colors. But in this case, this seems to be orthogonal to v1

tomscholz commented 6 years ago

That makes sense

tomscholz commented 6 years ago

In v0.99.0 we renamed the.userView class to .user-view. I guess we should remove the temporary.userView class in v1.0 completely.

Dogfalo commented 6 years ago

Added to the list

tomscholz commented 6 years ago

I think we should also add the show/hide/breakpoints helpers fiasco to the list #5025

fega commented 6 years ago

@Dogfalo in the list, when you say "remove as a dependecy" you said that all the code should be removed or the mixed coded should be separated?

DanielRuf commented 6 years ago

We should use pure ES5/6 components. jQuer yand the others can be replaced with native solutions.

fega commented 6 years ago

The colors aren't just used for primary and secondary color purposes, they are used to color background and text as well. A solution to this is to have a distribution of materialize without the colors. But in this case, this seems to be orthogonal to v1

I see that the Cons are powerful than the Pros.. because: 1) all of those colors makes materialize bloated. 2) using the colors in the html is a tech deb when you want to change that color... and depending of the project complexity... could be a huge PAIN. 3) all could be solved adding a "common" color API, some helper classes like: .primary .primary-text .secondary .secondary-text primary-dark

Dogfalo commented 6 years ago

jQuery removal is no longer slated for v1.0.0. Instead, v1 will be a stepping stone where we remove a few other deps while rewriting code with minimal jQuery. We will likely target jQuery Lite for v1 and go for full removal in a later version.

eboye commented 6 years ago

I don't think we should remove colors from the library as this is the thing that brought me here.

That primary, secondary color scheme was the thing I hate about bootstrap.

It's always possible to remove those colors not used from the colors array in colors.scss

I always do this when my code is ready for production. I just comment out the ones not used and that's it.

basicBrogrammer commented 6 years ago

Is there a way to uncouple collapsible from a ul? I noticed some of the JS/CSS was looking for .collapsible > li.... I think it would be nice to have a collapsible tr inside a table.

tomscholz commented 6 years ago

@basicBrogrammer See #2128

JamesVanWaza commented 6 years ago

For Version 1.0.1 SSL for Materialize can be implemented as well.

DanielRuf commented 6 years ago

@jgacuca567 for the docs/website or files?

JamesVanWaza commented 6 years ago

@DanielRuf for the docs/website

DanielRuf commented 6 years ago

Well, this is not directly bound or dependent on the release(s). Changing this to https should be able on GitHub in the repo settings and where the domain is hosted.

Dogfalo commented 6 years ago

https://github.com/isaacs/github/issues/156

TheColorRed commented 6 years ago

I think you could simplify .flow-text by using the view port width instead of all those media-queries.

You would have to mess around with these values, as I just made them up off the top of my head.

@media (min-width: 360px) {
    .flow-text {
        font-size: 3vw;
    }
}

@media (min-width: 920px) {
    .flow-text {
        font-size: 2vw;
    }
}

@media (min-width: 1024px) {
    .flow-text {
        font-size: 1vw;
    }
}
DanielRuf commented 6 years ago

@Dogfalo it already works, see my websectools repository.

Dogfalo commented 6 years ago

We're going to wait for official support for ssl since it's not really that important at the moment

DanielRuf commented 6 years ago

Well, you just have to enable TLS and enforce it eg on Cloudflare and map the domain.

But I'm ok if this and other solutions are not ok for you, we can wait.

But keep in mind that TLS/https everywhere is more important than before ;-)

DanielRuf commented 6 years ago

fyi https://blog.sucuri.net/2017/08/google-warning-text-input-forms-october-https-ssl.html

Dogfalo commented 6 years ago

Yes I am aware of that. Either way, SSL does not have anything to do with 1.0, so let's table that discussion for now

jeaphil commented 6 years ago

hum well .. how about the Scrollable Tabs ?

galingong commented 6 years ago

@TheColorRed I agree, that .flow-text is a bit complicated, but you can always rewrite the formula to have less steps/media-queries. What I'd propose, is to create variables for more parameters. Right now we have to work with 5 parameters to configure .flow-text precisely - $range,$intervals in _variables.scss and initial screen width (360px default), initial font-size (1.2rem default) and "step multiplier" (0.2 default) in _typography.scss. Now if we had variables in _variables.scss - ($flow-initial-width, $flow-range, $flow-initial-size, $flow-steps and $flow-increment) - wouldn't it be much more simple to use and configure?

Dogfalo commented 6 years ago

We don't use viewport width for flow-text because it wont scale the text and line-height as precisely as we want to.

lepusmorris commented 6 years ago

I wish there were more component.

tomscholz commented 6 years ago

@lepusmorris Can you be more specific?

lepusmorris commented 6 years ago

@tomscholz alerts, comments, pricing tables, footer fixed navbar, modal, panel widget, product list, color picker.

i think i want to said mean snippet. get inspired by the bootstrap snippets. sorry for my english. good luck

DanielRuf commented 6 years ago

Modal is already there. Afaik pricing is not a Material Design component. We already have table and navbar. Color picker is also custom and available as thirdparty script. Product list = combination of card and other elements.

gio1135 commented 6 years ago

So does this mean that tabs will be able to have a ripple effect?

Dogfalo commented 6 years ago

What's preventing you from adding waves-effect on tabs right now?

gio1135 commented 6 years ago

It wasn't working. Maybe there's been an update that's fixed that since but it wasn't working when I tried it. http://lifetabporterville.org/past-events/

Dogfalo commented 6 years ago

It does work, just add the class waves-effect

gio1135 commented 6 years ago

Well, what do you know? OK, so what about having to lower the <main> in a separate stylesheet when I add tabs to the navbar?

Dogfalo commented 6 years ago

Not planning any changes for that