Hi Piotr,

what I'm proposing is the same that google made with MDL and you're using
in your examples.
The only way to let developers to have more control is in this way. I'll
write a email now since I get it working in Maven
stay tuned! :)

2018-03-08 12:29 GMT+01:00 Piotr Zarzycki <[email protected]>:

> Hi,
>
> Why can it be simpler by creating bunch of default css classes, which
> stores colors which you need ? Why complicating it by asking user to inject
> something through the compiler options ?
>
>
>
> 2018-03-08 12:12 GMT+01:00 Carlos Rovira <[email protected]>:
>
> > Hi Alex,
> >
> > at this moment, I only need to get 2-3 colors in final CSS file. But
> next I
> > think we should have a similar theme but with gradientes, that will mean
> > 4-6 colors.
> > But as I go with this maybe I could need something more, but right now
> > don't know what could be.
> >
> > As you say, the counterpart of introducing a CSS processor like SASS, is
> > that we introduce a new piece in the chain and that means wire it for
> maven
> > and ant.
> > Maybe this can be easy to do.
> >
> > In order to keep our efforts controlled, I propose you the folllowing: I
> > can check SASS implications and maybe see in MDL what other things can be
> > done. If I finaly see we only need to pass colors, we can try to make the
> > string substitution via compiler, if not we should look to introduce
> SASS.
> > Maybe if SASS is not to hard to introduce, we should directly go with it.
> >
> > what do you think?
> >
> >
> >
> >
> >
> > 2018-03-08 10:36 GMT+01:00 Alex Harui <[email protected]>:
> >
> > > Hi Carlos,
> > >
> > > That's fine if you want to work on a CSS theme.  Your reasoning make
> > sense.
> > >
> > > Yes, Maven allows substitutions, but as you said there is Ant, but also
> > > command-line and IDEs.  They all need a way to do whatever you want.
> > >
> > > Let's work from a real example:  What is a selector that you want to
> have
> > > changed, and how would you want to change it via command-line compiler
> > > options?
> > >
> > > If you have:
> > >
> > > Button {
> > >   color: COLOR::primary;
> > > }
> > >
> > > And want to specify
> > >
> > >    -compiler.define=COLOR::primary,red
> > >
> > > We could probably convince the compiler to handle that.  Right now, in
> > the
> > > emulation components we are using:
> > >
> > >    if (GOOG::DEBUG)
> > >
> > > And for SWF compile we set
> > >
> > >    -compiler.define=GOOG::DEBUG,true
> > >
> > > Which causes the compiler to generate an AST for
> > >
> > >    if (true)
> > >
> > > And for JS compile we set:
> > >
> > >    -compiler.define=GOOG::DEBUG,goog.DEBUG
> > >
> > > Which causes the compiler to output:
> > >
> > >    if (goog.DEBUG)
> > >
> > > So we have a limited form of string substitutions in AS already and can
> > > probably do something like that in CSS.  Is that what you are looking
> > for?
> > >
> > > But the thing is, if you use themes and in the main theme you have:
> > >
> > >    Button {
> > >       color: white;
> > >       Font-size: 10px;
> > >    }
> > >
> > > And in a theme SWC you have:
> > >
> > >    Button {
> > >       color: red;
> > >    }
> > >
> > > I'm pretty sure we can make the output exactly the same:  one selector
> > > that looks like:
> > >
> > >    Button {
> > >       color: red;
> > >       Font-size: 10px;
> > >    }
> > >
> > > I think themes may already work that way, and if not, we could probably
> > > make it work that way and it wouldn't have any extra overhead over
> string
> > > substitution.
> > >
> > > Of course, I could be wrong...
> > > -Alex
> > >
> > >
> > > On 3/8/18, 1:15 AM, "[email protected] on behalf of Carlos
> Rovira"
> > > <[email protected] on behalf of [email protected]> wrote:
> > >
> > > >Hi Alex,
> > > >
> > > >I started the theme as "VividBlue", but was something to get started,
> > as I
> > > >read and look how others are doing, I see that main colors should be
> > > >configurable on the same theme, for that reason the theme refactor
> name
> > is
> > > >simply "JewelTheme".
> > > >
> > > >In the other hand, I'm a bit blocked trying to make many complex
> visual
> > > >things at a time, this due to various reasons:
> > > >
> > > >* for advanced things browsers has limitations here and there
> > > >* we have some problems in CSS as we are discussing in other threads,
> > and
> > > >although we are discussing it, I feel that each day I put time on this
> > to
> > > >work, I can't solve this issues
> > > >* SVGs are cool but requieres more love than I thought
> > > >
> > > >for this reason, yesterday I continued my work with different thoughts
> > in
> > > >mind:
> > > >
> > > >* I want to have something good looking as fast as possible, and for
> me
> > is
> > > >important to get it with some infrastructure well done (css per
> control,
> > > >organization, component html structure,..)
> > > >* for that reason I'm going back to CSS3 mainly, in the end I think we
> > > >need
> > > >a pure CSS theme as well
> > > >* my plan is to get this theme be customizable with colors (this is
> what
> > > >we're discussing here)
> > > >* as I get things done in this theme, I can start another theme that
> can
> > > >use linear gradients instead of plain colors
> > > >* then I can make another one with SVG mainly
> > > >* I think this plan will make us have things more soon that try to
> fight
> > > >at
> > > >the same time with SVG, royale compiler, and more, as I have little
> time
> > > >each day to invest in this project I need to see things done to keep
> me
> > > >motivated and pursuing this efftort.
> > > >
> > > >So coming back at your proposal, don't know id CSS property overriding
> > is
> > > >working (I can test it), but as a path to follow it seems to me a bit
> > > >weird. It could be great if we have the basics working and then a user
> > > >wants to make something like that (to put another theme in place),
> but I
> > > >don't think we should promote this as a great way to do things since
> > we'll
> > > >adding code to the mix and more bytes to download, while others only
> use
> > > >one compact css. I'll look into it as something like a "hack" that a
> > user
> > > >could be doing at sometime, but not as the basis of a royale official
> > > >theme
> > > >in the framework
> > > >
> > > >I'm looking at SASS and I see there's a maven plugin [1]. What do you
> > > >think
> > > >if I do a try to see what we get? The only thing is that ANT build
> file
> > > >should be fixed for others.
> > > >
> > > >In the end, I want to do something like we did in MDL, with some vars
> in
> > > >pom.xml like this:
> > > >
> > > ><properties>
> > > ><!-- Customize Jewel colors -->
> > > ><primary>red</primary>
> > > ><secondary>grey</secondary>
> > > ></properties>
> > > >
> > > >And that will be pass to the HTML template to the line where the CSS
> is
> > > >loaded
> > > >
> > > >let me know what do you think
> > > >
> > > >Thanks
> > > >
> > > >[1]
> > > >https://na01.safelinks.protection.outlook.com/?url=
> > > https%3A%2F%2Fwww.geodi
> > > >enstencentrum.nl%2Fsass-maven-plugin%2Fplugin-info.
> > > html&data=02%7C01%7Caha
> > > >rui%40adobe.com%7Cbec10bf2ecb144cf5ddf08d584d5
> > > 4627%7Cfa7b1b5a7b34438794aed
> > > >2c178decee1%7C0%7C0%7C636560973893496699&sdata=
> > > 3FoDbj2YbEJpJnKG8%2FLpqathy
> > > >k1ACgHcBhgVaHufHTY%3D&reserved=0
> > > >
> > > >
> > > >
> > > >2018-03-08 9:45 GMT+01:00 Alex Harui <[email protected]>:
> > > >
> > > >> I think I may be missing something, because, IMO, the Royale way is
> to
> > > >>use
> > > >> Themes.  Weren't you working on a VividBlue theme?
> > > >>
> > > >> I suppose Themes might be a bit heavier than true string/variable
> > > >> substitution, but I think there is property overriding in the
> > compiler.
> > > >> I'm not sure order of theme SWCs is preserved and used, but maybe we
> > can
> > > >> implement that if that's what is needed.
> > > >>
> > > >> I think if JewelTheme.swc specifies:
> > > >>
> > > >> Button {
> > > >>   background-color: white;
> > > >> }
> > > >>
> > > >> And JewelBlueTheme.swc specifies
> > > >>
> > > >> Button {
> > > >>   background-color: blue;
> > > >> }
> > > >>
> > > >> That both will be output in the CSS in that order and blue will win.
> > It
> > > >> might be that the compiler already can tell that there is a later
> > Button
> > > >> selector with background-color and can choose not to output the
> > > >> "background-color: white".  If that doesn't exist already, we can
> > > >>probably
> > > >> make it happen.
> > > >>
> > > >> I think on the command line, you would specify -theme=JewelTheme.swc
> > and
> > > >> -theme=JewelBlueTheme.swc.
> > > >>
> > > >> String substitution is possible.  I'm about to push code that allows
> > > >> simple member access expressions as compiler defines so there is
> > > >>already a
> > > >> form of substitution in the AS compiler.
> > > >>
> > > >> HTH,
> > > >> -Alex
> > > >>
> > > >>
> > > >> On 3/7/18, 11:14 PM, "[email protected] on behalf of Carlos
> > > >>Rovira"
> > > >> <[email protected] on behalf of [email protected]>
> wrote:
> > > >>
> > > >> >Hi Alex, Om,
> > > >> >
> > > >> >I'm referring to what Om's describe. In MDL and the rest of
> > frameworks
> > > >>we
> > > >> >pass for example "primary" and "accent" color. In this way the
> final
> > > >>CSS
> > > >> >gets the colors in all rules they need to use hardcoded. Please
> check
> > > >>the
> > > >> >following link:
> > > >> >
> > > >> >https://na01.safelinks.protection.outlook.com/?url=
> > > >> https%3A%2F%2Fgetmdl.io
> > > >> >%2Fcustomize%2Findex.html&data=02%7C01%7Caharui%40adobe.com
> > > >> %7C7ee10b52100d
> > > >> >4931824e08d584c450aa%7Cfa7b1b5a7b34438794aed2c178de
> > > >> cee1%7C0%7C0%7C63656090
> > > >> >1060420372&sdata=YwCDV9HX4XIFn2O%2B2L90UaoHu9tKAEOPwTDdwViUQWo%
> > > >> 3D&reserved
> > > >> >=0
> > > >> >
> > > >> >then we get a CSS with the colors applied. This is done with SASS
> > > >> >processing, but I was asking if we can get this out-of-the-box with
> > > >>royale
> > > >> >since we are using a compiler, or we have another trick that we
> could
> > > >>use
> > > >> >to get the same result. Another way with CSS could be to use
> > variables
> > > >>in
> > > >> >CSS but maybe this is not still part of the actual browsers support
> > or
> > > >>we
> > > >> >don't support it in our CSS processing.
> > > >> >
> > > >> >If not, I'll need to introduce SASS processing in the chain in some
> > > >>way.
> > > >> >
> > > >> >
> > > >> >
> > > >> >2018-03-08 4:33 GMT+01:00 OmPrakash Muppirala <
> [email protected]
> > >:
> > > >> >
> > > >> >> Carlos,
> > > >> >>
> > > >> >> In SASS, there are variables, but you cannot pass variables into
> it
> > > >>from
> > > >> >> the app.  The variables in SASS are compiled down to CSS as
> > hardcoded
> > > >> >> values, that's it.
> > > >> >>
> > > >> >> Usually, multiple class values are created and we set the class
> > > >> >>property on
> > > >> >> an element using a string evaluation.
> > > >> >>
> > > >> >> For example:
> > > >> >>
> > > >> >> var colorName = this.hasWarning() ? "Red" : "Blue";
> > > >> >> var className:String = "button" + colorName + "Class";
> > > >> >>
> > > >> >> element.setAttribute("class", className);
> > > >> >>
> > > >> >> In the css:
> > > >> >>
> > > >> >> .buttonRedClass {
> > > >> >>     color: darkred;
> > > >> >> }
> > > >> >>
> > > >> >> .buttonBlueClass {
> > > >> >>     color: lightskyblue;
> > > >> >> }
> > > >> >>
> > > >> >> This is one way of doing things.
> > > >> >>
> > > >> >> The other way is to directly set the .style property of the
> element
> > > >>and
> > > >> >> apply the color there.  Not very elegant, but should work.
> > > >> >>
> > > >> >> Hope that helps.
> > > >> >>
> > > >> >> Thanks,
> > > >> >> Om
> > > >> >>
> > > >> >> On Wed, Mar 7, 2018 at 3:18 PM, Carlos Rovira
> > > >><[email protected]>
> > > >> >> wrote:
> > > >> >>
> > > >> >> > Hi,
> > > >> >> >
> > > >> >> > I'd need to pass two or three colors to a CSS (i.e: primary,
> > > >>secondary
> > > >> >> and
> > > >> >> > accent)
> > > >> >> > in other frameworks people use things like SASS
> > > >> >> > Maybe in Royale we could get it in our own way
> > > >> >> >
> > > >> >> > any suggestion so that I could test?
> > > >> >> >
> > > >> >> > thanks!
> > > >> >> >
> > > >> >> > --
> > > >> >> > Carlos Rovira
> > > >> >> >
> > > >> >>https://na01.safelinks.protection.outlook.com/?url=
> > > >> http%3A%2F%2Fabout.me%
> > > >> >>2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%
> > > >> 7C7ee10b52100d4931824e08
> > > >> >>d584c450aa%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> > > >> 7C63656090106042037
> > > >> >>2&sdata=LirhMtyi6j2OLZIvI0BFOPxXMurqUIoOIC7fqisx8oc%3D&reserved=0
> > > >> >> >
> > > >> >>
> > > >> >
> > > >> >
> > > >> >
> > > >> >--
> > > >> >Carlos Rovira
> > > >> >https://na01.safelinks.protection.outlook.com/?url=
> > > >> http%3A%2F%2Fabout.me%2
> > > >> >Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%
> > > >> 7C7ee10b52100d4931824e08d5
> > > >> >84c450aa%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> > > >> 7C636560901060420372&s
> > > >> >data=LirhMtyi6j2OLZIvI0BFOPxXMurqUIoOIC7fqisx8oc%3D&reserved=0
> > > >>
> > > >>
> > > >
> > > >
> > > >--
> > > >Carlos Rovira
> > > >https://na01.safelinks.protection.outlook.com/?url=
> > > http%3A%2F%2Fabout.me%2
> > > >Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%
> > > 7Cbec10bf2ecb144cf5ddf08d5
> > > >84d54627%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> > > 7C636560973893496699&s
> > > >data=86Hm91sdEvczfLja%2F867VKJoJyYNaVi8j7bgsNExM0E%3D&reserved=0
> > >
> > >
> >
> >
> > --
> > Carlos Rovira
> > http://about.me/carlosrovira
> >
>
>
>
> --
>
> Piotr Zarzycki
>
> Patreon: *https://www.patreon.com/piotrzarzycki
> <https://www.patreon.com/piotrzarzycki>*
>



-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to