yass-css 0.2.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 (429) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +11 -0
  3. data/CODE_OF_CONDUCT.md +132 -0
  4. data/Cargo.lock +1447 -0
  5. data/Cargo.toml +7 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +139 -0
  8. data/Rakefile +130 -0
  9. data/codegen/ruby_module_tree.rb +178 -0
  10. data/codegen/rust_file_set.rb +84 -0
  11. data/codegen/utils.rb +27 -0
  12. data/dockerfiles/windows.dockerfile +3 -0
  13. data/examples/basic_example.rb +32 -0
  14. data/examples/font_example.rb +19 -0
  15. data/examples/media_example.rb +31 -0
  16. data/examples/visitor_example.rb +41 -0
  17. data/ext/.DS_Store +0 -0
  18. data/ext/yass/Cargo.toml +24 -0
  19. data/ext/yass/extconf.rb +6 -0
  20. data/ext/yass/src/.DS_Store +0 -0
  21. data/ext/yass/src/cached_value.rs +48 -0
  22. data/ext/yass/src/cached_value_list.rs +63 -0
  23. data/ext/yass/src/declarations/.DS_Store +0 -0
  24. data/ext/yass/src/declarations/align_content.rs +19 -0
  25. data/ext/yass/src/declarations/align_flags.rs +26 -0
  26. data/ext/yass/src/declarations/align_items.rs +37 -0
  27. data/ext/yass/src/declarations/align_self.rs +19 -0
  28. data/ext/yass/src/declarations/alignment_baseline.rs +27 -0
  29. data/ext/yass/src/declarations/angle.rs +25 -0
  30. data/ext/yass/src/declarations/animation/auto.rs +8 -0
  31. data/ext/yass/src/declarations/animation/init.rs +40 -0
  32. data/ext/yass/src/declarations/animation/inset.rs +50 -0
  33. data/ext/yass/src/declarations/animation/length_auto.rs +8 -0
  34. data/ext/yass/src/declarations/animation/mod.rs +11 -0
  35. data/ext/yass/src/declarations/animation/range_value.rs +47 -0
  36. data/ext/yass/src/declarations/animation/scroll_axis.rs +22 -0
  37. data/ext/yass/src/declarations/animation/scroll_function.rs +40 -0
  38. data/ext/yass/src/declarations/animation/scroller.rs +21 -0
  39. data/ext/yass/src/declarations/animation/timeline_name.rs +16 -0
  40. data/ext/yass/src/declarations/animation/timing_function/cubic_bezier.rs +60 -0
  41. data/ext/yass/src/declarations/animation/timing_function/init.rs +29 -0
  42. data/ext/yass/src/declarations/animation/timing_function/keyword.rs +23 -0
  43. data/ext/yass/src/declarations/animation/timing_function/mod.rs +5 -0
  44. data/ext/yass/src/declarations/animation/timing_function/piecewise_linear_function.rs +49 -0
  45. data/ext/yass/src/declarations/animation/timing_function/steps.rs +30 -0
  46. data/ext/yass/src/declarations/animation/view_function.rs +40 -0
  47. data/ext/yass/src/declarations/animation_composition.rs +29 -0
  48. data/ext/yass/src/declarations/animation_delay.rs +30 -0
  49. data/ext/yass/src/declarations/animation_direction.rs +30 -0
  50. data/ext/yass/src/declarations/animation_duration.rs +67 -0
  51. data/ext/yass/src/declarations/animation_fill_mode.rs +30 -0
  52. data/ext/yass/src/declarations/animation_iteration_count.rs +33 -0
  53. data/ext/yass/src/declarations/animation_name.rs +23 -0
  54. data/ext/yass/src/declarations/animation_play_state.rs +28 -0
  55. data/ext/yass/src/declarations/animation_range_end.rs +30 -0
  56. data/ext/yass/src/declarations/animation_range_start.rs +30 -0
  57. data/ext/yass/src/declarations/animation_timeline.rs +42 -0
  58. data/ext/yass/src/declarations/animation_timing_function.rs +46 -0
  59. data/ext/yass/src/declarations/aspect_ratio.rs +43 -0
  60. data/ext/yass/src/declarations/backdrop_filter.rs +30 -0
  61. data/ext/yass/src/declarations/backface_visibility.rs +20 -0
  62. data/ext/yass/src/declarations/background_attachment.rs +25 -0
  63. data/ext/yass/src/declarations/background_blend_mode.rs +42 -0
  64. data/ext/yass/src/declarations/background_clip.rs +25 -0
  65. data/ext/yass/src/declarations/background_color.rs +30 -0
  66. data/ext/yass/src/declarations/background_image.rs +30 -0
  67. data/ext/yass/src/declarations/background_origin.rs +29 -0
  68. data/ext/yass/src/declarations/background_position_x.rs +30 -0
  69. data/ext/yass/src/declarations/background_position_y.rs +30 -0
  70. data/ext/yass/src/declarations/background_repeat.rs +58 -0
  71. data/ext/yass/src/declarations/background_size.rs +120 -0
  72. data/ext/yass/src/declarations/baseline_shift.rs +63 -0
  73. data/ext/yass/src/declarations/baseline_source.rs +21 -0
  74. data/ext/yass/src/declarations/block_size.rs +30 -0
  75. data/ext/yass/src/declarations/border_block_end_color.rs +30 -0
  76. data/ext/yass/src/declarations/border_block_end_style.rs +19 -0
  77. data/ext/yass/src/declarations/border_block_end_width.rs +24 -0
  78. data/ext/yass/src/declarations/border_block_start_color.rs +30 -0
  79. data/ext/yass/src/declarations/border_block_start_style.rs +19 -0
  80. data/ext/yass/src/declarations/border_block_start_width.rs +24 -0
  81. data/ext/yass/src/declarations/border_bottom_color.rs +30 -0
  82. data/ext/yass/src/declarations/border_bottom_left_radius.rs +40 -0
  83. data/ext/yass/src/declarations/border_bottom_right_radius.rs +40 -0
  84. data/ext/yass/src/declarations/border_bottom_style.rs +19 -0
  85. data/ext/yass/src/declarations/border_bottom_width.rs +24 -0
  86. data/ext/yass/src/declarations/border_collapse.rs +20 -0
  87. data/ext/yass/src/declarations/border_end_end_radius.rs +40 -0
  88. data/ext/yass/src/declarations/border_end_start_radius.rs +40 -0
  89. data/ext/yass/src/declarations/border_image_outset.rs +73 -0
  90. data/ext/yass/src/declarations/border_image_repeat.rs +30 -0
  91. data/ext/yass/src/declarations/border_image_slice.rs +78 -0
  92. data/ext/yass/src/declarations/border_image_source.rs +28 -0
  93. data/ext/yass/src/declarations/border_image_width.rs +85 -0
  94. data/ext/yass/src/declarations/border_inline_end_color.rs +30 -0
  95. data/ext/yass/src/declarations/border_inline_end_style.rs +19 -0
  96. data/ext/yass/src/declarations/border_inline_end_width.rs +24 -0
  97. data/ext/yass/src/declarations/border_inline_start_color.rs +30 -0
  98. data/ext/yass/src/declarations/border_inline_start_style.rs +19 -0
  99. data/ext/yass/src/declarations/border_inline_start_width.rs +24 -0
  100. data/ext/yass/src/declarations/border_left_color.rs +30 -0
  101. data/ext/yass/src/declarations/border_left_style.rs +19 -0
  102. data/ext/yass/src/declarations/border_left_width.rs +24 -0
  103. data/ext/yass/src/declarations/border_right_color.rs +30 -0
  104. data/ext/yass/src/declarations/border_right_style.rs +19 -0
  105. data/ext/yass/src/declarations/border_right_width.rs +24 -0
  106. data/ext/yass/src/declarations/border_spacing.rs +51 -0
  107. data/ext/yass/src/declarations/border_start_end_radius.rs +40 -0
  108. data/ext/yass/src/declarations/border_start_start_radius.rs +40 -0
  109. data/ext/yass/src/declarations/border_style.rs +17 -0
  110. data/ext/yass/src/declarations/border_top_color.rs +30 -0
  111. data/ext/yass/src/declarations/border_top_left_radius.rs +40 -0
  112. data/ext/yass/src/declarations/border_top_right_radius.rs +40 -0
  113. data/ext/yass/src/declarations/border_top_style.rs +19 -0
  114. data/ext/yass/src/declarations/border_top_width.rs +24 -0
  115. data/ext/yass/src/declarations/bottom.rs +28 -0
  116. data/ext/yass/src/declarations/box_shadow.rs +113 -0
  117. data/ext/yass/src/declarations/box_sizing.rs +20 -0
  118. data/ext/yass/src/declarations/calc/abs.rs +32 -0
  119. data/ext/yass/src/declarations/calc/anchor_function.rs +96 -0
  120. data/ext/yass/src/declarations/calc/anchor_size_function.rs +84 -0
  121. data/ext/yass/src/declarations/calc/clamp.rs +58 -0
  122. data/ext/yass/src/declarations/calc/hypot.rs +30 -0
  123. data/ext/yass/src/declarations/calc/init.rs +72 -0
  124. data/ext/yass/src/declarations/calc/invert.rs +32 -0
  125. data/ext/yass/src/declarations/calc/leaf.rs +36 -0
  126. data/ext/yass/src/declarations/calc/min_max.rs +40 -0
  127. data/ext/yass/src/declarations/calc/mod.rs +118 -0
  128. data/ext/yass/src/declarations/calc/mod_rem.rs +57 -0
  129. data/ext/yass/src/declarations/calc/negate.rs +32 -0
  130. data/ext/yass/src/declarations/calc/product.rs +30 -0
  131. data/ext/yass/src/declarations/calc/round.rs +59 -0
  132. data/ext/yass/src/declarations/calc/sign.rs +32 -0
  133. data/ext/yass/src/declarations/calc/sum.rs +30 -0
  134. data/ext/yass/src/declarations/caption_side.rs +20 -0
  135. data/ext/yass/src/declarations/caret_color.rs +32 -0
  136. data/ext/yass/src/declarations/channel_keyword.rs +31 -0
  137. data/ext/yass/src/declarations/clear.rs +24 -0
  138. data/ext/yass/src/declarations/clip.rs +135 -0
  139. data/ext/yass/src/declarations/clip_path/circle_ellipse.rs +168 -0
  140. data/ext/yass/src/declarations/clip_path/init.rs +267 -0
  141. data/ext/yass/src/declarations/clip_path/mod.rs +419 -0
  142. data/ext/yass/src/declarations/clip_path/path.rs +734 -0
  143. data/ext/yass/src/declarations/clip_path/rect.rs +288 -0
  144. data/ext/yass/src/declarations/clip_path/shape.rs +672 -0
  145. data/ext/yass/src/declarations/clip_path/shape_box.rs +71 -0
  146. data/ext/yass/src/declarations/color/absolute.rs +46 -0
  147. data/ext/yass/src/declarations/color/absolute_color.rs +53 -0
  148. data/ext/yass/src/declarations/color/auto.rs +8 -0
  149. data/ext/yass/src/declarations/color/color.rs +38 -0
  150. data/ext/yass/src/declarations/color/color_components.rs +25 -0
  151. data/ext/yass/src/declarations/color/color_function.rs +151 -0
  152. data/ext/yass/src/declarations/color/color_function_component.rs +61 -0
  153. data/ext/yass/src/declarations/color/color_interpolation_method.rs +29 -0
  154. data/ext/yass/src/declarations/color/color_mix.rs +60 -0
  155. data/ext/yass/src/declarations/color/color_mix_item.rs +43 -0
  156. data/ext/yass/src/declarations/color/current_color.rs +8 -0
  157. data/ext/yass/src/declarations/color/init.rs +60 -0
  158. data/ext/yass/src/declarations/color/light_dark.rs +43 -0
  159. data/ext/yass/src/declarations/color/mod.rs +69 -0
  160. data/ext/yass/src/declarations/color/stored_color_function_component.rs +70 -0
  161. data/ext/yass/src/declarations/color/system_color.rs +60 -0
  162. data/ext/yass/src/declarations/color_scheme.rs +26 -0
  163. data/ext/yass/src/declarations/column_count.rs +37 -0
  164. data/ext/yass/src/declarations/column_gap.rs +74 -0
  165. data/ext/yass/src/declarations/column_span.rs +20 -0
  166. data/ext/yass/src/declarations/column_width.rs +70 -0
  167. data/ext/yass/src/declarations/contain.rs +106 -0
  168. data/ext/yass/src/declarations/container_name.rs +32 -0
  169. data/ext/yass/src/declarations/container_type.rs +52 -0
  170. data/ext/yass/src/declarations/content.rs +309 -0
  171. data/ext/yass/src/declarations/counter_increment.rs +60 -0
  172. data/ext/yass/src/declarations/counter_reset.rs +60 -0
  173. data/ext/yass/src/declarations/csswide_keyword.rs +28 -0
  174. data/ext/yass/src/declarations/cursor.rs +125 -0
  175. data/ext/yass/src/declarations/custom.rs +108 -0
  176. data/ext/yass/src/declarations/declaration.rs +716 -0
  177. data/ext/yass/src/declarations/direction.rs +20 -0
  178. data/ext/yass/src/declarations/display.rs +74 -0
  179. data/ext/yass/src/declarations/empty_cells.rs +20 -0
  180. data/ext/yass/src/declarations/filter/blur.rs +28 -0
  181. data/ext/yass/src/declarations/filter/brightness.rs +30 -0
  182. data/ext/yass/src/declarations/filter/contrast.rs +30 -0
  183. data/ext/yass/src/declarations/filter/drop_shadow.rs +68 -0
  184. data/ext/yass/src/declarations/filter/grayscale.rs +30 -0
  185. data/ext/yass/src/declarations/filter/hue_rotate.rs +28 -0
  186. data/ext/yass/src/declarations/filter/init.rs +43 -0
  187. data/ext/yass/src/declarations/filter/invert.rs +30 -0
  188. data/ext/yass/src/declarations/filter/mod.rs +80 -0
  189. data/ext/yass/src/declarations/filter/opacity.rs +30 -0
  190. data/ext/yass/src/declarations/filter/saturate.rs +30 -0
  191. data/ext/yass/src/declarations/filter/sepia.rs +30 -0
  192. data/ext/yass/src/declarations/flex_basis.rs +71 -0
  193. data/ext/yass/src/declarations/flex_direction.rs +22 -0
  194. data/ext/yass/src/declarations/flex_grow.rs +30 -0
  195. data/ext/yass/src/declarations/flex_shrink.rs +30 -0
  196. data/ext/yass/src/declarations/flex_wrap.rs +21 -0
  197. data/ext/yass/src/declarations/float.rs +23 -0
  198. data/ext/yass/src/declarations/font_family.rs +28 -0
  199. data/ext/yass/src/declarations/font_language_override.rs +30 -0
  200. data/ext/yass/src/declarations/font_optical_sizing.rs +20 -0
  201. data/ext/yass/src/declarations/font_size.rs +126 -0
  202. data/ext/yass/src/declarations/font_stretch.rs +102 -0
  203. data/ext/yass/src/declarations/font_style.rs +101 -0
  204. data/ext/yass/src/declarations/font_synthesis_weight.rs +20 -0
  205. data/ext/yass/src/declarations/font_variant_caps.rs +20 -0
  206. data/ext/yass/src/declarations/font_variation_settings.rs +54 -0
  207. data/ext/yass/src/declarations/font_weight.rs +85 -0
  208. data/ext/yass/src/declarations/grid_auto_columns.rs +32 -0
  209. data/ext/yass/src/declarations/grid_auto_flow.rs +35 -0
  210. data/ext/yass/src/declarations/grid_auto_rows.rs +33 -0
  211. data/ext/yass/src/declarations/grid_column_end.rs +39 -0
  212. data/ext/yass/src/declarations/grid_column_start.rs +39 -0
  213. data/ext/yass/src/declarations/grid_row_end.rs +39 -0
  214. data/ext/yass/src/declarations/grid_row_start.rs +39 -0
  215. data/ext/yass/src/declarations/grid_template.rs +355 -0
  216. data/ext/yass/src/declarations/grid_template_areas.rs +131 -0
  217. data/ext/yass/src/declarations/grid_template_columns.rs +31 -0
  218. data/ext/yass/src/declarations/grid_template_rows.rs +31 -0
  219. data/ext/yass/src/declarations/height.rs +30 -0
  220. data/ext/yass/src/declarations/horizontal_position_component.rs +93 -0
  221. data/ext/yass/src/declarations/image_rendering.rs +21 -0
  222. data/ext/yass/src/declarations/images/angle_or_percentage.rs +35 -0
  223. data/ext/yass/src/declarations/images/circle.rs +72 -0
  224. data/ext/yass/src/declarations/images/conic_gradient.rs +80 -0
  225. data/ext/yass/src/declarations/images/cross_fade.rs +33 -0
  226. data/ext/yass/src/declarations/images/cross_fade_element.rs +44 -0
  227. data/ext/yass/src/declarations/images/cross_fade_image.rs +68 -0
  228. data/ext/yass/src/declarations/images/ellipse.rs +67 -0
  229. data/ext/yass/src/declarations/images/ending_shape.rs +38 -0
  230. data/ext/yass/src/declarations/images/gradient_angle_or_percentage_item.rs +103 -0
  231. data/ext/yass/src/declarations/images/gradient_length_percentage_item.rs +106 -0
  232. data/ext/yass/src/declarations/images/image_set.rs +30 -0
  233. data/ext/yass/src/declarations/images/image_set_item.rs +53 -0
  234. data/ext/yass/src/declarations/images/init.rs +145 -0
  235. data/ext/yass/src/declarations/images/light_dark.rs +40 -0
  236. data/ext/yass/src/declarations/images/line_direction.rs +100 -0
  237. data/ext/yass/src/declarations/images/linear_gradient.rs +75 -0
  238. data/ext/yass/src/declarations/images/mod.rs +93 -0
  239. data/ext/yass/src/declarations/images/none.rs +8 -0
  240. data/ext/yass/src/declarations/images/position.rs +40 -0
  241. data/ext/yass/src/declarations/images/radial_gradient.rs +86 -0
  242. data/ext/yass/src/declarations/images/url.rs +28 -0
  243. data/ext/yass/src/declarations/init.rs +1620 -0
  244. data/ext/yass/src/declarations/inline_size.rs +30 -0
  245. data/ext/yass/src/declarations/inset.rs +114 -0
  246. data/ext/yass/src/declarations/inset_block_end.rs +28 -0
  247. data/ext/yass/src/declarations/inset_block_start.rs +28 -0
  248. data/ext/yass/src/declarations/inset_inline_end.rs +28 -0
  249. data/ext/yass/src/declarations/inset_inline_start.rs +28 -0
  250. data/ext/yass/src/declarations/isolation.rs +20 -0
  251. data/ext/yass/src/declarations/justify_content.rs +19 -0
  252. data/ext/yass/src/declarations/justify_items.rs +37 -0
  253. data/ext/yass/src/declarations/justify_self.rs +19 -0
  254. data/ext/yass/src/declarations/left.rs +28 -0
  255. data/ext/yass/src/declarations/length.rs +230 -0
  256. data/ext/yass/src/declarations/letter_spacing.rs +47 -0
  257. data/ext/yass/src/declarations/line_break.rs +23 -0
  258. data/ext/yass/src/declarations/line_height.rs +51 -0
  259. data/ext/yass/src/declarations/list_style_image.rs +28 -0
  260. data/ext/yass/src/declarations/list_style_position.rs +20 -0
  261. data/ext/yass/src/declarations/list_style_type.rs +132 -0
  262. data/ext/yass/src/declarations/margin.rs +103 -0
  263. data/ext/yass/src/declarations/margin_block_end.rs +28 -0
  264. data/ext/yass/src/declarations/margin_block_start.rs +28 -0
  265. data/ext/yass/src/declarations/margin_bottom.rs +28 -0
  266. data/ext/yass/src/declarations/margin_inline_end.rs +28 -0
  267. data/ext/yass/src/declarations/margin_inline_start.rs +28 -0
  268. data/ext/yass/src/declarations/margin_left.rs +28 -0
  269. data/ext/yass/src/declarations/margin_right.rs +28 -0
  270. data/ext/yass/src/declarations/margin_top.rs +28 -0
  271. data/ext/yass/src/declarations/mask_image.rs +30 -0
  272. data/ext/yass/src/declarations/max_block_size.rs +30 -0
  273. data/ext/yass/src/declarations/max_height.rs +30 -0
  274. data/ext/yass/src/declarations/max_inline_size.rs +30 -0
  275. data/ext/yass/src/declarations/max_width.rs +30 -0
  276. data/ext/yass/src/declarations/min_block_size.rs +30 -0
  277. data/ext/yass/src/declarations/min_height.rs +30 -0
  278. data/ext/yass/src/declarations/min_inline_size.rs +30 -0
  279. data/ext/yass/src/declarations/min_width.rs +30 -0
  280. data/ext/yass/src/declarations/mix_blend_mode.rs +35 -0
  281. data/ext/yass/src/declarations/mod.rs +257 -0
  282. data/ext/yass/src/declarations/number.rs +16 -0
  283. data/ext/yass/src/declarations/object_fit.rs +23 -0
  284. data/ext/yass/src/declarations/object_position.rs +40 -0
  285. data/ext/yass/src/declarations/offset_path.rs +275 -0
  286. data/ext/yass/src/declarations/opacity.rs +39 -0
  287. data/ext/yass/src/declarations/order.rs +17 -0
  288. data/ext/yass/src/declarations/outline_color.rs +30 -0
  289. data/ext/yass/src/declarations/outline_offset.rs +22 -0
  290. data/ext/yass/src/declarations/outline_style.rs +22 -0
  291. data/ext/yass/src/declarations/outline_width.rs +24 -0
  292. data/ext/yass/src/declarations/overflow.rs +12 -0
  293. data/ext/yass/src/declarations/overflow_block.rs +19 -0
  294. data/ext/yass/src/declarations/overflow_clip_margin.rs +40 -0
  295. data/ext/yass/src/declarations/overflow_inline.rs +19 -0
  296. data/ext/yass/src/declarations/overflow_wrap.rs +21 -0
  297. data/ext/yass/src/declarations/overflow_x.rs +19 -0
  298. data/ext/yass/src/declarations/overflow_y.rs +19 -0
  299. data/ext/yass/src/declarations/padding_block_end.rs +30 -0
  300. data/ext/yass/src/declarations/padding_block_start.rs +30 -0
  301. data/ext/yass/src/declarations/padding_bottom.rs +30 -0
  302. data/ext/yass/src/declarations/padding_inline_end.rs +30 -0
  303. data/ext/yass/src/declarations/padding_inline_start.rs +30 -0
  304. data/ext/yass/src/declarations/padding_left.rs +30 -0
  305. data/ext/yass/src/declarations/padding_right.rs +30 -0
  306. data/ext/yass/src/declarations/padding_top.rs +30 -0
  307. data/ext/yass/src/declarations/percentage.rs +16 -0
  308. data/ext/yass/src/declarations/perspective.rs +72 -0
  309. data/ext/yass/src/declarations/perspective_origin.rs +41 -0
  310. data/ext/yass/src/declarations/pointer_events.rs +20 -0
  311. data/ext/yass/src/declarations/position.rs +23 -0
  312. data/ext/yass/src/declarations/position_area.rs +82 -0
  313. data/ext/yass/src/declarations/position_try_fallbacks.rs +175 -0
  314. data/ext/yass/src/declarations/quotes.rs +107 -0
  315. data/ext/yass/src/declarations/resolution.rs +17 -0
  316. data/ext/yass/src/declarations/right.rs +28 -0
  317. data/ext/yass/src/declarations/rotate.rs +103 -0
  318. data/ext/yass/src/declarations/row_gap.rs +74 -0
  319. data/ext/yass/src/declarations/scale.rs +90 -0
  320. data/ext/yass/src/declarations/servo_overflow_clip_box.rs +20 -0
  321. data/ext/yass/src/declarations/servo_top_layer.rs +20 -0
  322. data/ext/yass/src/declarations/size/anchor_max_size_function.rs +53 -0
  323. data/ext/yass/src/declarations/size/anchor_size_function.rs +56 -0
  324. data/ext/yass/src/declarations/size/anchor_size_keyword.rs +25 -0
  325. data/ext/yass/src/declarations/size/init.rs +45 -0
  326. data/ext/yass/src/declarations/size/mod.rs +227 -0
  327. data/ext/yass/src/declarations/table_layout.rs +20 -0
  328. data/ext/yass/src/declarations/text_align.rs +31 -0
  329. data/ext/yass/src/declarations/text_align_last.rs +25 -0
  330. data/ext/yass/src/declarations/text_decoration_color.rs +30 -0
  331. data/ext/yass/src/declarations/text_decoration_line.rs +77 -0
  332. data/ext/yass/src/declarations/text_decoration_style.rs +24 -0
  333. data/ext/yass/src/declarations/text_indent.rs +40 -0
  334. data/ext/yass/src/declarations/text_justify.rs +22 -0
  335. data/ext/yass/src/declarations/text_overflow.rs +86 -0
  336. data/ext/yass/src/declarations/text_rendering.rs +22 -0
  337. data/ext/yass/src/declarations/text_shadow.rs +98 -0
  338. data/ext/yass/src/declarations/text_transform.rs +50 -0
  339. data/ext/yass/src/declarations/text_wrap_mode.rs +20 -0
  340. data/ext/yass/src/declarations/time.rs +21 -0
  341. data/ext/yass/src/declarations/top.rs +28 -0
  342. data/ext/yass/src/declarations/track_breadth.rs +88 -0
  343. data/ext/yass/src/declarations/track_size.rs +71 -0
  344. data/ext/yass/src/declarations/transform.rs +844 -0
  345. data/ext/yass/src/declarations/transform_origin.rs +99 -0
  346. data/ext/yass/src/declarations/transform_style.rs +20 -0
  347. data/ext/yass/src/declarations/transition_behavior.rs +28 -0
  348. data/ext/yass/src/declarations/transition_delay.rs +30 -0
  349. data/ext/yass/src/declarations/transition_duration.rs +30 -0
  350. data/ext/yass/src/declarations/transition_property.rs +122 -0
  351. data/ext/yass/src/declarations/transition_timing_function.rs +46 -0
  352. data/ext/yass/src/declarations/translate.rs +84 -0
  353. data/ext/yass/src/declarations/unicode_bidi.rs +24 -0
  354. data/ext/yass/src/declarations/vertical_position_component.rs +93 -0
  355. data/ext/yass/src/declarations/view_transition_class.rs +31 -0
  356. data/ext/yass/src/declarations/view_transition_name.rs +18 -0
  357. data/ext/yass/src/declarations/visibility.rs +21 -0
  358. data/ext/yass/src/declarations/webkit_text_security.rs +22 -0
  359. data/ext/yass/src/declarations/white_space_collapse.rs +22 -0
  360. data/ext/yass/src/declarations/width.rs +30 -0
  361. data/ext/yass/src/declarations/will_change.rs +83 -0
  362. data/ext/yass/src/declarations/with_variables.rs +35 -0
  363. data/ext/yass/src/declarations/word_break.rs +21 -0
  364. data/ext/yass/src/declarations/word_spacing.rs +47 -0
  365. data/ext/yass/src/declarations/writing_mode.rs +21 -0
  366. data/ext/yass/src/declarations/xlang.rs +21 -0
  367. data/ext/yass/src/declarations/zindex.rs +61 -0
  368. data/ext/yass/src/declarations/zoom.rs +87 -0
  369. data/ext/yass/src/general/init.rs +15 -0
  370. data/ext/yass/src/general/mod.rs +43 -0
  371. data/ext/yass/src/lib.rs +72 -0
  372. data/ext/yass/src/optional_cached_value.rs +33 -0
  373. data/ext/yass/src/rules/font_face_rule.rs +206 -0
  374. data/ext/yass/src/rules/fonts/family.rs +98 -0
  375. data/ext/yass/src/rules/fonts/init.rs +81 -0
  376. data/ext/yass/src/rules/fonts/metrics.rs +26 -0
  377. data/ext/yass/src/rules/fonts/mod.rs +7 -0
  378. data/ext/yass/src/rules/fonts/source.rs +126 -0
  379. data/ext/yass/src/rules/fonts/stretch.rs +96 -0
  380. data/ext/yass/src/rules/fonts/style.rs +59 -0
  381. data/ext/yass/src/rules/fonts/weight.rs +74 -0
  382. data/ext/yass/src/rules/init.rs +89 -0
  383. data/ext/yass/src/rules/media_rule.rs +474 -0
  384. data/ext/yass/src/rules/mod.rs +6 -0
  385. data/ext/yass/src/rules/rule.rs +33 -0
  386. data/ext/yass/src/rules/style_rule.rs +82 -0
  387. data/ext/yass/src/selectors/an_plus_b.rs +21 -0
  388. data/ext/yass/src/selectors/attribute_in_no_namespace.rs +34 -0
  389. data/ext/yass/src/selectors/attribute_in_no_namespace_exists.rs +16 -0
  390. data/ext/yass/src/selectors/attribute_other.rs +41 -0
  391. data/ext/yass/src/selectors/class.rs +16 -0
  392. data/ext/yass/src/selectors/combinator.rs +49 -0
  393. data/ext/yass/src/selectors/default_namespace.rs +16 -0
  394. data/ext/yass/src/selectors/has.rs +31 -0
  395. data/ext/yass/src/selectors/host.rs +35 -0
  396. data/ext/yass/src/selectors/id.rs +16 -0
  397. data/ext/yass/src/selectors/init.rs +146 -0
  398. data/ext/yass/src/selectors/is.rs +27 -0
  399. data/ext/yass/src/selectors/local_name.rs +18 -0
  400. data/ext/yass/src/selectors/mod.rs +54 -0
  401. data/ext/yass/src/selectors/namespace.rs +21 -0
  402. data/ext/yass/src/selectors/negation.rs +27 -0
  403. data/ext/yass/src/selectors/non_ts_pseudo_class.rs +63 -0
  404. data/ext/yass/src/selectors/nth.rs +51 -0
  405. data/ext/yass/src/selectors/nth_of.rs +43 -0
  406. data/ext/yass/src/selectors/part.rs +22 -0
  407. data/ext/yass/src/selectors/relative_selector.rs +40 -0
  408. data/ext/yass/src/selectors/selector.rs +230 -0
  409. data/ext/yass/src/selectors/selector_child.rs +460 -0
  410. data/ext/yass/src/selectors/selector_list.rs +27 -0
  411. data/ext/yass/src/selectors/slotted.rs +28 -0
  412. data/ext/yass/src/selectors/specific_namespace_constraint.rs +21 -0
  413. data/ext/yass/src/selectors/unit_selectors.rs +87 -0
  414. data/ext/yass/src/selectors/where.rs +27 -0
  415. data/ext/yass/src/sheet.rs +42 -0
  416. data/ext/yass/src/utils.rs +9 -0
  417. data/lib/yass/declarations.rb +7975 -0
  418. data/lib/yass/general.rb +31 -0
  419. data/lib/yass/node.rb +9 -0
  420. data/lib/yass/rules.rb +515 -0
  421. data/lib/yass/selectors.rb +325 -0
  422. data/lib/yass/stylesheet.rb +13 -0
  423. data/lib/yass/version.rb +5 -0
  424. data/lib/yass/visitor.rb +2463 -0
  425. data/lib/yass.rb +49 -0
  426. data/scripts/build_all.sh +44 -0
  427. data/scripts/detect.rb +39 -0
  428. data/scripts/wpt.rb +20 -0
  429. metadata +486 -0
