cssstyle 5.3.7 → 6.0.0

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.
Files changed (93) hide show
  1. package/lib/CSSStyleDeclaration.js +359 -395
  2. package/lib/generated/.gitkeep +0 -0
  3. package/lib/generated/propertyDefinitions.js +3685 -1498
  4. package/lib/generated/propertyDescriptors.js +1705 -0
  5. package/lib/index.js +9 -0
  6. package/lib/normalize.js +127 -253
  7. package/lib/parsers.js +152 -164
  8. package/lib/properties/background.js +201 -202
  9. package/lib/properties/backgroundAttachment.js +35 -33
  10. package/lib/properties/backgroundClip.js +35 -33
  11. package/lib/properties/backgroundColor.js +26 -24
  12. package/lib/properties/backgroundImage.js +36 -34
  13. package/lib/properties/backgroundOrigin.js +35 -33
  14. package/lib/properties/backgroundPosition.js +57 -57
  15. package/lib/properties/backgroundRepeat.js +40 -37
  16. package/lib/properties/backgroundSize.js +38 -34
  17. package/lib/properties/border.js +41 -34
  18. package/lib/properties/{webkitBorderEndColor.js → borderBlockEndColor.js} +26 -22
  19. package/lib/properties/{webkitBorderAfterColor.js → borderBlockStartColor.js} +26 -22
  20. package/lib/properties/borderBottom.js +40 -36
  21. package/lib/properties/borderBottomColor.js +25 -21
  22. package/lib/properties/borderBottomStyle.js +25 -21
  23. package/lib/properties/borderBottomWidth.js +28 -24
  24. package/lib/properties/borderCollapse.js +25 -21
  25. package/lib/properties/borderColor.js +36 -33
  26. package/lib/properties/{webkitBorderStartColor.js → borderInlineEndColor.js} +26 -22
  27. package/lib/properties/borderInlineStartColor.js +49 -0
  28. package/lib/properties/borderLeft.js +40 -36
  29. package/lib/properties/borderLeftColor.js +25 -21
  30. package/lib/properties/borderLeftStyle.js +25 -21
  31. package/lib/properties/borderLeftWidth.js +28 -24
  32. package/lib/properties/borderRight.js +40 -36
  33. package/lib/properties/borderRightColor.js +25 -21
  34. package/lib/properties/borderRightStyle.js +25 -21
  35. package/lib/properties/borderRightWidth.js +28 -24
  36. package/lib/properties/borderSpacing.js +33 -29
  37. package/lib/properties/borderStyle.js +36 -33
  38. package/lib/properties/borderTop.js +40 -36
  39. package/lib/properties/borderTopColor.js +25 -21
  40. package/lib/properties/borderTopStyle.js +25 -21
  41. package/lib/properties/borderTopWidth.js +28 -24
  42. package/lib/properties/borderWidth.js +36 -33
  43. package/lib/properties/bottom.js +27 -23
  44. package/lib/properties/clear.js +25 -21
  45. package/lib/properties/clip.js +37 -31
  46. package/lib/properties/color.js +25 -21
  47. package/lib/properties/display.js +36 -30
  48. package/lib/properties/flex.js +53 -45
  49. package/lib/properties/flexBasis.js +28 -26
  50. package/lib/properties/flexGrow.js +28 -26
  51. package/lib/properties/flexShrink.js +28 -26
  52. package/lib/properties/float.js +25 -21
  53. package/lib/properties/floodColor.js +25 -21
  54. package/lib/properties/font.js +89 -118
  55. package/lib/properties/fontFamily.js +38 -33
  56. package/lib/properties/fontSize.js +29 -27
  57. package/lib/properties/fontStyle.js +38 -34
  58. package/lib/properties/fontVariant.js +35 -33
  59. package/lib/properties/fontWeight.js +33 -31
  60. package/lib/properties/height.js +28 -24
  61. package/lib/properties/left.js +27 -23
  62. package/lib/properties/lightingColor.js +25 -21
  63. package/lib/properties/lineHeight.js +28 -26
  64. package/lib/properties/margin.js +40 -34
  65. package/lib/properties/marginBottom.js +30 -27
  66. package/lib/properties/marginLeft.js +30 -27
  67. package/lib/properties/marginRight.js +30 -27
  68. package/lib/properties/marginTop.js +30 -27
  69. package/lib/properties/opacity.js +27 -23
  70. package/lib/properties/outlineColor.js +25 -21
  71. package/lib/properties/padding.js +40 -34
  72. package/lib/properties/paddingBottom.js +31 -28
  73. package/lib/properties/paddingLeft.js +31 -28
  74. package/lib/properties/paddingRight.js +31 -28
  75. package/lib/properties/paddingTop.js +31 -28
  76. package/lib/properties/right.js +27 -23
  77. package/lib/properties/stopColor.js +25 -21
  78. package/lib/properties/{webkitBorderBeforeColor.js → textEmphasisColor.js} +26 -22
  79. package/lib/properties/top.js +27 -23
  80. package/lib/properties/webkitTextFillColor.js +25 -21
  81. package/lib/properties/webkitTextStrokeColor.js +25 -21
  82. package/lib/properties/width.js +28 -24
  83. package/lib/utils/propertyDescriptors.js +129 -42
  84. package/lib/utils/strings.js +11 -156
  85. package/package.json +11 -21
  86. package/lib/generated/allProperties.js +0 -653
  87. package/lib/generated/implementedProperties.js +0 -1466
  88. package/lib/generated/properties.js +0 -6637
  89. package/lib/properties/webkitColumnRuleColor.js +0 -45
  90. package/lib/properties/webkitTapHighlightColor.js +0 -45
  91. package/lib/properties/webkitTextEmphasisColor.js +0 -45
  92. package/lib/utils/allExtraProperties.js +0 -155
  93. package/lib/utils/camelize.js +0 -37
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- const parsers = require("../parsers");
4
-
5
- const property = "-webkit-column-rule-color";
6
-
7
- module.exports.parse = (v, opt = {}) => {
8
- const { globalObject } = opt;
9
- if (v === "") {
10
- return v;
11
- }
12
- const value = parsers.parsePropertyValue(property, v, {
13
- globalObject,
14
- inArray: true
15
- });
16
- if (Array.isArray(value) && value.length === 1) {
17
- return parsers.resolveColorValue(value);
18
- } else if (typeof value === "string") {
19
- return value;
20
- }
21
- };
22
-
23
- module.exports.definition = {
24
- set(v) {
25
- v = parsers.prepareValue(v);
26
- if (parsers.hasVarFunc(v)) {
27
- this._setProperty(property, v);
28
- } else {
29
- const val = module.exports.parse(v, {
30
- globalObject: this._global
31
- });
32
- if (typeof val === "string") {
33
- const priority = this._priorities.get(property) ?? "";
34
- this._setProperty(property, val, priority);
35
- }
36
- }
37
- },
38
- get() {
39
- return this.getPropertyValue(property);
40
- },
41
- enumerable: true,
42
- configurable: true
43
- };
44
-
45
- module.exports.property = property;
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- const parsers = require("../parsers");
4
-
5
- const property = "-webkit-tap-highlight-color";
6
-
7
- module.exports.parse = (v, opt = {}) => {
8
- const { globalObject } = opt;
9
- if (v === "") {
10
- return v;
11
- }
12
- const value = parsers.parsePropertyValue(property, v, {
13
- globalObject,
14
- inArray: true
15
- });
16
- if (Array.isArray(value) && value.length === 1) {
17
- return parsers.resolveColorValue(value);
18
- } else if (typeof value === "string") {
19
- return value;
20
- }
21
- };
22
-
23
- module.exports.definition = {
24
- set(v) {
25
- v = parsers.prepareValue(v);
26
- if (parsers.hasVarFunc(v)) {
27
- this._setProperty(property, v);
28
- } else {
29
- const val = module.exports.parse(v, {
30
- globalObject: this._global
31
- });
32
- if (typeof val === "string") {
33
- const priority = this._priorities.get(property) ?? "";
34
- this._setProperty(property, val, priority);
35
- }
36
- }
37
- },
38
- get() {
39
- return this.getPropertyValue(property);
40
- },
41
- enumerable: true,
42
- configurable: true
43
- };
44
-
45
- module.exports.property = property;
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- const parsers = require("../parsers");
4
-
5
- const property = "-webkit-text-emphasis-color";
6
-
7
- module.exports.parse = (v, opt = {}) => {
8
- const { globalObject } = opt;
9
- if (v === "") {
10
- return v;
11
- }
12
- const value = parsers.parsePropertyValue(property, v, {
13
- globalObject,
14
- inArray: true
15
- });
16
- if (Array.isArray(value) && value.length === 1) {
17
- return parsers.resolveColorValue(value);
18
- } else if (typeof value === "string") {
19
- return value;
20
- }
21
- };
22
-
23
- module.exports.definition = {
24
- set(v) {
25
- v = parsers.prepareValue(v);
26
- if (parsers.hasVarFunc(v)) {
27
- this._setProperty(property, v);
28
- } else {
29
- const val = module.exports.parse(v, {
30
- globalObject: this._global
31
- });
32
- if (typeof val === "string") {
33
- const priority = this._priorities.get(property) ?? "";
34
- this._setProperty(property, val, priority);
35
- }
36
- }
37
- },
38
- get() {
39
- return this.getPropertyValue(property);
40
- },
41
- enumerable: true,
42
- configurable: true
43
- };
44
-
45
- module.exports.property = property;
@@ -1,155 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * This file contains all implemented properties that are not a part of any
5
- * current specifications or drafts, but are handled by browsers nevertheless.
6
- */
7
-
8
- const webkitProperties = [
9
- "background-composite",
10
- "border-after",
11
- "border-after-color",
12
- "border-after-style",
13
- "border-after-width",
14
- "border-before",
15
- "border-before-color",
16
- "border-before-style",
17
- "border-before-width",
18
- "border-end",
19
- "border-end-color",
20
- "border-end-style",
21
- "border-end-width",
22
- "border-fit",
23
- "border-horizontal-spacing",
24
- "border-start",
25
- "border-start-color",
26
- "border-start-style",
27
- "border-start-width",
28
- "border-vertical-spacing",
29
- "color-correction",
30
- "column-axis",
31
- "column-break-after",
32
- "column-break-before",
33
- "column-break-inside",
34
- "column-rule-color",
35
- "flex-align",
36
- "flex-item-align",
37
- "flex-line-pack",
38
- "flex-order",
39
- "flex-pack",
40
- "flex-wrap",
41
- "font-size-delta",
42
- "font-smoothing",
43
- "highlight",
44
- "hyphenate-limit-after",
45
- "hyphenate-limit-before",
46
- "locale",
47
- "logical-height",
48
- "logical-width",
49
- "margin-after",
50
- "margin-after-collapse",
51
- "margin-before",
52
- "margin-before-collapse",
53
- "margin-bottom-collapse",
54
- "margin-collapse",
55
- "margin-end",
56
- "margin-start",
57
- "margin-top-collapse",
58
- "marquee",
59
- "marquee-direction",
60
- "marquee-increment",
61
- "marquee-repetition",
62
- "marquee-speed",
63
- "marquee-style",
64
- "mask-attachment",
65
- "mask-box-image-outset",
66
- "mask-box-image-repeat",
67
- "mask-box-image-slice",
68
- "mask-box-image-source",
69
- "mask-box-image-width",
70
- "mask-position-x",
71
- "mask-position-y",
72
- "mask-repeat-x",
73
- "mask-repeat-y",
74
- "match-nearest-mail-blockquote-color",
75
- "max-logical-height",
76
- "max-logical-width",
77
- "min-logical-height",
78
- "min-logical-width",
79
- "nbsp-mode",
80
- "overflow-scrolling",
81
- "padding-after",
82
- "padding-before",
83
- "padding-end",
84
- "padding-start",
85
- "perspective-origin-x",
86
- "perspective-origin-y",
87
- "region-break-after",
88
- "region-break-before",
89
- "region-break-inside",
90
- "region-overflow",
91
- "rtl-ordering",
92
- "svg-shadow",
93
- "tap-highlight-color",
94
- "text-decorations-in-effect",
95
- "text-emphasis-color",
96
- "text-fill-color",
97
- "text-security",
98
- "text-size-adjust",
99
- "text-stroke",
100
- "text-stroke-color",
101
- "text-stroke-width",
102
- "transform",
103
- "transform-origin-x",
104
- "transform-origin-y",
105
- "transform-origin-z",
106
- "user-drag",
107
- "user-modify",
108
- "wrap",
109
- "wrap-margin",
110
- "wrap-padding",
111
- "wrap-shape-inside",
112
- "wrap-shape-outside",
113
- "zoom"
114
- ].map((prop) => `-webkit-${prop}`);
115
-
116
- module.exports = new Set([
117
- "background-position-x",
118
- "background-position-y",
119
- "background-repeat-x",
120
- "background-repeat-y",
121
- "color-interpolation",
122
- "color-profile",
123
- "color-rendering",
124
- "enable-background",
125
- "glyph-orientation-horizontal",
126
- "kerning",
127
- "marker-offset",
128
- "marks",
129
- "pointer-events",
130
- "shape-rendering",
131
- "size",
132
- "src",
133
- "stop-color",
134
- "stop-opacity",
135
- "text-anchor",
136
- "text-line-through",
137
- "text-line-through-color",
138
- "text-line-through-mode",
139
- "text-line-through-style",
140
- "text-line-through-width",
141
- "text-overline",
142
- "text-overline-color",
143
- "text-overline-mode",
144
- "text-overline-style",
145
- "text-overline-width",
146
- "text-rendering",
147
- "text-underline",
148
- "text-underline-color",
149
- "text-underline-mode",
150
- "text-underline-style",
151
- "text-underline-width",
152
- "unicode-range",
153
- "vector-effect",
154
- ...webkitProperties
155
- ]);
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- const { asciiLowercase } = require("./strings");
4
-
5
- // Utility to translate from `border-width` to `borderWidth`.
6
- // NOTE: For values prefixed with webkit, e.g. `-webkit-foo`, we need to provide
7
- // both `webkitFoo` and `WebkitFoo`. Here we only return `webkitFoo`.
8
- exports.dashedToCamelCase = function (dashed) {
9
- if (dashed.startsWith("--")) {
10
- return dashed;
11
- }
12
- let camel = "";
13
- let nextCap = false;
14
- // skip leading hyphen in vendor prefixed value, e.g. -webkit-foo
15
- let i = /^-webkit-/.test(dashed) ? 1 : 0;
16
- for (; i < dashed.length; i++) {
17
- if (dashed[i] !== "-") {
18
- camel += nextCap ? dashed[i].toUpperCase() : dashed[i];
19
- nextCap = false;
20
- } else {
21
- nextCap = true;
22
- }
23
- }
24
- return camel;
25
- };
26
-
27
- // Utility to translate from `borderWidth` to `border-width`.
28
- exports.camelCaseToDashed = function (camelCase) {
29
- if (camelCase.startsWith("--")) {
30
- return camelCase;
31
- }
32
- const dashed = asciiLowercase(camelCase.replace(/(?<=[a-z])[A-Z]/g, "-$&"));
33
- if (/^webkit-/.test(dashed)) {
34
- return `-${dashed}`;
35
- }
36
- return dashed;
37
- };