|
19 | 19 |
|
20 | 20 | /* Transforms ShadowDOM styling into ShadyDOM styling |
21 | 21 |
|
22 | | - * scoping: |
| 22 | + * scoping: |
23 | 23 |
|
24 | 24 | * elements in scope get scoping selector class="x-foo-scope" |
25 | 25 | * selectors re-written as follows: |
|
41 | 41 | */ |
42 | 42 | var api = { |
43 | 43 |
|
44 | | - // Given a node and scope name, add a scoping class to each node |
45 | | - // in the tree. This facilitates transforming css into scoped rules. |
| 44 | + // Given a node and scope name, add a scoping class to each node |
| 45 | + // in the tree. This facilitates transforming css into scoped rules. |
46 | 46 | dom: function(node, scope, useAttr, shouldRemoveScope) { |
47 | 47 | this._transformDom(node, scope || '', useAttr, shouldRemoveScope); |
48 | 48 | }, |
|
86 | 86 | .replace(scope, '')); |
87 | 87 | } |
88 | 88 | } else { |
89 | | - element.setAttribute(CLASS, c + (c ? ' ' : '') + |
| 89 | + element.setAttribute(CLASS, c + (c ? ' ' : '') + |
90 | 90 | SCOPE_NAME + ' ' + scope); |
91 | 91 | } |
92 | 92 | } |
|
153 | 153 | } |
154 | 154 | // NOTE: save transformedSelector for subsequent matching of elements |
155 | 155 | // agsinst selectors (e.g. when calculating style properties) |
156 | | - rule.selector = rule.transformedSelector = |
| 156 | + rule.selector = rule.transformedSelector = |
157 | 157 | p$.join(COMPLEX_SELECTOR_SEP); |
158 | 158 | }, |
159 | 159 |
|
|
167 | 167 | stop = stop || info.stop; |
168 | 168 | hostContext = hostContext || info.hostContext; |
169 | 169 | c = info.combinator; |
170 | | - s = info.value; |
| 170 | + s = info.value; |
171 | 171 | } else { |
172 | 172 | s = s.replace(SCOPE_JUMP, ' '); |
173 | 173 | } |
174 | 174 | return c + s; |
175 | 175 | }); |
176 | 176 | if (hostContext) { |
177 | | - selector = selector.replace(HOST_CONTEXT_PAREN, |
| 177 | + selector = selector.replace(HOST_CONTEXT_PAREN, |
178 | 178 | function(m, pre, paren, post) { |
179 | | - return pre + paren + ' ' + hostScope + post + |
| 179 | + return pre + paren + ' ' + hostScope + post + |
180 | 180 | COMPLEX_SELECTOR_SEP + ' ' + pre + hostScope + paren + post; |
181 | 181 | }); |
182 | 182 | } |
|
198 | 198 | selector = selector.replace(HOST, hostScope); |
199 | 199 | // replace other selectors with scoping class |
200 | 200 | } else if (jumpIndex !== 0) { |
201 | | - selector = scope ? this._transformSimpleSelector(selector, scope) : |
| 201 | + selector = scope ? this._transformSimpleSelector(selector, scope) : |
202 | 202 | selector; |
203 | 203 | } |
204 | 204 | // remove left-side combinator when dealing with ::content. |
|
212 | 212 | selector = selector.replace(SCOPE_JUMP, ' '); |
213 | 213 | stop = true; |
214 | 214 | } |
215 | | - return {value: selector, combinator: combinator, stop: stop, |
| 215 | + return {value: selector, combinator: combinator, stop: stop, |
216 | 216 | hostContext: hostContext}; |
217 | 217 | }, |
218 | 218 |
|
|
247 | 247 | }; |
248 | 248 |
|
249 | 249 | var SCOPE_NAME = api.SCOPE_NAME; |
250 | | - var SCOPE_DOC_SELECTOR = ':not([' + SCOPE_NAME + '])' + |
| 250 | + var SCOPE_DOC_SELECTOR = ':not([' + SCOPE_NAME + '])' + |
251 | 251 | ':not(.' + SCOPE_NAME + ')'; |
252 | 252 | var COMPLEX_SELECTOR_SEP = ','; |
253 | 253 | var SIMPLE_SELECTOR_SEP = /(^|[\s>+~]+)([^\s>+~]+)/g; |
254 | 254 | var HOST = ':host'; |
255 | 255 | var ROOT = ':root'; |
256 | | - // NOTE: this supports 1 nested () pair for things like |
| 256 | + // NOTE: this supports 1 nested () pair for things like |
257 | 257 | // :host(:not([selected]), more general support requires |
258 | 258 | // parsing which seems like overkill |
259 | 259 | var HOST_PAREN = /(\:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g; |
|
0 commit comments