cssstyle 1.1.1 → 1.3.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 (527) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.js +55 -0
  3. package/.travis.yml +17 -0
  4. package/AUTHORS +31 -0
  5. package/{MIT-LICENSE.txt → LICENSE} +0 -0
  6. package/README.md +7 -19
  7. package/coverage/clover.xml +2150 -0
  8. package/coverage/coverage-final.json +86 -0
  9. package/coverage/lcov-report/base.css +224 -0
  10. package/coverage/lcov-report/block-navigation.js +79 -0
  11. package/coverage/lcov-report/index.html +123 -0
  12. package/coverage/lcov-report/lib/CSSStyleDeclaration.js.html +834 -0
  13. package/coverage/lcov-report/lib/allExtraProperties.js.html +813 -0
  14. package/coverage/lcov-report/lib/allProperties.js.html +1560 -0
  15. package/coverage/lcov-report/lib/constants.js.html +87 -0
  16. package/coverage/lcov-report/lib/index.html +149 -0
  17. package/coverage/lcov-report/lib/parsers.js.html +2193 -0
  18. package/coverage/lcov-report/lib/properties/azimuth.js.html +270 -0
  19. package/coverage/lcov-report/lib/properties/background.js.html +126 -0
  20. package/coverage/lcov-report/lib/properties/backgroundAttachment.js.html +141 -0
  21. package/coverage/lcov-report/lib/properties/backgroundColor.js.html +177 -0
  22. package/coverage/lcov-report/lib/properties/backgroundImage.js.html +165 -0
  23. package/coverage/lcov-report/lib/properties/backgroundPosition.js.html +243 -0
  24. package/coverage/lcov-report/lib/properties/backgroundRepeat.js.html +165 -0
  25. package/coverage/lcov-report/lib/properties/border.js.html +168 -0
  26. package/coverage/lcov-report/lib/properties/borderBottom.js.html +120 -0
  27. package/coverage/lcov-report/lib/properties/borderBottomColor.js.html +117 -0
  28. package/coverage/lcov-report/lib/properties/borderBottomStyle.js.html +132 -0
  29. package/coverage/lcov-report/lib/properties/borderBottomWidth.js.html +117 -0
  30. package/coverage/lcov-report/lib/properties/borderCollapse.js.html +147 -0
  31. package/coverage/lcov-report/lib/properties/borderColor.js.html +159 -0
  32. package/coverage/lcov-report/lib/properties/borderLeft.js.html +120 -0
  33. package/coverage/lcov-report/lib/properties/borderLeftColor.js.html +117 -0
  34. package/coverage/lcov-report/lib/properties/borderLeftStyle.js.html +132 -0
  35. package/coverage/lcov-report/lib/properties/borderLeftWidth.js.html +117 -0
  36. package/coverage/lcov-report/lib/properties/borderRight.js.html +120 -0
  37. package/coverage/lcov-report/lib/properties/borderRightColor.js.html +117 -0
  38. package/coverage/lcov-report/lib/properties/borderRightStyle.js.html +132 -0
  39. package/coverage/lcov-report/lib/properties/borderRightWidth.js.html +117 -0
  40. package/coverage/lcov-report/lib/properties/borderSpacing.js.html +192 -0
  41. package/coverage/lcov-report/lib/properties/borderStyle.js.html +183 -0
  42. package/coverage/lcov-report/lib/properties/borderTop.js.html +120 -0
  43. package/coverage/lcov-report/lib/properties/borderTopColor.js.html +117 -0
  44. package/coverage/lcov-report/lib/properties/borderTopStyle.js.html +132 -0
  45. package/coverage/lcov-report/lib/properties/borderTopWidth.js.html +120 -0
  46. package/coverage/lcov-report/lib/properties/borderWidth.js.html +207 -0
  47. package/coverage/lcov-report/lib/properties/bottom.js.html +111 -0
  48. package/coverage/lcov-report/lib/properties/clear.js.html +117 -0
  49. package/coverage/lcov-report/lib/properties/clip.js.html +210 -0
  50. package/coverage/lcov-report/lib/properties/color.js.html +111 -0
  51. package/coverage/lcov-report/lib/properties/cssFloat.js.html +105 -0
  52. package/coverage/lcov-report/lib/properties/flex.js.html +204 -0
  53. package/coverage/lcov-report/lib/properties/flexBasis.js.html +153 -0
  54. package/coverage/lcov-report/lib/properties/flexGrow.js.html +126 -0
  55. package/coverage/lcov-report/lib/properties/flexShrink.js.html +126 -0
  56. package/coverage/lcov-report/lib/properties/float.js.html +105 -0
  57. package/coverage/lcov-report/lib/properties/floodColor.js.html +111 -0
  58. package/coverage/lcov-report/lib/properties/font.js.html +198 -0
  59. package/coverage/lcov-report/lib/properties/fontFamily.js.html +168 -0
  60. package/coverage/lcov-report/lib/properties/fontSize.js.html +183 -0
  61. package/coverage/lcov-report/lib/properties/fontStyle.js.html +123 -0
  62. package/coverage/lcov-report/lib/properties/fontVariant.js.html +123 -0
  63. package/coverage/lcov-report/lib/properties/fontWeight.js.html +168 -0
  64. package/coverage/lcov-report/lib/properties/height.js.html +141 -0
  65. package/coverage/lcov-report/lib/properties/index.html +1111 -0
  66. package/coverage/lcov-report/lib/properties/left.js.html +111 -0
  67. package/coverage/lcov-report/lib/properties/lightingColor.js.html +111 -0
  68. package/coverage/lcov-report/lib/properties/lineHeight.js.html +147 -0
  69. package/coverage/lcov-report/lib/properties/margin.js.html +273 -0
  70. package/coverage/lcov-report/lib/properties/marginBottom.js.html +108 -0
  71. package/coverage/lcov-report/lib/properties/marginLeft.js.html +108 -0
  72. package/coverage/lcov-report/lib/properties/marginRight.js.html +108 -0
  73. package/coverage/lcov-report/lib/properties/marginTop.js.html +108 -0
  74. package/coverage/lcov-report/lib/properties/opacity.js.html +111 -0
  75. package/coverage/lcov-report/lib/properties/outlineColor.js.html +111 -0
  76. package/coverage/lcov-report/lib/properties/padding.js.html +252 -0
  77. package/coverage/lcov-report/lib/properties/paddingBottom.js.html +108 -0
  78. package/coverage/lcov-report/lib/properties/paddingLeft.js.html +108 -0
  79. package/coverage/lcov-report/lib/properties/paddingRight.js.html +108 -0
  80. package/coverage/lcov-report/lib/properties/paddingTop.js.html +108 -0
  81. package/coverage/lcov-report/lib/properties/right.js.html +111 -0
  82. package/coverage/lcov-report/lib/properties/stopColor.js.html +111 -0
  83. package/coverage/lcov-report/lib/properties/textLineThroughColor.js.html +111 -0
  84. package/coverage/lcov-report/lib/properties/textOverlineColor.js.html +111 -0
  85. package/coverage/lcov-report/lib/properties/textUnderlineColor.js.html +111 -0
  86. package/coverage/lcov-report/lib/properties/top.js.html +111 -0
  87. package/coverage/lcov-report/lib/properties/webkitBorderAfterColor.js.html +111 -0
  88. package/coverage/lcov-report/lib/properties/webkitBorderBeforeColor.js.html +111 -0
  89. package/coverage/lcov-report/lib/properties/webkitBorderEndColor.js.html +111 -0
  90. package/coverage/lcov-report/lib/properties/webkitBorderStartColor.js.html +111 -0
  91. package/coverage/lcov-report/lib/properties/webkitColumnRuleColor.js.html +111 -0
  92. package/coverage/lcov-report/lib/properties/webkitMatchNearestMailBlockquoteColor.js.html +111 -0
  93. package/coverage/lcov-report/lib/properties/webkitTapHighlightColor.js.html +111 -0
  94. package/coverage/lcov-report/lib/properties/webkitTextEmphasisColor.js.html +111 -0
  95. package/coverage/lcov-report/lib/properties/webkitTextFillColor.js.html +111 -0
  96. package/coverage/lcov-report/lib/properties/webkitTextStrokeColor.js.html +111 -0
  97. package/coverage/lcov-report/lib/properties/width.js.html +141 -0
  98. package/coverage/lcov-report/lib/utils/getBasicPropertyDescriptor.js.html +111 -0
  99. package/coverage/lcov-report/lib/utils/index.html +97 -0
  100. package/coverage/lcov-report/prettify.css +1 -0
  101. package/coverage/lcov-report/prettify.js +2 -0
  102. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  103. package/coverage/lcov-report/sorter.js +170 -0
  104. package/coverage/lcov.info +3711 -0
  105. package/jest.config.js +10 -0
  106. package/lib/CSSStyleDeclaration.js +224 -202
  107. package/lib/CSSStyleDeclaration.test.js +521 -0
  108. package/lib/allExtraProperties.js +248 -0
  109. package/lib/allProperties.js +497 -0
  110. package/lib/constants.js +6 -0
  111. package/lib/implementedProperties.js +90 -0
  112. package/lib/named_colors.json +152 -0
  113. package/lib/parsers.js +572 -534
  114. package/lib/parsers.test.js +98 -0
  115. package/lib/properties/azimuth.js +59 -57
  116. package/lib/properties/background.js +9 -14
  117. package/lib/properties/backgroundAttachment.js +17 -15
  118. package/lib/properties/backgroundColor.js +24 -21
  119. package/lib/properties/backgroundImage.js +20 -17
  120. package/lib/properties/backgroundPosition.js +40 -38
  121. package/lib/properties/backgroundRepeat.js +20 -13
  122. package/lib/properties/border.js +20 -36
  123. package/lib/properties/borderBottom.js +7 -13
  124. package/lib/properties/borderBottomColor.js +11 -11
  125. package/lib/properties/borderBottomStyle.js +14 -14
  126. package/lib/properties/borderBottomWidth.js +11 -11
  127. package/lib/properties/borderCollapse.js +17 -16
  128. package/lib/properties/borderColor.js +17 -15
  129. package/lib/properties/borderLeft.js +7 -13
  130. package/lib/properties/borderLeftColor.js +11 -11
  131. package/lib/properties/borderLeftStyle.js +14 -14
  132. package/lib/properties/borderLeftWidth.js +11 -11
  133. package/lib/properties/borderRight.js +7 -13
  134. package/lib/properties/borderRightColor.js +11 -11
  135. package/lib/properties/borderRightStyle.js +14 -14
  136. package/lib/properties/borderRightWidth.js +11 -11
  137. package/lib/properties/borderSpacing.js +26 -30
  138. package/lib/properties/borderStyle.js +24 -13
  139. package/lib/properties/borderTop.js +7 -12
  140. package/lib/properties/borderTopColor.js +11 -11
  141. package/lib/properties/borderTopStyle.js +14 -14
  142. package/lib/properties/borderTopWidth.js +10 -10
  143. package/lib/properties/borderWidth.js +29 -30
  144. package/lib/properties/bottom.js +8 -8
  145. package/lib/properties/clear.js +9 -9
  146. package/lib/properties/clip.js +37 -39
  147. package/lib/properties/color.js +8 -8
  148. package/lib/properties/cssFloat.js +8 -8
  149. package/lib/properties/flex.js +45 -0
  150. package/lib/properties/flexBasis.js +28 -0
  151. package/lib/properties/flexGrow.js +19 -0
  152. package/lib/properties/flexShrink.js +19 -0
  153. package/lib/properties/float.js +12 -0
  154. package/lib/properties/floodColor.js +8 -8
  155. package/lib/properties/font.js +27 -24
  156. package/lib/properties/fontFamily.js +21 -21
  157. package/lib/properties/fontSize.js +26 -13
  158. package/lib/properties/fontStyle.js +10 -10
  159. package/lib/properties/fontVariant.js +9 -9
  160. package/lib/properties/fontWeight.js +25 -10
  161. package/lib/properties/height.js +15 -15
  162. package/lib/properties/left.js +8 -8
  163. package/lib/properties/lightingColor.js +8 -8
  164. package/lib/properties/lineHeight.js +16 -11
  165. package/lib/properties/margin.js +49 -40
  166. package/lib/properties/marginBottom.js +6 -6
  167. package/lib/properties/marginLeft.js +6 -6
  168. package/lib/properties/marginRight.js +6 -6
  169. package/lib/properties/marginTop.js +6 -6
  170. package/lib/properties/opacity.js +8 -8
  171. package/lib/properties/outlineColor.js +8 -8
  172. package/lib/properties/padding.js +42 -33
  173. package/lib/properties/paddingBottom.js +6 -6
  174. package/lib/properties/paddingLeft.js +6 -6
  175. package/lib/properties/paddingRight.js +6 -6
  176. package/lib/properties/paddingTop.js +6 -6
  177. package/lib/properties/right.js +8 -8
  178. package/lib/properties/stopColor.js +8 -8
  179. package/lib/properties/textLineThroughColor.js +8 -8
  180. package/lib/properties/textOverlineColor.js +8 -8
  181. package/lib/properties/textUnderlineColor.js +8 -8
  182. package/lib/properties/top.js +8 -8
  183. package/lib/properties/webkitBorderAfterColor.js +8 -8
  184. package/lib/properties/webkitBorderBeforeColor.js +8 -8
  185. package/lib/properties/webkitBorderEndColor.js +8 -8
  186. package/lib/properties/webkitBorderStartColor.js +8 -8
  187. package/lib/properties/webkitColumnRuleColor.js +8 -8
  188. package/lib/properties/webkitMatchNearestMailBlockquoteColor.js +8 -8
  189. package/lib/properties/webkitTapHighlightColor.js +8 -8
  190. package/lib/properties/webkitTextEmphasisColor.js +8 -8
  191. package/lib/properties/webkitTextFillColor.js +8 -8
  192. package/lib/properties/webkitTextStrokeColor.js +8 -8
  193. package/lib/properties/width.js +15 -15
  194. package/lib/properties.js +224 -4343
  195. package/lib/utils/getBasicPropertyDescriptor.js +14 -0
  196. package/package.json +34 -22
  197. package/scripts/download_latest_properties.js +88 -0
  198. package/scripts/generate_implemented_properties.js +61 -0
  199. package/scripts/generate_properties.js +107 -117
  200. package/lib/properties/alignContent.js +0 -12
  201. package/lib/properties/alignItems.js +0 -12
  202. package/lib/properties/alignmentBaseline.js +0 -12
  203. package/lib/properties/backgroundClip.js +0 -12
  204. package/lib/properties/backgroundOrigin.js +0 -12
  205. package/lib/properties/backgroundPositionX.js +0 -12
  206. package/lib/properties/backgroundPositionY.js +0 -12
  207. package/lib/properties/backgroundRepeatX.js +0 -12
  208. package/lib/properties/backgroundRepeatY.js +0 -12
  209. package/lib/properties/backgroundSize.js +0 -12
  210. package/lib/properties/baselineShift.js +0 -12
  211. package/lib/properties/borderBottomLeftRadius.js +0 -12
  212. package/lib/properties/borderBottomRightRadius.js +0 -12
  213. package/lib/properties/borderImage.js +0 -12
  214. package/lib/properties/borderImageOutset.js +0 -12
  215. package/lib/properties/borderImageRepeat.js +0 -12
  216. package/lib/properties/borderImageSlice.js +0 -12
  217. package/lib/properties/borderImageSource.js +0 -12
  218. package/lib/properties/borderImageWidth.js +0 -12
  219. package/lib/properties/borderRadius.js +0 -12
  220. package/lib/properties/borderTopLeftRadius.js +0 -12
  221. package/lib/properties/borderTopRightRadius.js +0 -12
  222. package/lib/properties/boxShadow.js +0 -12
  223. package/lib/properties/boxSizing.js +0 -12
  224. package/lib/properties/captionSide.js +0 -12
  225. package/lib/properties/colorInterpolation.js +0 -12
  226. package/lib/properties/colorInterpolationFilters.js +0 -12
  227. package/lib/properties/colorProfile.js +0 -12
  228. package/lib/properties/colorRendering.js +0 -12
  229. package/lib/properties/content.js +0 -12
  230. package/lib/properties/counterIncrement.js +0 -12
  231. package/lib/properties/counterReset.js +0 -12
  232. package/lib/properties/cue.js +0 -12
  233. package/lib/properties/cueAfter.js +0 -12
  234. package/lib/properties/cueBefore.js +0 -12
  235. package/lib/properties/cursor.js +0 -12
  236. package/lib/properties/direction.js +0 -12
  237. package/lib/properties/display.js +0 -12
  238. package/lib/properties/dominantBaseline.js +0 -12
  239. package/lib/properties/elevation.js +0 -12
  240. package/lib/properties/emptyCells.js +0 -12
  241. package/lib/properties/enableBackground.js +0 -12
  242. package/lib/properties/fill.js +0 -12
  243. package/lib/properties/fillOpacity.js +0 -12
  244. package/lib/properties/fillRule.js +0 -12
  245. package/lib/properties/filter.js +0 -12
  246. package/lib/properties/flexDirection.js +0 -12
  247. package/lib/properties/flexFlow.js +0 -12
  248. package/lib/properties/flexWrap.js +0 -12
  249. package/lib/properties/floodOpacity.js +0 -12
  250. package/lib/properties/fontSizeAdjust.js +0 -12
  251. package/lib/properties/fontStretch.js +0 -12
  252. package/lib/properties/glyphOrientationHorizontal.js +0 -12
  253. package/lib/properties/glyphOrientationVertical.js +0 -12
  254. package/lib/properties/imageRendering.js +0 -12
  255. package/lib/properties/justifyContent.js +0 -12
  256. package/lib/properties/kerning.js +0 -12
  257. package/lib/properties/letterSpacing.js +0 -12
  258. package/lib/properties/listStyle.js +0 -12
  259. package/lib/properties/listStyleImage.js +0 -12
  260. package/lib/properties/listStylePosition.js +0 -12
  261. package/lib/properties/listStyleType.js +0 -12
  262. package/lib/properties/marker.js +0 -12
  263. package/lib/properties/markerEnd.js +0 -12
  264. package/lib/properties/markerMid.js +0 -12
  265. package/lib/properties/markerOffset.js +0 -12
  266. package/lib/properties/markerStart.js +0 -12
  267. package/lib/properties/marks.js +0 -12
  268. package/lib/properties/mask.js +0 -12
  269. package/lib/properties/maxHeight.js +0 -12
  270. package/lib/properties/maxWidth.js +0 -12
  271. package/lib/properties/minHeight.js +0 -12
  272. package/lib/properties/minWidth.js +0 -12
  273. package/lib/properties/orphans.js +0 -12
  274. package/lib/properties/outline.js +0 -12
  275. package/lib/properties/outlineOffset.js +0 -12
  276. package/lib/properties/outlineStyle.js +0 -12
  277. package/lib/properties/outlineWidth.js +0 -12
  278. package/lib/properties/overflow.js +0 -12
  279. package/lib/properties/overflowX.js +0 -12
  280. package/lib/properties/overflowY.js +0 -12
  281. package/lib/properties/page.js +0 -12
  282. package/lib/properties/pageBreakAfter.js +0 -12
  283. package/lib/properties/pageBreakBefore.js +0 -12
  284. package/lib/properties/pageBreakInside.js +0 -12
  285. package/lib/properties/pause.js +0 -12
  286. package/lib/properties/pauseAfter.js +0 -12
  287. package/lib/properties/pauseBefore.js +0 -12
  288. package/lib/properties/pitch.js +0 -12
  289. package/lib/properties/pitchRange.js +0 -12
  290. package/lib/properties/playDuring.js +0 -12
  291. package/lib/properties/pointerEvents.js +0 -12
  292. package/lib/properties/position.js +0 -12
  293. package/lib/properties/quotes.js +0 -12
  294. package/lib/properties/resize.js +0 -12
  295. package/lib/properties/richness.js +0 -12
  296. package/lib/properties/shapeRendering.js +0 -12
  297. package/lib/properties/size.js +0 -12
  298. package/lib/properties/speak.js +0 -12
  299. package/lib/properties/speakHeader.js +0 -12
  300. package/lib/properties/speakNumeral.js +0 -12
  301. package/lib/properties/speakPunctuation.js +0 -12
  302. package/lib/properties/speechRate.js +0 -12
  303. package/lib/properties/src.js +0 -12
  304. package/lib/properties/stopOpacity.js +0 -12
  305. package/lib/properties/stress.js +0 -12
  306. package/lib/properties/stroke.js +0 -12
  307. package/lib/properties/strokeDasharray.js +0 -12
  308. package/lib/properties/strokeDashoffset.js +0 -12
  309. package/lib/properties/strokeLinecap.js +0 -12
  310. package/lib/properties/strokeLinejoin.js +0 -12
  311. package/lib/properties/strokeMiterlimit.js +0 -12
  312. package/lib/properties/strokeOpacity.js +0 -12
  313. package/lib/properties/strokeWidth.js +0 -12
  314. package/lib/properties/tableLayout.js +0 -12
  315. package/lib/properties/textAlign.js +0 -12
  316. package/lib/properties/textAnchor.js +0 -12
  317. package/lib/properties/textDecoration.js +0 -12
  318. package/lib/properties/textIndent.js +0 -12
  319. package/lib/properties/textLineThrough.js +0 -12
  320. package/lib/properties/textLineThroughMode.js +0 -12
  321. package/lib/properties/textLineThroughStyle.js +0 -12
  322. package/lib/properties/textLineThroughWidth.js +0 -12
  323. package/lib/properties/textOverflow.js +0 -12
  324. package/lib/properties/textOverline.js +0 -12
  325. package/lib/properties/textOverlineMode.js +0 -12
  326. package/lib/properties/textOverlineStyle.js +0 -12
  327. package/lib/properties/textOverlineWidth.js +0 -12
  328. package/lib/properties/textRendering.js +0 -12
  329. package/lib/properties/textShadow.js +0 -12
  330. package/lib/properties/textTransform.js +0 -12
  331. package/lib/properties/textUnderline.js +0 -12
  332. package/lib/properties/textUnderlineMode.js +0 -12
  333. package/lib/properties/textUnderlineStyle.js +0 -12
  334. package/lib/properties/textUnderlineWidth.js +0 -12
  335. package/lib/properties/transform.js +0 -12
  336. package/lib/properties/unicodeBidi.js +0 -12
  337. package/lib/properties/unicodeRange.js +0 -12
  338. package/lib/properties/vectorEffect.js +0 -12
  339. package/lib/properties/verticalAlign.js +0 -12
  340. package/lib/properties/visibility.js +0 -12
  341. package/lib/properties/voiceFamily.js +0 -12
  342. package/lib/properties/volume.js +0 -12
  343. package/lib/properties/webkitAnimation.js +0 -12
  344. package/lib/properties/webkitAnimationDelay.js +0 -12
  345. package/lib/properties/webkitAnimationDirection.js +0 -12
  346. package/lib/properties/webkitAnimationDuration.js +0 -12
  347. package/lib/properties/webkitAnimationFillMode.js +0 -12
  348. package/lib/properties/webkitAnimationIterationCount.js +0 -12
  349. package/lib/properties/webkitAnimationName.js +0 -12
  350. package/lib/properties/webkitAnimationPlayState.js +0 -12
  351. package/lib/properties/webkitAnimationTimingFunction.js +0 -12
  352. package/lib/properties/webkitAppearance.js +0 -12
  353. package/lib/properties/webkitAspectRatio.js +0 -12
  354. package/lib/properties/webkitBackfaceVisibility.js +0 -12
  355. package/lib/properties/webkitBackgroundClip.js +0 -12
  356. package/lib/properties/webkitBackgroundComposite.js +0 -12
  357. package/lib/properties/webkitBackgroundOrigin.js +0 -12
  358. package/lib/properties/webkitBackgroundSize.js +0 -12
  359. package/lib/properties/webkitBorderAfter.js +0 -12
  360. package/lib/properties/webkitBorderAfterStyle.js +0 -12
  361. package/lib/properties/webkitBorderAfterWidth.js +0 -12
  362. package/lib/properties/webkitBorderBefore.js +0 -12
  363. package/lib/properties/webkitBorderBeforeStyle.js +0 -12
  364. package/lib/properties/webkitBorderBeforeWidth.js +0 -12
  365. package/lib/properties/webkitBorderEnd.js +0 -12
  366. package/lib/properties/webkitBorderEndStyle.js +0 -12
  367. package/lib/properties/webkitBorderEndWidth.js +0 -12
  368. package/lib/properties/webkitBorderFit.js +0 -12
  369. package/lib/properties/webkitBorderHorizontalSpacing.js +0 -12
  370. package/lib/properties/webkitBorderImage.js +0 -12
  371. package/lib/properties/webkitBorderRadius.js +0 -12
  372. package/lib/properties/webkitBorderStart.js +0 -12
  373. package/lib/properties/webkitBorderStartStyle.js +0 -12
  374. package/lib/properties/webkitBorderStartWidth.js +0 -12
  375. package/lib/properties/webkitBorderVerticalSpacing.js +0 -12
  376. package/lib/properties/webkitBoxAlign.js +0 -12
  377. package/lib/properties/webkitBoxDirection.js +0 -12
  378. package/lib/properties/webkitBoxFlex.js +0 -12
  379. package/lib/properties/webkitBoxFlexGroup.js +0 -12
  380. package/lib/properties/webkitBoxLines.js +0 -12
  381. package/lib/properties/webkitBoxOrdinalGroup.js +0 -12
  382. package/lib/properties/webkitBoxOrient.js +0 -12
  383. package/lib/properties/webkitBoxPack.js +0 -12
  384. package/lib/properties/webkitBoxReflect.js +0 -12
  385. package/lib/properties/webkitBoxShadow.js +0 -12
  386. package/lib/properties/webkitColorCorrection.js +0 -12
  387. package/lib/properties/webkitColumnAxis.js +0 -12
  388. package/lib/properties/webkitColumnBreakAfter.js +0 -12
  389. package/lib/properties/webkitColumnBreakBefore.js +0 -12
  390. package/lib/properties/webkitColumnBreakInside.js +0 -12
  391. package/lib/properties/webkitColumnCount.js +0 -12
  392. package/lib/properties/webkitColumnGap.js +0 -12
  393. package/lib/properties/webkitColumnRule.js +0 -12
  394. package/lib/properties/webkitColumnRuleStyle.js +0 -12
  395. package/lib/properties/webkitColumnRuleWidth.js +0 -12
  396. package/lib/properties/webkitColumnSpan.js +0 -12
  397. package/lib/properties/webkitColumnWidth.js +0 -12
  398. package/lib/properties/webkitColumns.js +0 -12
  399. package/lib/properties/webkitFilter.js +0 -12
  400. package/lib/properties/webkitFlexAlign.js +0 -12
  401. package/lib/properties/webkitFlexDirection.js +0 -12
  402. package/lib/properties/webkitFlexFlow.js +0 -12
  403. package/lib/properties/webkitFlexItemAlign.js +0 -12
  404. package/lib/properties/webkitFlexLinePack.js +0 -12
  405. package/lib/properties/webkitFlexOrder.js +0 -12
  406. package/lib/properties/webkitFlexPack.js +0 -12
  407. package/lib/properties/webkitFlexWrap.js +0 -12
  408. package/lib/properties/webkitFlowFrom.js +0 -12
  409. package/lib/properties/webkitFlowInto.js +0 -12
  410. package/lib/properties/webkitFontFeatureSettings.js +0 -12
  411. package/lib/properties/webkitFontKerning.js +0 -12
  412. package/lib/properties/webkitFontSizeDelta.js +0 -12
  413. package/lib/properties/webkitFontSmoothing.js +0 -12
  414. package/lib/properties/webkitFontVariantLigatures.js +0 -12
  415. package/lib/properties/webkitHighlight.js +0 -12
  416. package/lib/properties/webkitHyphenateCharacter.js +0 -12
  417. package/lib/properties/webkitHyphenateLimitAfter.js +0 -12
  418. package/lib/properties/webkitHyphenateLimitBefore.js +0 -12
  419. package/lib/properties/webkitHyphenateLimitLines.js +0 -12
  420. package/lib/properties/webkitHyphens.js +0 -12
  421. package/lib/properties/webkitLineAlign.js +0 -12
  422. package/lib/properties/webkitLineBoxContain.js +0 -12
  423. package/lib/properties/webkitLineBreak.js +0 -12
  424. package/lib/properties/webkitLineClamp.js +0 -12
  425. package/lib/properties/webkitLineGrid.js +0 -12
  426. package/lib/properties/webkitLineSnap.js +0 -12
  427. package/lib/properties/webkitLocale.js +0 -12
  428. package/lib/properties/webkitLogicalHeight.js +0 -12
  429. package/lib/properties/webkitLogicalWidth.js +0 -12
  430. package/lib/properties/webkitMarginAfter.js +0 -12
  431. package/lib/properties/webkitMarginAfterCollapse.js +0 -12
  432. package/lib/properties/webkitMarginBefore.js +0 -12
  433. package/lib/properties/webkitMarginBeforeCollapse.js +0 -12
  434. package/lib/properties/webkitMarginBottomCollapse.js +0 -12
  435. package/lib/properties/webkitMarginCollapse.js +0 -12
  436. package/lib/properties/webkitMarginEnd.js +0 -12
  437. package/lib/properties/webkitMarginStart.js +0 -12
  438. package/lib/properties/webkitMarginTopCollapse.js +0 -12
  439. package/lib/properties/webkitMarquee.js +0 -12
  440. package/lib/properties/webkitMarqueeDirection.js +0 -12
  441. package/lib/properties/webkitMarqueeIncrement.js +0 -12
  442. package/lib/properties/webkitMarqueeRepetition.js +0 -12
  443. package/lib/properties/webkitMarqueeSpeed.js +0 -12
  444. package/lib/properties/webkitMarqueeStyle.js +0 -12
  445. package/lib/properties/webkitMask.js +0 -12
  446. package/lib/properties/webkitMaskAttachment.js +0 -12
  447. package/lib/properties/webkitMaskBoxImage.js +0 -12
  448. package/lib/properties/webkitMaskBoxImageOutset.js +0 -12
  449. package/lib/properties/webkitMaskBoxImageRepeat.js +0 -12
  450. package/lib/properties/webkitMaskBoxImageSlice.js +0 -12
  451. package/lib/properties/webkitMaskBoxImageSource.js +0 -12
  452. package/lib/properties/webkitMaskBoxImageWidth.js +0 -12
  453. package/lib/properties/webkitMaskClip.js +0 -12
  454. package/lib/properties/webkitMaskComposite.js +0 -12
  455. package/lib/properties/webkitMaskImage.js +0 -12
  456. package/lib/properties/webkitMaskOrigin.js +0 -12
  457. package/lib/properties/webkitMaskPosition.js +0 -12
  458. package/lib/properties/webkitMaskPositionX.js +0 -12
  459. package/lib/properties/webkitMaskPositionY.js +0 -12
  460. package/lib/properties/webkitMaskRepeat.js +0 -12
  461. package/lib/properties/webkitMaskRepeatX.js +0 -12
  462. package/lib/properties/webkitMaskRepeatY.js +0 -12
  463. package/lib/properties/webkitMaskSize.js +0 -12
  464. package/lib/properties/webkitMaxLogicalHeight.js +0 -12
  465. package/lib/properties/webkitMaxLogicalWidth.js +0 -12
  466. package/lib/properties/webkitMinLogicalHeight.js +0 -12
  467. package/lib/properties/webkitMinLogicalWidth.js +0 -12
  468. package/lib/properties/webkitNbspMode.js +0 -12
  469. package/lib/properties/webkitOverflowScrolling.js +0 -12
  470. package/lib/properties/webkitPaddingAfter.js +0 -12
  471. package/lib/properties/webkitPaddingBefore.js +0 -12
  472. package/lib/properties/webkitPaddingEnd.js +0 -12
  473. package/lib/properties/webkitPaddingStart.js +0 -12
  474. package/lib/properties/webkitPerspective.js +0 -12
  475. package/lib/properties/webkitPerspectiveOrigin.js +0 -12
  476. package/lib/properties/webkitPerspectiveOriginX.js +0 -12
  477. package/lib/properties/webkitPerspectiveOriginY.js +0 -12
  478. package/lib/properties/webkitPrintColorAdjust.js +0 -12
  479. package/lib/properties/webkitRegionBreakAfter.js +0 -12
  480. package/lib/properties/webkitRegionBreakBefore.js +0 -12
  481. package/lib/properties/webkitRegionBreakInside.js +0 -12
  482. package/lib/properties/webkitRegionOverflow.js +0 -12
  483. package/lib/properties/webkitRtlOrdering.js +0 -12
  484. package/lib/properties/webkitSvgShadow.js +0 -12
  485. package/lib/properties/webkitTextCombine.js +0 -12
  486. package/lib/properties/webkitTextDecorationsInEffect.js +0 -12
  487. package/lib/properties/webkitTextEmphasis.js +0 -12
  488. package/lib/properties/webkitTextEmphasisPosition.js +0 -12
  489. package/lib/properties/webkitTextEmphasisStyle.js +0 -12
  490. package/lib/properties/webkitTextOrientation.js +0 -12
  491. package/lib/properties/webkitTextSecurity.js +0 -12
  492. package/lib/properties/webkitTextSizeAdjust.js +0 -12
  493. package/lib/properties/webkitTextStroke.js +0 -12
  494. package/lib/properties/webkitTextStrokeWidth.js +0 -12
  495. package/lib/properties/webkitTransform.js +0 -12
  496. package/lib/properties/webkitTransformOrigin.js +0 -12
  497. package/lib/properties/webkitTransformOriginX.js +0 -12
  498. package/lib/properties/webkitTransformOriginY.js +0 -12
  499. package/lib/properties/webkitTransformOriginZ.js +0 -12
  500. package/lib/properties/webkitTransformStyle.js +0 -12
  501. package/lib/properties/webkitTransition.js +0 -12
  502. package/lib/properties/webkitTransitionDelay.js +0 -12
  503. package/lib/properties/webkitTransitionDuration.js +0 -12
  504. package/lib/properties/webkitTransitionProperty.js +0 -12
  505. package/lib/properties/webkitTransitionTimingFunction.js +0 -12
  506. package/lib/properties/webkitUserDrag.js +0 -12
  507. package/lib/properties/webkitUserModify.js +0 -12
  508. package/lib/properties/webkitUserSelect.js +0 -12
  509. package/lib/properties/webkitWrap.js +0 -12
  510. package/lib/properties/webkitWrapFlow.js +0 -12
  511. package/lib/properties/webkitWrapMargin.js +0 -12
  512. package/lib/properties/webkitWrapPadding.js +0 -12
  513. package/lib/properties/webkitWrapShapeInside.js +0 -12
  514. package/lib/properties/webkitWrapShapeOutside.js +0 -12
  515. package/lib/properties/webkitWrapThrough.js +0 -12
  516. package/lib/properties/webkitWritingMode.js +0 -12
  517. package/lib/properties/whiteSpace.js +0 -12
  518. package/lib/properties/widows.js +0 -12
  519. package/lib/properties/wordBreak.js +0 -12
  520. package/lib/properties/wordSpacing.js +0 -12
  521. package/lib/properties/wordWrap.js +0 -12
  522. package/lib/properties/writingMode.js +0 -12
  523. package/lib/properties/zIndex.js +0 -12
  524. package/lib/properties/zoom.js +0 -12
  525. package/lib/validProperties.js +0 -410
  526. package/scripts/generate_valid_properties.js +0 -62
  527. package/tests/tests.js +0 -450
