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

Does not work when used in Polymer. #36

Open
sanjayc77 opened this issue Mar 15, 2014 · 6 comments
Open

Does not work when used in Polymer. #36

sanjayc77 opened this issue Mar 15, 2014 · 6 comments

Comments

@sanjayc77
Copy link

<link rel="import" href="../bower_components/polymer/polymer.html">
<script>
  GSS_CONFIG = {
    worker: "../bower_components/gss/dist/worker.js"
  }
</script>
<script src="../bower_components/gss/dist/gss.js"></script>
<polymer-element name="polymer-greeting"  attributes="">
  <template>
    <style>
      /* styles for the custom element itself - lowest specificity */
      :host { display: block; }
      /*
      style if an ancestor has the different class
      :host(.different) { }
      */
    </style>
    <style type="text/gss">
      h1[line-height] >= 16;
    </style>
    <h1>{{ greeting }}, {{ greeting }}!</h1>
    <span>Update text to change the greeting.</span>
    <input type="text" value="{{ greeting }}">
  </template>
  <script>
    Polymer('polymer-greeting', {
      greeting : '\'Allo'
    });
  </script>
</polymer-element>

The script "gss.js" is downloaded, but it does not detect <style type="text/gss">.

@sanjayc77
Copy link
Author

This is an issue with Polymer. See https://github.com/Polymer/platform/issues/23.

An alternative way to doing this would be to define a polymer component for the styles.

<gss-style id="myStyle">
...
</gss-style>

Then referencing this in another component:

<my-superbox gss-style="myStyle>...</my-superbox>

@d4tocchini
Copy link
Member

There's a lot of issues with Polymer's polyfills, especially the ShadowDomPolyfill, see: Polymer/polymer#346

Bottom-line, without native browser support, the polyfills have to do do crazy shit like monkey-wrench every DOM query method replacing all LiveNodeLists with static ones. Thus rendering libs like GSS considerably slower & unpredictable. I actually ended up adding spec/runner-polymer.html just to make sure things run when Polymer js files are loaded. Without native web components, I would tread carefully...

@shtefcs
Copy link

shtefcs commented Nov 23, 2014

Hi Dan @d4tocchini

I was searching for but didn't find any info that say exactly is GSS work with Polymer. Can this two awesome things can be combined together ?

Peace,

@paulyoung
Copy link
Contributor

I think the Shadow DOM issues @d4tocchini mentioned still stand. I tried to use GSS and Polymer recently and couldn't get things working fully.

I think the latest release candidate would be most promising, but no guarantees.

@sebpatu
Copy link

sebpatu commented Feb 11, 2015

Does the gss team has a prefered lib to use gss with web components (polymer, angular etc) ?
And could we have a sample integration code?
AutoLayout coupled with web components is killer UI design feature, and gets web dev closer to native dev finally. especially if working on any legacy ie browser.

@Inviz
Copy link
Contributor

Inviz commented Feb 11, 2015

In current implementation GSS is blissfully ignorant about shadow DOM. AFAIK, web components didn't prove to be very useful in our apps. But it's probably wouldnt be hard to hack Document base class to consider shadow DOM in tree-walker, and add custom Selector to target shadow descendants.

You should be careful of invasive shims though, that create dummies, wrap and replace elements, polluting MutationObserver log, as gss has to make sense of it.

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

No branches or pull requests

6 participants