source: trip-planner-front/node_modules/@angular/compiler/src/shadow_css.d.ts@ 76712b2

Last change on this file since 76712b2 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 3.0 KB
Line 
1/**
2 * @license
3 * Copyright Google LLC All Rights Reserved.
4 *
5 * Use of this source code is governed by an MIT-style license that can be
6 * found in the LICENSE file at https://angular.io/license
7 */
8/**
9 * This file is a port of shadowCSS from webcomponents.js to TypeScript.
10 *
11 * Please make sure to keep to edits in sync with the source file.
12 *
13 * Source:
14 * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
15 *
16 * The original file level comment is reproduced below
17 */
18export declare class ShadowCss {
19 strictStyling: boolean;
20 shimCssText(cssText: string, selector: string, hostSelector?: string): string;
21 private _insertDirectives;
22 private _insertPolyfillDirectivesInCssText;
23 private _insertPolyfillRulesInCssText;
24 private _scopeCssText;
25 private _extractUnscopedRulesFromCssText;
26 private _convertColonHost;
27 private _convertColonHostContext;
28 private _convertShadowDOMSelectors;
29 private _scopeSelectors;
30 /**
31 * Handle a css text that is within a rule that should not contain scope selectors by simply
32 * removing them! An example of such a rule is `@font-face`.
33 *
34 * `@font-face` rules cannot contain nested selectors. Nor can they be nested under a selector.
35 * Normally this would be a syntax error by the author of the styles. But in some rare cases, such
36 * as importing styles from a library, and applying `:host ::ng-deep` to the imported styles, we
37 * can end up with broken css if the imported styles happen to contain @font-face rules.
38 *
39 * For example:
40 *
41 * ```
42 * :host ::ng-deep {
43 * import 'some/lib/containing/font-face';
44 * }
45 *
46 * Similar logic applies to `@page` rules which can contain a particular set of properties,
47 * as well as some specific at-rules. Since they can't be encapsulated, we have to strip
48 * any scoping selectors from them. For more information: https://www.w3.org/TR/css-page-3
49 * ```
50 */
51 private _stripScopingSelectors;
52 private _scopeSelector;
53 private _selectorNeedsScoping;
54 private _makeScopeMatcher;
55 private _applySelectorScope;
56 private _applySimpleSelectorScope;
57 private _insertPolyfillHostInCssText;
58}
59export declare class CssRule {
60 selector: string;
61 content: string;
62 constructor(selector: string, content: string);
63}
64export declare function processRules(input: string, ruleCallback: (rule: CssRule) => CssRule): string;
65/**
66 * Mutate the given `groups` array so that there are `multiples` clones of the original array
67 * stored.
68 *
69 * For example `repeatGroups([a, b], 3)` will result in `[a, b, a, b, a, b]` - but importantly the
70 * newly added groups will be clones of the original.
71 *
72 * @param groups An array of groups of strings that will be repeated. This array is mutated
73 * in-place.
74 * @param multiples The number of times the current groups should appear.
75 */
76export declare function repeatGroups(groups: string[][], multiples: number): void;
Note: See TracBrowser for help on using the repository browser.