package/jest.config.js ADDED
@@ -0,0 +1,10 @@
1
+ module.exports = {
2
+ "verbose": true,
3
+ "collectCoverage": true,
4
+ "collectCoverageFrom": [
5
+ "lib/**/*.js",
6
+ "!lib/implementedProperties.js",
7
+ "!lib/properties.js",
8
+ ],
9
+ "coverageDirectory": "coverage",
10
+ };
@@ -2,232 +2,254 @@
2
2
  * This is a fork from the CSS Style Declaration part of
3
3
  * https://github.com/NV/CSSOM
4
4
  ********************************************************************/
5
- "use strict";
5
+ 'use strict';
6
6
  var CSSOM = require('cssom');
7
- var validProperties = require('./validProperties');
7
+ var allProperties = require('./allProperties');
8
+ var allExtraProperties = require('./allExtraProperties');
9
+ var implementedProperties = require('./implementedProperties');
10
+ var { dashedToCamelCase } = require('./parsers');
11
+ var getBasicPropertyDescriptor = require('./utils/getBasicPropertyDescriptor');
8
12
 
9
13
  /**
10
14
  * @constructor
11
15
  * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration
12
16
  */
13
17
  var CSSStyleDeclaration = function CSSStyleDeclaration(onChangeCallback) {
14
- this._values = {};
15
- this._importants = {};
16
- this._length = 0;
17
- this._onChange = onChangeCallback || function () { return; };
18
+ this._values = {};
19
+ this._importants = {};
20
+ this._length = 0;
21
+ this._onChange =
22
+ onChangeCallback ||
23
+ function() {
24
+ return;
25
+ };
18
26
  };