@@ -0,0 +1,716 @@
1
+ use magnus::{Error, Ruby, Value, value::ReprValue};
2
+ use style::properties::PropertyDeclaration;
3
+
4
+ use crate::declarations::{align_content::YAlignContent, align_items::YAlignItems, align_self::YAlignSelf, alignment_baseline::YAlignmentBaseline, animation_composition::YAnimationComposition, animation_delay::YAnimationDelay, animation_direction::YAnimationDirection, animation_duration::YAnimationDuration, animation_fill_mode::YAnimationFillMode, animation_iteration_count::YAnimationIterationCount, animation_name::YAnimationName, animation_play_state::YAnimationPlayState, animation_range_end::YAnimationRangeEnd, animation_range_start::YAnimationRangeStart, animation_timeline::YAnimationTimeline, animation_timing_function::YAnimationTimingFunction, aspect_ratio::YAspectRatio, backdrop_filter::YBackdropFilter, backface_visibility::YBackfaceVisibility, background_attachment::YBackgroundAttachment, background_blend_mode::YBackgroundBlendMode, background_clip::YBackgroundClip, background_color::YBackgroundColor, background_image::YBackgroundImage, background_origin::YBackgroundOrigin, background_position_x::YBackgroundPositionX, background_position_y::YBackgroundPositionY, background_repeat::YBackgroundRepeat, background_size::YBackgroundSize, baseline_shift::make_baseline_shift, baseline_source::YBaselineSource, block_size::YBlockSize, border_block_end_color::YBorderBlockEndColor, border_block_end_style::YBorderBlockEndStyle, border_block_end_width::YBorderBlockEndWidth, border_block_start_color::YBorderBlockStartColor, border_block_start_style::YBorderBlockStartStyle, border_block_start_width::YBorderBlockStartWidth, border_bottom_color::YBorderBottomColor, border_bottom_left_radius::YBorderBottomLeftRadius, border_bottom_right_radius::YBorderBottomRightRadius, border_bottom_style::YBorderBottomStyle, border_bottom_width::YBorderBottomWidth, border_collapse::YBorderCollapse, border_end_end_radius::YBorderEndEndRadius, border_end_start_radius::YBorderEndStartRadius, border_image_outset::YBorderImageOutset, border_image_repeat::YBorderImageRepeat, border_image_slice::YBorderImageSlice, border_image_source::YBorderImageSource, border_image_width::YBorderImageWidth, border_inline_end_color::YBorderInlineEndColor, border_inline_end_style::YBorderInlineEndStyle, border_inline_end_width::YBorderInlineEndWidth, border_inline_start_color::YBorderInlineStartColor, border_inline_start_style::YBorderInlineStartStyle, border_inline_start_width::YBorderInlineStartWidth, border_left_color::YBorderLeftColor, border_left_style::YBorderLeftStyle, border_left_width::YBorderLeftWidth, border_right_color::YBorderRightColor, border_right_style::YBorderRightStyle, border_right_width::YBorderRightWidth, border_spacing::YBorderSpacing, border_start_end_radius::YBorderStartEndRadius, border_start_start_radius::YBorderStartStartRadius, border_top_color::YBorderTopColor, border_top_left_radius::YBorderTopLeftRadius, border_top_right_radius::YBorderTopRightRadius, border_top_style::YBorderTopStyle, border_top_width::YBorderTopWidth, bottom::YBottom, box_shadow::YBoxShadow, box_sizing::YBoxSizing, caption_side::YCaptionSide, caret_color::YCaretColor, clear::YClear, clip::YClip, clip_path::YClipPath, color::YColor, color_scheme::YColorScheme, column_count::make_column_count, column_gap::YColumnGap, column_span::YColumnSpan, column_width::YColumnWidth, contain::YContain, container_name::YContainerName, container_type::YContainerType, content::YContent, counter_increment::YCounterIncrement, counter_reset::YCounterReset, csswide_keyword::YCSSWideKeyword, cursor::YCursor, custom::YCustom, direction::YDirection, display::YDisplay, empty_cells::YEmptyCells, filter::YFilter, flex_basis::YFlexBasis, flex_direction::YFlexDirection, flex_grow::YFlexGrow, flex_shrink::YFlexShrink, flex_wrap::YFlexWrap, float::YFloat, font_family::YFontFamily, font_language_override::YFontLanguageOverride, font_optical_sizing::YFontOpticalSizing, font_size::YFontSize, font_stretch::YFontStretch, font_style::YFontStyle, font_synthesis_weight::YFontSynthesisWeight, font_variant_caps::YFontVariantCaps, font_variation_settings::YFontVariationSettings, font_weight::YFontWeight, grid_auto_columns::YGridAutoColumns, grid_auto_flow::YGridAutoFlow, grid_auto_rows::YGridAutoRows, grid_column_end::YGridColumnEnd, grid_column_start::YGridColumnStart, grid_row_end::YGridRowEnd, grid_row_start::YGridRowStart, grid_template_areas::YGridTemplateAreas, grid_template_columns::YGridTemplateColumns, grid_template_rows::YGridTemplateRows, height::YHeight, image_rendering::YImageRendering, inline_size::YInlineSize, inset_block_end::YInsetBlockEnd, inset_block_start::YInsetBlockStart, inset_inline_end::YInsetInlineEnd, inset_inline_start::YInsetInlineStart, isolation::YIsolation, justify_content::YJustifyContent, justify_items::YJustifyItems, justify_self::YJustifySelf, left::YLeft, letter_spacing::YLetterSpacing, line_break::YLineBreak, line_height::YLineHeight, list_style_image::YListStyleImage, list_style_position::YListStylePosition, list_style_type::YListStyleType, margin_block_end::YMarginBlockEnd, margin_block_start::YMarginBlockStart, margin_bottom::YMarginBottom, margin_inline_end::YMarginInlineEnd, margin_inline_start::YMarginInlineStart, margin_left::YMarginLeft, margin_right::YMarginRight, margin_top::YMarginTop, mask_image::YMaskImage, max_block_size::YMaxBlockSize, max_height::YMaxHeight, max_inline_size::YMaxInlineSize, max_width::YMaxWidth, min_block_size::YMinBlockSize, min_height::YMinHeight, min_inline_size::YMinInlineSize, min_width::YMinWidth, mix_blend_mode::YMixBlendMode, object_fit::YObjectFit, object_position::YObjectPosition, offset_path::YOffsetPath, opacity::YOpacity, order::YOrder, outline_color::YOutlineColor, outline_offset::YOutlineOffset, outline_style::YOutlineStyle, outline_width::YOutlineWidth, overflow_block::YOverflowBlock, overflow_clip_margin::YOverflowClipMargin, overflow_inline::YOverflowInline, overflow_wrap::YOverflowWrap, overflow_x::YOverflowX, overflow_y::YOverflowY, padding_block_end::YPaddingBlockEnd, padding_block_start::YPaddingBlockStart, padding_bottom::YPaddingBottom, padding_inline_end::YPaddingInlineEnd, padding_inline_start::YPaddingInlineStart, padding_left::YPaddingLeft, padding_right::YPaddingRight, padding_top::YPaddingTop, perspective::YPerspective, perspective_origin::YPerspectiveOrigin, pointer_events::YPointerEvents, position::YPosition, position_area::YPositionArea, position_try_fallbacks::YPositionTryFallbacks, quotes::YQuotes, right::YRight, rotate::YRotate, row_gap::YRowGap, scale::YScale, servo_overflow_clip_box::YServoOverflowClipBox, servo_top_layer::YServoTopLayer, table_layout::YTableLayout, text_align::YTextAlign, text_align_last::YTextAlignLast, text_decoration_color::YTextDecorationColor, text_decoration_line::YTextDecorationLine, text_decoration_style::YTextDecorationStyle, text_indent::YTextIndent, text_justify::YTextJustify, text_overflow::YTextOverflow, text_rendering::YTextRendering, text_shadow::YTextShadow, text_transform::YTextTransform, text_wrap_mode::YTextWrapMode, top::YTop, transform::YTransform, transform_origin::YTransformOrigin, transform_style::YTransformStyle, transition_behavior::YTransitionBehavior, transition_delay::YTransitionDelay, transition_duration::YTransitionDuration, transition_property::YTransitionProperty, transition_timing_function::YTransitionTimingFunction, translate::YTranslate, unicode_bidi::YUnicodeBidi, view_transition_class::YViewTransitionClass, view_transition_name::YViewTransitionName, visibility::YVisibility, webkit_text_security::YWebkitTextSecurity, white_space_collapse::YWhiteSpaceCollapse, width::YWidth, will_change::YWillChange, with_variables::YWithVariables, word_break::YWordBreak, word_spacing::YWordSpacing, writing_mode::YWritingMode, xlang::YXLang, zindex::YZIndex, zoom::YZoom};
5
+
6
+ pub struct YDeclaration {
7
+ }
8
+
9
+ impl YDeclaration {
10
+ pub fn from(declaration: &PropertyDeclaration, ruby: &Ruby) -> Result<Value, Error> {
11
+ match declaration {
12
+ PropertyDeclaration::AlignItems(item_placement) => {
13
+ Ok(ruby.obj_wrap(YAlignItems::new(item_placement.clone())).as_value())
14
+ },
15
+ PropertyDeclaration::AlignmentBaseline(alignment_baseline) => {
16
+ Ok(ruby.obj_wrap(YAlignmentBaseline::new(alignment_baseline.clone())).as_value())
17
+ },
18
+ PropertyDeclaration::AspectRatio(generic_aspect_ratio) => {
19
+ Ok(ruby.obj_wrap(YAspectRatio::new(generic_aspect_ratio.clone())).as_value())
20
+ },
21
+ PropertyDeclaration::BackfaceVisibility(t) => {
22
+ Ok(ruby.obj_wrap(YBackfaceVisibility::new(t.clone())).as_value())
23
+ },
24
+ PropertyDeclaration::BaselineSource(baseline_source) => {
25
+ Ok(ruby.obj_wrap(YBaselineSource::new(baseline_source.clone())).as_value())
26
+ }
27
+ PropertyDeclaration::BorderCollapse(t) => {
28
+ Ok(ruby.obj_wrap(YBorderCollapse::new(t.clone())).as_value())
29
+ },
30
+ PropertyDeclaration::BorderImageRepeat(border_image_repeat) => {
31
+ Ok(ruby.obj_wrap(YBorderImageRepeat::new(border_image_repeat.clone())).as_value())
32
+ }
33
+ PropertyDeclaration::BoxSizing(t) => {
34
+ Ok(ruby.obj_wrap(YBoxSizing::new(t.clone())).as_value())
35
+ },
36
+ PropertyDeclaration::CaptionSide(caption_side) => {
37
+ Ok(ruby.obj_wrap(YCaptionSide::new(caption_side.clone())).as_value())
38
+ },
39
+ PropertyDeclaration::Clear(clear) => {
40
+ Ok(ruby.obj_wrap(YClear::new(clear.clone())).as_value())
41
+ }
42
+ PropertyDeclaration::ColumnCount(generic_column_count) => {
43
+ Ok(make_column_count(generic_column_count, ruby))
44
+ }
45
+ PropertyDeclaration::ColumnSpan(t) => {
46
+ Ok(ruby.obj_wrap(YColumnSpan::new(t.clone())).as_value())
47
+ },
48
+ PropertyDeclaration::Contain(contain) => {
49
+ Ok(ruby.obj_wrap(YContain::new(contain.clone())).as_value())
50
+ }
51
+ PropertyDeclaration::ContainerType(container_type) => {
52
+ Ok(ruby.obj_wrap(YContainerType::new(container_type.clone())).as_value())
53
+ }
54
+ PropertyDeclaration::Direction(t) => {
55
+ Ok(ruby.obj_wrap(YDirection::new(t.clone())).as_value())
56
+ },
57
+ PropertyDeclaration::Display(display) => {
58
+ Ok(ruby.obj_wrap(YDisplay::new(display.clone())).as_value())
59
+ }
60
+ PropertyDeclaration::EmptyCells(t) => {
61
+ Ok(ruby.obj_wrap(YEmptyCells::new(t.clone())).as_value())
62
+ },
63
+ PropertyDeclaration::FlexDirection(t) => {
64
+ Ok(ruby.obj_wrap(YFlexDirection::new(t.clone())).as_value())
65
+ },
66
+ PropertyDeclaration::FlexWrap(t) => {
67
+ Ok(ruby.obj_wrap(YFlexWrap::new(t.clone())).as_value())
68
+ },
69
+ PropertyDeclaration::Float(float) => {
70
+ Ok(ruby.obj_wrap(YFloat::new(float.clone())).as_value())
71
+ }
72
+ PropertyDeclaration::FontLanguageOverride(font_language_override) => {
73
+ Ok(ruby.obj_wrap(YFontLanguageOverride::new(font_language_override.clone())).as_value())
74
+ }
75
+ PropertyDeclaration::FontOpticalSizing(t) => {
76
+ Ok(ruby.obj_wrap(YFontOpticalSizing::new(t.clone())).as_value())
77
+ },
78
+ PropertyDeclaration::FontStretch(font_stretch) => {
79
+ Ok(ruby.obj_wrap(YFontStretch::new(font_stretch.clone())).as_value())
80
+ }
81
+ PropertyDeclaration::FontStyle(font_style) => {
82
+ Ok(ruby.obj_wrap(YFontStyle::new(font_style.clone())).as_value())
83
+ }
84
+ PropertyDeclaration::FontSynthesisWeight(font_synthesis) => {
85
+ Ok(ruby.obj_wrap(YFontSynthesisWeight::new(font_synthesis.clone())).as_value())
86
+ }
87
+ PropertyDeclaration::FontVariantCaps(t) => {
88
+ Ok(ruby.obj_wrap(YFontVariantCaps::new(t.clone())).as_value())
89
+ },
90
+ PropertyDeclaration::FontWeight(font_weight) => {
91
+ Ok(ruby.obj_wrap(YFontWeight::new(font_weight.clone())).as_value())
92
+ }
93
+ PropertyDeclaration::GridAutoFlow(grid_auto_flow) => {
94
+ Ok(ruby.obj_wrap(YGridAutoFlow::new(grid_auto_flow.clone())).as_value())
95
+ }
96
+ PropertyDeclaration::ImageRendering(image_rendering) => {
97
+ Ok(ruby.obj_wrap(YImageRendering::new(image_rendering.clone())).as_value())
98
+ }
99
+ PropertyDeclaration::Isolation(t) => {
100
+ Ok(ruby.obj_wrap(YIsolation::new(t.clone())).as_value())
101
+ },
102
+ PropertyDeclaration::JustifyItems(justify_items) => {
103
+ Ok(ruby.obj_wrap(YJustifyItems::new(justify_items.clone())).as_value())
104
+ }
105
+ PropertyDeclaration::LineBreak(line_break) => {
106
+ Ok(ruby.obj_wrap(YLineBreak::new(line_break.clone())).as_value())
107
+ }
108
+ PropertyDeclaration::ListStylePosition(t) => {
109
+ Ok(ruby.obj_wrap(YListStylePosition::new(t.clone())).as_value())
110
+ },
111
+ PropertyDeclaration::MixBlendMode(t) => {
112
+ Ok(ruby.obj_wrap(YMixBlendMode::new(t.clone())).as_value())
113
+ },
114
+ PropertyDeclaration::ObjectFit(t) => {
115
+ Ok(ruby.obj_wrap(YObjectFit::new(t.clone())).as_value())
116
+ },
117
+ PropertyDeclaration::Opacity(opacity) => {
118
+ Ok(ruby.obj_wrap(YOpacity::new(opacity.clone())).as_value())
119
+ }
120
+ PropertyDeclaration::Order(integer) => {
121
+ Ok(ruby.obj_wrap(YOrder::new(integer.clone())).as_value())
122
+ }
123
+ PropertyDeclaration::OutlineStyle(outline_style) => {
124
+ Ok(ruby.obj_wrap(YOutlineStyle::new(outline_style.clone())).as_value())
125
+ }
126
+ PropertyDeclaration::OverflowWrap(overflow_wrap) => {
127
+ Ok(ruby.obj_wrap(YOverflowWrap::new(overflow_wrap.clone())).as_value())
128
+ }
129
+ PropertyDeclaration::PointerEvents(pointer_events) => {
130
+ Ok(ruby.obj_wrap(YPointerEvents::new(pointer_events.clone())).as_value())
131
+ }
132
+ PropertyDeclaration::Position(position_property) => {
133
+ Ok(ruby.obj_wrap(YPosition::new(position_property.clone())).as_value())
134
+ }
135
+ PropertyDeclaration::PositionArea(position_area) => {
136
+ Ok(ruby.obj_wrap(YPositionArea::new(position_area.clone())).as_value())
137
+ }
138
+ PropertyDeclaration::ServoOverflowClipBox(t) => {
139
+ Ok(ruby.obj_wrap(YServoOverflowClipBox::new(t.clone())).as_value())
140
+ },
141
+ PropertyDeclaration::ServoTopLayer(t) => {
142
+ Ok(ruby.obj_wrap(YServoTopLayer::new(t.clone())).as_value())
143
+ },
144
+ PropertyDeclaration::TableLayout(t) => {
145
+ Ok(ruby.obj_wrap(YTableLayout::new(t.clone())).as_value())
146
+ },
147
+ PropertyDeclaration::TextAlign(text_align) => {
148
+ Ok(ruby.obj_wrap(YTextAlign::new(text_align.clone())).as_value())
149
+ }
150
+ PropertyDeclaration::TextAlignLast(text_align_last) => {
151
+ Ok(ruby.obj_wrap(YTextAlignLast::new(text_align_last.clone())).as_value())
152
+ }
153
+ PropertyDeclaration::TextDecorationLine(text_decoration_line) => {
154
+ Ok(ruby.obj_wrap(YTextDecorationLine::new(text_decoration_line.clone())).as_value())
155
+ }
156
+ PropertyDeclaration::TextDecorationStyle(t) => {
157
+ Ok(ruby.obj_wrap(YTextDecorationStyle::new(t.clone())).as_value())
158
+ },
159
+ PropertyDeclaration::TextJustify(text_justify) => {
160
+ Ok(ruby.obj_wrap(YTextJustify::new(text_justify.clone())).as_value())
161
+ }
162
+ PropertyDeclaration::TextRendering(t) => {
163
+ Ok(ruby.obj_wrap(YTextRendering::new(t.clone())).as_value())
164
+ },
165
+ PropertyDeclaration::TextTransform(text_transform) => {
166
+ Ok(ruby.obj_wrap(YTextTransform::new(text_transform.clone())).as_value())
167
+ }
168
+ PropertyDeclaration::TextWrapMode(t) => {
169
+ Ok(ruby.obj_wrap(YTextWrapMode::new(t.clone())).as_value())
170
+ },
171
+ PropertyDeclaration::TransformStyle(transform_style) => {
172
+ Ok(ruby.obj_wrap(YTransformStyle::new(transform_style.clone())).as_value())
173
+ }
174
+ PropertyDeclaration::UnicodeBidi(t) => {
175
+ Ok(ruby.obj_wrap(YUnicodeBidi::new(t.clone())).as_value())
176
+ },
177
+ PropertyDeclaration::Visibility(t) => {
178
+ Ok(ruby.obj_wrap(YVisibility::new(t.clone())).as_value())
179
+ },
180
+ PropertyDeclaration::WebkitTextSecurity(t) => {
181
+ Ok(ruby.obj_wrap(YWebkitTextSecurity::new(t.clone())).as_value())
182
+ },
183
+ PropertyDeclaration::WhiteSpaceCollapse(t) => {
184
+ Ok(ruby.obj_wrap(YWhiteSpaceCollapse::new(t.clone())).as_value())
185
+ },
186
+ PropertyDeclaration::WordBreak(word_break) => {
187
+ Ok(ruby.obj_wrap(YWordBreak::new(word_break.clone())).as_value())
188
+ }
189
+ PropertyDeclaration::WritingMode(writing_mode_property) => {
190
+ Ok(ruby.obj_wrap(YWritingMode::new(writing_mode_property.clone())).as_value())
191
+ }
192
+ PropertyDeclaration::ZIndex(generic_zindex) => {
193
+ Ok(ruby.obj_wrap(YZIndex::new(generic_zindex.clone())).as_value())
194
+ }
195
+ PropertyDeclaration::Zoom(zoom) => {
196
+ Ok(ruby.obj_wrap(YZoom::new(zoom.clone())).as_value())
197
+ }
198
+ PropertyDeclaration::AlignContent(content_distribution) => {
199
+ Ok(ruby.obj_wrap(YAlignContent::new(content_distribution.clone())).as_value())
200
+ }
201
+ PropertyDeclaration::JustifyContent(content_distribution) => {
202
+ Ok(ruby.obj_wrap(YJustifyContent::new(content_distribution.clone())).as_value())
203
+ }
204
+ PropertyDeclaration::FlexGrow(non_negative) => {
205
+ Ok(ruby.obj_wrap(YFlexGrow::new(non_negative.clone())).as_value())
206
+ }
207
+ PropertyDeclaration::FlexShrink(non_negative) => {
208
+ Ok(ruby.obj_wrap(YFlexShrink::new(non_negative.clone())).as_value())
209
+ }
210
+ PropertyDeclaration::AlignSelf(self_alignment) => {
211
+ Ok(ruby.obj_wrap(YAlignSelf::new(self_alignment.clone())).as_value())
212
+ }
213
+ PropertyDeclaration::JustifySelf(self_alignment) => {
214
+ Ok(ruby.obj_wrap(YJustifySelf::new(self_alignment.clone())).as_value())
215
+ }
216
+ PropertyDeclaration::OverflowBlock(overflow) => {
217
+ Ok(ruby.obj_wrap(YOverflowBlock::new(overflow.clone())).as_value())
218
+ }
219
+ PropertyDeclaration::OverflowInline(overflow) => {
220
+ Ok(ruby.obj_wrap(YOverflowInline::new(overflow.clone())).as_value())
221
+ }
222
+ PropertyDeclaration::OverflowX(overflow) => {
223
+ Ok(ruby.obj_wrap(YOverflowX::new(overflow.clone())).as_value())
224
+ }
225
+ PropertyDeclaration::OverflowY(overflow) => {
226
+ Ok(ruby.obj_wrap(YOverflowY::new(overflow.clone())).as_value())
227
+ }
228
+ PropertyDeclaration::BorderBlockEndStyle(border_style) => {
229
+ Ok(ruby.obj_wrap(YBorderBlockEndStyle::new(border_style.clone())).as_value())
230
+ }
231
+ PropertyDeclaration::BorderBlockStartStyle(border_style) => {
232
+ Ok(ruby.obj_wrap(YBorderBlockStartStyle::new(border_style.clone())).as_value())
233
+ }
234
+ PropertyDeclaration::BorderBottomStyle(border_style) => {
235
+ Ok(ruby.obj_wrap(YBorderBottomStyle::new(border_style.clone())).as_value())
236
+ }
237
+ PropertyDeclaration::BorderInlineEndStyle(border_style) => {
238
+ Ok(ruby.obj_wrap(YBorderInlineEndStyle::new(border_style.clone())).as_value())
239
+ }
240
+ PropertyDeclaration::BorderInlineStartStyle(border_style) => {
241
+ Ok(ruby.obj_wrap(YBorderInlineStartStyle::new(border_style.clone())).as_value())
242
+ }
243
+ PropertyDeclaration::BorderLeftStyle(border_style) => {
244
+ Ok(ruby.obj_wrap(YBorderLeftStyle::new(border_style.clone())).as_value())
245
+ }
246
+ PropertyDeclaration::BorderRightStyle(border_style) => {
247
+ Ok(ruby.obj_wrap(YBorderRightStyle::new(border_style.clone())).as_value())
248
+ }
249
+ PropertyDeclaration::BorderTopStyle(border_style) => {
250
+ Ok(ruby.obj_wrap(YBorderTopStyle::new(border_style.clone())).as_value())
251
+ }
252
+ PropertyDeclaration::AnimationComposition(specified_value) => {
253
+ Ok(ruby.obj_wrap(YAnimationComposition::new(specified_value.clone())).as_value())
254
+ }
255
+ PropertyDeclaration::AnimationDelay(specified_value) => {
256
+ Ok(ruby.obj_wrap(YAnimationDelay::new(specified_value.clone())).as_value())
257
+ }
258
+ PropertyDeclaration::AnimationDirection(specified_value) => {
259
+ Ok(ruby.obj_wrap(YAnimationDirection::new(specified_value.clone())).as_value())
260
+ }
261
+ PropertyDeclaration::AnimationDuration(specified_value) => {
262
+ Ok(ruby.obj_wrap(YAnimationDuration::new(specified_value.clone())).as_value())
263
+ }
264
+ PropertyDeclaration::AnimationFillMode(specified_value) => {
265
+ Ok(ruby.obj_wrap(YAnimationFillMode::new(specified_value.clone())).as_value())
266
+ }
267
+ PropertyDeclaration::AnimationIterationCount(specified_value) => {
268
+ Ok(ruby.obj_wrap(YAnimationIterationCount::new(specified_value.clone())).as_value())
269
+ }
270
+ PropertyDeclaration::AnimationName(specified_value) => {
271
+ Ok(ruby.obj_wrap(YAnimationName::new(specified_value.clone())).as_value())
272
+ }
273
+ PropertyDeclaration::AnimationPlayState(specified_value) => {
274
+ Ok(ruby.obj_wrap(YAnimationPlayState::new(specified_value.clone())).as_value())
275
+ }
276
+ PropertyDeclaration::AnimationRangeEnd(specified_value) => {
277
+ Ok(ruby.obj_wrap(YAnimationRangeEnd::new(specified_value.clone())).as_value())
278
+ },
279
+ PropertyDeclaration::AnimationRangeStart(specified_value) => {
280
+ Ok(ruby.obj_wrap(YAnimationRangeStart::new(specified_value.clone())).as_value())
281
+ },
282
+ PropertyDeclaration::AnimationTimeline(specified_value) => {
283
+ Ok(ruby.obj_wrap(YAnimationTimeline::new(specified_value.clone())).as_value())
284
+ }
285
+ PropertyDeclaration::AnimationTimingFunction(specified_value) => {
286
+ Ok(ruby.obj_wrap(YAnimationTimingFunction::new(specified_value.clone())).as_value())
287
+ }
288
+ PropertyDeclaration::BackdropFilter(specified_value) => {
289
+ Ok(ruby.obj_wrap(YBackdropFilter::new(specified_value.clone())).as_value())
290
+ }
291
+ PropertyDeclaration::BackgroundAttachment(specified_value) => {
292
+ Ok(ruby.obj_wrap(YBackgroundAttachment::new(specified_value.clone())).as_value())
293
+ }
294
+ PropertyDeclaration::BackgroundClip(specified_value) => {
295
+ Ok(ruby.obj_wrap(YBackgroundClip::new(specified_value.0.clone())).as_value())
296
+ },
297
+ PropertyDeclaration::BackgroundImage(specified_value) => {
298
+ Ok(ruby.obj_wrap(YBackgroundImage::new(specified_value.clone())).as_value())
299
+ },
300
+ PropertyDeclaration::BackgroundOrigin(specified_value) => {
301
+ Ok(ruby.obj_wrap(YBackgroundOrigin::new(specified_value.clone())).as_value())
302
+ },
303
+ PropertyDeclaration::BackgroundPositionX(specified_value) => {
304
+ Ok(ruby.obj_wrap(YBackgroundPositionX::new(specified_value.clone())).as_value())
305
+ },
306
+ PropertyDeclaration::BackgroundPositionY(specified_value) => {
307
+ Ok(ruby.obj_wrap(YBackgroundPositionY::new(specified_value.clone())).as_value())
308
+ },
309
+ PropertyDeclaration::BackgroundRepeat(specified_value) => {
310
+ Ok(ruby.obj_wrap(YBackgroundRepeat::new(specified_value.clone())).as_value())
311
+ },
312
+ PropertyDeclaration::BackgroundSize(specified_value) => {
313
+ Ok(ruby.obj_wrap(YBackgroundSize::new(specified_value.clone())).as_value())
314
+ },
315
+ PropertyDeclaration::BaselineShift(generic_baseline_shift) => {
316
+ Ok(make_baseline_shift(generic_baseline_shift, ruby))
317
+ }
318
+ PropertyDeclaration::BorderImageOutset(rect) => {
319
+ Ok(ruby.obj_wrap(YBorderImageOutset::new(rect.clone())).as_value())
320
+ }
321
+ PropertyDeclaration::BorderImageSlice(generic_border_image_slice) => {
322
+ Ok(ruby.obj_wrap(YBorderImageSlice::new(generic_border_image_slice.clone())).as_value())
323
+ }
324
+ PropertyDeclaration::BorderImageWidth(rect) => {
325
+ Ok(ruby.obj_wrap(YBorderImageWidth::new(rect.clone())).as_value())
326
+ }
327
+ PropertyDeclaration::BorderSpacing(generic_border_spacing) => {
328
+ Ok(ruby.obj_wrap(YBorderSpacing::new(generic_border_spacing.clone())).as_value())
329
+ }
330
+ PropertyDeclaration::BoxShadow(specified_value) => {
331
+ Ok(ruby.obj_wrap(YBoxShadow::new(specified_value.clone())).as_value())
332
+ },
333
+ PropertyDeclaration::CaretColor(generic_caret_color) => {
334
+ Ok(ruby.obj_wrap(YCaretColor::new(generic_caret_color.clone())).as_value())
335
+ },
336
+ PropertyDeclaration::Clip(generic_clip_rect_or_auto) => {
337
+ Ok(ruby.obj_wrap(YClip::new(generic_clip_rect_or_auto.clone())).as_value())
338
+ }
339
+ PropertyDeclaration::ClipPath(generic_clip_path) => {
340
+ Ok(ruby.obj_wrap(YClipPath::new(generic_clip_path.clone())).as_value())
341
+ },
342
+ PropertyDeclaration::Color(color_property_value) => {
343
+ Ok(ruby.obj_wrap(YColor::new(color_property_value.clone())).as_value())
344
+ }
345
+ PropertyDeclaration::ColorScheme(color_scheme) => {
346
+ Ok(ruby.obj_wrap(YColorScheme::new(color_scheme.clone())).as_value())
347
+ }
348
+ PropertyDeclaration::ColumnWidth(generic_length_percentage_or_auto) => {
349
+ Ok(ruby.obj_wrap(YColumnWidth::new(generic_length_percentage_or_auto.clone())).as_value())
350
+ },
351
+ PropertyDeclaration::ContainerName(container_name) => {
352
+ Ok(ruby.obj_wrap(YContainerName::new(container_name.clone())).as_value())
353
+ }
354
+ PropertyDeclaration::Content(generic_content) => {
355
+ Ok(ruby.obj_wrap(YContent::new(generic_content.clone())).as_value())
356
+ }
357
+ PropertyDeclaration::CounterIncrement(generic_counter_increment) => {
358
+ Ok(ruby.obj_wrap(YCounterIncrement::new(generic_counter_increment.clone())).as_value())
359
+ }
360
+ PropertyDeclaration::CounterReset(generic_counter_reset) => {
361
+ Ok(ruby.obj_wrap(YCounterReset::new(generic_counter_reset.clone())).as_value())
362
+ }
363
+ PropertyDeclaration::Cursor(generic_cursor) => {
364
+ Ok(ruby.obj_wrap(YCursor::new(generic_cursor.clone())).as_value())
365
+ }
366
+ PropertyDeclaration::Filter(specified_value) => {
367
+ Ok(ruby.obj_wrap(YFilter::new(specified_value.clone())).as_value())
368
+ },
369
+ PropertyDeclaration::FlexBasis(generic_flex_basis) => {
370
+ Ok(ruby.obj_wrap(YFlexBasis::new(generic_flex_basis.clone())).as_value())
371
+ }
372
+ PropertyDeclaration::FontFamily(font_family) => {
373
+ Ok(ruby.obj_wrap(YFontFamily::new(font_family.clone())).as_value())
374
+ }
375
+ PropertyDeclaration::FontSize(font_size) => {
376
+ Ok(ruby.obj_wrap(YFontSize::new(font_size.clone())).as_value())
377
+ }
378
+ PropertyDeclaration::FontVariationSettings(font_settings) => {
379
+ Ok(ruby.obj_wrap(YFontVariationSettings::new(font_settings.clone())).as_value())
380
+ }
381
+ PropertyDeclaration::GridTemplateAreas(grid_template_areas) => {
382
+ Ok(ruby.obj_wrap(YGridTemplateAreas::new(grid_template_areas.clone())).as_value())
383
+ }
384
+ PropertyDeclaration::LetterSpacing(letter_spacing) => {
385
+ Ok(ruby.obj_wrap(YLetterSpacing::new(letter_spacing.clone())).as_value())
386
+ }
387
+ PropertyDeclaration::LineHeight(generic_line_height) => {
388
+ Ok(ruby.obj_wrap(YLineHeight::new(generic_line_height.clone())).as_value())
389
+ }
390
+ PropertyDeclaration::ListStyleType(list_style_type) => {
391
+ Ok(ruby.obj_wrap(YListStyleType::new(list_style_type.clone())).as_value())
392
+ }
393
+ PropertyDeclaration::MaskImage(specified_value) => {
394
+ Ok(ruby.obj_wrap(YMaskImage::new(specified_value.clone())).as_value())
395
+ },
396
+ PropertyDeclaration::OffsetPath(generic_offset_path) => {
397
+ Ok(ruby.obj_wrap(YOffsetPath::new(generic_offset_path.clone())).as_value())
398
+ }
399
+ PropertyDeclaration::OutlineOffset(border_side_offset) => {
400
+ Ok(ruby.obj_wrap(YOutlineOffset::new(border_side_offset.clone())).as_value())
401
+ }
402
+ PropertyDeclaration::OverflowClipMargin(generic_overflow_clip_margin) => {
403
+ Ok(ruby.obj_wrap(YOverflowClipMargin::new(generic_overflow_clip_margin.clone())).as_value())
404
+ }
405
+ PropertyDeclaration::Perspective(generic_perspective) => {
406
+ Ok(ruby.obj_wrap(YPerspective::new(generic_perspective.clone())).as_value())
407
+ }
408
+ PropertyDeclaration::PositionTryFallbacks(position_try_fallbacks) => {
409
+ Ok(ruby.obj_wrap(YPositionTryFallbacks::new(position_try_fallbacks.clone())).as_value())
410
+ }
411
+ PropertyDeclaration::Quotes(quotes) => {
412
+ Ok(ruby.obj_wrap(YQuotes::new(quotes.clone())).as_value())
413
+ }
414
+ PropertyDeclaration::Rotate(generic_rotate) => {
415
+ Ok(ruby.obj_wrap(YRotate::new(generic_rotate.clone())).as_value())
416
+ }
417
+ PropertyDeclaration::Scale(generic_scale) => {
418
+ Ok(ruby.obj_wrap(YScale::new(generic_scale.clone())).as_value())
419
+ }
420
+ PropertyDeclaration::TextIndent(generic_text_indent) => {
421
+ Ok(ruby.obj_wrap(YTextIndent::new(generic_text_indent.clone())).as_value())
422
+ }
423
+ PropertyDeclaration::TextOverflow(text_overflow) => {
424
+ Ok(ruby.obj_wrap(YTextOverflow::new(text_overflow.clone())).as_value())
425
+ }
426
+ PropertyDeclaration::TextShadow(specified_value) => {
427
+ Ok(ruby.obj_wrap(YTextShadow::new(specified_value.clone())).as_value())
428
+ },
429
+ PropertyDeclaration::Transform(generic_transform) => {
430
+ Ok(ruby.obj_wrap(YTransform::new(generic_transform.clone())).as_value())
431
+ }
432
+ PropertyDeclaration::TransformOrigin(generic_transform_origin) => {
433
+ Ok(ruby.obj_wrap(YTransformOrigin::new(generic_transform_origin.clone())).as_value())
434
+ }
435
+ PropertyDeclaration::TransitionBehavior(specified_value) => {
436
+ Ok(ruby.obj_wrap(YTransitionBehavior::new(specified_value.clone())).as_value())
437
+ },
438
+ PropertyDeclaration::TransitionDelay(specified_value) => {
439
+ Ok(ruby.obj_wrap(YTransitionDelay::new(specified_value.clone())).as_value())
440
+ },
441
+ PropertyDeclaration::TransitionDuration(specified_value) => {
442
+ Ok(ruby.obj_wrap(YTransitionDuration::new(specified_value.clone())).as_value())
443
+ },
444
+ PropertyDeclaration::TransitionProperty(specified_value) => {
445
+ Ok(ruby.obj_wrap(YTransitionProperty::new(specified_value.clone())).as_value())
446
+ },
447
+ PropertyDeclaration::TransitionTimingFunction(specified_value) => {
448
+ Ok(ruby.obj_wrap(YTransitionTimingFunction::new(specified_value.clone())).as_value())
449
+ },
450
+ PropertyDeclaration::Translate(generic_translate) => {
451
+ Ok(ruby.obj_wrap(YTranslate::new(generic_translate.clone())).as_value())
452
+ }
453
+ PropertyDeclaration::ViewTransitionClass(view_transition_class) => {
454
+ Ok(ruby.obj_wrap(YViewTransitionClass::new(view_transition_class.clone())).as_value())
455
+ }
456
+ PropertyDeclaration::ViewTransitionName(view_transition_name) => {
457
+ Ok(ruby.obj_wrap(YViewTransitionName::new(view_transition_name.clone())).as_value())
458
+ }
459
+ PropertyDeclaration::WillChange(will_change) => {
460
+ Ok(ruby.obj_wrap(YWillChange::new(will_change.clone())).as_value())
461
+ }
462
+ PropertyDeclaration::WordSpacing(word_spacing) => {
463
+ Ok(ruby.obj_wrap(YWordSpacing::new(word_spacing.clone())).as_value())
464
+ }
465
+ PropertyDeclaration::XLang(xlang) => {
466
+ Ok(ruby.obj_wrap(YXLang::new(xlang.clone())).as_value())
467
+ }
468
+ PropertyDeclaration::ObjectPosition(generic_position) => {
469
+ Ok(ruby.obj_wrap(YObjectPosition::new(generic_position.clone())).as_value())
470
+ }
471
+ PropertyDeclaration::PerspectiveOrigin(generic_position) => {
472
+ Ok(ruby.obj_wrap(YPerspectiveOrigin::new(generic_position.clone())).as_value())
473
+ }
474
+ PropertyDeclaration::GridTemplateColumns(generic_grid_template_component) => {
475
+ Ok(ruby.obj_wrap(YGridTemplateColumns::new(generic_grid_template_component.clone())).as_value())
476
+ }
477
+ PropertyDeclaration::GridTemplateRows(generic_grid_template_component) => {
478
+ Ok(ruby.obj_wrap(YGridTemplateRows::new(generic_grid_template_component.clone())).as_value())
479
+ }
480
+ PropertyDeclaration::BorderImageSource(generic_image) => {
481
+ Ok(ruby.obj_wrap(YBorderImageSource::new(generic_image.clone())).as_value())
482
+ }
483
+ PropertyDeclaration::ListStyleImage(generic_image) => {
484
+ Ok(ruby.obj_wrap(YListStyleImage::new(generic_image.clone())).as_value())
485
+ }
486
+ PropertyDeclaration::GridAutoColumns(generic_implicit_grid_tracks) => {
487
+ Ok(ruby.obj_wrap(YGridAutoColumns::new(generic_implicit_grid_tracks.clone())).as_value())
488
+ }
489
+ PropertyDeclaration::GridAutoRows(generic_implicit_grid_tracks) => {
490
+ Ok(ruby.obj_wrap(YGridAutoRows::new(generic_implicit_grid_tracks.clone())).as_value())
491
+ }
492
+ PropertyDeclaration::ColumnGap(generic_length_percentage_or_normal) => {
493
+ Ok(ruby.obj_wrap(YColumnGap::new(generic_length_percentage_or_normal.clone())).as_value())
494
+ },
495
+ PropertyDeclaration::RowGap(generic_length_percentage_or_normal) => {
496
+ Ok(ruby.obj_wrap(YRowGap::new(generic_length_percentage_or_normal.clone())).as_value())
497
+ },
498
+ PropertyDeclaration::GridColumnEnd(generic_grid_line) => {
499
+ Ok(ruby.obj_wrap(YGridColumnEnd::new(generic_grid_line.clone())).as_value())
500
+ }
501
+ PropertyDeclaration::GridColumnStart(generic_grid_line) => {
502
+ Ok(ruby.obj_wrap(YGridColumnStart::new(generic_grid_line.clone())).as_value())
503
+ }
504
+ PropertyDeclaration::GridRowEnd(generic_grid_line) => {
505
+ Ok(ruby.obj_wrap(YGridRowEnd::new(generic_grid_line.clone())).as_value())
506
+ }
507
+ PropertyDeclaration::GridRowStart(generic_grid_line) => {
508
+ Ok(ruby.obj_wrap(YGridRowStart::new(generic_grid_line.clone())).as_value())
509
+ }
510
+ PropertyDeclaration::MaxBlockSize(generic_max_size) => {
511
+ Ok(ruby.obj_wrap(YMaxBlockSize::new(generic_max_size.clone())).as_value())
512
+ }
513
+ PropertyDeclaration::MaxHeight(generic_max_size) => {
514
+ Ok(ruby.obj_wrap(YMaxHeight::new(generic_max_size.clone())).as_value())
515
+ }
516
+ PropertyDeclaration::MaxInlineSize(generic_max_size) => {
517
+ Ok(ruby.obj_wrap(YMaxInlineSize::new(generic_max_size.clone())).as_value())
518
+ }
519
+ PropertyDeclaration::MaxWidth(generic_max_size) => {
520
+ Ok(ruby.obj_wrap(YMaxWidth::new(generic_max_size.clone())).as_value())
521
+ }
522
+ PropertyDeclaration::BorderBottomLeftRadius(generic_border_corner_radius) => {
523
+ Ok(ruby.obj_wrap(YBorderBottomLeftRadius::new(generic_border_corner_radius.clone())).as_value())
524
+ }
525
+ PropertyDeclaration::BorderBottomRightRadius(generic_border_corner_radius) => {
526
+ Ok(ruby.obj_wrap(YBorderBottomRightRadius::new(generic_border_corner_radius.clone())).as_value())
527
+ }
528
+ PropertyDeclaration::BorderEndEndRadius(generic_border_corner_radius) => {
529
+ Ok(ruby.obj_wrap(YBorderEndEndRadius::new(generic_border_corner_radius.clone())).as_value())
530
+ }
531
+ PropertyDeclaration::BorderEndStartRadius(generic_border_corner_radius) => {
532
+ Ok(ruby.obj_wrap(YBorderEndStartRadius::new(generic_border_corner_radius.clone())).as_value())
533
+ }
534
+ PropertyDeclaration::BorderStartEndRadius(generic_border_corner_radius) => {
535
+ Ok(ruby.obj_wrap(YBorderStartEndRadius::new(generic_border_corner_radius.clone())).as_value())
536
+ }
537
+ PropertyDeclaration::BorderStartStartRadius(generic_border_corner_radius) => {
538
+ Ok(ruby.obj_wrap(YBorderStartStartRadius::new(generic_border_corner_radius.clone())).as_value())
539
+ }
540
+ PropertyDeclaration::BorderTopLeftRadius(generic_border_corner_radius) => {
541
+ Ok(ruby.obj_wrap(YBorderTopLeftRadius::new(generic_border_corner_radius.clone())).as_value())
542
+ }
543
+ PropertyDeclaration::BorderTopRightRadius(generic_border_corner_radius) => {
544
+ Ok(ruby.obj_wrap(YBorderTopRightRadius::new(generic_border_corner_radius.clone())).as_value())
545
+ }
546
+ PropertyDeclaration::Bottom(generic_inset) => {
547
+ Ok(ruby.obj_wrap(YBottom::new(generic_inset.clone())).as_value())
548
+ }
549
+ PropertyDeclaration::InsetBlockEnd(generic_inset) => {
550
+ Ok(ruby.obj_wrap(YInsetBlockEnd::new(generic_inset.clone())).as_value())
551
+ }
552
+ PropertyDeclaration::InsetBlockStart(generic_inset) => {
553
+ Ok(ruby.obj_wrap(YInsetBlockStart::new(generic_inset.clone())).as_value())
554
+ }
555
+ PropertyDeclaration::InsetInlineEnd(generic_inset) => {
556
+ Ok(ruby.obj_wrap(YInsetInlineEnd::new(generic_inset.clone())).as_value())
557
+ }
558
+ PropertyDeclaration::InsetInlineStart(generic_inset) => {
559
+ Ok(ruby.obj_wrap(YInsetInlineStart::new(generic_inset.clone())).as_value())
560
+ }
561
+ PropertyDeclaration::Left(generic_inset) => {
562
+ Ok(ruby.obj_wrap(YLeft::new(generic_inset.clone())).as_value())
563
+ }
564
+ PropertyDeclaration::Right(generic_inset) => {
565
+ Ok(ruby.obj_wrap(YRight::new(generic_inset.clone())).as_value())
566
+ }
567
+ PropertyDeclaration::Top(generic_inset) => {
568
+ Ok(ruby.obj_wrap(YTop::new(generic_inset.clone())).as_value())
569
+ }
570
+ PropertyDeclaration::MarginBlockEnd(generic_margin) => {
571
+ Ok(ruby.obj_wrap(YMarginBlockEnd::new(generic_margin.clone())).as_value())
572
+ }
573
+ PropertyDeclaration::MarginBlockStart(generic_margin) => {
574
+ Ok(ruby.obj_wrap(YMarginBlockStart::new(generic_margin.clone())).as_value())
575
+ }
576
+ PropertyDeclaration::MarginBottom(generic_margin) => {
577
+ Ok(ruby.obj_wrap(YMarginBottom::new(generic_margin.clone())).as_value())
578
+ }
579
+ PropertyDeclaration::MarginInlineEnd(generic_margin) => {
580
+ Ok(ruby.obj_wrap(YMarginInlineEnd::new(generic_margin.clone())).as_value())
581
+ }
582
+ PropertyDeclaration::MarginInlineStart(generic_margin) => {
583
+ Ok(ruby.obj_wrap(YMarginInlineStart::new(generic_margin.clone())).as_value())
584
+ }
585
+ PropertyDeclaration::MarginLeft(generic_margin) => {
586
+ Ok(ruby.obj_wrap(YMarginLeft::new(generic_margin.clone())).as_value())
587
+ }
588
+ PropertyDeclaration::MarginRight(generic_margin) => {
589
+ Ok(ruby.obj_wrap(YMarginRight::new(generic_margin.clone())).as_value())
590
+ }
591
+ PropertyDeclaration::MarginTop(generic_margin) => {
592
+ Ok(ruby.obj_wrap(YMarginTop::new(generic_margin.clone())).as_value())
593
+ }
594
+ PropertyDeclaration::PaddingBlockEnd(non_negative) => {
595
+ Ok(ruby.obj_wrap(YPaddingBlockEnd::new(non_negative.clone())).as_value())
596
+ }
597
+ PropertyDeclaration::PaddingBlockStart(non_negative) => {
598
+ Ok(ruby.obj_wrap(YPaddingBlockStart::new(non_negative.clone())).as_value())
599
+ }
600
+ PropertyDeclaration::PaddingBottom(non_negative) => {
601
+ Ok(ruby.obj_wrap(YPaddingBottom::new(non_negative.clone())).as_value())
602
+ }
603
+ PropertyDeclaration::PaddingInlineEnd(non_negative) => {
604
+ Ok(ruby.obj_wrap(YPaddingInlineEnd::new(non_negative.clone())).as_value())
605
+ }
606
+ PropertyDeclaration::PaddingInlineStart(non_negative) => {
607
+ Ok(ruby.obj_wrap(YPaddingInlineStart::new(non_negative.clone())).as_value())
608
+ }
609
+ PropertyDeclaration::PaddingLeft(non_negative) => {
610
+ Ok(ruby.obj_wrap(YPaddingLeft::new(non_negative.clone())).as_value())
611
+ }
612
+ PropertyDeclaration::PaddingRight(non_negative) => {
613
+ Ok(ruby.obj_wrap(YPaddingRight::new(non_negative.clone())).as_value())
614
+ }
615
+ PropertyDeclaration::PaddingTop(non_negative) => {
616
+ Ok(ruby.obj_wrap(YPaddingTop::new(non_negative.clone())).as_value())
617
+ }
618
+ PropertyDeclaration::BlockSize(generic_size) => {
619
+ Ok(ruby.obj_wrap(YBlockSize::new(generic_size.clone())).as_value())
620
+ }
621
+ PropertyDeclaration::Height(generic_size) => {
622
+ Ok(ruby.obj_wrap(YHeight::new(generic_size.clone())).as_value())
623
+ }
624
+ PropertyDeclaration::InlineSize(generic_size) => {
625
+ Ok(ruby.obj_wrap(YInlineSize::new(generic_size.clone())).as_value())
626
+ }
627
+ PropertyDeclaration::MinBlockSize(generic_size) => {
628
+ Ok(ruby.obj_wrap(YMinBlockSize::new(generic_size.clone())).as_value())
629
+ }
630
+ PropertyDeclaration::MinHeight(generic_size) => {
631
+ Ok(ruby.obj_wrap(YMinHeight::new(generic_size.clone())).as_value())
632
+ }
633
+ PropertyDeclaration::MinInlineSize(generic_size) => {
634
+ Ok(ruby.obj_wrap(YMinInlineSize::new(generic_size.clone())).as_value())
635
+ }
636
+ PropertyDeclaration::MinWidth(generic_size) => {
637
+ Ok(ruby.obj_wrap(YMinWidth::new(generic_size.clone())).as_value())
638
+ }
639
+ PropertyDeclaration::Width(generic_size) => {
640
+ Ok(ruby.obj_wrap(YWidth::new(generic_size.clone())).as_value())
641
+ }
642
+ PropertyDeclaration::BorderBlockEndWidth(border_side_width) => {
643
+ Ok(ruby.obj_wrap(YBorderBlockEndWidth::new(border_side_width.clone())).as_value())
644
+ }
645
+ PropertyDeclaration::BorderBlockStartWidth(border_side_width) => {
646
+ Ok(ruby.obj_wrap(YBorderBlockStartWidth::new(border_side_width.clone())).as_value())
647
+ }
648
+ PropertyDeclaration::BorderBottomWidth(border_side_width) => {
649
+ Ok(ruby.obj_wrap(YBorderBottomWidth::new(border_side_width.clone())).as_value())
650
+ }
651
+ PropertyDeclaration::BorderInlineEndWidth(border_side_width) => {
652
+ Ok(ruby.obj_wrap(YBorderInlineEndWidth::new(border_side_width.clone())).as_value())
653
+ }
654
+ PropertyDeclaration::BorderInlineStartWidth(border_side_width) => {
655
+ Ok(ruby.obj_wrap(YBorderInlineStartWidth::new(border_side_width.clone())).as_value())
656
+ }
657
+ PropertyDeclaration::BorderLeftWidth(border_side_width) => {
658
+ Ok(ruby.obj_wrap(YBorderLeftWidth::new(border_side_width.clone())).as_value())
659
+ }
660
+ PropertyDeclaration::BorderRightWidth(border_side_width) => {
661
+ Ok(ruby.obj_wrap(YBorderRightWidth::new(border_side_width.clone())).as_value())
662
+ }
663
+ PropertyDeclaration::BorderTopWidth(border_side_width) => {
664
+ Ok(ruby.obj_wrap(YBorderTopWidth::new(border_side_width.clone())).as_value())
665
+ }
666
+ PropertyDeclaration::OutlineWidth(border_side_width) => {
667
+ Ok(ruby.obj_wrap(YOutlineWidth::new(border_side_width.clone())).as_value())
668
+ }
669
+ PropertyDeclaration::BackgroundColor(color) => {
670
+ Ok(ruby.obj_wrap(YBackgroundColor::new(color.clone())).as_value())
671
+ }
672
+ PropertyDeclaration::BorderBlockEndColor(color) => {
673
+ Ok(ruby.obj_wrap(YBorderBlockEndColor::new(color.clone())).as_value())
674
+ }
675
+ PropertyDeclaration::BorderBlockStartColor(color) => {
676
+ Ok(ruby.obj_wrap(YBorderBlockStartColor::new(color.clone())).as_value())
677
+ }
678
+ PropertyDeclaration::BorderBottomColor(color) => {
679
+ Ok(ruby.obj_wrap(YBorderBottomColor::new(color.clone())).as_value())
680
+ }
681
+ PropertyDeclaration::BorderInlineEndColor(color) => {
682
+ Ok(ruby.obj_wrap(YBorderInlineEndColor::new(color.clone())).as_value())
683
+ }
684
+ PropertyDeclaration::BorderInlineStartColor(color) => {
685
+ Ok(ruby.obj_wrap(YBorderInlineStartColor::new(color.clone())).as_value())
686
+ }
687
+ PropertyDeclaration::BorderLeftColor(color) => {
688
+ Ok(ruby.obj_wrap(YBorderLeftColor::new(color.clone())).as_value())
689
+ }
690
+ PropertyDeclaration::BorderRightColor(color) => {
691
+ Ok(ruby.obj_wrap(YBorderRightColor::new(color.clone())).as_value())
692
+ }
693
+ PropertyDeclaration::BorderTopColor(color) => {
694
+ Ok(ruby.obj_wrap(YBorderTopColor::new(color.clone())).as_value())
695
+ }
696
+ PropertyDeclaration::OutlineColor(color) => {
697
+ Ok(ruby.obj_wrap(YOutlineColor::new(color.clone())).as_value())
698
+ }
699
+ PropertyDeclaration::TextDecorationColor(color) => {
700
+ Ok(ruby.obj_wrap(YTextDecorationColor::new(color.clone())).as_value())
701
+ }
702
+ PropertyDeclaration::CSSWideKeyword(wide_keyword_declaration) => {
703
+ Ok(ruby.obj_wrap(YCSSWideKeyword::new(wide_keyword_declaration.clone())).as_value())
704
+ },
705
+ PropertyDeclaration::WithVariables(variable_declaration) => {
706
+ Ok(ruby.obj_wrap(YWithVariables::new(variable_declaration.clone())).as_value())
707
+ },
708
+ PropertyDeclaration::Custom(custom_declaration) => {
709
+ Ok(ruby.obj_wrap(YCustom::new(custom_declaration.clone())).as_value())
710
+ },
711
+ PropertyDeclaration::BackgroundBlendMode(specified_value) => {
712
+ Ok(ruby.obj_wrap(YBackgroundBlendMode::new(specified_value.clone())).as_value())
713
+ },
714
+ }
715
+ }
716
+ }