I'm not clear how namespace would help.
AIUI, CSS Vars are problematic because of IE support as Harbs pointed out.
If we don't care, we can probably make the compiler handle it.
But I think there is already a rough equivalent in Flex, and that is
Themes. It wouldn't be the same as CSS Vars in terms of syntax, but I
believe you could put some sort of default values in the Vivid component
set, say:
Vivid/src/main/resource/defaults.css
vivid|TextInput {
background-color: #fff;
color: #000;
}
Then in the Themes folder declare overrides:
themes/VividBlue/src/defaults.css
vivid|TextInput {
background-color: #00f; // dark-blue
color: #fff; // white text
}
This should work without compiler changes. The user specifies
-theme=themes/VividBlue/VividBlue.swc
HTH,
-Alex
On 2/10/18, 10:46 AM, "Gabe Harbs" <[email protected]> wrote:
>BTW, CSS vars is not supported in IE:
>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcaniuse.c
>om%2F%23feat%3Dcss-variables&data=02%7C01%7Caharui%40adobe.com%7Cb065bcb55
>e49451d890c08d570b6a6c3%7C71f1da39c0a84d5a8d88a67b23c30bf4%7C0%7C0%7C63653
>8852172705057&sdata=0vtIlMb7apTnPnQ7rRY5l21wjlCLhbAgRS9d2blBo3A%3D&reserve
>d=0
><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcaniuse.
>com%2F%23feat%3Dcss-variables&data=02%7C01%7Caharui%40adobe.com%7Cb065bcb5
>5e49451d890c08d570b6a6c3%7C71f1da39c0a84d5a8d88a67b23c30bf4%7C0%7C0%7C6365
>38852172705057&sdata=0vtIlMb7apTnPnQ7rRY5l21wjlCLhbAgRS9d2blBo3A%3D&reserv
>ed=0>
>
>> On Feb 10, 2018, at 8:26 PM, Carlos Rovira <[email protected]>
>>wrote:
>>
>> Hi
>>
>> I'm figuring how to configure easy colors in CSS in a reusable way.
>>
>> I get to CSS vars:
>>
>>
>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdevelope
>>r.mozilla.org%2Fes%2Fdocs%2FWeb%2FCSS%2FUsing_CSS_variables&data=02%7C01%
>>7Caharui%40adobe.com%7Cb065bcb55e49451d890c08d570b6a6c3%7C71f1da39c0a84d5
>>a8d88a67b23c30bf4%7C0%7C0%7C636538852172705057&sdata=Jd1qtkGnZsj2vRGiYJgq
>>7Ojh07CkARNZ88bUOf7VNFY%3D&reserved=0
>>
>> but something like the basic example described in that CSS makes the
>> compiler breaks:
>>
>> java.util.NoSuchElementException: can't look backwards more than one
>>token
>> in this stream org.antlr.runtime.misc.LookaheadStream.LB
>>
>>(LookaheadStream.java:159)org.antlr.runtime.misc.LookaheadStream.LT(Looka
>>headStream.java:120)org.antlr.runtime.RecognitionException.extractInforma
>>tionFromTreeNodeStream(RecognitionException.java:144)org.antlr.runtime.Re
>>cognitionException.<init>(RecognitionException.java:111)org.antlr.runtime
>>.MismatchedTreeNodeException.<init>(MismatchedTreeNodeException.java:42)o
>>rg.antlr.runtime.tree.TreeParser.recoverFromMismatchedToken(TreeParser.ja
>>va:135)org.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115)org
>>.apache.royale.compiler.internal.css.CSSTree.declarationsBlock(CSSTree.ja
>>va:1725)org.apache.royale.compiler.internal.css.CSSTree.ruleset(CSSTree.j
>>ava:786)org.apache.royale.compiler.internal.css.CSSTree.stylesheet(CSSTre
>>e.java:289)org.apache.royale.compiler.internal.css.CSSDocument.parse(CSSD
>>ocument.java:81)org.apache.royale.compiler.internal.caches.CSSDocumentCac
>>he$CSSDocumentCacheKey.parse(CSSDocumentCache.java:251)org.apache.royale.
>>compiler.internal.caches.CSSDocumentCache.createEntryValue(CSSDocumentCac
>>he.java:337)org.apache.royale.compiler.internal.caches.CSSDocumentCache.c
>>reateEntryValue(CSSDocumentCache.java:55)org.apache.royale.compiler.inter
>>nal.caches.ConcurrentCacheStoreBase.get(ConcurrentCacheStoreBase.java:69)
>>org.apache.royale.compiler.internal.caches.CSSDocumentCache.getDefaultsCS
>>S(CSSDocumentCache.java:381)org.apache.royale.compiler.internal.css.CSSMa
>>nager.getDefaultCSS(CSSManager.java:182)org.apache.royale.compiler.intern
>>al.targets.RoyaleJSTarget.getAllDefaultCSS(RoyaleJSTarget.java:289)org.ap
>>ache.royale.compiler.internal.targets.RoyaleJSTarget.findAllCompilationUn
>>itsToLink(RoyaleJSTarget.java:195)org.apache.royale.compiler.internal.tar
>>gets.Target.buildAllCompilationUnits(Target.java:297)org.apache.royale.co
>>mpiler.internal.targets.Target.getBuiltCompilationUnitSet(Target.java:306
>>)org.apache.royale.compiler.internal.targets.JSTarget.buildAndCollectProb
>>lems(JSTarget.java:186)org.apache.royale.compiler.internal.targets.JSTarg
>>et.build(JSTarget.java:114)org.apache.royale.compiler.internal.targets.JS
>>Target.build(JSTarget.java:226)org.apache.royale.compiler.clients.MXMLJSC
>>Royale.buildApplication(MXMLJSCRoyale.java:455)org.apache.royale.compiler
>>.clients.MXMLJSCRoyale.buildJSTarget(MXMLJSCRoyale.java:420)org.apache.ro
>>yale.compiler.clients.MXMLJSCRoyale.buildArtifact(MXMLJSCRoyale.java:411)
>>org.apache.royale.compiler.clients.MXMLJSCRoyale.compile(MXMLJSCRoyale.ja
>>va:308)org.apache.royale.compiler.clients.MXMLJSCRoyale._mainNoExit(MXMLJ
>>SCRoyale.java:240)org.apache.royale.compiler.clients.MXMLJSCRoyale.mainNo
>>Exit(MXMLJSCRoyale.java:197)org.apache.royale.compiler.clients.MXMLJSC._m
>>ainNoExit(MXMLJSC.java:343)org.apache.royale.compiler.clients.MXMLJSC.mai
>>nNoExit(MXMLJSC.java:279)org.apache.royale.compiler.clients.MXMLJSC.execu
>>te(MXMLJSC.java:210)org.apache.royale.maven.BaseMojo.execute(BaseMojo.jav
>>a:302)org.apache.royale.maven.CompileAppMojo.execute(CompileAppMojo.java:
>>107)org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
>>BuildPluginManager.java:134)org.apache.maven.lifecycle.internal.MojoExecu
>>tor.execute(MojoExecutor.java:208)org.apache.maven.lifecycle.internal.Moj
>>oExecutor.execute(MojoExecutor.java:154)org.apache.maven.lifecycle.intern
>>al.MojoExecutor.execute(MojoExecutor.java:146)org.apache.maven.lifecycle.
>>internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:
>>117)org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
>>ct(LifecycleModuleBuilder.java:81)org.apache.maven.lifecycle.internal.bui
>>lder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.jav
>>a:51)org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecyc
>>leStarter.java:128)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.j
>>ava:309)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)org
>>.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)org.apache.maven
>>.cli.MavenCli.execute(MavenCli.java:993)org.apache.maven.cli.MavenCli.doM
>>ain(MavenCli.java:345)org.apache.maven.cli.MavenCli.main(MavenCli.java:19
>>1)sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>
>>Method)sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
>>pl.java:62)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
>>odAccessorImpl.java:43)java.lang.reflect.Method.invoke(Method.java:498)or
>>g.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.j
>>ava:289)org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher
>>.java:229)org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitC
>>ode(Launcher.java:415)org.codehaus.plexus.classworlds.launcher.Launcher.m
>>ain(Launcher.java:356)
>>
>>
>>
>> Should vars be supported?
>>
>> In the other hand, what do you think about this approach to make CSS
>> reusable?
>>
>> thanks
>>
>> --
>> Carlos Rovira
>>
>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%
>>2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7Cb065bcb55e49451d890c08
>>d570b6a6c3%7C71f1da39c0a84d5a8d88a67b23c30bf4%7C0%7C0%7C63653885217270505
>>7&sdata=kkZq%2F2jgC%2FFLk8iiUu6H9N%2FvJnaWubh%2BSbrX0WKHi1E%3D&reserved=0
>