happy-dom 6.0.4 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/lib/css/CSSParser.js +12 -6
- package/lib/css/CSSParser.js.map +1 -1
- package/lib/css/CSSRule.d.ts +15 -13
- package/lib/css/CSSRule.js +18 -13
- package/lib/css/CSSRule.js.map +1 -1
- package/lib/css/CSSRuleTypeEnum.d.ts +17 -0
- package/lib/css/CSSRuleTypeEnum.js +21 -0
- package/lib/css/CSSRuleTypeEnum.js.map +1 -0
- package/lib/css/CSSStyleSheet.d.ts +6 -16
- package/lib/css/CSSStyleSheet.js +11 -19
- package/lib/css/CSSStyleSheet.js.map +1 -1
- package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts +76 -0
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js +182 -0
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -0
- package/lib/css/declaration/CSSStyleDeclaration.d.ts +1194 -0
- package/lib/css/declaration/CSSStyleDeclaration.js +3566 -0
- package/lib/css/declaration/CSSStyleDeclaration.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.d.ts +12 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js +34 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.d.ts +131 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js +133 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.d.ts +40 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js +42 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.d.ts +49 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js +244 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.d.ts +167 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js +537 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.d.ts +65 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js +565 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.d.ts +809 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js +2303 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.d.ts +127 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js +411 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js.map +1 -0
- package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.d.ts +4 -0
- package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js +3 -0
- package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js.map +1 -0
- package/lib/css/rules/CSSContainerRule.d.ts +15 -0
- package/lib/css/rules/CSSContainerRule.js +31 -0
- package/lib/css/rules/CSSContainerRule.js.map +1 -0
- package/lib/css/rules/CSSFontFaceRule.d.ts +10 -3
- package/lib/css/rules/CSSFontFaceRule.js +16 -0
- package/lib/css/rules/CSSFontFaceRule.js.map +1 -1
- package/lib/css/rules/CSSKeyframeRule.d.ts +10 -3
- package/lib/css/rules/CSSKeyframeRule.js +16 -0
- package/lib/css/rules/CSSKeyframeRule.js.map +1 -1
- package/lib/css/rules/CSSKeyframesRule.d.ts +1 -1
- package/lib/css/rules/CSSKeyframesRule.js +1 -1
- package/lib/css/rules/CSSKeyframesRule.js.map +1 -1
- package/lib/css/rules/CSSMediaRule.d.ts +1 -1
- package/lib/css/rules/CSSStyleRule.d.ts +10 -3
- package/lib/css/rules/CSSStyleRule.js +16 -0
- package/lib/css/rules/CSSStyleRule.js.map +1 -1
- package/lib/event/Event.d.ts +2 -3
- package/lib/event/Event.js.map +1 -1
- package/lib/event/events/IMediaQueryListInit.d.ts +5 -0
- package/lib/event/events/IMediaQueryListInit.js +3 -0
- package/lib/event/events/IMediaQueryListInit.js.map +1 -0
- package/lib/event/events/MediaQueryListEvent.d.ts +16 -0
- package/lib/event/events/MediaQueryListEvent.js +28 -0
- package/lib/event/events/MediaQueryListEvent.js.map +1 -0
- package/lib/exception/DOMException.js +5 -3
- package/lib/exception/DOMException.js.map +1 -1
- package/lib/exception/DOMExceptionNameEnum.d.ts +2 -1
- package/lib/exception/DOMExceptionNameEnum.js +1 -0
- package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
- package/lib/file/Blob.d.ts +9 -0
- package/lib/file/Blob.js +14 -0
- package/lib/file/Blob.js.map +1 -1
- package/lib/index.d.ts +9 -2
- package/lib/index.js +16 -2
- package/lib/index.js.map +1 -1
- package/lib/match-media/MediaQueryList.d.ts +19 -8
- package/lib/match-media/MediaQueryList.js +56 -13
- package/lib/match-media/MediaQueryList.js.map +1 -1
- package/lib/{attribute → nodes/attr}/Attr.d.ts +8 -7
- package/lib/{attribute → nodes/attr}/Attr.js +12 -5
- package/lib/nodes/attr/Attr.js.map +1 -0
- package/lib/nodes/attr/IAttr.d.ts +14 -0
- package/lib/nodes/attr/IAttr.js +3 -0
- package/lib/nodes/attr/IAttr.js.map +1 -0
- package/lib/nodes/child-node/ChildNodeUtility.js +2 -1
- package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +4 -4
- package/lib/nodes/document/Document.js +5 -8
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +3 -3
- package/lib/nodes/element/Element.d.ts +11 -9
- package/lib/nodes/element/Element.js +2 -1
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/IElement.d.ts +10 -8
- package/lib/nodes/html-element/HTMLElement.d.ts +21 -5
- package/lib/nodes/html-element/HTMLElement.js +74 -11
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-element/IHTMLElement.d.ts +5 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +2 -2
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +2 -2
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
- package/lib/nodes/node/INode.d.ts +2 -0
- package/lib/nodes/node/Node.d.ts +5 -1
- package/lib/nodes/node/Node.js +7 -1
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeTypeEnum.d.ts +2 -0
- package/lib/nodes/node/NodeTypeEnum.js +2 -0
- package/lib/nodes/node/NodeTypeEnum.js.map +1 -1
- package/lib/nodes/svg-element/ISVGElement.d.ts +1 -1
- package/lib/nodes/svg-element/SVGElement.d.ts +4 -4
- package/lib/nodes/svg-element/SVGElement.js +2 -2
- package/lib/nodes/svg-element/SVGElement.js.map +1 -1
- package/lib/window/IWindow.d.ts +23 -3
- package/lib/window/Window.d.ts +35 -6
- package/lib/window/Window.js +58 -23
- package/lib/window/Window.js.map +1 -1
- package/package.json +2 -2
- package/src/css/CSSParser.ts +14 -6
- package/src/css/CSSRule.ts +15 -13
- package/src/css/CSSRuleTypeEnum.ts +18 -0
- package/src/css/CSSStyleSheet.ts +12 -22
- package/src/css/declaration/AbstractCSSStyleDeclaration.ts +202 -0
- package/src/css/declaration/CSSStyleDeclaration.ts +4743 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationCSSParser.ts +35 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.ts +130 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.ts +39 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts +282 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.ts +743 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationPropertyManager.ts +592 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts +3026 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationValueParser.ts +437 -0
- package/src/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.ts +4 -0
- package/src/css/rules/CSSContainerRule.ts +23 -0
- package/src/css/rules/CSSFontFaceRule.ts +17 -2
- package/src/css/rules/CSSKeyframeRule.ts +17 -2
- package/src/css/rules/CSSKeyframesRule.ts +1 -1
- package/src/css/rules/CSSStyleRule.ts +17 -2
- package/src/event/Event.ts +2 -3
- package/src/event/events/IMediaQueryListInit.ts +6 -0
- package/src/event/events/MediaQueryListEvent.ts +25 -0
- package/src/exception/DOMException.ts +3 -3
- package/src/exception/DOMExceptionNameEnum.ts +2 -1
- package/src/file/Blob.ts +16 -0
- package/src/index.ts +15 -1
- package/src/match-media/MediaQueryList.ts +63 -10
- package/src/{attribute → nodes/attr}/Attr.ts +11 -8
- package/src/nodes/attr/IAttr.ts +15 -0
- package/src/nodes/child-node/ChildNodeUtility.ts +2 -1
- package/src/nodes/document/Document.ts +8 -10
- package/src/nodes/document/IDocument.ts +3 -3
- package/src/nodes/element/Element.ts +13 -10
- package/src/nodes/element/IElement.ts +8 -8
- package/src/nodes/html-element/HTMLElement.ts +94 -16
- package/src/nodes/html-element/IHTMLElement.ts +3 -1
- package/src/nodes/html-link-element/HTMLLinkElement.ts +2 -2
- package/src/nodes/html-script-element/HTMLScriptElement.ts +2 -2
- package/src/nodes/html-select-element/HTMLSelectElement.ts +1 -1
- package/src/nodes/html-style-element/HTMLStyleElement.ts +1 -1
- package/src/nodes/node/INode.ts +2 -0
- package/src/nodes/node/Node.ts +7 -1
- package/src/nodes/node/NodeTypeEnum.ts +2 -0
- package/src/nodes/svg-element/ISVGElement.ts +1 -1
- package/src/nodes/svg-element/SVGElement.ts +5 -5
- package/src/window/IWindow.ts +23 -3
- package/src/window/Window.ts +51 -11
- package/lib/attribute/Attr.js.map +0 -1
- package/lib/css/CSSStyleDeclaration.d.ts +0 -3017
- package/lib/css/CSSStyleDeclaration.js +0 -4643
- package/lib/css/CSSStyleDeclaration.js.map +0 -1
- package/src/css/CSSStyleDeclaration.ts +0 -5026
package/lib/css/CSSParser.js
CHANGED
@@ -8,7 +8,7 @@ const CSSStyleRule_1 = __importDefault(require("./rules/CSSStyleRule"));
|
|
8
8
|
const CSSKeyframeRule_1 = __importDefault(require("./rules/CSSKeyframeRule"));
|
9
9
|
const CSSKeyframesRule_1 = __importDefault(require("./rules/CSSKeyframesRule"));
|
10
10
|
const CSSMediaRule_1 = __importDefault(require("./rules/CSSMediaRule"));
|
11
|
-
const
|
11
|
+
const CSSContainerRule_1 = __importDefault(require("./rules/CSSContainerRule"));
|
12
12
|
const COMMENT_REGEXP = /\/\*[^*]*\*\//gm;
|
13
13
|
/**
|
14
14
|
* CSS parser.
|
@@ -49,6 +49,14 @@ class CSSParser {
|
|
49
49
|
cssRules.push(newRule);
|
50
50
|
parentRule = newRule;
|
51
51
|
}
|
52
|
+
else if (selectorText.startsWith('@container')) {
|
53
|
+
const conditionalText = selectorText.replace(/@container */, '');
|
54
|
+
const newRule = new CSSContainerRule_1.default();
|
55
|
+
newRule.conditionalText = conditionalText;
|
56
|
+
newRule.parentStyleSheet = parentStyleSheet;
|
57
|
+
cssRules.push(newRule);
|
58
|
+
parentRule = newRule;
|
59
|
+
}
|
52
60
|
else if (parentRule && parentRule.type === CSSRule_1.default.KEYFRAMES_RULE) {
|
53
61
|
const newRule = new CSSKeyframeRule_1.default();
|
54
62
|
newRule.keyText = selectorText.trim();
|
@@ -57,7 +65,8 @@ class CSSParser {
|
|
57
65
|
parentRule.cssRules.push(newRule);
|
58
66
|
parentRule = newRule;
|
59
67
|
}
|
60
|
-
else if (parentRule &&
|
68
|
+
else if (parentRule &&
|
69
|
+
(parentRule.type === CSSRule_1.default.MEDIA_RULE || parentRule.type === CSSRule_1.default.CONTAINER_RULE)) {
|
61
70
|
const newRule = new CSSStyleRule_1.default();
|
62
71
|
newRule.selectorText = selectorText;
|
63
72
|
newRule.parentStyleSheet = parentStyleSheet;
|
@@ -84,10 +93,7 @@ class CSSParser {
|
|
84
93
|
case CSSRule_1.default.FONT_FACE_RULE:
|
85
94
|
case CSSRule_1.default.KEYFRAME_RULE:
|
86
95
|
case CSSRule_1.default.STYLE_RULE:
|
87
|
-
|
88
|
-
style.cssText = cssText;
|
89
|
-
style.parentRule = parentRule;
|
90
|
-
parentRule.style = style;
|
96
|
+
parentRule._cssText = cssText;
|
91
97
|
break;
|
92
98
|
}
|
93
99
|
}
|
package/lib/css/CSSParser.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CSSParser.js","sourceRoot":"","sources":["../../src/css/CSSParser.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAEhC,wEAAgD;AAChD,8EAAsD;AACtD,gFAAwD;AACxD,wEAAgD;AAChD,gFAAwD;AAExD,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEzC;;GAEG;AACH,MAAqB,SAAS;IAC7B;;;;;;OAMG;IACI,MAAM,CAAC,eAAe,CAAC,gBAA+B,EAAE,OAAe;QAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC;QACvB,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAY,IAAI,CAAC;QAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,KAAuB,CAAC;QAE5B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACrB,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBAElE,IAAI,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;oBAC1C,MAAM,OAAO,GAAG,IAAI,0BAAgB,EAAE,CAAC;oBAE9B,OAAO,CAAC,IAAK,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBACjE,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;oBAC5C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,UAAU,GAAG,OAAO,CAAC;iBACrB;qBAAM,IAAI,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC9D,MAAM,OAAO,GAAG,IAAI,sBAAY,EAAE,CAAC;oBAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;wBAC7B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;qBAC1C;oBAED,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;oBAC5C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,UAAU,GAAG,OAAO,CAAC;iBACrB;qBAAM,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAO,CAAC,cAAc,EAAE;oBACpE,MAAM,OAAO,GAAG,IAAI,yBAAe,EAAE,CAAC;oBAC7B,OAAO,CAAC,OAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;oBAChD,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;oBAC5C,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;oBAEb,UAAW,CAAC,QAAQ,CAAC,IAAI,CAAkB,OAAO,CAAC,CAAC;oBACvE,UAAU,GAAG,OAAO,CAAC;iBACrB;qBAAM,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,iBAAO,CAAC,
|
1
|
+
{"version":3,"file":"CSSParser.js","sourceRoot":"","sources":["../../src/css/CSSParser.ts"],"names":[],"mappings":"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"}
|
package/lib/css/CSSRule.d.ts
CHANGED
@@ -1,21 +1,23 @@
|
|
1
1
|
import CSSStyleSheet from './CSSStyleSheet';
|
2
|
+
import CSSRuleTypeEnum from './CSSRuleTypeEnum';
|
2
3
|
/**
|
3
4
|
* CSSRule interface.
|
4
5
|
*/
|
5
6
|
export default class CSSRule {
|
6
|
-
static
|
7
|
-
static
|
8
|
-
static
|
9
|
-
static
|
10
|
-
static
|
11
|
-
static
|
12
|
-
static
|
13
|
-
static
|
14
|
-
static
|
15
|
-
static
|
16
|
-
static
|
17
|
-
static
|
18
|
-
static
|
7
|
+
static CONTAINER_RULE: CSSRuleTypeEnum;
|
8
|
+
static STYLE_RULE: CSSRuleTypeEnum;
|
9
|
+
static IMPORT_RULE: CSSRuleTypeEnum;
|
10
|
+
static MEDIA_RULE: CSSRuleTypeEnum;
|
11
|
+
static FONT_FACE_RULE: CSSRuleTypeEnum;
|
12
|
+
static PAGE_RULE: CSSRuleTypeEnum;
|
13
|
+
static KEYFRAMES_RULE: CSSRuleTypeEnum;
|
14
|
+
static KEYFRAME_RULE: CSSRuleTypeEnum;
|
15
|
+
static NAMESPACE_RULE: CSSRuleTypeEnum;
|
16
|
+
static COUNTER_STYLE_RULE: CSSRuleTypeEnum;
|
17
|
+
static SUPPORTS_RULE: CSSRuleTypeEnum;
|
18
|
+
static DOCUMENT_RULE: CSSRuleTypeEnum;
|
19
|
+
static FONT_FEATURE_VALUES_RULE: CSSRuleTypeEnum;
|
20
|
+
static REGION_STYLE_RULE: CSSRuleTypeEnum;
|
19
21
|
parentRule: CSSRule;
|
20
22
|
parentStyleSheet: CSSStyleSheet;
|
21
23
|
type: number;
|
package/lib/css/CSSRule.js
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const CSSRuleTypeEnum_1 = __importDefault(require("./CSSRuleTypeEnum"));
|
3
7
|
/**
|
4
8
|
* CSSRule interface.
|
5
9
|
*/
|
@@ -19,17 +23,18 @@ class CSSRule {
|
|
19
23
|
}
|
20
24
|
}
|
21
25
|
exports.default = CSSRule;
|
22
|
-
CSSRule.
|
23
|
-
CSSRule.
|
24
|
-
CSSRule.
|
25
|
-
CSSRule.
|
26
|
-
CSSRule.
|
27
|
-
CSSRule.
|
28
|
-
CSSRule.
|
29
|
-
CSSRule.
|
30
|
-
CSSRule.
|
31
|
-
CSSRule.
|
32
|
-
CSSRule.
|
33
|
-
CSSRule.
|
34
|
-
CSSRule.
|
26
|
+
CSSRule.CONTAINER_RULE = CSSRuleTypeEnum_1.default.containerRule;
|
27
|
+
CSSRule.STYLE_RULE = CSSRuleTypeEnum_1.default.styleRule;
|
28
|
+
CSSRule.IMPORT_RULE = CSSRuleTypeEnum_1.default.importRule;
|
29
|
+
CSSRule.MEDIA_RULE = CSSRuleTypeEnum_1.default.mediaRule;
|
30
|
+
CSSRule.FONT_FACE_RULE = CSSRuleTypeEnum_1.default.fontFaceRule;
|
31
|
+
CSSRule.PAGE_RULE = CSSRuleTypeEnum_1.default.pageRule;
|
32
|
+
CSSRule.KEYFRAMES_RULE = CSSRuleTypeEnum_1.default.keyframesRule;
|
33
|
+
CSSRule.KEYFRAME_RULE = CSSRuleTypeEnum_1.default.keyframeRule;
|
34
|
+
CSSRule.NAMESPACE_RULE = CSSRuleTypeEnum_1.default.namespaceRule;
|
35
|
+
CSSRule.COUNTER_STYLE_RULE = CSSRuleTypeEnum_1.default.counterStyleRule;
|
36
|
+
CSSRule.SUPPORTS_RULE = CSSRuleTypeEnum_1.default.supportsRule;
|
37
|
+
CSSRule.DOCUMENT_RULE = CSSRuleTypeEnum_1.default.documentRule;
|
38
|
+
CSSRule.FONT_FEATURE_VALUES_RULE = CSSRuleTypeEnum_1.default.fontFeatureValuesRule;
|
39
|
+
CSSRule.REGION_STYLE_RULE = CSSRuleTypeEnum_1.default.regionStyleRule;
|
35
40
|
//# sourceMappingURL=CSSRule.js.map
|
package/lib/css/CSSRule.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CSSRule.js","sourceRoot":"","sources":["../../src/css/CSSRule.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"CSSRule.js","sourceRoot":"","sources":["../../src/css/CSSRule.ts"],"names":[],"mappings":";;;;;AACA,wEAAgD;AAEhD;;GAEG;AACH,MAAqB,OAAO;IAA5B;QAgBQ,eAAU,GAAY,IAAI,CAAC;QAC3B,qBAAgB,GAAkB,IAAI,CAAC;QACvC,SAAI,GAAW,IAAI,CAAC;IAU5B,CAAC;IARA;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;;AA3BF,0BA4BC;AA3Bc,sBAAc,GAAG,yBAAe,CAAC,aAAa,CAAC;AAC/C,kBAAU,GAAG,yBAAe,CAAC,SAAS,CAAC;AACvC,mBAAW,GAAG,yBAAe,CAAC,UAAU,CAAC;AACzC,kBAAU,GAAG,yBAAe,CAAC,SAAS,CAAC;AACvC,sBAAc,GAAG,yBAAe,CAAC,YAAY,CAAC;AAC9C,iBAAS,GAAG,yBAAe,CAAC,QAAQ,CAAC;AACrC,sBAAc,GAAG,yBAAe,CAAC,aAAa,CAAC;AAC/C,qBAAa,GAAG,yBAAe,CAAC,YAAY,CAAC;AAC7C,sBAAc,GAAG,yBAAe,CAAC,aAAa,CAAC;AAC/C,0BAAkB,GAAG,yBAAe,CAAC,gBAAgB,CAAC;AACtD,qBAAa,GAAG,yBAAe,CAAC,YAAY,CAAC;AAC7C,qBAAa,GAAG,yBAAe,CAAC,YAAY,CAAC;AAC7C,gCAAwB,GAAG,yBAAe,CAAC,qBAAqB,CAAC;AACjE,yBAAiB,GAAG,yBAAe,CAAC,eAAe,CAAC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
declare enum CSSRuleTypeEnum {
|
2
|
+
containerRule = 0,
|
3
|
+
styleRule = 1,
|
4
|
+
importRule = 3,
|
5
|
+
mediaRule = 4,
|
6
|
+
fontFaceRule = 5,
|
7
|
+
pageRule = 6,
|
8
|
+
keyframesRule = 7,
|
9
|
+
keyframeRule = 8,
|
10
|
+
namespaceRule = 10,
|
11
|
+
counterStyleRule = 11,
|
12
|
+
supportsRule = 12,
|
13
|
+
documentRule = 13,
|
14
|
+
fontFeatureValuesRule = 14,
|
15
|
+
regionStyleRule = 16
|
16
|
+
}
|
17
|
+
export default CSSRuleTypeEnum;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
var CSSRuleTypeEnum;
|
4
|
+
(function (CSSRuleTypeEnum) {
|
5
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["containerRule"] = 0] = "containerRule";
|
6
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["styleRule"] = 1] = "styleRule";
|
7
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["importRule"] = 3] = "importRule";
|
8
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["mediaRule"] = 4] = "mediaRule";
|
9
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["fontFaceRule"] = 5] = "fontFaceRule";
|
10
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["pageRule"] = 6] = "pageRule";
|
11
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["keyframesRule"] = 7] = "keyframesRule";
|
12
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["keyframeRule"] = 8] = "keyframeRule";
|
13
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["namespaceRule"] = 10] = "namespaceRule";
|
14
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["counterStyleRule"] = 11] = "counterStyleRule";
|
15
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["supportsRule"] = 12] = "supportsRule";
|
16
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["documentRule"] = 13] = "documentRule";
|
17
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["fontFeatureValuesRule"] = 14] = "fontFeatureValuesRule";
|
18
|
+
CSSRuleTypeEnum[CSSRuleTypeEnum["regionStyleRule"] = 16] = "regionStyleRule";
|
19
|
+
})(CSSRuleTypeEnum || (CSSRuleTypeEnum = {}));
|
20
|
+
exports.default = CSSRuleTypeEnum;
|
21
|
+
//# sourceMappingURL=CSSRuleTypeEnum.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CSSRuleTypeEnum.js","sourceRoot":"","sources":["../../src/css/CSSRuleTypeEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,eAeJ;AAfD,WAAK,eAAe;IACnB,uEAAiB,CAAA;IACjB,+DAAa,CAAA;IACb,iEAAc,CAAA;IACd,+DAAa,CAAA;IACb,qEAAgB,CAAA;IAChB,6DAAY,CAAA;IACZ,uEAAiB,CAAA;IACjB,qEAAgB,CAAA;IAChB,wEAAkB,CAAA;IAClB,8EAAqB,CAAA;IACrB,sEAAiB,CAAA;IACjB,sEAAiB,CAAA;IACjB,wFAA0B,CAAA;IAC1B,4EAAoB,CAAA;AACrB,CAAC,EAfI,eAAe,KAAf,eAAe,QAenB;AAED,kBAAe,eAAe,CAAC"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import CSSRule from './CSSRule';
|
2
2
|
import MediaList from './MediaList';
|
3
3
|
/**
|
4
|
-
*
|
4
|
+
* CSS StyleSheet.
|
5
5
|
*
|
6
6
|
* Reference:
|
7
7
|
* https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet.
|
@@ -15,12 +15,10 @@ export default class CSSStyleSheet {
|
|
15
15
|
title: string;
|
16
16
|
alternate: boolean;
|
17
17
|
disabled: boolean;
|
18
|
+
private _currentText;
|
18
19
|
/**
|
19
20
|
* Constructor.
|
20
21
|
*
|
21
|
-
* Constructable Stylesheets is a new feature that only Blink supports:
|
22
|
-
* https://wicg.github.io/construct-stylesheets/.
|
23
|
-
*
|
24
22
|
* @param [options] Options.
|
25
23
|
* @param [options.media] Media.
|
26
24
|
* @param [options.title] Title.
|
@@ -36,9 +34,7 @@ export default class CSSStyleSheet {
|
|
36
34
|
/**
|
37
35
|
* Inserts a rule.
|
38
36
|
*
|
39
|
-
*
|
40
|
-
* https://wicg.github.io/construct-stylesheets/.
|
41
|
-
*
|
37
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule
|
42
38
|
* @param rule Rule.
|
43
39
|
* @param [index] Index.
|
44
40
|
* @returns The newly inserterted rule's index.
|
@@ -47,18 +43,14 @@ export default class CSSStyleSheet {
|
|
47
43
|
/**
|
48
44
|
* Removes a rule.
|
49
45
|
*
|
50
|
-
*
|
51
|
-
* https://wicg.github.io/construct-stylesheets/.
|
52
|
-
*
|
46
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/deleteRule
|
53
47
|
* @param index Index.
|
54
48
|
*/
|
55
49
|
deleteRule(index: number): void;
|
56
50
|
/**
|
57
51
|
* Replaces all CSS rules.
|
58
52
|
*
|
59
|
-
*
|
60
|
-
* https://wicg.github.io/construct-stylesheets/.
|
61
|
-
*
|
53
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/replace
|
62
54
|
* @param text CSS text.
|
63
55
|
* @returns Promise.
|
64
56
|
*/
|
@@ -66,9 +58,7 @@ export default class CSSStyleSheet {
|
|
66
58
|
/**
|
67
59
|
* Replaces all CSS rules.
|
68
60
|
*
|
69
|
-
*
|
70
|
-
* https://wicg.github.io/construct-stylesheets/.
|
71
|
-
*
|
61
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/replaceSync
|
72
62
|
* @param text CSS text.
|
73
63
|
*/
|
74
64
|
replaceSync(text: string): void;
|
package/lib/css/CSSStyleSheet.js
CHANGED
@@ -7,7 +7,7 @@ const DOMException_1 = __importDefault(require("../exception/DOMException"));
|
|
7
7
|
const DOMExceptionNameEnum_1 = __importDefault(require("../exception/DOMExceptionNameEnum"));
|
8
8
|
const CSSParser_1 = __importDefault(require("./CSSParser"));
|
9
9
|
/**
|
10
|
-
*
|
10
|
+
* CSS StyleSheet.
|
11
11
|
*
|
12
12
|
* Reference:
|
13
13
|
* https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet.
|
@@ -16,9 +16,6 @@ class CSSStyleSheet {
|
|
16
16
|
/**
|
17
17
|
* Constructor.
|
18
18
|
*
|
19
|
-
* Constructable Stylesheets is a new feature that only Blink supports:
|
20
|
-
* https://wicg.github.io/construct-stylesheets/.
|
21
|
-
*
|
22
19
|
* @param [options] Options.
|
23
20
|
* @param [options.media] Media.
|
24
21
|
* @param [options.title] Title.
|
@@ -30,6 +27,7 @@ class CSSStyleSheet {
|
|
30
27
|
this.name = null;
|
31
28
|
this.namespaceURI = null;
|
32
29
|
this.cssRules = [];
|
30
|
+
this._currentText = null;
|
33
31
|
this.media = options && options.media ? options.media : '';
|
34
32
|
this.title = options && options.title ? options.title : '';
|
35
33
|
this.alternate = options && options.alternate ? options.alternate : false;
|
@@ -38,9 +36,7 @@ class CSSStyleSheet {
|
|
38
36
|
/**
|
39
37
|
* Inserts a rule.
|
40
38
|
*
|
41
|
-
*
|
42
|
-
* https://wicg.github.io/construct-stylesheets/.
|
43
|
-
*
|
39
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule
|
44
40
|
* @param rule Rule.
|
45
41
|
* @param [index] Index.
|
46
42
|
* @returns The newly inserterted rule's index.
|
@@ -57,8 +53,7 @@ class CSSStyleSheet {
|
|
57
53
|
if (index > this.cssRules.length) {
|
58
54
|
throw new DOMException_1.default('Index is more than the length of CSSRuleList.', DOMExceptionNameEnum_1.default.indexSizeError);
|
59
55
|
}
|
60
|
-
this.cssRules.splice(index, 0);
|
61
|
-
this.cssRules.push(rules[0]);
|
56
|
+
this.cssRules.splice(index, 0, rules[0]);
|
62
57
|
return index;
|
63
58
|
}
|
64
59
|
const newIndex = this.cssRules.length;
|
@@ -68,9 +63,7 @@ class CSSStyleSheet {
|
|
68
63
|
/**
|
69
64
|
* Removes a rule.
|
70
65
|
*
|
71
|
-
*
|
72
|
-
* https://wicg.github.io/construct-stylesheets/.
|
73
|
-
*
|
66
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/deleteRule
|
74
67
|
* @param index Index.
|
75
68
|
*/
|
76
69
|
deleteRule(index) {
|
@@ -79,9 +72,7 @@ class CSSStyleSheet {
|
|
79
72
|
/**
|
80
73
|
* Replaces all CSS rules.
|
81
74
|
*
|
82
|
-
*
|
83
|
-
* https://wicg.github.io/construct-stylesheets/.
|
84
|
-
*
|
75
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/replace
|
85
76
|
* @param text CSS text.
|
86
77
|
* @returns Promise.
|
87
78
|
*/
|
@@ -91,13 +82,14 @@ class CSSStyleSheet {
|
|
91
82
|
/**
|
92
83
|
* Replaces all CSS rules.
|
93
84
|
*
|
94
|
-
*
|
95
|
-
* https://wicg.github.io/construct-stylesheets/.
|
96
|
-
*
|
85
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/replaceSync
|
97
86
|
* @param text CSS text.
|
98
87
|
*/
|
99
88
|
replaceSync(text) {
|
100
|
-
this.
|
89
|
+
if (this._currentText !== text) {
|
90
|
+
this._currentText = text;
|
91
|
+
this.cssRules = CSSParser_1.default.parseFromString(this, text);
|
92
|
+
}
|
101
93
|
}
|
102
94
|
}
|
103
95
|
exports.default = CSSStyleSheet;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CSSStyleSheet.js","sourceRoot":"","sources":["../../src/css/CSSStyleSheet.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AACrD,6FAAqE;AACrE,4DAAoC;AAIpC;;;;;GAKG;AACH,MAAqB,aAAa;
|
1
|
+
{"version":3,"file":"CSSStyleSheet.js","sourceRoot":"","sources":["../../src/css/CSSStyleSheet.ts"],"names":[],"mappings":";;;;;AAAA,6EAAqD;AACrD,6FAAqE;AACrE,4DAAoC;AAIpC;;;;;GAKG;AACH,MAAqB,aAAa;IAajC;;;;;;;;OAQG;IACH,YAAY,OAKX;QA1BM,UAAK,GAAW,IAAI,CAAC;QACrB,SAAI,GAAW,IAAI,CAAC;QACpB,iBAAY,GAAW,IAAI,CAAC;QACnB,aAAQ,GAAc,EAAE,CAAC;QAOjC,iBAAY,GAAW,IAAI,CAAC;QAiBnC,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACI,UAAU,CAAC,IAAY,EAAE,KAAc;QAC7C,MAAM,KAAK,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,IAAI,sBAAY,CAAC,mBAAmB,EAAE,8BAAoB,CAAC,qBAAqB,CAAC,CAAC;SACxF;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,sBAAY,CACrB,uCAAuC,EACvC,8BAAoB,CAAC,WAAW,CAChC,CAAC;SACF;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACxB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACjC,MAAM,IAAI,sBAAY,CACrB,+CAA+C,EAC/C,8BAAoB,CAAC,cAAc,CACnC,CAAC;aACF;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;SACb;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7B,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,IAAY;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,IAAY;QAC9B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,QAAS,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACnE;IACF,CAAC;CACD;AA3GD,gCA2GC"}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import IElement from '../../nodes/element/IElement';
|
2
|
+
import CSSRule from '../CSSRule';
|
3
|
+
import CSSStyleDeclarationElementStyle from './utilities/CSSStyleDeclarationElementStyle';
|
4
|
+
import CSSStyleDeclarationPropertyManager from './utilities/CSSStyleDeclarationPropertyManager';
|
5
|
+
/**
|
6
|
+
* CSS Style Declaration.
|
7
|
+
*/
|
8
|
+
export default abstract class AbstractCSSStyleDeclaration {
|
9
|
+
readonly parentRule: CSSRule;
|
10
|
+
protected _style: CSSStyleDeclarationPropertyManager;
|
11
|
+
protected _ownerElement: IElement;
|
12
|
+
protected _computed: boolean;
|
13
|
+
protected _elementStyle: CSSStyleDeclarationElementStyle;
|
14
|
+
/**
|
15
|
+
* Constructor.
|
16
|
+
*
|
17
|
+
* @param [ownerElement] Computed style element.
|
18
|
+
* @param [computed] Computed.
|
19
|
+
*/
|
20
|
+
constructor(ownerElement?: IElement, computed?: boolean);
|
21
|
+
/**
|
22
|
+
* Returns length.
|
23
|
+
*
|
24
|
+
* @returns Length.
|
25
|
+
*/
|
26
|
+
get length(): number;
|
27
|
+
/**
|
28
|
+
* Returns the style decleration as a CSS text.
|
29
|
+
*
|
30
|
+
* @returns CSS text.
|
31
|
+
*/
|
32
|
+
get cssText(): string;
|
33
|
+
/**
|
34
|
+
* Sets CSS text.
|
35
|
+
*
|
36
|
+
* @param cssText CSS text.
|
37
|
+
*/
|
38
|
+
set cssText(cssText: string);
|
39
|
+
/**
|
40
|
+
* Returns item.
|
41
|
+
*
|
42
|
+
* @param index Index.
|
43
|
+
* @returns Item.
|
44
|
+
*/
|
45
|
+
item(index: number): string;
|
46
|
+
/**
|
47
|
+
* Set a property.
|
48
|
+
*
|
49
|
+
* @param name Property name.
|
50
|
+
* @param value Value. Must not contain "!important" as that should be set using the priority parameter.
|
51
|
+
* @param [priority] Can be "important", or an empty string.
|
52
|
+
*/
|
53
|
+
setProperty(name: string, value: string, priority?: 'important' | '' | undefined): void;
|
54
|
+
/**
|
55
|
+
* Removes a property.
|
56
|
+
*
|
57
|
+
* @param name Property name in kebab case.
|
58
|
+
* @param value Value. Must not contain "!important" as that should be set using the priority parameter.
|
59
|
+
* @param [priority] Can be "important", or an empty string.
|
60
|
+
*/
|
61
|
+
removeProperty(name: string): void;
|
62
|
+
/**
|
63
|
+
* Returns a property.
|
64
|
+
*
|
65
|
+
* @param name Property name in kebab case.
|
66
|
+
* @returns Property value.
|
67
|
+
*/
|
68
|
+
getPropertyValue(name: string): string;
|
69
|
+
/**
|
70
|
+
* Returns a property.
|
71
|
+
*
|
72
|
+
* @param name Property name in kebab case.
|
73
|
+
* @returns "important" if set to be important.
|
74
|
+
*/
|
75
|
+
getPropertyPriority(name: string): string;
|
76
|
+
}
|
@@ -0,0 +1,182 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const Attr_1 = __importDefault(require("../../nodes/attr/Attr"));
|
7
|
+
const DOMExceptionNameEnum_1 = __importDefault(require("../../exception/DOMExceptionNameEnum"));
|
8
|
+
const DOMException_1 = __importDefault(require("../../exception/DOMException"));
|
9
|
+
const CSSStyleDeclarationElementStyle_1 = __importDefault(require("./utilities/CSSStyleDeclarationElementStyle"));
|
10
|
+
const CSSStyleDeclarationPropertyManager_1 = __importDefault(require("./utilities/CSSStyleDeclarationPropertyManager"));
|
11
|
+
/**
|
12
|
+
* CSS Style Declaration.
|
13
|
+
*/
|
14
|
+
class AbstractCSSStyleDeclaration {
|
15
|
+
/**
|
16
|
+
* Constructor.
|
17
|
+
*
|
18
|
+
* @param [ownerElement] Computed style element.
|
19
|
+
* @param [computed] Computed.
|
20
|
+
*/
|
21
|
+
constructor(ownerElement = null, computed = false) {
|
22
|
+
this.parentRule = null;
|
23
|
+
this._style = null;
|
24
|
+
this._elementStyle = null;
|
25
|
+
this._style = !ownerElement ? new CSSStyleDeclarationPropertyManager_1.default() : null;
|
26
|
+
this._ownerElement = ownerElement;
|
27
|
+
this._computed = ownerElement ? computed : false;
|
28
|
+
this._elementStyle = ownerElement
|
29
|
+
? new CSSStyleDeclarationElementStyle_1.default(ownerElement, this._computed)
|
30
|
+
: null;
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* Returns length.
|
34
|
+
*
|
35
|
+
* @returns Length.
|
36
|
+
*/
|
37
|
+
get length() {
|
38
|
+
if (this._ownerElement) {
|
39
|
+
const style = this._elementStyle.getElementStyle();
|
40
|
+
return style.size();
|
41
|
+
}
|
42
|
+
return this._style.size();
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* Returns the style decleration as a CSS text.
|
46
|
+
*
|
47
|
+
* @returns CSS text.
|
48
|
+
*/
|
49
|
+
get cssText() {
|
50
|
+
if (this._ownerElement) {
|
51
|
+
if (this._computed) {
|
52
|
+
return '';
|
53
|
+
}
|
54
|
+
return this._elementStyle.getElementStyle().toString();
|
55
|
+
}
|
56
|
+
return this._style.toString();
|
57
|
+
}
|
58
|
+
/**
|
59
|
+
* Sets CSS text.
|
60
|
+
*
|
61
|
+
* @param cssText CSS text.
|
62
|
+
*/
|
63
|
+
set cssText(cssText) {
|
64
|
+
if (this._computed) {
|
65
|
+
throw new DOMException_1.default(`Failed to execute 'cssText' on 'CSSStyleDeclaration': These styles are computed, and the properties are therefore read-only.`, DOMExceptionNameEnum_1.default.domException);
|
66
|
+
}
|
67
|
+
if (this._ownerElement) {
|
68
|
+
const style = new CSSStyleDeclarationPropertyManager_1.default({ cssText });
|
69
|
+
if (!style.size()) {
|
70
|
+
delete this._ownerElement['_attributes']['style'];
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
if (!this._ownerElement['_attributes']['style']) {
|
74
|
+
Attr_1.default._ownerDocument = this._ownerElement.ownerDocument;
|
75
|
+
this._ownerElement['_attributes']['style'] = new Attr_1.default();
|
76
|
+
this._ownerElement['_attributes']['style'].name = 'style';
|
77
|
+
}
|
78
|
+
this._ownerElement['_attributes']['style'].value = style.toString();
|
79
|
+
}
|
80
|
+
}
|
81
|
+
else {
|
82
|
+
this._style = new CSSStyleDeclarationPropertyManager_1.default({ cssText });
|
83
|
+
}
|
84
|
+
}
|
85
|
+
/**
|
86
|
+
* Returns item.
|
87
|
+
*
|
88
|
+
* @param index Index.
|
89
|
+
* @returns Item.
|
90
|
+
*/
|
91
|
+
item(index) {
|
92
|
+
if (this._ownerElement) {
|
93
|
+
return this._elementStyle.getElementStyle().item(index);
|
94
|
+
}
|
95
|
+
return this._style.item(index);
|
96
|
+
}
|
97
|
+
/**
|
98
|
+
* Set a property.
|
99
|
+
*
|
100
|
+
* @param name Property name.
|
101
|
+
* @param value Value. Must not contain "!important" as that should be set using the priority parameter.
|
102
|
+
* @param [priority] Can be "important", or an empty string.
|
103
|
+
*/
|
104
|
+
setProperty(name, value, priority) {
|
105
|
+
if (this._computed) {
|
106
|
+
throw new DOMException_1.default(`Failed to execute 'setProperty' on 'CSSStyleDeclaration': These styles are computed, and therefore the '${name}' property is read-only.`, DOMExceptionNameEnum_1.default.domException);
|
107
|
+
}
|
108
|
+
if (priority !== '' && priority !== undefined && priority !== 'important') {
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
if (!value) {
|
112
|
+
this.removeProperty(name);
|
113
|
+
}
|
114
|
+
else if (this._ownerElement) {
|
115
|
+
if (!this._ownerElement['_attributes']['style']) {
|
116
|
+
Attr_1.default._ownerDocument = this._ownerElement.ownerDocument;
|
117
|
+
this._ownerElement['_attributes']['style'] = new Attr_1.default();
|
118
|
+
this._ownerElement['_attributes']['style'].name = 'style';
|
119
|
+
}
|
120
|
+
const style = this._elementStyle.getElementStyle();
|
121
|
+
style.set(name, value, !!priority);
|
122
|
+
this._ownerElement['_attributes']['style'].value = style.toString();
|
123
|
+
}
|
124
|
+
else {
|
125
|
+
this._style.set(name, value, !!priority);
|
126
|
+
}
|
127
|
+
}
|
128
|
+
/**
|
129
|
+
* Removes a property.
|
130
|
+
*
|
131
|
+
* @param name Property name in kebab case.
|
132
|
+
* @param value Value. Must not contain "!important" as that should be set using the priority parameter.
|
133
|
+
* @param [priority] Can be "important", or an empty string.
|
134
|
+
*/
|
135
|
+
removeProperty(name) {
|
136
|
+
if (this._computed) {
|
137
|
+
throw new DOMException_1.default(`Failed to execute 'removeProperty' on 'CSSStyleDeclaration': These styles are computed, and therefore the '${name}' property is read-only.`, DOMExceptionNameEnum_1.default.domException);
|
138
|
+
}
|
139
|
+
if (this._ownerElement) {
|
140
|
+
const style = this._elementStyle.getElementStyle();
|
141
|
+
style.remove(name);
|
142
|
+
const newCSSText = style.toString();
|
143
|
+
if (newCSSText) {
|
144
|
+
this._ownerElement['_attributes']['style'].value = newCSSText;
|
145
|
+
}
|
146
|
+
else {
|
147
|
+
delete this._ownerElement['_attributes']['style'];
|
148
|
+
}
|
149
|
+
}
|
150
|
+
else {
|
151
|
+
this._style.remove(name);
|
152
|
+
}
|
153
|
+
}
|
154
|
+
/**
|
155
|
+
* Returns a property.
|
156
|
+
*
|
157
|
+
* @param name Property name in kebab case.
|
158
|
+
* @returns Property value.
|
159
|
+
*/
|
160
|
+
getPropertyValue(name) {
|
161
|
+
if (this._ownerElement) {
|
162
|
+
const style = this._elementStyle.getElementStyle();
|
163
|
+
return style.get(name)?.value || '';
|
164
|
+
}
|
165
|
+
return this._style.get(name)?.value || '';
|
166
|
+
}
|
167
|
+
/**
|
168
|
+
* Returns a property.
|
169
|
+
*
|
170
|
+
* @param name Property name in kebab case.
|
171
|
+
* @returns "important" if set to be important.
|
172
|
+
*/
|
173
|
+
getPropertyPriority(name) {
|
174
|
+
if (this._ownerElement) {
|
175
|
+
const style = this._elementStyle.getElementStyle();
|
176
|
+
return style.get(name)?.important ? 'important' : '';
|
177
|
+
}
|
178
|
+
return this._style.get(name)?.important ? 'important' : '';
|
179
|
+
}
|
180
|
+
}
|
181
|
+
exports.default = AbstractCSSStyleDeclaration;
|
182
|
+
//# sourceMappingURL=AbstractCSSStyleDeclaration.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AbstractCSSStyleDeclaration.js","sourceRoot":"","sources":["../../../src/css/declaration/AbstractCSSStyleDeclaration.ts"],"names":[],"mappings":";;;;;AACA,iEAAyC;AAEzC,gGAAwE;AACxE,gFAAwD;AACxD,kHAA0F;AAC1F,wHAAgG;AAEhG;;GAEG;AACH,MAA8B,2BAA2B;IAOxD;;;;;OAKG;IACH,YAAY,eAAyB,IAAI,EAAE,QAAQ,GAAG,KAAK;QAZ3C,eAAU,GAAY,IAAI,CAAC;QACjC,WAAM,GAAuC,IAAI,CAAC;QAGlD,kBAAa,GAAoC,IAAI,CAAC;QAS/D,IAAI,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,4CAAkC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,YAAY;YAChC,CAAC,CAAC,IAAI,yCAA+B,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC;IACT,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;SACpB;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,EAAE,CAAC;aACV;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC;SACvD;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO,CAAC,OAAe;QACjC,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,sBAAY,CACrB,8HAA8H,EAC9H,8BAAoB,CAAC,YAAY,CACjC,CAAC;SACF;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,4CAAkC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE;gBAClB,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;aAClD;iBAAM;gBACN,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE;oBAChD,cAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;oBACvD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,cAAI,EAAE,CAAC;oBACxD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;iBAC1D;gBAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;aACpE;SACD;aAAM;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,4CAAkC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;SAClE;IACF,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAa;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,QAAuC;QACtF,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,sBAAY,CACrB,2GAA2G,IAAI,0BAA0B,EACzI,8BAAoB,CAAC,YAAY,CACjC,CAAC;SACF;QAED,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,WAAW,EAAE;YAC1E,OAAO;SACP;QAED,IAAI,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE;gBAChD,cAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBACvD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,cAAI,EAAE,CAAC;gBACxD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;aAC1D;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACnD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEnC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;SACpE;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;SACzC;IACF,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,IAAY;QACjC,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,IAAI,sBAAY,CACrB,8GAA8G,IAAI,0BAA0B,EAC5I,8BAAoB,CAAC,YAAY,CACjC,CAAC;SACF;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACnD,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,UAAU,EAAE;gBACf,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC;aAC9D;iBAAM;gBACN,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC;aAClD;SACD;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACzB;IACF,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAAY;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;CACD;AA9LD,8CA8LC"}
|