19
27
  CSSStyleDeclaration.prototype = {
20
- constructor: CSSStyleDeclaration,
21
-
22
- /**
23
- *
24
- * @param {string} name
25
- * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue
26
- * @return {string} the value of the property if it has been explicitly set for this declaration block.
27
- * Returns the empty string if the property has not been set.
28
- */
29
- getPropertyValue: function (name) {
30
- if (!this._values.hasOwnProperty(name)) {
31
- return "";
32
- }
33
- return this._values[name].toString();
34
- },
28
+ constructor: CSSStyleDeclaration,
29
+
30
+ /**
31
+ *
32
+ * @param {string} name
33
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue
34
+ * @return {string} the value of the property if it has been explicitly set for this declaration block.
35
+ * Returns the empty string if the property has not been set.
36
+ */
37
+ getPropertyValue: function(name) {
38
+ if (!this._values.hasOwnProperty(name)) {
39
+ return '';
40
+ }
41
+ return this._values[name].toString();
42
+ },
43
+
44
+ /**
45
+ *
46
+ * @param {string} name
47
+ * @param {string} value
48
+ * @param {string} [priority=null] "important" or null
49
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty
50
+ */
51
+ setProperty: function(name, value, priority) {
52
+ if (value === undefined) {
53
+ return;
54
+ }
55
+ if (value === null || value === '') {
56
+ this.removeProperty(name);
57
+ return;
58
+ }
59
+ var lowercaseName = name.toLowerCase();
60
+ if (!allProperties.has(lowercaseName) && !allExtraProperties.has(lowercaseName)) {
61
+ return;
62
+ }
35
63
 
36
- /**
37
- *
38
- * @param {string} name
39
- * @param {string} value
40
- * @param {string} [priority=null] "important" or null
41
- * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty
42
- */
43
- setProperty: function (name, value, priority) {
44
- if (value === undefined) {
45
- return;
46
- }
47
- if (value === null || value === '') {
48
- this.removeProperty(name);
49
- return;
50
- }
51
- var lowercaseName = name.toLowerCase();
52
- if (!validProperties.has(lowercaseName)) {
53
- return;
54
- }
64
+ this[lowercaseName] = value;
65
+ this._importants[lowercaseName] = priority;
66
+ },
67
+ _setProperty: function(name, value, priority) {
68
+ if (value === undefined) {
69
+ return;
70
+ }
71
+ if (value === null || value === '') {
72
+ this.removeProperty(name);
73
+ return;
74
+ }
75
+ if (this._values[name]) {
76
+ // Property already exist. Overwrite it.
77
+ var index = Array.prototype.indexOf.call(this, name);
78
+ if (index < 0) {
79
+ this[this._length] = name;
80
+ this._length++;
81
+ }
82
+ } else {
83
+ // New property.
84
+ this[this._length] = name;
85
+ this._length++;
86
+ }
87
+ this._values[name] = value;
88
+ this._importants[name] = priority;
89
+ this._onChange(this.cssText);
90
+ },
91
+
92
+ /**
93
+ *
94
+ * @param {string} name
95
+ * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty
96
+ * @return {string} the value of the property if it has been explicitly set for this declaration block.
97
+ * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property.
98
+ */
99
+ removeProperty: function(name) {
100
+ if (!this._values.hasOwnProperty(name)) {
101
+ return '';
102
+ }
55
103
 
56
- this[lowercaseName] = value;
57
- this._importants[lowercaseName] = priority;
58
- },
59
- _setProperty: function (name, value, priority) {
60
- if (value === undefined) {
61
- return;
62
- }
63
- if (value === null || value === '') {
64
- this.removeProperty(name);
65
- return;
66
- }
67
- if (this._values[name]) {
68
- // Property already exist. Overwrite it.
69
- var index = Array.prototype.indexOf.call(this, name);
70
- if (index < 0) {
71
- this[this._length] = name;
72
- this._length++;
73
- }
74
- } else {
75
- // New property.
76
- this[this._length] = name;
77
- this._length++;
78
- }
79
- this._values[name] = value;
80
- this._importants[name] = priority;
81
- this._onChange(this.cssText);
82
- },
104
+ var prevValue = this._values[name];
105
+ delete this._values[name];
106
+ delete this._importants[name];
83
107
 
84
- /**
85
- *
86
- * @param {string} name
87
- * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty
88
- * @return {string} the value of the property if it has been explicitly set for this declaration block.
89
- * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property.
90
- */
91
- removeProperty: function (name) {
92
- if (!this._values.hasOwnProperty(name)) {
93
- return "";
94
- }
108
+ var index = Array.prototype.indexOf.call(this, name);
109
+ if (index < 0) {
110
+ return prevValue;
111
+ }
95
112
 
96
- var prevValue = this._values[name];
97
- delete this._values[name];
98
- delete this._importants[name];
113
+ // That's what WebKit and Opera do
114
+ Array.prototype.splice.call(this, index, 1);
115
+
116
+ // That's what Firefox does
117
+ //this[index] = ""
118
+
119
+ this._onChange(this.cssText);
120
+ return prevValue;
121
+ },
122
+
123
+ /**
124
+ *
125
+ * @param {String} name
126
+ */
127
+ getPropertyPriority: function(name) {
128
+ return this._importants[name] || '';
129
+ },
130
+
131
+ getPropertyCSSValue: function() {
132
+ //FIXME
133
+ return;
134
+ },
135
+
136
+ /**
137
+ * element.style.overflow = "auto"
138
+ * element.style.getPropertyShorthand("overflow-x")
139
+ * -> "overflow"
140
+ */
141
+ getPropertyShorthand: function() {
142
+ //FIXME
143
+ return;
144
+ },
145
+
146
+ isPropertyImplicit: function() {
147
+ //FIXME
148
+ return;
149
+ },
150
+
151
+ /**
152
+ * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item
153
+ */
154
+ item: function(index) {
155
+ index = parseInt(index, 10);
156
+ if (index < 0 || index >= this._length) {
157
+ return '';
158
+ }
159
+ return this[index];
160
+ },
161
+ };
99
162
 
100
- var index = Array.prototype.indexOf.call(this, name);
101
- if (index < 0) {
102
- return prevValue;
163
+ Object.defineProperties(CSSStyleDeclaration.prototype, {
164
+ cssText: {
165
+ get: function() {
166
+ var properties = [];
167
+ var i;
168
+ var name;
169
+ var value;
170
+ var priority;
171
+ for (i = 0; i < this._length; i++) {
172
+ name = this[i];
173
+ value = this.getPropertyValue(name);
174
+ priority = this.getPropertyPriority(name);
175
+ if (priority !== '') {
176
+ priority = ' !' + priority;
103
177
  }
104
-
105
- // That's what WebKit and Opera do
106
- Array.prototype.splice.call(this, index, 1);
107
-
108
- // That's what Firefox does
109
- //this[index] = ""
110
-
111
- this._onChange(this.cssText);
112
- return prevValue;
113
- },
114
-
115
-
116
- /**
117
- *
118
- * @param {String} name
119
- */
120
- getPropertyPriority: function (name) {
121
- return this._importants[name] || "";
178
+ properties.push([name, ': ', value, priority, ';'].join(''));
179
+ }
180
+ return properties.join(' ');
122
181
  },
123
-
124
-
125
- getPropertyCSSValue: function () {
126
- //FIXME
182
+ set: function(value) {
183
+ var i;
184
+ this._values = {};
185
+ Array.prototype.splice.call(this, 0, this._length);
186
+ this._importants = {};
187
+ var dummyRule;
188
+ try {
189
+ dummyRule = CSSOM.parse('#bogus{' + value + '}').cssRules[0].style;
190
+ } catch (err) {
191
+ // malformed css, just return
127
192
  return;
193
+ }
194
+ var rule_length = dummyRule.length;
195
+ var name;
196
+ for (i = 0; i < rule_length; ++i) {
197
+ name = dummyRule[i];
198
+ this.setProperty(
199
+ dummyRule[i],
200
+ dummyRule.getPropertyValue(name),
201
+ dummyRule.getPropertyPriority(name)
202
+ );
203
+ }
204
+ this._onChange(this.cssText);
128
205
  },
129
-
130
- /**
131
- * element.style.overflow = "auto"
132
- * element.style.getPropertyShorthand("overflow-x")
133
- * -> "overflow"
134
- */
135
- getPropertyShorthand: function () {
136
- //FIXME
137
- return;
206
+ enumerable: true,
207
+ configurable: true,
208
+ },
209
+ parentRule: {
210
+ get: function() {
211
+ return null;
138
212
  },
139
-
140
- isPropertyImplicit: function () {
141
- //FIXME
142
- return;
213
+ enumerable: true,
214
+ configurable: true,
215
+ },
216
+ length: {
217
+ get: function() {
218
+ return this._length;
143
219
  },
144
-
145
220
  /**
146
- * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item
147
- */
148
- item: function (index) {
149
- index = parseInt(index, 10);
150
- if (index < 0 || index >= this._length) {
151
- return '';
152
- }
153
- return this[index];
154
- }
155
- };
156
-
157
- Object.defineProperties(CSSStyleDeclaration.prototype, {
158
- cssText: {
159
- get: function () {
160
- var properties = [];
161
- var i;
162
- var name;
163
- var value;
164
- var priority;
165
- for (i = 0; i < this._length; i++) {
166
- name = this[i];
167
- value = this.getPropertyValue(name);
168
- priority = this.getPropertyPriority(name);
169
- if (priority !== '') {
170
- priority = " !" + priority;
171
- }
172
- properties.push([name, ': ', value, priority, ';'].join(''));
173
- }
174
- return properties.join(' ');
175
- },
176
- set: function (value) {
177
- var i;
178
- this._values = {};
179
- Array.prototype.splice.call(this, 0, this._length);
180
- this._importants = {};
181
- var dummyRule;
182
- try {
183
- dummyRule = CSSOM.parse('#bogus{' + value + '}').cssRules[0].style;
184
- } catch (err) {
185
- // malformed css, just return
186
- return;
187
- }
188
- var rule_length = dummyRule.length;
189
- var name;
190
- for (i = 0; i < rule_length; ++i) {
191
- name = dummyRule[i];
192
- this.setProperty(dummyRule[i], dummyRule.getPropertyValue(name), dummyRule.getPropertyPriority(name));
193
- }
194
- this._onChange(this.cssText);
195
- },
196
- enumerable: true,
197
- configurable: true
198
- },
199
- parentRule: {
200
- get: function () { return null; },
201
- enumerable: true,
202
- configurable: true
221
+ * This deletes indices if the new length is less then the current
222
+ * length. If the new length is more, it does nothing, the new indices
223
+ * will be undefined until set.
224
+ **/
225
+ set: function(value) {
226
+ var i;
227
+ for (i = value; i < this._length; i++) {
228
+ delete this[i];
229
+ }
230
+ this._length = value;
203
231
  },
204
- length: {
205
- get: function () { return this._length; },
206
- /**
207
- * This deletes indices if the new length is less then the current
208
- * length. If the new length is more, it does nothing, the new indices
209
- * will be undefined until set.
210
- **/
211
- set: function (value) {
212
- var i;
213
- for (i = value; i < this._length; i++) {
214
- delete this[i];
215
- }
216
- this._length = value;
217
- },
218
- enumerable: true,
219
- configurable: true
220
- },
221
- 'float': {
222
- get: function () { return this.cssFloat; },
223
- set: function (value) {
224
- this.cssFloat = value;
225
- },
226
- enumerable: true,
227
- configurable: true
228
- }
232
+ enumerable: true,
233
+ configurable: true,
234
+ },
229
235
  });
230
236
 
231
237
  require('./properties')(CSSStyleDeclaration.prototype);
232
238
 
239
+ allProperties.forEach(function(property) {
240
+ if (!implementedProperties.has(property)) {
241
+ var declaration = getBasicPropertyDescriptor(property);
242
+ Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration);
243
+ Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration);
244
+ }
245
+ });
246
+
247
+ allExtraProperties.forEach(function(property) {
248
+ if (!implementedProperties.has(property)) {
249
+ var declaration = getBasicPropertyDescriptor(property);
250
+ Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration);
251
+ Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration);
252
+ }
253
+ });
254
+
233
255
  exports.CSSStyleDeclaration = CSSStyleDeclaration;