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,1620 @@
1
+ use magnus::{Error, Module, RModule, Ruby, method};
2
+
3
+ use crate::declarations::align_content::YAlignContent;
4
+ use crate::declarations::align_items::YAlignItems;
5
+ use crate::declarations::align_self::YAlignSelf;
6
+ use crate::declarations::alignment_baseline::YAlignmentBaseline;
7
+ use crate::declarations::angle::YAngle;
8
+ use crate::declarations::animation_composition::YAnimationComposition;
9
+ use crate::declarations::animation_delay::YAnimationDelay;
10
+ use crate::declarations::animation_direction::YAnimationDirection;
11
+ use crate::declarations::animation_duration::{YAnimationDuration, YAnimationDurationValue};
12
+ use crate::declarations::animation_fill_mode::YAnimationFillMode;
13
+ use crate::declarations::animation_iteration_count::YAnimationIterationCount;
14
+ use crate::declarations::animation_name::YAnimationName;
15
+ use crate::declarations::animation_play_state::YAnimationPlayState;
16
+ use crate::declarations::animation_range_end::YAnimationRangeEnd;
17
+ use crate::declarations::animation_range_start::YAnimationRangeStart;
18
+ use crate::declarations::animation_timeline::YAnimationTimeline;
19
+ use crate::declarations::animation_timing_function::YAnimationTimingFunction;
20
+ use crate::declarations::animation;
21
+ use crate::declarations::aspect_ratio::YAspectRatio;
22
+ use crate::declarations::backdrop_filter::YBackdropFilter;
23
+ use crate::declarations::backface_visibility::YBackfaceVisibility;
24
+ use crate::declarations::background_attachment::YBackgroundAttachment;
25
+ use crate::declarations::background_blend_mode::YBackgroundBlendMode;
26
+ use crate::declarations::background_clip::YBackgroundClip;
27
+ use crate::declarations::background_color::YBackgroundColor;
28
+ use crate::declarations::background_image::YBackgroundImage;
29
+ use crate::declarations::background_origin::YBackgroundOrigin;
30
+ use crate::declarations::background_position_x::YBackgroundPositionX;
31
+ use crate::declarations::background_position_y::YBackgroundPositionY;
32
+ use crate::declarations::background_repeat::{YBackgroundRepeat, YBackgroundRepeatValue};
33
+ use crate::declarations::background_size::{YBackgroundSize, YBackgroundSizeExplicitSize};
34
+ use crate::declarations::baseline_shift::{YBaselineShiftKeyword, YBaselineShiftLength};
35
+ use crate::declarations::baseline_source::YBaselineSource;
36
+ use crate::declarations::block_size::YBlockSize;
37
+ use crate::declarations::border_block_end_color::YBorderBlockEndColor;
38
+ use crate::declarations::border_block_end_style::YBorderBlockEndStyle;
39
+ use crate::declarations::border_block_end_width::YBorderBlockEndWidth;
40
+ use crate::declarations::border_block_start_color::YBorderBlockStartColor;
41
+ use crate::declarations::border_block_start_style::YBorderBlockStartStyle;
42
+ use crate::declarations::border_block_start_width::YBorderBlockStartWidth;
43
+ use crate::declarations::border_bottom_color::YBorderBottomColor;
44
+ use crate::declarations::border_bottom_left_radius::YBorderBottomLeftRadius;
45
+ use crate::declarations::border_bottom_right_radius::YBorderBottomRightRadius;
46
+ use crate::declarations::border_bottom_style::YBorderBottomStyle;
47
+ use crate::declarations::border_bottom_width::YBorderBottomWidth;
48
+ use crate::declarations::border_collapse::YBorderCollapse;
49
+ use crate::declarations::border_end_end_radius::YBorderEndEndRadius;
50
+ use crate::declarations::border_end_start_radius::YBorderEndStartRadius;
51
+ use crate::declarations::border_image_outset::YBorderImageOutset;
52
+ use crate::declarations::border_image_repeat::YBorderImageRepeat;
53
+ use crate::declarations::border_image_slice::YBorderImageSlice;
54
+ use crate::declarations::border_image_source::YBorderImageSource;
55
+ use crate::declarations::border_image_width::YBorderImageWidth;
56
+ use crate::declarations::border_inline_end_color::YBorderInlineEndColor;
57
+ use crate::declarations::border_inline_end_style::YBorderInlineEndStyle;
58
+ use crate::declarations::border_inline_end_width::YBorderInlineEndWidth;
59
+ use crate::declarations::border_inline_start_color::YBorderInlineStartColor;
60
+ use crate::declarations::border_inline_start_style::YBorderInlineStartStyle;
61
+ use crate::declarations::border_inline_start_width::YBorderInlineStartWidth;
62
+ use crate::declarations::border_left_color::YBorderLeftColor;
63
+ use crate::declarations::border_left_style::YBorderLeftStyle;
64
+ use crate::declarations::border_left_width::YBorderLeftWidth;
65
+ use crate::declarations::border_right_color::YBorderRightColor;
66
+ use crate::declarations::border_right_style::YBorderRightStyle;
67
+ use crate::declarations::border_right_width::YBorderRightWidth;
68
+ use crate::declarations::border_spacing::YBorderSpacing;
69
+ use crate::declarations::border_start_end_radius::YBorderStartEndRadius;
70
+ use crate::declarations::border_start_start_radius::YBorderStartStartRadius;
71
+ use crate::declarations::border_top_color::YBorderTopColor;
72
+ use crate::declarations::border_top_left_radius::YBorderTopLeftRadius;
73
+ use crate::declarations::border_top_right_radius::YBorderTopRightRadius;
74
+ use crate::declarations::border_top_style::YBorderTopStyle;
75
+ use crate::declarations::border_top_width::YBorderTopWidth;
76
+ use crate::declarations::bottom::YBottom;
77
+ use crate::declarations::box_shadow::{YBoxShadow, YBoxShadowShadow};
78
+ use crate::declarations::box_sizing::YBoxSizing;
79
+ use crate::declarations::calc;
80
+ use crate::declarations::caption_side::YCaptionSide;
81
+ use crate::declarations::caret_color::YCaretColor;
82
+ use crate::declarations::channel_keyword::YChannelKeyword;
83
+ use crate::declarations::clear::YClear;
84
+ use crate::declarations::clip_path;
85
+ use crate::declarations::clip::{YClip, YClipLength, YClipRect};
86
+ use crate::declarations::color_scheme::YColorScheme;
87
+ use crate::declarations::color::{self, YColor};
88
+ use crate::declarations::offset_path::{YOffsetPath, YOffsetPathCoordBox, YOffsetPathFunction, YOffsetPathRay, YOffsetPathUrl, YOffsetPathPosition};
89
+ use crate::declarations::column_count::YColumnCountInteger;
90
+ use crate::declarations::column_gap::{YColumnGap, YColumnGapLengthPercentage};
91
+ use crate::declarations::column_span::YColumnSpan;
92
+ use crate::declarations::column_width::{YColumnWidth, YColumnWidthLength};
93
+ use crate::declarations::contain::YContain;
94
+ use crate::declarations::container_name::YContainerName;
95
+ use crate::declarations::container_type::YContainerType;
96
+ use crate::declarations::content::{YContent, YContentCounterStyleSymbols, YContentItemAttr, YContentItemCounter, YContentItemCounters, YContentItemImage, YContentItemString, YContentItems};
97
+ use crate::declarations::counter_increment::{YCounterIncrement, YCounterIncrementCounter};
98
+ use crate::declarations::counter_reset::{YCounterReset, YCounterResetCounter};
99
+ use crate::declarations::csswide_keyword::YCSSWideKeyword;
100
+ use crate::declarations::cursor::{YCursor, YCursorImage};
101
+ use crate::declarations::custom::{YCustom, YCustomValueCSSWideKeyword, YCustomValueParsed, YCustomValueUnparsed};
102
+ use crate::declarations::direction::YDirection;
103
+ use crate::declarations::display::YDisplay;
104
+ use crate::declarations::empty_cells::YEmptyCells;
105
+ use crate::declarations::filter;
106
+ use crate::declarations::flex_basis::{YFlexBasis, YFlexBasisSize};
107
+ use crate::declarations::flex_direction::YFlexDirection;
108
+ use crate::declarations::flex_grow::YFlexGrow;
109
+ use crate::declarations::flex_shrink::YFlexShrink;
110
+ use crate::declarations::flex_wrap::YFlexWrap;
111
+ use crate::declarations::float::YFloat;
112
+ use crate::declarations::font_family::YFontFamily;
113
+ use crate::declarations::font_language_override::YFontLanguageOverride;
114
+ use crate::declarations::font_optical_sizing::YFontOpticalSizing;
115
+ use crate::declarations::font_size::{YFontSize, YFontSizeKeyword, YFontSizeLength};
116
+ use crate::declarations::font_stretch::{YFontStretch, YFontStretchKeyword, YFontStretchValue};
117
+ use crate::declarations::font_style::{YFontStyle, YFontStyleOblique};
118
+ use crate::declarations::font_synthesis_weight::YFontSynthesisWeight;
119
+ use crate::declarations::font_variant_caps::YFontVariantCaps;
120
+ use crate::declarations::font_variation_settings::{YFontVariationSetting, YFontVariationSettings};
121
+ use crate::declarations::font_weight::{YFontWeight, YFontWeightAbsolute};
122
+ use crate::declarations::grid_auto_columns::YGridAutoColumns;
123
+ use crate::declarations::grid_auto_flow::YGridAutoFlow;
124
+ use crate::declarations::grid_auto_rows::YGridAutoRows;
125
+ use crate::declarations::grid_column_end::YGridColumnEnd;
126
+ use crate::declarations::grid_column_start::YGridColumnStart;
127
+ use crate::declarations::grid_row_end::YGridRowEnd;
128
+ use crate::declarations::grid_row_start::YGridRowStart;
129
+ use crate::declarations::grid_template_areas::{YGridTemplateArea, YGridTemplateAreas, YGridTemplateAreaList};
130
+ use crate::declarations::grid_template_columns::YGridTemplateColumns;
131
+ use crate::declarations::grid_template_rows::YGridTemplateRows;
132
+ use crate::declarations::grid_template::{YGridTemplateLineNameListValue, YGridTemplateLineNameRepeat, YGridTemplateLineNames, YGridTemplateRepeatCountNumber, YGridTemplateSubgrid, YGridTemplateTrackList, YGridTemplateTrackListValue, YGridTemplateTrackListValueTrackRepeat};
133
+ use crate::declarations::height::YHeight;
134
+ use crate::declarations::image_rendering::YImageRendering;
135
+ use crate::declarations::images;
136
+ use crate::declarations::inline_size::YInlineSize;
137
+ use crate::declarations::inset_block_end::YInsetBlockEnd;
138
+ use crate::declarations::inset_block_start::YInsetBlockStart;
139
+ use crate::declarations::inset_inline_end::YInsetInlineEnd;
140
+ use crate::declarations::inset_inline_start::YInsetInlineStart;
141
+ use crate::declarations::inset::{YInsetAnchorContainingCalcFunction, YInsetAnchorFunction, YInsetAnchorSizeFunction, YInsetLengthPercentage};
142
+ use crate::declarations::isolation::YIsolation;
143
+ use crate::declarations::justify_content::YJustifyContent;
144
+ use crate::declarations::justify_items::YJustifyItems;
145
+ use crate::declarations::justify_self::YJustifySelf;
146
+ use crate::declarations::left::YLeft;
147
+ use crate::declarations::length::{YAbsoluteLength, YCharacterWidthLength, YContainerRelativeLength, YFontRelativeLength, YViewportPercentageLength};
148
+ use crate::declarations::letter_spacing::{YLetterSpacing};
149
+ use crate::declarations::line_break::YLineBreak;
150
+ use crate::declarations::line_height::YLineHeight;
151
+ use crate::declarations::list_style_image::YListStyleImage;
152
+ use crate::declarations::list_style_position::YListStylePosition;
153
+ use crate::declarations::list_style_type::{YListStyleType, YListStyleTypeName, YListStyleTypeString, YListStyleTypeSymbols};
154
+ use crate::declarations::margin_block_end::YMarginBlockEnd;
155
+ use crate::declarations::margin_block_start::YMarginBlockStart;
156
+ use crate::declarations::margin_bottom::YMarginBottom;
157
+ use crate::declarations::margin_inline_end::YMarginInlineEnd;
158
+ use crate::declarations::margin_inline_start::YMarginInlineStart;
159
+ use crate::declarations::margin_left::YMarginLeft;
160
+ use crate::declarations::margin_right::YMarginRight;
161
+ use crate::declarations::margin_top::YMarginTop;
162
+ use crate::declarations::margin::{YMarginAnchorContainingCalcFunction, YMarginAnchorSizeFunction};
163
+ use crate::declarations::mask_image::YMaskImage;
164
+ use crate::declarations::max_block_size::YMaxBlockSize;
165
+ use crate::declarations::max_height::YMaxHeight;
166
+ use crate::declarations::max_inline_size::YMaxInlineSize;
167
+ use crate::declarations::max_width::YMaxWidth;
168
+ use crate::declarations::min_block_size::YMinBlockSize;
169
+ use crate::declarations::min_height::YMinHeight;
170
+ use crate::declarations::min_inline_size::YMinInlineSize;
171
+ use crate::declarations::min_width::YMinWidth;
172
+ use crate::declarations::mix_blend_mode::YMixBlendMode;
173
+ use crate::declarations::number::YNumber;
174
+ use crate::declarations::object_fit::YObjectFit;
175
+ use crate::declarations::object_position::YObjectPosition;
176
+ use crate::declarations::opacity::YOpacity;
177
+ use crate::declarations::order::YOrder;
178
+ use crate::declarations::outline_color::YOutlineColor;
179
+ use crate::declarations::outline_offset::YOutlineOffset;
180
+ use crate::declarations::outline_style::YOutlineStyle;
181
+ use crate::declarations::outline_width::YOutlineWidth;
182
+ use crate::declarations::overflow_block::YOverflowBlock;
183
+ use crate::declarations::overflow_clip_margin::YOverflowClipMargin;
184
+ use crate::declarations::overflow_inline::YOverflowInline;
185
+ use crate::declarations::overflow_wrap::YOverflowWrap;
186
+ use crate::declarations::overflow_x::YOverflowX;
187
+ use crate::declarations::overflow_y::YOverflowY;
188
+ use crate::declarations::padding_block_end::YPaddingBlockEnd;
189
+ use crate::declarations::padding_block_start::YPaddingBlockStart;
190
+ use crate::declarations::padding_bottom::YPaddingBottom;
191
+ use crate::declarations::padding_inline_end::YPaddingInlineEnd;
192
+ use crate::declarations::padding_inline_start::YPaddingInlineStart;
193
+ use crate::declarations::padding_left::YPaddingLeft;
194
+ use crate::declarations::padding_right::YPaddingRight;
195
+ use crate::declarations::padding_top::YPaddingTop;
196
+ use crate::declarations::perspective::{YPerspective, YPerspectiveLength};
197
+ use crate::declarations::perspective_origin::YPerspectiveOrigin;
198
+ use crate::declarations::percentage::YPercentage;
199
+ use crate::declarations::pointer_events::YPointerEvents;
200
+ use crate::declarations::position::YPosition;
201
+ use crate::declarations::position_area::YPositionArea;
202
+ use crate::declarations::position_try_fallbacks::{YPositionTryFallbacks, YPositionTryFallbacksIdentAndOrTactic, YPositionTryFallbacksPositionArea};
203
+ use crate::declarations::quotes::{YQuotes, YQuotesQuoteList, YQuotesQuotePair};
204
+ use crate::declarations::resolution::YResolution;
205
+ use crate::declarations::right::YRight;
206
+ use crate::declarations::rotate::{YRotate, YRotate3D};
207
+ use crate::declarations::row_gap::{YRowGap, YRowGapLengthPercentage};
208
+ use crate::declarations::scale::{YScale, YScaleCoords};
209
+ use crate::declarations::servo_overflow_clip_box::YServoOverflowClipBox;
210
+ use crate::declarations::servo_top_layer::YServoTopLayer;
211
+ use crate::declarations::size;
212
+ use crate::declarations::table_layout::YTableLayout;
213
+ use crate::declarations::text_align::YTextAlign;
214
+ use crate::declarations::text_align_last::YTextAlignLast;
215
+ use crate::declarations::text_decoration_color::YTextDecorationColor;
216
+ use crate::declarations::text_decoration_line::YTextDecorationLine;
217
+ use crate::declarations::text_decoration_style::YTextDecorationStyle;
218
+ use crate::declarations::text_indent::YTextIndent;
219
+ use crate::declarations::text_justify::YTextJustify;
220
+ use crate::declarations::text_overflow::{YTextOverflow, YTextOverflowString};
221
+ use crate::declarations::text_rendering::YTextRendering;
222
+ use crate::declarations::text_shadow::{YTextShadow, YTextShadowShadow};
223
+ use crate::declarations::text_transform::YTextTransform;
224
+ use crate::declarations::text_wrap_mode::YTextWrapMode;
225
+ use crate::declarations::time::YTime;
226
+ use crate::declarations::top::YTop;
227
+ use crate::declarations::track_breadth::{YTrackBreadthFr, YTrackBreadthLengthPercentage};
228
+ use crate::declarations::track_size::{YTrackSizeFitContent, YTrackSizeMinmax};
229
+ use crate::declarations::transform::{
230
+ YTransform,
231
+ YTransformAccumulateMatrix,
232
+ YTransformInterpolateMatrix,
233
+ YTransformMatrix,
234
+ YTransformMatrix3D,
235
+ YTransformPerspective,
236
+ YTransformPerspectiveLength,
237
+ YTransformRotate,
238
+ YTransformRotate3D,
239
+ YTransformRotateX,
240
+ YTransformRotateY,
241
+ YTransformRotateZ,
242
+ YTransformScale,
243
+ YTransformScale3D,
244
+ YTransformScaleX,
245
+ YTransformScaleY,
246
+ YTransformScaleZ,
247
+ YTransformSkew,
248
+ YTransformSkewX,
249
+ YTransformSkewY,
250
+ YTransformTranslate,
251
+ YTransformTranslate3D,
252
+ YTransformTranslateX,
253
+ YTransformTranslateY,
254
+ YTransformTranslateZ,
255
+ };
256
+ use crate::declarations::transform_origin::{YTransformOrigin, YSideHorizontalOriginComponent, YSideVerticalOriginComponent};
257
+ use crate::declarations::transform_style::YTransformStyle;
258
+ use crate::declarations::transition_behavior::YTransitionBehavior;
259
+ use crate::declarations::transition_delay::YTransitionDelay;
260
+ use crate::declarations::transition_duration::YTransitionDuration;
261
+ use crate::declarations::transition_property::{YTransitionProperty, YTransitionPropertyCustom, YTransitionPropertyNonCustom, YTransitionPropertyUnsupported};
262
+ use crate::declarations::transition_timing_function::YTransitionTimingFunction;
263
+ use crate::declarations::translate::{YTranslate, YTranslateCoords};
264
+ use crate::declarations::unicode_bidi::YUnicodeBidi;
265
+ use crate::declarations::view_transition_class::YViewTransitionClass;
266
+ use crate::declarations::view_transition_name::YViewTransitionName;
267
+ use crate::declarations::visibility::YVisibility;
268
+ use crate::declarations::webkit_text_security::YWebkitTextSecurity;
269
+ use crate::declarations::will_change::YWillChange;
270
+ use crate::declarations::with_variables::YWithVariables;
271
+ use crate::declarations::width::YWidth;
272
+ use crate::declarations::white_space_collapse::YWhiteSpaceCollapse;
273
+ use crate::declarations::word_break::YWordBreak;
274
+ use crate::declarations::word_spacing::YWordSpacing;
275
+ use crate::declarations::writing_mode::YWritingMode;
276
+ use crate::declarations::xlang::YXLang;
277
+ use crate::declarations::zindex::{YZIndex, YZIndexInteger};
278
+ use crate::declarations::zoom::{YZoom, YZoomValue};
279
+
280
+ pub fn init(ruby: &Ruby, yass_module: &RModule) -> Result<(), Error> {
281
+ let declarations_module = yass_module.define_module("Declarations")?;
282
+
283
+ let align_items_class = declarations_module.define_class("AlignItems", ruby.class_object())?;
284
+ align_items_class.define_method("value", method!(YAlignItems::value, 0))?;
285
+
286
+ let alignment_baseline_class = declarations_module.define_class("AlignmentBaseline", ruby.class_object())?;
287
+ alignment_baseline_class.define_method("value", method!(YAlignmentBaseline::value, 0))?;
288
+
289
+ let angle_class = declarations_module.define_class("Angle", ruby.class_object())?;
290
+ angle_class.define_method("calc?", method!(YAngle::was_calc, 0))?;
291
+ angle_class.define_method("degrees", method!(YAngle::degrees, 0))?;
292
+ angle_class.define_method("unit", method!(YAngle::unit, 0))?;
293
+
294
+ let aspect_ratio_class = declarations_module.define_class("AspectRatio", ruby.class_object())?;
295
+ aspect_ratio_class.define_method("auto?", method!(YAspectRatio::is_auto, 0))?;
296
+ aspect_ratio_class.define_method("ratio?", method!(YAspectRatio::has_ratio, 0))?;
297
+ aspect_ratio_class.define_method("numerator", method!(YAspectRatio::numerator, 0))?;
298
+ aspect_ratio_class.define_method("denominator", method!(YAspectRatio::denominator, 0))?;
299
+
300
+ let backface_visibility_class = declarations_module.define_class("BackfaceVisibility", ruby.class_object())?;
301
+ backface_visibility_class.define_method("value", method!(YBackfaceVisibility::value, 0))?;
302
+
303
+ let baseline_source_class = declarations_module.define_class("BaselineSource", ruby.class_object())?;
304
+ baseline_source_class.define_method("value", method!(YBaselineSource::value, 0))?;
305
+
306
+ let border_collapse_class = declarations_module.define_class("BorderCollapse", ruby.class_object())?;
307
+ border_collapse_class.define_method("value", method!(YBorderCollapse::value, 0))?;
308
+
309
+ let border_spacing_class = declarations_module.define_class("BorderSpacing", ruby.class_object())?;
310
+ border_spacing_class.define_method("horizontal", method!(YBorderSpacing::horizontal, 0))?;
311
+ border_spacing_class.define_method("vertical", method!(YBorderSpacing::vertical, 0))?;
312
+
313
+ let border_image_outset_class = declarations_module.define_class("BorderImageOutset", ruby.class_object())?;
314
+ border_image_outset_class.define_method("top", method!(YBorderImageOutset::top, 0))?;
315
+ border_image_outset_class.define_method("right", method!(YBorderImageOutset::right, 0))?;
316
+ border_image_outset_class.define_method("bottom", method!(YBorderImageOutset::bottom, 0))?;
317
+ border_image_outset_class.define_method("left", method!(YBorderImageOutset::left, 0))?;
318
+
319
+ let border_image_repeat_class = declarations_module.define_class("BorderImageRepeat", ruby.class_object())?;
320
+ border_image_repeat_class.define_method("horizontal", method!(YBorderImageRepeat::horizontal, 0))?;
321
+ border_image_repeat_class.define_method("vertical", method!(YBorderImageRepeat::vertical, 0))?;
322
+
323
+ let border_image_slice_class = declarations_module.define_class("BorderImageSlice", ruby.class_object())?;
324
+ border_image_slice_class.define_method("top", method!(YBorderImageSlice::top, 0))?;
325
+ border_image_slice_class.define_method("right", method!(YBorderImageSlice::right, 0))?;
326
+ border_image_slice_class.define_method("bottom", method!(YBorderImageSlice::bottom, 0))?;
327
+ border_image_slice_class.define_method("left", method!(YBorderImageSlice::left, 0))?;
328
+ border_image_slice_class.define_method("fill?", method!(YBorderImageSlice::fill, 0))?;
329
+
330
+ let border_image_width_class = declarations_module.define_class("BorderImageWidth", ruby.class_object())?;
331
+ border_image_width_class.define_method("top", method!(YBorderImageWidth::top, 0))?;
332
+ border_image_width_class.define_method("right", method!(YBorderImageWidth::right, 0))?;
333
+ border_image_width_class.define_method("bottom", method!(YBorderImageWidth::bottom, 0))?;
334
+ border_image_width_class.define_method("left", method!(YBorderImageWidth::left, 0))?;
335
+ let _border_image_width_auto_class = border_image_width_class.define_class("Auto", ruby.class_object())?;
336
+
337
+ let box_sizing_class = declarations_module.define_class("BoxSizing", ruby.class_object())?;
338
+ box_sizing_class.define_method("value", method!(YBoxSizing::value, 0))?;
339
+
340
+ let caption_side_class = declarations_module.define_class("CaptionSide", ruby.class_object())?;
341
+ caption_side_class.define_method("value", method!(YCaptionSide::value, 0))?;
342
+
343
+ let clear_class = declarations_module.define_class("Clear", ruby.class_object())?;
344
+ clear_class.define_method("value", method!(YClear::value, 0))?;
345
+
346
+ let column_count_class = declarations_module.define_class("ColumnCount", ruby.class_object())?;
347
+ let _column_count_auto_class = column_count_class.define_class("Auto", ruby.class_object())?;
348
+ let column_count_integer_class = column_count_class.define_class("Integer", ruby.class_object())?;
349
+ column_count_integer_class.define_method("value", method!(YColumnCountInteger::value, 0))?;
350
+
351
+ let column_span_class = declarations_module.define_class("ColumnSpan", ruby.class_object())?;
352
+ column_span_class.define_method("value", method!(YColumnSpan::value, 0))?;
353
+
354
+ let contain_class = declarations_module.define_class("Contain", ruby.class_object())?;
355
+ contain_class.define_method("values", method!(YContain::values, 0))?;
356
+ contain_class.define_method("none?", method!(YContain::is_none, 0))?;
357
+ contain_class.define_method("inline_size?", method!(YContain::is_inline_size, 0))?;
358
+ contain_class.define_method("block_size?", method!(YContain::is_block_size, 0))?;
359
+ contain_class.define_method("layout?", method!(YContain::is_layout, 0))?;
360
+ contain_class.define_method("style?", method!(YContain::is_style, 0))?;
361
+ contain_class.define_method("paint?", method!(YContain::is_paint, 0))?;
362
+ contain_class.define_method("size?", method!(YContain::is_size, 0))?;
363
+ contain_class.define_method("content?", method!(YContain::is_content, 0))?;
364
+ contain_class.define_method("strict?", method!(YContain::is_strict, 0))?;
365
+
366
+ let container_type_class = declarations_module.define_class("ContainerType", ruby.class_object())?;
367
+ container_type_class.define_method("values", method!(YContainerType::values, 0))?;
368
+ container_type_class.define_method("normal?", method!(YContainerType::is_normal, 0))?;
369
+ container_type_class.define_method("inline_size?", method!(YContainerType::is_inline_size, 0))?;
370
+ container_type_class.define_method("size?", method!(YContainerType::is_size, 0))?;
371
+ container_type_class.define_method("scroll_state?", method!(YContainerType::is_scroll_state, 0))?;
372
+
373
+ let direction_class = declarations_module.define_class("Direction", ruby.class_object())?;
374
+ direction_class.define_method("value", method!(YDirection::value, 0))?;
375
+
376
+ let display_class = declarations_module.define_class("Display", ruby.class_object())?;
377
+ display_class.define_method("inside", method!(YDisplay::inside, 0))?;
378
+ display_class.define_method("outside", method!(YDisplay::outside, 0))?;
379
+ display_class.define_method("list_item?", method!(YDisplay::is_list_item, 0))?;
380
+ display_class.define_method("contents?", method!(YDisplay::is_contents, 0))?;
381
+ display_class.define_method("none?", method!(YDisplay::is_none, 0))?;
382
+ display_class.define_method("inline_flow?", method!(YDisplay::is_inline_flow, 0))?;
383
+ display_class.define_method("item_container?", method!(YDisplay::is_item_container, 0))?;
384
+ display_class.define_method("line_participant?", method!(YDisplay::is_line_participant, 0))?;
385
+ display_class.define_method("ruby_level_container?", method!(YDisplay::is_ruby_level_container, 0))?;
386
+ display_class.define_method("ruby_type?", method!(YDisplay::is_ruby_type, 0))?;
387
+
388
+ let empty_cells_class = declarations_module.define_class("EmptyCells", ruby.class_object())?;
389
+ empty_cells_class.define_method("value", method!(YEmptyCells::value, 0))?;
390
+
391
+ let flex_basis_class = declarations_module.define_class("FlexBasis", ruby.class_object())?;
392
+ flex_basis_class.define_method("value", method!(YFlexBasis::value, 0))?;
393
+ let _flex_basis_content_class = flex_basis_class.define_class("Content", ruby.class_object())?;
394
+ let flex_basis_size_class = flex_basis_class.define_class("Size", ruby.class_object())?;
395
+ flex_basis_size_class.define_method("value", method!(YFlexBasisSize::value, 0))?;
396
+
397
+ let flex_direction_class = declarations_module.define_class("FlexDirection", ruby.class_object())?;
398
+ flex_direction_class.define_method("value", method!(YFlexDirection::value, 0))?;
399
+
400
+ let flex_wrap_class = declarations_module.define_class("FlexWrap", ruby.class_object())?;
401
+ flex_wrap_class.define_method("value", method!(YFlexWrap::value, 0))?;
402
+
403
+ let float_class = declarations_module.define_class("Float", ruby.class_object())?;
404
+ float_class.define_method("value", method!(YFloat::value, 0))?;
405
+
406
+ let font_language_override_class = declarations_module.define_class("FontLanguageOverride", ruby.class_object())?;
407
+ font_language_override_class.define_method("normal?", method!(YFontLanguageOverride::is_normal, 0))?;
408
+ font_language_override_class.define_method("value", method!(YFontLanguageOverride::value, 0))?;
409
+
410
+ let font_optical_sizing_class = declarations_module.define_class("FontOpticalSizing", ruby.class_object())?;
411
+ font_optical_sizing_class.define_method("value", method!(YFontOpticalSizing::value, 0))?;
412
+
413
+ let font_stretch_class = declarations_module.define_class("FontStretch", ruby.class_object())?;
414
+ font_stretch_class.define_method("value", method!(YFontStretch::value, 0))?;
415
+ let font_stretch_stretch_class = font_stretch_class.define_class("Stretch", ruby.class_object())?;
416
+ font_stretch_stretch_class.define_method("value", method!(YFontStretchValue::value, 0))?;
417
+ let font_stretch_keyword_class = font_stretch_class.define_class("Keyword", ruby.class_object())?;
418
+ font_stretch_keyword_class.define_method("value", method!(YFontStretchKeyword::value, 0))?;
419
+ let _font_stretch_system_class = font_stretch_class.define_class("System", ruby.class_object())?;
420
+
421
+ let font_style_class = declarations_module.define_class("FontStyle", ruby.class_object())?;
422
+ font_style_class.define_method("value", method!(YFontStyle::value, 0))?;
423
+
424
+ let _font_style_normal_class = font_style_class.define_class("Normal", ruby.class_object())?;
425
+ let _font_style_italic_class = font_style_class.define_class("Italic", ruby.class_object())?;
426
+ let font_style_oblique_class = font_style_class.define_class("Oblique", ruby.class_object())?;
427
+ font_style_oblique_class.define_method("angle", method!(YFontStyleOblique::angle, 0))?;
428
+
429
+ let _font_style_system_class = font_style_class.define_class("System", ruby.class_object())?;
430
+
431
+ let font_synthesis_weight_class = declarations_module.define_class("FontSynthesisWeight", ruby.class_object())?;
432
+ font_synthesis_weight_class.define_method("value", method!(YFontSynthesisWeight::value, 0))?;
433
+
434
+ let font_variant_caps_class = declarations_module.define_class("FontVariantCaps", ruby.class_object())?;
435
+ font_variant_caps_class.define_method("value", method!(YFontVariantCaps::value, 0))?;
436
+
437
+ let font_weight_class = declarations_module.define_class("FontWeight", ruby.class_object())?;
438
+ font_weight_class.define_method("value", method!(YFontWeight::value, 0))?;
439
+ let font_weight_absolute_class = font_weight_class.define_class("Absolute", ruby.class_object())?;
440
+ font_weight_absolute_class.define_method("value", method!(YFontWeightAbsolute::value, 0))?;
441
+ let _font_weight_bolder_class = font_weight_class.define_class("Bolder", ruby.class_object())?;
442
+ let _font_weight_lighter_class = font_weight_class.define_class("Lighter", ruby.class_object())?;
443
+ let _font_weight_system_class = font_weight_class.define_class("System", ruby.class_object())?;
444
+
445
+ let grid_auto_flow_class = declarations_module.define_class("GridAutoFlow", ruby.class_object())?;
446
+ grid_auto_flow_class.define_method("value", method!(YGridAutoFlow::value, 0))?;
447
+ grid_auto_flow_class.define_method("axis", method!(YGridAutoFlow::axis, 0))?;
448
+ grid_auto_flow_class.define_method("dense?", method!(YGridAutoFlow::dense, 0))?;
449
+
450
+ let image_rendering_class = declarations_module.define_class("ImageRendering", ruby.class_object())?;
451
+ image_rendering_class.define_method("value", method!(YImageRendering::value, 0))?;
452
+
453
+ let isolation_class = declarations_module.define_class("Isolation", ruby.class_object())?;
454
+ isolation_class.define_method("value", method!(YIsolation::value, 0))?;
455
+
456
+ let justify_items_class = declarations_module.define_class("JustifyItems", ruby.class_object())?;
457
+ justify_items_class.define_method("value", method!(YJustifyItems::value, 0))?;
458
+
459
+ let line_break_class = declarations_module.define_class("LineBreak", ruby.class_object())?;
460
+ line_break_class.define_method("value", method!(YLineBreak::value, 0))?;
461
+
462
+ let list_style_position_class = declarations_module.define_class("ListStylePosition", ruby.class_object())?;
463
+ list_style_position_class.define_method("value", method!(YListStylePosition::value, 0))?;
464
+
465
+ let mix_blend_mode_class = declarations_module.define_class("MixBlendMode", ruby.class_object())?;
466
+ mix_blend_mode_class.define_method("value", method!(YMixBlendMode::value, 0))?;
467
+
468
+ let object_fit_class = declarations_module.define_class("ObjectFit", ruby.class_object())?;
469
+ object_fit_class.define_method("value", method!(YObjectFit::value, 0))?;
470
+
471
+ let offset_path_class = declarations_module.define_class("OffsetPath", ruby.class_object())?;
472
+ offset_path_class.define_method("value", method!(YOffsetPath::value, 0))?;
473
+
474
+ let _offset_path_none_class = offset_path_class.define_class("None", ruby.class_object())?;
475
+
476
+ let offset_path_coord_box_class = offset_path_class.define_class("CoordBox", ruby.class_object())?;
477
+ offset_path_coord_box_class.define_method("value", method!(YOffsetPathCoordBox::value, 0))?;
478
+
479
+ let offset_path_offset_path_class = offset_path_class.define_class("Function", ruby.class_object())?;
480
+ offset_path_offset_path_class.define_method("path", method!(YOffsetPathFunction::path, 0))?;
481
+ offset_path_offset_path_class.define_method("coord_box", method!(YOffsetPathFunction::coord_box, 0))?;
482
+
483
+ let offset_path_ray_class = offset_path_class.define_class("Ray", ruby.class_object())?;
484
+ offset_path_ray_class.define_method("angle", method!(YOffsetPathRay::angle, 0))?;
485
+ offset_path_ray_class.define_method("size", method!(YOffsetPathRay::size, 0))?;
486
+ offset_path_ray_class.define_method("contain?", method!(YOffsetPathRay::contain, 0))?;
487
+ offset_path_ray_class.define_method("position", method!(YOffsetPathRay::position, 0))?;
488
+
489
+ let offset_path_url_class = offset_path_class.define_class("Url", ruby.class_object())?;
490
+ offset_path_url_class.define_method("value", method!(YOffsetPathUrl::value, 0))?;
491
+
492
+ let _offset_path_position_auto_class = offset_path_class.define_class("PositionAuto", ruby.class_object())?;
493
+
494
+ let offset_path_position_class = offset_path_class.define_class("Position", ruby.class_object())?;
495
+ offset_path_position_class.define_method("horizontal", method!(YOffsetPathPosition::horizontal, 0))?;
496
+ offset_path_position_class.define_method("vertical", method!(YOffsetPathPosition::vertical, 0))?;
497
+
498
+ let object_position_class = declarations_module.define_class("ObjectPosition", ruby.class_object())?;
499
+ object_position_class.define_method("horizontal", method!(YObjectPosition::horizontal, 0))?;
500
+ object_position_class.define_method("vertical", method!(YObjectPosition::vertical, 0))?;
501
+
502
+ let opacity_class = declarations_module.define_class("Opacity", ruby.class_object())?;
503
+ opacity_class.define_method("value", method!(YOpacity::value, 0))?;
504
+
505
+ let order_class = declarations_module.define_class("Order", ruby.class_object())?;
506
+ order_class.define_method("value", method!(YOrder::value, 0))?;
507
+
508
+ let outline_style_class = declarations_module.define_class("OutlineStyle", ruby.class_object())?;
509
+ outline_style_class.define_method("value", method!(YOutlineStyle::value, 0))?;
510
+
511
+ let overflow_wrap_class = declarations_module.define_class("OverflowWrap", ruby.class_object())?;
512
+ overflow_wrap_class.define_method("value", method!(YOverflowWrap::value, 0))?;
513
+
514
+ let pointer_events_class = declarations_module.define_class("PointerEvents", ruby.class_object())?;
515
+ pointer_events_class.define_method("value", method!(YPointerEvents::value, 0))?;
516
+
517
+ let position_class = declarations_module.define_class("Position", ruby.class_object())?;
518
+ position_class.define_method("value", method!(YPosition::value, 0))?;
519
+
520
+ let position_area_class = declarations_module.define_class("PositionArea", ruby.class_object())?;
521
+ position_area_class.define_method("first", method!(YPositionArea::first, 0))?;
522
+ position_area_class.define_method("second", method!(YPositionArea::second, 0))?;
523
+ position_area_class.define_method("is_none", method!(YPositionArea::is_none, 0))?;
524
+
525
+ let servo_overflow_clip_box_class = declarations_module.define_class("ServoOverflowClipBox", ruby.class_object())?;
526
+ servo_overflow_clip_box_class.define_method("value", method!(YServoOverflowClipBox::value, 0))?;
527
+
528
+ let servo_top_layer_class = declarations_module.define_class("ServoTopLayer", ruby.class_object())?;
529
+ servo_top_layer_class.define_method("value", method!(YServoTopLayer::value, 0))?;
530
+
531
+ let table_layout_class = declarations_module.define_class("TableLayout", ruby.class_object())?;
532
+ table_layout_class.define_method("value", method!(YTableLayout::value, 0))?;
533
+
534
+ let text_align_class = declarations_module.define_class("TextAlign", ruby.class_object())?;
535
+ text_align_class.define_method("value", method!(YTextAlign::value, 0))?;
536
+
537
+ let text_align_last_class = declarations_module.define_class("TextAlignLast", ruby.class_object())?;
538
+ text_align_last_class.define_method("value", method!(YTextAlignLast::value, 0))?;
539
+
540
+ let text_decoration_line_class = declarations_module.define_class("TextDecorationLine", ruby.class_object())?;
541
+ text_decoration_line_class.define_method("values", method!(YTextDecorationLine::values, 0))?;
542
+ text_decoration_line_class.define_method("none?", method!(YTextDecorationLine::is_none, 0))?;
543
+ text_decoration_line_class.define_method("underline?", method!(YTextDecorationLine::is_underline, 0))?;
544
+ text_decoration_line_class.define_method("overline?", method!(YTextDecorationLine::is_overline, 0))?;
545
+ text_decoration_line_class.define_method("line_through?", method!(YTextDecorationLine::is_line_through, 0))?;
546
+ text_decoration_line_class.define_method("blink?", method!(YTextDecorationLine::is_blink, 0))?;
547
+ text_decoration_line_class.define_method("spelling_error?", method!(YTextDecorationLine::is_spelling_error, 0))?;
548
+ text_decoration_line_class.define_method("grammar_error?", method!(YTextDecorationLine::is_grammar_error, 0))?;
549
+
550
+ let text_decoration_style_class = declarations_module.define_class("TextDecorationStyle", ruby.class_object())?;
551
+ text_decoration_style_class.define_method("value", method!(YTextDecorationStyle::value, 0))?;
552
+
553
+ let text_overflow_class = declarations_module.define_class("TextOverflow", ruby.class_object())?;
554
+ text_overflow_class.define_method("first", method!(YTextOverflow::first, 0))?;
555
+ text_overflow_class.define_method("second", method!(YTextOverflow::second, 0))?;
556
+ text_overflow_class.define_method("sides_are_logical?", method!(YTextOverflow::sides_are_logical, 0))?;
557
+
558
+ let _text_overflow_clip_class = text_overflow_class.define_class("Clip", ruby.class_object())?;
559
+
560
+ let _text_overflow_ellipsis_class = text_overflow_class.define_class("Ellipsis", ruby.class_object())?;
561
+
562
+ let text_overflow_string_class = text_overflow_class.define_class("String", ruby.class_object())?;
563
+ text_overflow_string_class.define_method("value", method!(YTextOverflowString::value, 0))?;
564
+
565
+ let text_justify_class = declarations_module.define_class("TextJustify", ruby.class_object())?;
566
+ text_justify_class.define_method("value", method!(YTextJustify::value, 0))?;
567
+
568
+ let text_rendering_class = declarations_module.define_class("TextRendering", ruby.class_object())?;
569
+ text_rendering_class.define_method("value", method!(YTextRendering::value, 0))?;
570
+
571
+ let text_transform_class = declarations_module.define_class("TextTransform", ruby.class_object())?;
572
+ text_transform_class.define_method("values", method!(YTextTransform::values, 0))?;
573
+
574
+ let text_wrap_mode_class = declarations_module.define_class("TextWrapMode", ruby.class_object())?;
575
+ text_wrap_mode_class.define_method("value", method!(YTextWrapMode::value, 0))?;
576
+
577
+ let transform_style_class = declarations_module.define_class("TransformStyle", ruby.class_object())?;
578
+ transform_style_class.define_method("value", method!(YTransformStyle::value, 0))?;
579
+
580
+ let unicode_bidi_class = declarations_module.define_class("UnicodeBidi", ruby.class_object())?;
581
+ unicode_bidi_class.define_method("value", method!(YUnicodeBidi::value, 0))?;
582
+
583
+ let visibility_class = declarations_module.define_class("Visibility", ruby.class_object())?;
584
+ visibility_class.define_method("value", method!(YVisibility::value, 0))?;
585
+
586
+ let webkit_text_security_class = declarations_module.define_class("WebkitTextSecurity", ruby.class_object())?;
587
+ webkit_text_security_class.define_method("value", method!(YWebkitTextSecurity::value, 0))?;
588
+
589
+ let white_space_collapse_class = declarations_module.define_class("WhiteSpaceCollapse", ruby.class_object())?;
590
+ white_space_collapse_class.define_method("value", method!(YWhiteSpaceCollapse::value, 0))?;
591
+
592
+ let word_break_class = declarations_module.define_class("WordBreak", ruby.class_object())?;
593
+ word_break_class.define_method("value", method!(YWordBreak::value, 0))?;
594
+
595
+ let writing_mode_class = declarations_module.define_class("WritingMode", ruby.class_object())?;
596
+ writing_mode_class.define_method("value", method!(YWritingMode::value, 0))?;
597
+
598
+ let zindex_class = declarations_module.define_class("ZIndex", ruby.class_object())?;
599
+ zindex_class.define_method("value", method!(YZIndex::value, 0))?;
600
+ let _zindex_auto_class = zindex_class.define_class("Auto", ruby.class_object())?;
601
+ let zindex_integer_class = zindex_class.define_class("Integer", ruby.class_object())?;
602
+ zindex_integer_class.define_method("value", method!(YZIndexInteger::value, 0))?;
603
+
604
+ let zoom_class = declarations_module.define_class("Zoom", ruby.class_object())?;
605
+ zoom_class.define_method("value", method!(YZoom::value, 0))?;
606
+ let _zoom_normal_class = zoom_class.define_class("Normal", ruby.class_object())?;
607
+ let _zoom_document_class = zoom_class.define_class("Document", ruby.class_object())?;
608
+ let zoom_value_class = zoom_class.define_class("Value", ruby.class_object())?;
609
+ zoom_value_class.define_method("value", method!(YZoomValue::value, 0))?;
610
+
611
+ let align_content_class = declarations_module.define_class("AlignContent", ruby.class_object())?;
612
+ align_content_class.define_method("value", method!(YAlignContent::value, 0))?;
613
+
614
+ let justify_content_class = declarations_module.define_class("JustifyContent", ruby.class_object())?;
615
+ justify_content_class.define_method("value", method!(YJustifyContent::value, 0))?;
616
+
617
+ let flex_grow_class = declarations_module.define_class("FlexGrow", ruby.class_object())?;
618
+ flex_grow_class.define_method("value", method!(YFlexGrow::value, 0))?;
619
+
620
+ let flex_shrink_class = declarations_module.define_class("FlexShrink", ruby.class_object())?;
621
+ flex_shrink_class.define_method("value", method!(YFlexShrink::value, 0))?;
622
+
623
+ let align_self_class = declarations_module.define_class("AlignSelf", ruby.class_object())?;
624
+ align_self_class.define_method("value", method!(YAlignSelf::value, 0))?;
625
+
626
+ let justify_self_class = declarations_module.define_class("JustifySelf", ruby.class_object())?;
627
+ justify_self_class.define_method("value", method!(YJustifySelf::value, 0))?;
628
+
629
+ let overflow_block_class = declarations_module.define_class("OverflowBlock", ruby.class_object())?;
630
+ overflow_block_class.define_method("value", method!(YOverflowBlock::value, 0))?;
631
+
632
+ let overflow_inline_class = declarations_module.define_class("OverflowInline", ruby.class_object())?;
633
+ overflow_inline_class.define_method("value", method!(YOverflowInline::value, 0))?;
634
+
635
+ let overflow_x_class = declarations_module.define_class("OverflowX", ruby.class_object())?;
636
+ overflow_x_class.define_method("value", method!(YOverflowX::value, 0))?;
637
+
638
+ let overflow_y_class = declarations_module.define_class("OverflowY", ruby.class_object())?;
639
+ overflow_y_class.define_method("value", method!(YOverflowY::value, 0))?;
640
+
641
+ let border_block_end_style_class = declarations_module.define_class("BorderBlockEndStyle", ruby.class_object())?;
642
+ border_block_end_style_class.define_method("value", method!(YBorderBlockEndStyle::value, 0))?;
643
+
644
+ let border_block_start_style_class = declarations_module.define_class("BorderBlockStartStyle", ruby.class_object())?;
645
+ border_block_start_style_class.define_method("value", method!(YBorderBlockStartStyle::value, 0))?;
646
+
647
+ let border_bottom_style_class = declarations_module.define_class("BorderBottomStyle", ruby.class_object())?;
648
+ border_bottom_style_class.define_method("value", method!(YBorderBottomStyle::value, 0))?;
649
+
650
+ let border_bottom_left_radius_class = declarations_module.define_class("BorderBottomLeftRadius", ruby.class_object())?;
651
+ border_bottom_left_radius_class.define_method("width", method!(YBorderBottomLeftRadius::width, 0))?;
652
+ border_bottom_left_radius_class.define_method("height", method!(YBorderBottomLeftRadius::height, 0))?;
653
+
654
+ let border_bottom_right_radius_class = declarations_module.define_class("BorderBottomRightRadius", ruby.class_object())?;
655
+ border_bottom_right_radius_class.define_method("width", method!(YBorderBottomRightRadius::width, 0))?;
656
+ border_bottom_right_radius_class.define_method("height", method!(YBorderBottomRightRadius::height, 0))?;
657
+
658
+ let border_end_end_radius_class = declarations_module.define_class("BorderEndEndRadius", ruby.class_object())?;
659
+ border_end_end_radius_class.define_method("width", method!(YBorderEndEndRadius::width, 0))?;
660
+ border_end_end_radius_class.define_method("height", method!(YBorderEndEndRadius::height, 0))?;
661
+
662
+ let border_end_start_radius_class = declarations_module.define_class("BorderEndStartRadius", ruby.class_object())?;
663
+ border_end_start_radius_class.define_method("width", method!(YBorderEndStartRadius::width, 0))?;
664
+ border_end_start_radius_class.define_method("height", method!(YBorderEndStartRadius::height, 0))?;
665
+
666
+ let border_start_end_radius_class = declarations_module.define_class("BorderStartEndRadius", ruby.class_object())?;
667
+ border_start_end_radius_class.define_method("width", method!(YBorderStartEndRadius::width, 0))?;
668
+ border_start_end_radius_class.define_method("height", method!(YBorderStartEndRadius::height, 0))?;
669
+
670
+ let border_start_start_radius_class = declarations_module.define_class("BorderStartStartRadius", ruby.class_object())?;
671
+ border_start_start_radius_class.define_method("width", method!(YBorderStartStartRadius::width, 0))?;
672
+ border_start_start_radius_class.define_method("height", method!(YBorderStartStartRadius::height, 0))?;
673
+
674
+ let border_top_left_radius_class = declarations_module.define_class("BorderTopLeftRadius", ruby.class_object())?;
675
+ border_top_left_radius_class.define_method("width", method!(YBorderTopLeftRadius::width, 0))?;
676
+ border_top_left_radius_class.define_method("height", method!(YBorderTopLeftRadius::height, 0))?;
677
+
678
+ let border_top_right_radius_class = declarations_module.define_class("BorderTopRightRadius", ruby.class_object())?;
679
+ border_top_right_radius_class.define_method("width", method!(YBorderTopRightRadius::width, 0))?;
680
+ border_top_right_radius_class.define_method("height", method!(YBorderTopRightRadius::height, 0))?;
681
+
682
+ let border_inline_end_style_class = declarations_module.define_class("BorderInlineEndStyle", ruby.class_object())?;
683
+ border_inline_end_style_class.define_method("value", method!(YBorderInlineEndStyle::value, 0))?;
684
+
685
+ let border_inline_start_style_class = declarations_module.define_class("BorderInlineStartStyle", ruby.class_object())?;
686
+ border_inline_start_style_class.define_method("value", method!(YBorderInlineStartStyle::value, 0))?;
687
+
688
+ let border_left_style_class = declarations_module.define_class("BorderLeftStyle", ruby.class_object())?;
689
+ border_left_style_class.define_method("value", method!(YBorderLeftStyle::value, 0))?;
690
+
691
+ let border_right_style_class = declarations_module.define_class("BorderRightStyle", ruby.class_object())?;
692
+ border_right_style_class.define_method("value", method!(YBorderRightStyle::value, 0))?;
693
+
694
+ let border_top_style_class = declarations_module.define_class("BorderTopStyle", ruby.class_object())?;
695
+ border_top_style_class.define_method("value", method!(YBorderTopStyle::value, 0))?;
696
+
697
+ let animation_composition_class = declarations_module.define_class("AnimationComposition", ruby.class_object())?;
698
+ animation_composition_class.define_method("values", method!(YAnimationComposition::values, 0))?;
699
+
700
+ let animation_delay_class = declarations_module.define_class("AnimationDelay", ruby.class_object())?;
701
+ animation_delay_class.define_method("values", method!(YAnimationDelay::values, 0))?;
702
+
703
+ let animation_direction_class = declarations_module.define_class("AnimationDirection", ruby.class_object())?;
704
+ animation_direction_class.define_method("values", method!(YAnimationDirection::values, 0))?;
705
+
706
+ let animation_duration_class = declarations_module.define_class("AnimationDuration", ruby.class_object())?;
707
+ animation_duration_class.define_method("values", method!(YAnimationDuration::values, 0))?;
708
+
709
+ let animation_fill_mode_class = declarations_module.define_class("AnimationFillMode", ruby.class_object())?;
710
+ animation_fill_mode_class.define_method("values", method!(YAnimationFillMode::values, 0))?;
711
+
712
+ let animation_iteration_count_class = declarations_module.define_class("AnimationIterationCount", ruby.class_object())?;
713
+ animation_iteration_count_class.define_method("values", method!(YAnimationIterationCount::values, 0))?;
714
+
715
+ let animation_name_class = declarations_module.define_class("AnimationName", ruby.class_object())?;
716
+ animation_name_class.define_method("values", method!(YAnimationName::values, 0))?;
717
+
718
+ let animation_play_state_class = declarations_module.define_class("AnimationPlayState", ruby.class_object())?;
719
+ animation_play_state_class.define_method("values", method!(YAnimationPlayState::values, 0))?;
720
+
721
+ let animation_range_end_class = declarations_module.define_class("AnimationRangeEnd", ruby.class_object())?;
722
+ animation_range_end_class.define_method("values", method!(YAnimationRangeEnd::values, 0))?;
723
+
724
+ let animation_range_start_class = declarations_module.define_class("AnimationRangeStart", ruby.class_object())?;
725
+ animation_range_start_class.define_method("values", method!(YAnimationRangeStart::values, 0))?;
726
+
727
+ let animation_timeline_class = declarations_module.define_class("AnimationTimeline", ruby.class_object())?;
728
+ animation_timeline_class.define_method("values", method!(YAnimationTimeline::values, 0))?;
729
+
730
+ let animation_timing_function_class = declarations_module.define_class("AnimationTimingFunction", ruby.class_object())?;
731
+ animation_timing_function_class.define_method("values", method!(YAnimationTimingFunction::values, 0))?;
732
+
733
+ let backdrop_filter_class = declarations_module.define_class("BackdropFilter", ruby.class_object())?;
734
+ backdrop_filter_class.define_method("values", method!(YBackdropFilter::values, 0))?;
735
+
736
+ let background_attachment_class = declarations_module.define_class("BackgroundAttachment", ruby.class_object())?;
737
+ background_attachment_class.define_method("values", method!(YBackgroundAttachment::values, 0))?;
738
+
739
+ let background_blend_mode_class = declarations_module.define_class("BackgroundBlendMode", ruby.class_object())?;
740
+ background_blend_mode_class.define_method("values", method!(YBackgroundBlendMode::values, 0))?;
741
+
742
+ let background_clip_class = declarations_module.define_class("BackgroundClip", ruby.class_object())?;
743
+ background_clip_class.define_method("values", method!(YBackgroundClip::values, 0))?;
744
+
745
+ let background_image_class = declarations_module.define_class("BackgroundImage", ruby.class_object())?;
746
+ background_image_class.define_method("values", method!(YBackgroundImage::values, 0))?;
747
+
748
+ let background_origin_class = declarations_module.define_class("BackgroundOrigin", ruby.class_object())?;
749
+ background_origin_class.define_method("values", method!(YBackgroundOrigin::values, 0))?;
750
+
751
+ let background_position_x_class = declarations_module.define_class("BackgroundPositionX", ruby.class_object())?;
752
+ background_position_x_class.define_method("values", method!(YBackgroundPositionX::values, 0))?;
753
+
754
+ let background_position_y_class = declarations_module.define_class("BackgroundPositionY", ruby.class_object())?;
755
+ background_position_y_class.define_method("values", method!(YBackgroundPositionY::values, 0))?;
756
+
757
+ let background_repeat_class = declarations_module.define_class("BackgroundRepeat", ruby.class_object())?;
758
+ background_repeat_class.define_method("values", method!(YBackgroundRepeat::values, 0))?;
759
+
760
+ let background_repeat_value_class = declarations_module.define_class("BackgroundRepeatValue", ruby.class_object())?;
761
+ background_repeat_value_class.define_method("horizontal", method!(YBackgroundRepeatValue::horizontal, 0))?;
762
+ background_repeat_value_class.define_method("vertical", method!(YBackgroundRepeatValue::vertical, 0))?;
763
+
764
+ let background_size_class = declarations_module.define_class("BackgroundSize", ruby.class_object())?;
765
+ background_size_class.define_method("values", method!(YBackgroundSize::values, 0))?;
766
+
767
+ let background_size_explicit_size_class = background_size_class.define_class("ExplicitSize", ruby.class_object())?;
768
+ background_size_explicit_size_class.define_method("width", method!(YBackgroundSizeExplicitSize::width, 0))?;
769
+ background_size_explicit_size_class.define_method("height", method!(YBackgroundSizeExplicitSize::height, 0))?;
770
+
771
+ let _background_size_cover_class = background_size_class.define_class("Cover", ruby.class_object())?;
772
+
773
+ let _background_size_contain_class = background_size_class.define_class("Contain", ruby.class_object())?;
774
+
775
+ let _background_size_auto_class = background_size_class.define_class("Auto", ruby.class_object())?;
776
+
777
+ let baseline_shift_class = declarations_module.define_class("BaselineShift", ruby.class_object())?;
778
+ let baseline_shift_keyword_class = baseline_shift_class.define_class("Keyword", ruby.class_object())?;
779
+ baseline_shift_keyword_class.define_method("value", method!(YBaselineShiftKeyword::value, 0))?;
780
+ let baseline_shift_length_class = baseline_shift_class.define_class("Length", ruby.class_object())?;
781
+ baseline_shift_length_class.define_method("value", method!(YBaselineShiftLength::value, 0))?;
782
+
783
+ let box_shadow_class = declarations_module.define_class("BoxShadow", ruby.class_object())?;
784
+ box_shadow_class.define_method("values", method!(YBoxShadow::values, 0))?;
785
+
786
+ let box_shadow_shadow_class = box_shadow_class.define_class("Shadow", ruby.class_object())?;
787
+ box_shadow_shadow_class.define_method("color", method!(YBoxShadowShadow::color, 0))?;
788
+ box_shadow_shadow_class.define_method("horizontal", method!(YBoxShadowShadow::horizontal, 0))?;
789
+ box_shadow_shadow_class.define_method("vertical", method!(YBoxShadowShadow::vertical, 0))?;
790
+ box_shadow_shadow_class.define_method("blur", method!(YBoxShadowShadow::blur, 0))?;
791
+ box_shadow_shadow_class.define_method("spread", method!(YBoxShadowShadow::spread, 0))?;
792
+ box_shadow_shadow_class.define_method("inset?", method!(YBoxShadowShadow::is_inset, 0))?;
793
+
794
+ let caret_color_class = declarations_module.define_class("CaretColor", ruby.class_object())?;
795
+ caret_color_class.define_method("color", method!(YCaretColor::color, 0))?;
796
+
797
+ let channel_keyword_class = declarations_module.define_class("ChannelKeyword", ruby.class_object())?;
798
+ channel_keyword_class.define_method("value", method!(YChannelKeyword::value, 0))?;
799
+
800
+ let clip_class = declarations_module.define_class("Clip", ruby.class_object())?;
801
+ clip_class.define_method("value", method!(YClip::value, 0))?;
802
+
803
+ let _clip_auto_class = clip_class.define_class("Auto", ruby.class_object())?;
804
+
805
+ let clip_rect_class = clip_class.define_class("Rect", ruby.class_object())?;
806
+ clip_rect_class.define_method("top", method!(YClipRect::top, 0))?;
807
+ clip_rect_class.define_method("right", method!(YClipRect::right, 0))?;
808
+ clip_rect_class.define_method("bottom", method!(YClipRect::bottom, 0))?;
809
+ clip_rect_class.define_method("left", method!(YClipRect::left, 0))?;
810
+
811
+ let clip_length_class = clip_class.define_class("Length", ruby.class_object())?;
812
+ clip_length_class.define_method("value", method!(YClipLength::value, 0))?;
813
+
814
+ let _clip_length_auto_class = clip_class.define_class("LengthAuto", ruby.class_object())?;
815
+
816
+ let color_class = declarations_module.define_class("Color", ruby.class_object())?;
817
+ color_class.define_method("color", method!(YColor::color, 0))?;
818
+
819
+ let color_scheme_class = declarations_module.define_class("ColorScheme", ruby.class_object())?;
820
+ color_scheme_class.define_method("values", method!(YColorScheme::values, 0))?;
821
+
822
+ let column_width_class = declarations_module.define_class("ColumnWidth", ruby.class_object())?;
823
+ column_width_class.define_method("value", method!(YColumnWidth::value, 0))?;
824
+ let _column_width_auto_class = column_width_class.define_class("Auto", ruby.class_object())?;
825
+ let column_width_length_class = column_width_class.define_class("Length", ruby.class_object())?;
826
+ column_width_length_class.define_method("value", method!(YColumnWidthLength::value, 0))?;
827
+
828
+ let container_name_class = declarations_module.define_class("ContainerName", ruby.class_object())?;
829
+ container_name_class.define_method("values", method!(YContainerName::values, 0))?;
830
+ container_name_class.define_method("none?", method!(YContainerName::is_none, 0))?;
831
+
832
+ let content_class = declarations_module.define_class("Content", ruby.class_object())?;
833
+ content_class.define_method("value", method!(YContent::value, 0))?;
834
+ let _content_normal_class = content_class.define_class("Normal", ruby.class_object())?;
835
+ let _content_none_class = content_class.define_class("None", ruby.class_object())?;
836
+
837
+ let content_items_class = content_class.define_class("Items", ruby.class_object())?;
838
+ content_items_class.define_method("items", method!(YContentItems::items, 0))?;
839
+ content_items_class.define_method("alt_start", method!(YContentItems::alt_start, 0))?;
840
+
841
+ let content_item_module = content_class.define_module("Item")?;
842
+
843
+ let content_item_string_class = content_item_module.define_class("String", ruby.class_object())?;
844
+ content_item_string_class.define_method("value", method!(YContentItemString::value, 0))?;
845
+
846
+ let content_item_counter_class = content_item_module.define_class("Counter", ruby.class_object())?;
847
+ content_item_counter_class.define_method("name", method!(YContentItemCounter::name, 0))?;
848
+ content_item_counter_class.define_method("style", method!(YContentItemCounter::style, 0))?;
849
+
850
+ let content_item_counters_class = content_item_module.define_class("Counters", ruby.class_object())?;
851
+ content_item_counters_class.define_method("name", method!(YContentItemCounters::name, 0))?;
852
+ content_item_counters_class.define_method("separator", method!(YContentItemCounters::separator, 0))?;
853
+ content_item_counters_class.define_method("style", method!(YContentItemCounters::style, 0))?;
854
+
855
+ let content_item_attr_class = content_item_module.define_class("Attr", ruby.class_object())?;
856
+ content_item_attr_class.define_method("namespace_prefix", method!(YContentItemAttr::namespace_prefix, 0))?;
857
+ content_item_attr_class.define_method("namespace_url", method!(YContentItemAttr::namespace_url, 0))?;
858
+ content_item_attr_class.define_method("attribute", method!(YContentItemAttr::attribute, 0))?;
859
+ content_item_attr_class.define_method("fallback", method!(YContentItemAttr::fallback, 0))?;
860
+
861
+ let content_item_image_class = content_item_module.define_class("Image", ruby.class_object())?;
862
+ content_item_image_class.define_method("image", method!(YContentItemImage::image, 0))?;
863
+
864
+ let content_counter_style_module = content_class.define_module("CounterStyle")?;
865
+ let content_counter_style_symbols_class = content_counter_style_module.define_class("Symbols", ruby.class_object())?;
866
+ content_counter_style_symbols_class.define_method("kind", method!(YContentCounterStyleSymbols::kind, 0))?;
867
+ content_counter_style_symbols_class.define_method("symbols", method!(YContentCounterStyleSymbols::symbols, 0))?;
868
+
869
+ let _ = (content_items_class, content_item_module, content_item_string_class, content_item_counter_class, content_item_counters_class, content_item_attr_class, content_item_image_class, content_counter_style_module, content_counter_style_symbols_class);
870
+
871
+ let counter_increment_class = declarations_module.define_class("CounterIncrement", ruby.class_object())?;
872
+ counter_increment_class.define_method("values", method!(YCounterIncrement::values, 0))?;
873
+
874
+ let counter_increment_counter_class = counter_increment_class.define_class("Counter", ruby.class_object())?;
875
+ counter_increment_counter_class.define_method("name", method!(YCounterIncrementCounter::name, 0))?;
876
+ counter_increment_counter_class.define_method("value", method!(YCounterIncrementCounter::value, 0))?;
877
+ counter_increment_counter_class.define_method("reversed?", method!(YCounterIncrementCounter::reversed, 0))?;
878
+
879
+ let counter_reset_class = declarations_module.define_class("CounterReset", ruby.class_object())?;
880
+ counter_reset_class.define_method("values", method!(YCounterReset::values, 0))?;
881
+
882
+ let counter_reset_counter_class = counter_reset_class.define_class("Counter", ruby.class_object())?;
883
+ counter_reset_counter_class.define_method("name", method!(YCounterResetCounter::name, 0))?;
884
+ counter_reset_counter_class.define_method("value", method!(YCounterResetCounter::value, 0))?;
885
+ counter_reset_counter_class.define_method("reversed?", method!(YCounterResetCounter::reversed, 0))?;
886
+
887
+ let cursor_class = declarations_module.define_class("Cursor", ruby.class_object())?;
888
+ cursor_class.define_method("images", method!(YCursor::images, 0))?;
889
+ cursor_class.define_method("keyword", method!(YCursor::keyword, 0))?;
890
+ let cursor_image_class = cursor_class.define_class("Image", ruby.class_object())?;
891
+ cursor_image_class.define_method("image", method!(YCursorImage::image, 0))?;
892
+ cursor_image_class.define_method("hotspot?", method!(YCursorImage::has_hotspot, 0))?;
893
+ cursor_image_class.define_method("hotspot_x", method!(YCursorImage::hotspot_x, 0))?;
894
+ cursor_image_class.define_method("hotspot_y", method!(YCursorImage::hotspot_y, 0))?;
895
+
896
+ let font_family_class = declarations_module.define_class("FontFamily", ruby.class_object())?;
897
+ font_family_class.define_method("value", method!(YFontFamily::value, 0))?;
898
+
899
+ let font_size_class = declarations_module.define_class("FontSize", ruby.class_object())?;
900
+ font_size_class.define_method("value", method!(YFontSize::value, 0))?;
901
+
902
+ let font_size_length_class = font_size_class.define_class("Length", ruby.class_object())?;
903
+ font_size_length_class.define_method("value", method!(YFontSizeLength::value, 0))?;
904
+
905
+ let font_size_keyword_class = font_size_class.define_class("Keyword", ruby.class_object())?;
906
+ font_size_keyword_class.define_method("keyword", method!(YFontSizeKeyword::keyword, 0))?;
907
+ font_size_keyword_class.define_method("factor", method!(YFontSizeKeyword::factor, 0))?;
908
+
909
+ let _font_size_smaller_class = font_size_class.define_class("Smaller", ruby.class_object())?;
910
+
911
+ let _font_size_larger_class = font_size_class.define_class("Larger", ruby.class_object())?;
912
+
913
+ let _font_size_system_class = font_size_class.define_class("System", ruby.class_object())?;
914
+
915
+ let font_variation_settings_class = declarations_module.define_class("FontVariationSettings", ruby.class_object())?;
916
+ font_variation_settings_class.define_method("values", method!(YFontVariationSettings::values, 0))?;
917
+ font_variation_settings_class.define_method("normal?", method!(YFontVariationSettings::is_normal, 0))?;
918
+
919
+ let font_variation_setting_class = font_variation_settings_class.define_class("Setting", ruby.class_object())?;
920
+ font_variation_setting_class.define_method("tag", method!(YFontVariationSetting::tag, 0))?;
921
+ font_variation_setting_class.define_method("value", method!(YFontVariationSetting::value, 0))?;
922
+
923
+ let grid_template_areas_class = declarations_module.define_class("GridTemplateAreas", ruby.class_object())?;
924
+ grid_template_areas_class.define_method("areas", method!(YGridTemplateAreas::areas, 0))?;
925
+
926
+ let _grid_template_areas_none_class = grid_template_areas_class.define_class("None", ruby.class_object())?;
927
+
928
+ let grid_template_area_list_class = grid_template_areas_class.define_class("AreaList", ruby.class_object())?;
929
+ grid_template_area_list_class.define_method("width", method!(YGridTemplateAreaList::width, 0))?;
930
+ grid_template_area_list_class.define_method("strings", method!(YGridTemplateAreaList::strings, 0))?;
931
+ grid_template_area_list_class.define_method("areas", method!(YGridTemplateAreaList::areas, 0))?;
932
+
933
+ let grid_template_area_class = grid_template_areas_class.define_class("Area", ruby.class_object())?;
934
+ grid_template_area_class.define_method("name", method!(YGridTemplateArea::name, 0))?;
935
+ grid_template_area_class.define_method("row_start", method!(YGridTemplateArea::row_start, 0))?;
936
+ grid_template_area_class.define_method("row_end", method!(YGridTemplateArea::row_end, 0))?;
937
+ grid_template_area_class.define_method("column_start", method!(YGridTemplateArea::column_start, 0))?;
938
+ grid_template_area_class.define_method("column_end", method!(YGridTemplateArea::column_end, 0))?;
939
+
940
+ let letter_spacing_class = declarations_module.define_class("LetterSpacing", ruby.class_object())?;
941
+ letter_spacing_class.define_method("value", method!(YLetterSpacing::value, 0))?;
942
+
943
+ let _letter_spacing_normal_class = letter_spacing_class.define_class("Normal", ruby.class_object())?;
944
+
945
+ let line_height_class = declarations_module.define_class("LineHeight", ruby.class_object())?;
946
+ line_height_class.define_method("value", method!(YLineHeight::value, 0))?;
947
+
948
+ let _line_height_normal_class = line_height_class.define_class("Normal", ruby.class_object())?;
949
+
950
+ let list_style_type_class = declarations_module.define_class("ListStyleType", ruby.class_object())?;
951
+ list_style_type_class.define_method("value", method!(YListStyleType::value, 0))?;
952
+ list_style_type_class.define_method("bullet?", method!(YListStyleType::bullet, 0))?;
953
+
954
+ let _list_style_type_none_class = list_style_type_class.define_class("None", ruby.class_object())?;
955
+
956
+ let list_style_type_name_class = list_style_type_class.define_class("Name", ruby.class_object())?;
957
+ list_style_type_name_class.define_method("value", method!(YListStyleTypeName::value, 0))?;
958
+
959
+ let list_style_type_string_class = list_style_type_class.define_class("String", ruby.class_object())?;
960
+ list_style_type_string_class.define_method("value", method!(YListStyleTypeString::value, 0))?;
961
+
962
+ let list_style_type_symbols_class = list_style_type_class.define_class("Symbols", ruby.class_object())?;
963
+ list_style_type_symbols_class.define_method("type", method!(YListStyleTypeSymbols::ty, 0))?;
964
+ list_style_type_symbols_class.define_method("symbols", method!(YListStyleTypeSymbols::symbols, 0))?;
965
+
966
+ let mask_image_class = declarations_module.define_class("MaskImage", ruby.class_object())?;
967
+ mask_image_class.define_method("values", method!(YMaskImage::values, 0))?;
968
+
969
+ let outline_offset_class = declarations_module.define_class("OutlineOffset", ruby.class_object())?;
970
+ outline_offset_class.define_method("value", method!(YOutlineOffset::value, 0))?;
971
+
972
+ let overflow_clip_margin_class = declarations_module.define_class("OverflowClipMargin", ruby.class_object())?;
973
+ overflow_clip_margin_class.define_method("offset", method!(YOverflowClipMargin::offset, 0))?;
974
+ overflow_clip_margin_class.define_method("visual_box", method!(YOverflowClipMargin::visual_box, 0))?;
975
+
976
+ let perspective_class = declarations_module.define_class("Perspective", ruby.class_object())?;
977
+ perspective_class.define_method("value", method!(YPerspective::value, 0))?;
978
+
979
+ let _perspective_none_class = perspective_class.define_class("None", ruby.class_object())?;
980
+
981
+ let perspective_length_class = perspective_class.define_class("Length", ruby.class_object())?;
982
+ perspective_length_class.define_method("value", method!(YPerspectiveLength::value, 0))?;
983
+
984
+ let position_try_fallbacks_class = declarations_module.define_class("PositionTryFallbacks", ruby.class_object())?;
985
+ position_try_fallbacks_class.define_method("values", method!(YPositionTryFallbacks::values, 0))?;
986
+ position_try_fallbacks_class.define_method("is_none", method!(YPositionTryFallbacks::is_none, 0))?;
987
+
988
+ let position_try_fallbacks_ident_and_or_tactic_class = position_try_fallbacks_class.define_class("IdentAndOrTactic", ruby.class_object())?;
989
+ position_try_fallbacks_ident_and_or_tactic_class.define_method("ident", method!(YPositionTryFallbacksIdentAndOrTactic::ident, 0))?;
990
+ position_try_fallbacks_ident_and_or_tactic_class.define_method("has_ident?", method!(YPositionTryFallbacksIdentAndOrTactic::has_ident, 0))?;
991
+ position_try_fallbacks_ident_and_or_tactic_class.define_method("try_tactics", method!(YPositionTryFallbacksIdentAndOrTactic::try_tactics, 0))?;
992
+ position_try_fallbacks_ident_and_or_tactic_class.define_method("has_try_tactics?", method!(YPositionTryFallbacksIdentAndOrTactic::has_try_tactics, 0))?;
993
+
994
+ let position_try_fallbacks_position_area_class = position_try_fallbacks_class.define_class("PositionArea", ruby.class_object())?;
995
+ position_try_fallbacks_position_area_class.define_method("first", method!(YPositionTryFallbacksPositionArea::first, 0))?;
996
+ position_try_fallbacks_position_area_class.define_method("second", method!(YPositionTryFallbacksPositionArea::second, 0))?;
997
+
998
+ let quotes_class = declarations_module.define_class("Quotes", ruby.class_object())?;
999
+ quotes_class.define_method("value", method!(YQuotes::value, 0))?;
1000
+
1001
+ let _quotes_auto_class = quotes_class.define_class("Auto", ruby.class_object())?;
1002
+
1003
+ let _quotes_none_class = quotes_class.define_class("None", ruby.class_object())?;
1004
+
1005
+ let quotes_quote_list_class = quotes_class.define_class("QuoteList", ruby.class_object())?;
1006
+ quotes_quote_list_class.define_method("values", method!(YQuotesQuoteList::values, 0))?;
1007
+
1008
+ let quotes_quote_pair_class = quotes_class.define_class("QuotePair", ruby.class_object())?;
1009
+ quotes_quote_pair_class.define_method("opening", method!(YQuotesQuotePair::opening, 0))?;
1010
+ quotes_quote_pair_class.define_method("closing", method!(YQuotesQuotePair::closing, 0))?;
1011
+
1012
+ let resolution_class = declarations_module.define_class("Resolution", ruby.class_object())?;
1013
+ resolution_class.define_method("dpi", method!(YResolution::dpi, 0))?;
1014
+
1015
+ let text_indent_class = declarations_module.define_class("TextIndent", ruby.class_object())?;
1016
+ text_indent_class.define_method("length", method!(YTextIndent::length, 0))?;
1017
+ text_indent_class.define_method("hanging?", method!(YTextIndent::hanging, 0))?;
1018
+ text_indent_class.define_method("each_line?", method!(YTextIndent::each_line, 0))?;
1019
+
1020
+ let text_shadow_class = declarations_module.define_class("TextShadow", ruby.class_object())?;
1021
+ text_shadow_class.define_method("values", method!(YTextShadow::values, 0))?;
1022
+
1023
+ let text_shadow_shadow_class = text_shadow_class.define_class("Shadow", ruby.class_object())?;
1024
+ text_shadow_shadow_class.define_method("color", method!(YTextShadowShadow::color, 0))?;
1025
+ text_shadow_shadow_class.define_method("horizontal", method!(YTextShadowShadow::horizontal, 0))?;
1026
+ text_shadow_shadow_class.define_method("vertical", method!(YTextShadowShadow::vertical, 0))?;
1027
+ text_shadow_shadow_class.define_method("blur", method!(YTextShadowShadow::blur, 0))?;
1028
+
1029
+ let transform_class = declarations_module.define_class("Transform", ruby.class_object())?;
1030
+ transform_class.define_method("operations", method!(YTransform::operations, 0))?;
1031
+
1032
+ let transform_matrix_class = transform_class.define_class("Matrix", ruby.class_object())?;
1033
+ transform_matrix_class.define_method("a", method!(YTransformMatrix::a, 0))?;
1034
+ transform_matrix_class.define_method("b", method!(YTransformMatrix::b, 0))?;
1035
+ transform_matrix_class.define_method("c", method!(YTransformMatrix::c, 0))?;
1036
+ transform_matrix_class.define_method("d", method!(YTransformMatrix::d, 0))?;
1037
+ transform_matrix_class.define_method("e", method!(YTransformMatrix::e, 0))?;
1038
+ transform_matrix_class.define_method("f", method!(YTransformMatrix::f, 0))?;
1039
+
1040
+ let transform_matrix3d_class = transform_class.define_class("Matrix3D", ruby.class_object())?;
1041
+ transform_matrix3d_class.define_method("m11", method!(YTransformMatrix3D::m11, 0))?;
1042
+ transform_matrix3d_class.define_method("m12", method!(YTransformMatrix3D::m12, 0))?;
1043
+ transform_matrix3d_class.define_method("m13", method!(YTransformMatrix3D::m13, 0))?;
1044
+ transform_matrix3d_class.define_method("m14", method!(YTransformMatrix3D::m14, 0))?;
1045
+ transform_matrix3d_class.define_method("m21", method!(YTransformMatrix3D::m21, 0))?;
1046
+ transform_matrix3d_class.define_method("m22", method!(YTransformMatrix3D::m22, 0))?;
1047
+ transform_matrix3d_class.define_method("m23", method!(YTransformMatrix3D::m23, 0))?;
1048
+ transform_matrix3d_class.define_method("m24", method!(YTransformMatrix3D::m24, 0))?;
1049
+ transform_matrix3d_class.define_method("m31", method!(YTransformMatrix3D::m31, 0))?;
1050
+ transform_matrix3d_class.define_method("m32", method!(YTransformMatrix3D::m32, 0))?;
1051
+ transform_matrix3d_class.define_method("m33", method!(YTransformMatrix3D::m33, 0))?;
1052
+ transform_matrix3d_class.define_method("m34", method!(YTransformMatrix3D::m34, 0))?;
1053
+ transform_matrix3d_class.define_method("m41", method!(YTransformMatrix3D::m41, 0))?;
1054
+ transform_matrix3d_class.define_method("m42", method!(YTransformMatrix3D::m42, 0))?;
1055
+ transform_matrix3d_class.define_method("m43", method!(YTransformMatrix3D::m43, 0))?;
1056
+ transform_matrix3d_class.define_method("m44", method!(YTransformMatrix3D::m44, 0))?;
1057
+
1058
+ let transform_skew_class = transform_class.define_class("Skew", ruby.class_object())?;
1059
+ transform_skew_class.define_method("x", method!(YTransformSkew::x, 0))?;
1060
+ transform_skew_class.define_method("y", method!(YTransformSkew::y, 0))?;
1061
+
1062
+ let transform_skew_x_class = transform_class.define_class("SkewX", ruby.class_object())?;
1063
+ transform_skew_x_class.define_method("angle", method!(YTransformSkewX::angle, 0))?;
1064
+
1065
+ let transform_skew_y_class = transform_class.define_class("SkewY", ruby.class_object())?;
1066
+ transform_skew_y_class.define_method("angle", method!(YTransformSkewY::angle, 0))?;
1067
+
1068
+ let transform_translate_class = transform_class.define_class("Translate", ruby.class_object())?;
1069
+ transform_translate_class.define_method("x", method!(YTransformTranslate::x, 0))?;
1070
+ transform_translate_class.define_method("y", method!(YTransformTranslate::y, 0))?;
1071
+
1072
+ let transform_translate_x_class = transform_class.define_class("TranslateX", ruby.class_object())?;
1073
+ transform_translate_x_class.define_method("value", method!(YTransformTranslateX::value, 0))?;
1074
+
1075
+ let transform_translate_y_class = transform_class.define_class("TranslateY", ruby.class_object())?;
1076
+ transform_translate_y_class.define_method("value", method!(YTransformTranslateY::value, 0))?;
1077
+
1078
+ let transform_translate_z_class = transform_class.define_class("TranslateZ", ruby.class_object())?;
1079
+ transform_translate_z_class.define_method("value", method!(YTransformTranslateZ::value, 0))?;
1080
+
1081
+ let transform_translate3d_class = transform_class.define_class("Translate3D", ruby.class_object())?;
1082
+ transform_translate3d_class.define_method("x", method!(YTransformTranslate3D::x, 0))?;
1083
+ transform_translate3d_class.define_method("y", method!(YTransformTranslate3D::y, 0))?;
1084
+ transform_translate3d_class.define_method("z", method!(YTransformTranslate3D::z, 0))?;
1085
+
1086
+ let transform_scale_class = transform_class.define_class("Scale", ruby.class_object())?;
1087
+ transform_scale_class.define_method("x", method!(YTransformScale::x, 0))?;
1088
+ transform_scale_class.define_method("y", method!(YTransformScale::y, 0))?;
1089
+
1090
+ let transform_scale_x_class = transform_class.define_class("ScaleX", ruby.class_object())?;
1091
+ transform_scale_x_class.define_method("value", method!(YTransformScaleX::value, 0))?;
1092
+
1093
+ let transform_scale_y_class = transform_class.define_class("ScaleY", ruby.class_object())?;
1094
+ transform_scale_y_class.define_method("value", method!(YTransformScaleY::value, 0))?;
1095
+
1096
+ let transform_scale_z_class = transform_class.define_class("ScaleZ", ruby.class_object())?;
1097
+ transform_scale_z_class.define_method("value", method!(YTransformScaleZ::value, 0))?;
1098
+
1099
+ let transform_scale3d_class = transform_class.define_class("Scale3D", ruby.class_object())?;
1100
+ transform_scale3d_class.define_method("x", method!(YTransformScale3D::x, 0))?;
1101
+ transform_scale3d_class.define_method("y", method!(YTransformScale3D::y, 0))?;
1102
+ transform_scale3d_class.define_method("z", method!(YTransformScale3D::z, 0))?;
1103
+
1104
+ let transform_rotate_class = transform_class.define_class("Rotate", ruby.class_object())?;
1105
+ transform_rotate_class.define_method("angle", method!(YTransformRotate::angle, 0))?;
1106
+
1107
+ let transform_rotate_x_class = transform_class.define_class("RotateX", ruby.class_object())?;
1108
+ transform_rotate_x_class.define_method("angle", method!(YTransformRotateX::angle, 0))?;
1109
+
1110
+ let transform_rotate_y_class = transform_class.define_class("RotateY", ruby.class_object())?;
1111
+ transform_rotate_y_class.define_method("angle", method!(YTransformRotateY::angle, 0))?;
1112
+
1113
+ let transform_rotate_z_class = transform_class.define_class("RotateZ", ruby.class_object())?;
1114
+ transform_rotate_z_class.define_method("angle", method!(YTransformRotateZ::angle, 0))?;
1115
+
1116
+ let transform_rotate3d_class = transform_class.define_class("Rotate3D", ruby.class_object())?;
1117
+ transform_rotate3d_class.define_method("x", method!(YTransformRotate3D::x, 0))?;
1118
+ transform_rotate3d_class.define_method("y", method!(YTransformRotate3D::y, 0))?;
1119
+ transform_rotate3d_class.define_method("z", method!(YTransformRotate3D::z, 0))?;
1120
+ transform_rotate3d_class.define_method("angle", method!(YTransformRotate3D::angle, 0))?;
1121
+
1122
+ let transform_perspective_class = transform_class.define_class("Perspective", ruby.class_object())?;
1123
+ transform_perspective_class.define_method("value", method!(YTransformPerspective::value, 0))?;
1124
+
1125
+ let _transform_perspective_none_class = transform_perspective_class.define_class("None", ruby.class_object())?;
1126
+
1127
+ let transform_perspective_length_class = transform_perspective_class.define_class("Length", ruby.class_object())?;
1128
+ transform_perspective_length_class.define_method("value", method!(YTransformPerspectiveLength::value, 0))?;
1129
+
1130
+ let transform_interpolate_matrix_class = transform_class.define_class("InterpolateMatrix", ruby.class_object())?;
1131
+ transform_interpolate_matrix_class.define_method("from_list", method!(YTransformInterpolateMatrix::from_list, 0))?;
1132
+ transform_interpolate_matrix_class.define_method("to_list", method!(YTransformInterpolateMatrix::to_list, 0))?;
1133
+ transform_interpolate_matrix_class.define_method("progress", method!(YTransformInterpolateMatrix::progress, 0))?;
1134
+
1135
+ let transform_accumulate_matrix_class = transform_class.define_class("AccumulateMatrix", ruby.class_object())?;
1136
+ transform_accumulate_matrix_class.define_method("from_list", method!(YTransformAccumulateMatrix::from_list, 0))?;
1137
+ transform_accumulate_matrix_class.define_method("to_list", method!(YTransformAccumulateMatrix::to_list, 0))?;
1138
+ transform_accumulate_matrix_class.define_method("count", method!(YTransformAccumulateMatrix::count, 0))?;
1139
+
1140
+ let transition_behavior_class = declarations_module.define_class("TransitionBehavior", ruby.class_object())?;
1141
+ transition_behavior_class.define_method("values", method!(YTransitionBehavior::values, 0))?;
1142
+
1143
+ let transition_delay_class = declarations_module.define_class("TransitionDelay", ruby.class_object())?;
1144
+ transition_delay_class.define_method("values", method!(YTransitionDelay::values, 0))?;
1145
+
1146
+ let transition_duration_class = declarations_module.define_class("TransitionDuration", ruby.class_object())?;
1147
+ transition_duration_class.define_method("values", method!(YTransitionDuration::values, 0))?;
1148
+
1149
+ let transition_property_class = declarations_module.define_class("TransitionProperty", ruby.class_object())?;
1150
+ transition_property_class.define_method("values", method!(YTransitionProperty::values, 0))?;
1151
+
1152
+ let transition_property_non_custom_class = transition_property_class.define_class("NonCustom", ruby.class_object())?;
1153
+ transition_property_non_custom_class.define_method("name", method!(YTransitionPropertyNonCustom::name, 0))?;
1154
+ transition_property_non_custom_class.define_method("all?", method!(YTransitionPropertyNonCustom::is_all, 0))?;
1155
+
1156
+ let transition_property_custom_class = transition_property_class.define_class("Custom", ruby.class_object())?;
1157
+ transition_property_custom_class.define_method("name", method!(YTransitionPropertyCustom::name, 0))?;
1158
+
1159
+ let transition_property_unsupported_class = transition_property_class.define_class("Unsupported", ruby.class_object())?;
1160
+ transition_property_unsupported_class.define_method("name", method!(YTransitionPropertyUnsupported::name, 0))?;
1161
+ transition_property_unsupported_class.define_method("none?", method!(YTransitionPropertyUnsupported::is_none, 0))?;
1162
+
1163
+ let transition_timing_function_class = declarations_module.define_class("TransitionTimingFunction", ruby.class_object())?;
1164
+ transition_timing_function_class.define_method("values", method!(YTransitionTimingFunction::values, 0))?;
1165
+
1166
+ let translate_class = declarations_module.define_class("Translate", ruby.class_object())?;
1167
+ translate_class.define_method("value", method!(YTranslate::value, 0))?;
1168
+
1169
+ let _translate_none_class = translate_class.define_class("None", ruby.class_object())?;
1170
+
1171
+ let translate_coords_class = translate_class.define_class("Coords", ruby.class_object())?;
1172
+ translate_coords_class.define_method("x", method!(YTranslateCoords::x, 0))?;
1173
+ translate_coords_class.define_method("y", method!(YTranslateCoords::y, 0))?;
1174
+ translate_coords_class.define_method("z", method!(YTranslateCoords::z, 0))?;
1175
+
1176
+ let view_transition_class_class = declarations_module.define_class("ViewTransitionClass", ruby.class_object())?;
1177
+ view_transition_class_class.define_method("none?", method!(YViewTransitionClass::is_none, 0))?;
1178
+ view_transition_class_class.define_method("values", method!(YViewTransitionClass::values, 0))?;
1179
+
1180
+ let view_transition_name_class = declarations_module.define_class("ViewTransitionName", ruby.class_object())?;
1181
+ view_transition_name_class.define_method("name", method!(YViewTransitionName::name, 0))?;
1182
+
1183
+ let will_change_class = declarations_module.define_class("WillChange", ruby.class_object())?;
1184
+ will_change_class.define_method("auto?", method!(YWillChange::is_auto, 0))?;
1185
+ will_change_class.define_method("values", method!(YWillChange::values, 0))?;
1186
+ will_change_class.define_method("stacking_context_unconditional?", method!(YWillChange::is_stacking_context_unconditional, 0))?;
1187
+ will_change_class.define_method("transform?", method!(YWillChange::is_transform, 0))?;
1188
+ will_change_class.define_method("scroll?", method!(YWillChange::is_scroll, 0))?;
1189
+ will_change_class.define_method("contain?", method!(YWillChange::is_contain, 0))?;
1190
+ will_change_class.define_method("opacity?", method!(YWillChange::is_opacity, 0))?;
1191
+ will_change_class.define_method("perspective?", method!(YWillChange::is_perspective, 0))?;
1192
+ will_change_class.define_method("z_index?", method!(YWillChange::is_z_index, 0))?;
1193
+ will_change_class.define_method("fixpos_cb_non_svg?", method!(YWillChange::is_fixpos_cb_non_svg, 0))?;
1194
+ will_change_class.define_method("position?", method!(YWillChange::is_position, 0))?;
1195
+ will_change_class.define_method("view_transition_name?", method!(YWillChange::is_view_transition_name, 0))?;
1196
+ will_change_class.define_method("backdrop_root?", method!(YWillChange::is_backdrop_root, 0))?;
1197
+
1198
+ let word_spacing_class = declarations_module.define_class("WordSpacing", ruby.class_object())?;
1199
+ word_spacing_class.define_method("value", method!(YWordSpacing::value, 0))?;
1200
+
1201
+ let _word_spacing_normal_class = word_spacing_class.define_class("Normal", ruby.class_object())?;
1202
+
1203
+ let xlang_class = declarations_module.define_class("XLang", ruby.class_object())?;
1204
+ xlang_class.define_method("value", method!(YXLang::value, 0))?;
1205
+ xlang_class.define_method("empty?", method!(YXLang::is_empty, 0))?;
1206
+
1207
+ let track_size_class = declarations_module.define_class("TrackSize", ruby.class_object())?;
1208
+
1209
+ let track_size_minmax_class = track_size_class.define_class("Minmax", ruby.class_object())?;
1210
+ track_size_minmax_class.define_method("min", method!(YTrackSizeMinmax::min, 0))?;
1211
+ track_size_minmax_class.define_method("max", method!(YTrackSizeMinmax::max, 0))?;
1212
+
1213
+ let track_size_fit_content_class = track_size_class.define_class("FitContent", ruby.class_object())?;
1214
+ track_size_fit_content_class.define_method("value", method!(YTrackSizeFitContent::value, 0))?;
1215
+
1216
+ let track_breadth_class = declarations_module.define_class("TrackBreadth", ruby.class_object())?;
1217
+ let track_breadth_length_percentage_class = track_breadth_class.define_class("LengthPercentage", ruby.class_object())?;
1218
+ track_breadth_length_percentage_class.define_method("value", method!(YTrackBreadthLengthPercentage::value, 0))?;
1219
+
1220
+ let track_breadth_fr_class = track_breadth_class.define_class("Fr", ruby.class_object())?;
1221
+ track_breadth_fr_class.define_method("value", method!(YTrackBreadthFr::value, 0))?;
1222
+
1223
+ let _track_breadth_auto_class = track_breadth_class.define_class("Auto", ruby.class_object())?;
1224
+ let _track_breadth_min_content_class = track_breadth_class.define_class("MinContent", ruby.class_object())?;
1225
+ let _track_breadth_max_content_class = track_breadth_class.define_class("MaxContent", ruby.class_object())?;
1226
+
1227
+ let grid_template_columns_class = declarations_module.define_class("GridTemplateColumns", ruby.class_object())?;
1228
+ grid_template_columns_class.define_method("value", method!(YGridTemplateColumns::value, 0))?;
1229
+
1230
+ let grid_template_module = declarations_module.define_module("GridTemplate")?;
1231
+
1232
+ let _grid_template_none_class = grid_template_module.define_class("None", ruby.class_object())?;
1233
+ let _grid_template_masonry_class = grid_template_module.define_class("Masonry", ruby.class_object())?;
1234
+
1235
+ let grid_template_track_list_class = grid_template_module.define_class("TrackList", ruby.class_object())?;
1236
+ grid_template_track_list_class.define_method("auto_repeat_index", method!(YGridTemplateTrackList::auto_repeat_index, 0))?;
1237
+ grid_template_track_list_class.define_method("explicit?", method!(YGridTemplateTrackList::explicit, 0))?;
1238
+ grid_template_track_list_class.define_method("auto_repeat?", method!(YGridTemplateTrackList::auto_repeat, 0))?;
1239
+ grid_template_track_list_class.define_method("values", method!(YGridTemplateTrackList::values, 0))?;
1240
+ grid_template_track_list_class.define_method("line_names", method!(YGridTemplateTrackList::line_names, 0))?;
1241
+
1242
+ let grid_template_track_list_value_class = grid_template_module.define_class("TrackListValue", ruby.class_object())?;
1243
+ grid_template_track_list_value_class.define_method("value", method!(YGridTemplateTrackListValue::value, 0))?;
1244
+
1245
+ let grid_template_track_list_value_track_repeat_class = grid_template_track_list_value_class.define_class("TrackRepeat", ruby.class_object())?;
1246
+ grid_template_track_list_value_track_repeat_class.define_method("count", method!(YGridTemplateTrackListValueTrackRepeat::count, 0))?;
1247
+ grid_template_track_list_value_track_repeat_class.define_method("line_names", method!(YGridTemplateTrackListValueTrackRepeat::line_names, 0))?;
1248
+ grid_template_track_list_value_track_repeat_class.define_method("track_sizes", method!(YGridTemplateTrackListValueTrackRepeat::track_sizes, 0))?;
1249
+
1250
+ let grid_template_repeat_count_module = grid_template_module.define_module("RepeatCount")?;
1251
+ let grid_template_repeat_count_number_class = grid_template_repeat_count_module.define_class("Number", ruby.class_object())?;
1252
+ grid_template_repeat_count_number_class.define_method("value", method!(YGridTemplateRepeatCountNumber::value, 0))?;
1253
+
1254
+ let _grid_template_repeat_count_auto_fill_class = grid_template_repeat_count_module.define_class("AutoFill", ruby.class_object())?;
1255
+ let _grid_template_repeat_count_auto_fit_class = grid_template_repeat_count_module.define_class("AutoFit", ruby.class_object())?;
1256
+
1257
+ let grid_template_subgrid_class = grid_template_module.define_class("Subgrid", ruby.class_object())?;
1258
+ grid_template_subgrid_class.define_method("expanded_line_names_length", method!(YGridTemplateSubgrid::expanded_line_names_length, 0))?;
1259
+ grid_template_subgrid_class.define_method("line_names", method!(YGridTemplateSubgrid::line_names, 0))?;
1260
+
1261
+ let grid_template_line_name_list_value_class = grid_template_module.define_class("LineNameListValue", ruby.class_object())?;
1262
+ grid_template_line_name_list_value_class.define_method("value", method!(YGridTemplateLineNameListValue::value, 0))?;
1263
+
1264
+ let grid_template_line_names_class = grid_template_module.define_class("LineNames", ruby.class_object())?;
1265
+ grid_template_line_names_class.define_method("names", method!(YGridTemplateLineNames::names, 0))?;
1266
+
1267
+ let grid_template_line_name_repeat_class = grid_template_module.define_class("LineNameRepeat", ruby.class_object())?;
1268
+ grid_template_line_name_repeat_class.define_method("count", method!(YGridTemplateLineNameRepeat::count, 0))?;
1269
+ grid_template_line_name_repeat_class.define_method("line_names", method!(YGridTemplateLineNameRepeat::line_names, 0))?;
1270
+
1271
+ let grid_template_rows_class = declarations_module.define_class("GridTemplateRows", ruby.class_object())?;
1272
+ grid_template_rows_class.define_method("value", method!(YGridTemplateRows::value, 0))?;
1273
+
1274
+ let border_image_source_class = declarations_module.define_class("BorderImageSource", ruby.class_object())?;
1275
+ border_image_source_class.define_method("image", method!(YBorderImageSource::image, 0))?;
1276
+
1277
+ let list_style_image_class = declarations_module.define_class("ListStyleImage", ruby.class_object())?;
1278
+ list_style_image_class.define_method("image", method!(YListStyleImage::image, 0))?;
1279
+
1280
+ let grid_auto_columns_class = declarations_module.define_class("GridAutoColumns", ruby.class_object())?;
1281
+ grid_auto_columns_class.define_method("values", method!(YGridAutoColumns::values, 0))?;
1282
+
1283
+ let grid_auto_rows_class = declarations_module.define_class("GridAutoRows", ruby.class_object())?;
1284
+ grid_auto_rows_class.define_method("values", method!(YGridAutoRows::values, 0))?;
1285
+
1286
+ let column_gap_class = declarations_module.define_class("ColumnGap", ruby.class_object())?;
1287
+ column_gap_class.define_method("value", method!(YColumnGap::value, 0))?;
1288
+ let _column_gap_normal_class = column_gap_class.define_class("Normal", ruby.class_object())?;
1289
+ let column_gap_length_percentage_class = column_gap_class.define_class("LengthPercentage", ruby.class_object())?;
1290
+ column_gap_length_percentage_class.define_method("value", method!(YColumnGapLengthPercentage::value, 0))?;
1291
+
1292
+ let row_gap_class = declarations_module.define_class("RowGap", ruby.class_object())?;
1293
+ row_gap_class.define_method("value", method!(YRowGap::value, 0))?;
1294
+
1295
+ let _row_gap_normal_class = row_gap_class.define_class("Normal", ruby.class_object())?;
1296
+
1297
+ let row_gap_length_percentage_class = row_gap_class.define_class("LengthPercentage", ruby.class_object())?;
1298
+ row_gap_length_percentage_class.define_method("value", method!(YRowGapLengthPercentage::value, 0))?;
1299
+
1300
+ let scale_class = declarations_module.define_class("Scale", ruby.class_object())?;
1301
+ scale_class.define_method("value", method!(YScale::value, 0))?;
1302
+
1303
+ let _scale_none_class = scale_class.define_class("None", ruby.class_object())?;
1304
+
1305
+ let scale_scale_class = scale_class.define_class("Coords", ruby.class_object())?;
1306
+ scale_scale_class.define_method("x", method!(YScaleCoords::x, 0))?;
1307
+ scale_scale_class.define_method("y", method!(YScaleCoords::y, 0))?;
1308
+ scale_scale_class.define_method("z", method!(YScaleCoords::z, 0))?;
1309
+
1310
+ let grid_column_end_class = declarations_module.define_class("GridColumnEnd", ruby.class_object())?;
1311
+ grid_column_end_class.define_method("ident", method!(YGridColumnEnd::ident, 0))?;
1312
+ grid_column_end_class.define_method("line_num", method!(YGridColumnEnd::line_num, 0))?;
1313
+ grid_column_end_class.define_method("span?", method!(YGridColumnEnd::span, 0))?;
1314
+ grid_column_end_class.define_method("auto?", method!(YGridColumnEnd::auto, 0))?;
1315
+ grid_column_end_class.define_method("ident_only?", method!(YGridColumnEnd::ident_only, 0))?;
1316
+
1317
+ let grid_column_start_class = declarations_module.define_class("GridColumnStart", ruby.class_object())?;
1318
+ grid_column_start_class.define_method("ident", method!(YGridColumnStart::ident, 0))?;
1319
+ grid_column_start_class.define_method("line_num", method!(YGridColumnStart::line_num, 0))?;
1320
+ grid_column_start_class.define_method("span?", method!(YGridColumnStart::span, 0))?;
1321
+ grid_column_start_class.define_method("auto?", method!(YGridColumnStart::auto, 0))?;
1322
+ grid_column_start_class.define_method("ident_only?", method!(YGridColumnStart::ident_only, 0))?;
1323
+
1324
+ let grid_row_end_class = declarations_module.define_class("GridRowEnd", ruby.class_object())?;
1325
+ grid_row_end_class.define_method("ident", method!(YGridRowEnd::ident, 0))?;
1326
+ grid_row_end_class.define_method("line_num", method!(YGridRowEnd::line_num, 0))?;
1327
+ grid_row_end_class.define_method("span?", method!(YGridRowEnd::span, 0))?;
1328
+ grid_row_end_class.define_method("auto?", method!(YGridRowEnd::auto, 0))?;
1329
+ grid_row_end_class.define_method("ident_only?", method!(YGridRowEnd::ident_only, 0))?;
1330
+
1331
+ let grid_row_start_class = declarations_module.define_class("GridRowStart", ruby.class_object())?;
1332
+ grid_row_start_class.define_method("ident", method!(YGridRowStart::ident, 0))?;
1333
+ grid_row_start_class.define_method("line_num", method!(YGridRowStart::line_num, 0))?;
1334
+ grid_row_start_class.define_method("span?", method!(YGridRowStart::span, 0))?;
1335
+ grid_row_start_class.define_method("auto?", method!(YGridRowStart::auto, 0))?;
1336
+ grid_row_start_class.define_method("ident_only?", method!(YGridRowStart::ident_only, 0))?;
1337
+
1338
+ let max_block_size_class = declarations_module.define_class("MaxBlockSize", ruby.class_object())?;
1339
+ max_block_size_class.define_method("size", method!(YMaxBlockSize::size, 0))?;
1340
+
1341
+ let max_height_class = declarations_module.define_class("MaxHeight", ruby.class_object())?;
1342
+ max_height_class.define_method("size", method!(YMaxHeight::size, 0))?;
1343
+
1344
+ let max_inline_size_class = declarations_module.define_class("MaxInlineSize", ruby.class_object())?;
1345
+ max_inline_size_class.define_method("size", method!(YMaxInlineSize::size, 0))?;
1346
+
1347
+ let max_width_class = declarations_module.define_class("MaxWidth", ruby.class_object())?;
1348
+ max_width_class.define_method("size", method!(YMaxWidth::size, 0))?;
1349
+
1350
+ let bottom_class = declarations_module.define_class("Bottom", ruby.class_object())?;
1351
+ bottom_class.define_method("value", method!(YBottom::value, 0))?;
1352
+
1353
+ let inset_class = declarations_module.define_class("Inset", ruby.class_object())?;
1354
+ let _inset_auto_class = inset_class.define_class("Auto", ruby.class_object())?;
1355
+ let inset_length_percentage_class = inset_class.define_class("LengthPercentage", ruby.class_object())?;
1356
+ inset_length_percentage_class.define_method("value", method!(YInsetLengthPercentage::value, 0))?;
1357
+ let inset_anchor_containing_calc_function_class = inset_class.define_class("AnchorContainingCalcFunction", ruby.class_object())?;
1358
+ inset_anchor_containing_calc_function_class.define_method("value", method!(YInsetAnchorContainingCalcFunction::value, 0))?;
1359
+ let inset_anchor_function_class = inset_class.define_class("AnchorFunction", ruby.class_object())?;
1360
+ inset_anchor_function_class.define_method("value", method!(YInsetAnchorFunction::value, 0))?;
1361
+ let inset_anchor_size_function_class = inset_class.define_class("AnchorSizeFunction", ruby.class_object())?;
1362
+ inset_anchor_size_function_class.define_method("value", method!(YInsetAnchorSizeFunction::value, 0))?;
1363
+
1364
+ let inset_block_end_class = declarations_module.define_class("InsetBlockEnd", ruby.class_object())?;
1365
+ inset_block_end_class.define_method("value", method!(YInsetBlockEnd::value, 0))?;
1366
+
1367
+ let inset_block_start_class = declarations_module.define_class("InsetBlockStart", ruby.class_object())?;
1368
+ inset_block_start_class.define_method("value", method!(YInsetBlockStart::value, 0))?;
1369
+
1370
+ let inset_inline_end_class = declarations_module.define_class("InsetInlineEnd", ruby.class_object())?;
1371
+ inset_inline_end_class.define_method("value", method!(YInsetInlineEnd::value, 0))?;
1372
+
1373
+ let inset_inline_start_class = declarations_module.define_class("InsetInlineStart", ruby.class_object())?;
1374
+ inset_inline_start_class.define_method("value", method!(YInsetInlineStart::value, 0))?;
1375
+
1376
+ let left_class = declarations_module.define_class("Left", ruby.class_object())?;
1377
+ left_class.define_method("value", method!(YLeft::value, 0))?;
1378
+
1379
+ let length_module = declarations_module.define_module("Length")?;
1380
+
1381
+ let absolute_length_class = length_module.define_class("Absolute", ruby.class_object())?;
1382
+ absolute_length_class.define_method("value", method!(YAbsoluteLength::value, 0))?;
1383
+ absolute_length_class.define_method("unit", method!(YAbsoluteLength::unit, 0))?;
1384
+
1385
+ let font_relative_length_class = length_module.define_class("FontRelative", ruby.class_object())?;
1386
+ font_relative_length_class.define_method("value", method!(YFontRelativeLength::value, 0))?;
1387
+ font_relative_length_class.define_method("unit", method!(YFontRelativeLength::unit, 0))?;
1388
+
1389
+ let viewport_percentage_length_class = length_module.define_class("ViewportPercentage", ruby.class_object())?;
1390
+ viewport_percentage_length_class.define_method("value", method!(YViewportPercentageLength::value, 0))?;
1391
+ viewport_percentage_length_class.define_method("unit", method!(YViewportPercentageLength::unit, 0))?;
1392
+
1393
+ let container_relative_length_class = length_module.define_class("ContainerRelative", ruby.class_object())?;
1394
+ container_relative_length_class.define_method("value", method!(YContainerRelativeLength::value, 0))?;
1395
+ container_relative_length_class.define_method("unit", method!(YContainerRelativeLength::unit, 0))?;
1396
+
1397
+ let character_width_length_class = length_module.define_class("CharacterWidth", ruby.class_object())?;
1398
+ character_width_length_class.define_method("value", method!(YCharacterWidthLength::value, 0))?;
1399
+
1400
+ let right_class = declarations_module.define_class("Right", ruby.class_object())?;
1401
+ right_class.define_method("value", method!(YRight::value, 0))?;
1402
+
1403
+ let rotate_class = declarations_module.define_class("Rotate", ruby.class_object())?;
1404
+ rotate_class.define_method("value", method!(YRotate::value, 0))?;
1405
+
1406
+ let _rotate_none_class = rotate_class.define_class("None", ruby.class_object())?;
1407
+
1408
+ let rotate_rotate3d_class = rotate_class.define_class("Rotate3D", ruby.class_object())?;
1409
+ rotate_rotate3d_class.define_method("x", method!(YRotate3D::x, 0))?;
1410
+ rotate_rotate3d_class.define_method("y", method!(YRotate3D::y, 0))?;
1411
+ rotate_rotate3d_class.define_method("z", method!(YRotate3D::z, 0))?;
1412
+ rotate_rotate3d_class.define_method("angle", method!(YRotate3D::angle, 0))?;
1413
+
1414
+ let top_class = declarations_module.define_class("Top", ruby.class_object())?;
1415
+ top_class.define_method("value", method!(YTop::value, 0))?;
1416
+
1417
+ let transform_origin_class = declarations_module.define_class("TransformOrigin", ruby.class_object())?;
1418
+ transform_origin_class.define_method("horizontal", method!(YTransformOrigin::horizontal, 0))?;
1419
+ transform_origin_class.define_method("vertical", method!(YTransformOrigin::vertical, 0))?;
1420
+ transform_origin_class.define_method("depth", method!(YTransformOrigin::depth, 0))?;
1421
+
1422
+ let _transform_origin_center_class = transform_origin_class.define_class("Center", ruby.class_object())?;
1423
+
1424
+ let transform_origin_side_horizontal_class = transform_origin_class.define_class("SideHorizontalComponent", ruby.class_object())?;
1425
+ transform_origin_side_horizontal_class.define_method("side", method!(YSideHorizontalOriginComponent::side, 0))?;
1426
+
1427
+ let transform_origin_side_vertical_class = transform_origin_class.define_class("SideVerticalComponent", ruby.class_object())?;
1428
+ transform_origin_side_vertical_class.define_method("side", method!(YSideVerticalOriginComponent::side, 0))?;
1429
+
1430
+ let margin_module = declarations_module.define_module("Margin")?;
1431
+
1432
+ let _margin_auto_class = margin_module.define_class("Auto", ruby.class_object())?;
1433
+
1434
+ let margin_anchor_size_function_class = margin_module.define_class("AnchorSizeFunction", ruby.class_object())?;
1435
+ margin_anchor_size_function_class.define_method("target_element", method!(YMarginAnchorSizeFunction::target_element, 0))?;
1436
+ margin_anchor_size_function_class.define_method("size", method!(YMarginAnchorSizeFunction::size, 0))?;
1437
+ margin_anchor_size_function_class.define_method("fallback", method!(YMarginAnchorSizeFunction::fallback, 0))?;
1438
+
1439
+ let margin_anchor_containing_calc_function_class = margin_module.define_class("AnchorContainingCalcFunction", ruby.class_object())?;
1440
+ margin_anchor_containing_calc_function_class.define_method("value", method!(YMarginAnchorContainingCalcFunction::value, 0))?;
1441
+
1442
+ let margin_block_end_class = declarations_module.define_class("MarginBlockEnd", ruby.class_object())?;
1443
+ margin_block_end_class.define_method("value", method!(YMarginBlockEnd::value, 0))?;
1444
+
1445
+ let margin_block_start_class = declarations_module.define_class("MarginBlockStart", ruby.class_object())?;
1446
+ margin_block_start_class.define_method("value", method!(YMarginBlockStart::value, 0))?;
1447
+
1448
+ let margin_bottom_class = declarations_module.define_class("MarginBottom", ruby.class_object())?;
1449
+ margin_bottom_class.define_method("value", method!(YMarginBottom::value, 0))?;
1450
+
1451
+ let margin_inline_end_class = declarations_module.define_class("MarginInlineEnd", ruby.class_object())?;
1452
+ margin_inline_end_class.define_method("value", method!(YMarginInlineEnd::value, 0))?;
1453
+
1454
+ let margin_inline_start_class = declarations_module.define_class("MarginInlineStart", ruby.class_object())?;
1455
+ margin_inline_start_class.define_method("value", method!(YMarginInlineStart::value, 0))?;
1456
+
1457
+ let margin_left_class = declarations_module.define_class("MarginLeft", ruby.class_object())?;
1458
+ margin_left_class.define_method("value", method!(YMarginLeft::value, 0))?;
1459
+
1460
+ let margin_right_class = declarations_module.define_class("MarginRight", ruby.class_object())?;
1461
+ margin_right_class.define_method("value", method!(YMarginRight::value, 0))?;
1462
+
1463
+ let margin_top_class = declarations_module.define_class("MarginTop", ruby.class_object())?;
1464
+ margin_top_class.define_method("value", method!(YMarginTop::value, 0))?;
1465
+
1466
+ let padding_block_end_class = declarations_module.define_class("PaddingBlockEnd", ruby.class_object())?;
1467
+ padding_block_end_class.define_method("value", method!(YPaddingBlockEnd::value, 0))?;
1468
+
1469
+ let padding_block_start_class = declarations_module.define_class("PaddingBlockStart", ruby.class_object())?;
1470
+ padding_block_start_class.define_method("value", method!(YPaddingBlockStart::value, 0))?;
1471
+
1472
+ let padding_bottom_class = declarations_module.define_class("PaddingBottom", ruby.class_object())?;
1473
+ padding_bottom_class.define_method("value", method!(YPaddingBottom::value, 0))?;
1474
+
1475
+ let padding_inline_end_class = declarations_module.define_class("PaddingInlineEnd", ruby.class_object())?;
1476
+ padding_inline_end_class.define_method("value", method!(YPaddingInlineEnd::value, 0))?;
1477
+
1478
+ let padding_inline_start_class = declarations_module.define_class("PaddingInlineStart", ruby.class_object())?;
1479
+ padding_inline_start_class.define_method("value", method!(YPaddingInlineStart::value, 0))?;
1480
+
1481
+ let padding_left_class = declarations_module.define_class("PaddingLeft", ruby.class_object())?;
1482
+ padding_left_class.define_method("value", method!(YPaddingLeft::value, 0))?;
1483
+
1484
+ let padding_right_class = declarations_module.define_class("PaddingRight", ruby.class_object())?;
1485
+ padding_right_class.define_method("value", method!(YPaddingRight::value, 0))?;
1486
+
1487
+ let padding_top_class = declarations_module.define_class("PaddingTop", ruby.class_object())?;
1488
+ padding_top_class.define_method("value", method!(YPaddingTop::value, 0))?;
1489
+
1490
+ let perspective_origin_class = declarations_module.define_class("PerspectiveOrigin", ruby.class_object())?;
1491
+ perspective_origin_class.define_method("horizontal", method!(YPerspectiveOrigin::horizontal, 0))?;
1492
+ perspective_origin_class.define_method("vertical", method!(YPerspectiveOrigin::vertical, 0))?;
1493
+
1494
+ let block_size_class = declarations_module.define_class("BlockSize", ruby.class_object())?;
1495
+ block_size_class.define_method("size", method!(YBlockSize::size, 0))?;
1496
+
1497
+ let height_class = declarations_module.define_class("Height", ruby.class_object())?;
1498
+ height_class.define_method("size", method!(YHeight::size, 0))?;
1499
+
1500
+ let inline_size_class = declarations_module.define_class("InlineSize", ruby.class_object())?;
1501
+ inline_size_class.define_method("size", method!(YInlineSize::size, 0))?;
1502
+
1503
+ let min_block_size_class = declarations_module.define_class("MinBlockSize", ruby.class_object())?;
1504
+ min_block_size_class.define_method("size", method!(YMinBlockSize::size, 0))?;
1505
+
1506
+ let min_height_class = declarations_module.define_class("MinHeight", ruby.class_object())?;
1507
+ min_height_class.define_method("size", method!(YMinHeight::size, 0))?;
1508
+
1509
+ let min_inline_size_class = declarations_module.define_class("MinInlineSize", ruby.class_object())?;
1510
+ min_inline_size_class.define_method("size", method!(YMinInlineSize::size, 0))?;
1511
+
1512
+ let min_width_class = declarations_module.define_class("MinWidth", ruby.class_object())?;
1513
+ min_width_class.define_method("size", method!(YMinWidth::size, 0))?;
1514
+
1515
+ let width_class = declarations_module.define_class("Width", ruby.class_object())?;
1516
+ width_class.define_method("size", method!(YWidth::size, 0))?;
1517
+
1518
+ let border_block_end_width_class = declarations_module.define_class("BorderBlockEndWidth", ruby.class_object())?;
1519
+ border_block_end_width_class.define_method("value", method!(YBorderBlockEndWidth::value, 0))?;
1520
+
1521
+ let border_block_start_width_class = declarations_module.define_class("BorderBlockStartWidth", ruby.class_object())?;
1522
+ border_block_start_width_class.define_method("value", method!(YBorderBlockStartWidth::value, 0))?;
1523
+
1524
+ let border_bottom_width_class = declarations_module.define_class("BorderBottomWidth", ruby.class_object())?;
1525
+ border_bottom_width_class.define_method("value", method!(YBorderBottomWidth::value, 0))?;
1526
+
1527
+ let border_inline_end_width_class = declarations_module.define_class("BorderInlineEndWidth", ruby.class_object())?;
1528
+ border_inline_end_width_class.define_method("value", method!(YBorderInlineEndWidth::value, 0))?;
1529
+
1530
+ let border_inline_start_width_class = declarations_module.define_class("BorderInlineStartWidth", ruby.class_object())?;
1531
+ border_inline_start_width_class.define_method("value", method!(YBorderInlineStartWidth::value, 0))?;
1532
+
1533
+ let border_left_width_class = declarations_module.define_class("BorderLeftWidth", ruby.class_object())?;
1534
+ border_left_width_class.define_method("value", method!(YBorderLeftWidth::value, 0))?;
1535
+
1536
+ let border_right_width_class = declarations_module.define_class("BorderRightWidth", ruby.class_object())?;
1537
+ border_right_width_class.define_method("value", method!(YBorderRightWidth::value, 0))?;
1538
+
1539
+ let border_top_width_class = declarations_module.define_class("BorderTopWidth", ruby.class_object())?;
1540
+ border_top_width_class.define_method("value", method!(YBorderTopWidth::value, 0))?;
1541
+
1542
+ let outline_width_class = declarations_module.define_class("OutlineWidth", ruby.class_object())?;
1543
+ outline_width_class.define_method("value", method!(YOutlineWidth::value, 0))?;
1544
+
1545
+ let background_color_class = declarations_module.define_class("BackgroundColor", ruby.class_object())?;
1546
+ background_color_class.define_method("color", method!(YBackgroundColor::color, 0))?;
1547
+
1548
+ let border_block_end_color_class = declarations_module.define_class("BorderBlockEndColor", ruby.class_object())?;
1549
+ border_block_end_color_class.define_method("color", method!(YBorderBlockEndColor::color, 0))?;
1550
+
1551
+ let border_block_start_color_class = declarations_module.define_class("BorderBlockStartColor", ruby.class_object())?;
1552
+ border_block_start_color_class.define_method("color", method!(YBorderBlockStartColor::color, 0))?;
1553
+
1554
+ let border_bottom_color_class = declarations_module.define_class("BorderBottomColor", ruby.class_object())?;
1555
+ border_bottom_color_class.define_method("color", method!(YBorderBottomColor::color, 0))?;
1556
+
1557
+ let border_inline_end_color_class = declarations_module.define_class("BorderInlineEndColor", ruby.class_object())?;
1558
+ border_inline_end_color_class.define_method("color", method!(YBorderInlineEndColor::color, 0))?;
1559
+
1560
+ let border_inline_start_color_class = declarations_module.define_class("BorderInlineStartColor", ruby.class_object())?;
1561
+ border_inline_start_color_class.define_method("color", method!(YBorderInlineStartColor::color, 0))?;
1562
+
1563
+ let border_left_color_class = declarations_module.define_class("BorderLeftColor", ruby.class_object())?;
1564
+ border_left_color_class.define_method("color", method!(YBorderLeftColor::color, 0))?;
1565
+
1566
+ let border_right_color_class = declarations_module.define_class("BorderRightColor", ruby.class_object())?;
1567
+ border_right_color_class.define_method("color", method!(YBorderRightColor::color, 0))?;
1568
+
1569
+ let border_top_color_class = declarations_module.define_class("BorderTopColor", ruby.class_object())?;
1570
+ border_top_color_class.define_method("color", method!(YBorderTopColor::color, 0))?;
1571
+
1572
+ let outline_color_class = declarations_module.define_class("OutlineColor", ruby.class_object())?;
1573
+ outline_color_class.define_method("color", method!(YOutlineColor::color, 0))?;
1574
+
1575
+ let text_decoration_color_class = declarations_module.define_class("TextDecorationColor", ruby.class_object())?;
1576
+ text_decoration_color_class.define_method("color", method!(YTextDecorationColor::color, 0))?;
1577
+
1578
+ let csswide_keyword_class = declarations_module.define_class("CSSWideKeyword", ruby.class_object())?;
1579
+ csswide_keyword_class.define_method("value", method!(YCSSWideKeyword::value, 0))?;
1580
+
1581
+ let with_variables_class = declarations_module.define_class("WithVariables", ruby.class_object())?;
1582
+ with_variables_class.define_method("value", method!(YWithVariables::value, 0))?;
1583
+
1584
+ let custom_class = declarations_module.define_class("Custom", ruby.class_object())?;
1585
+ custom_class.define_method("name", method!(YCustom::name, 0))?;
1586
+ custom_class.define_method("value", method!(YCustom::value, 0))?;
1587
+
1588
+ let custom_unparsed_class = custom_class.define_class("Unparsed", ruby.class_object())?;
1589
+ custom_unparsed_class.define_method("value", method!(YCustomValueUnparsed::value, 0))?;
1590
+
1591
+ let custom_parsed_class = custom_class.define_class("Parsed", ruby.class_object())?;
1592
+ custom_parsed_class.define_method("value", method!(YCustomValueParsed::value, 0))?;
1593
+
1594
+ let custom_csswide_keyword_class = custom_class.define_class("CSSWideKeyword", ruby.class_object())?;
1595
+ custom_csswide_keyword_class.define_method("value", method!(YCustomValueCSSWideKeyword::value, 0))?;
1596
+
1597
+ // helper classes
1598
+ let time_class = declarations_module.define_class("Time", ruby.class_object())?;
1599
+ time_class.define_method("seconds", method!(YTime::seconds, 0))?;
1600
+ time_class.define_method("unit", method!(YTime::unit, 0))?;
1601
+
1602
+ let animation_duration_value_class = declarations_module.define_class("AnimationDurationValue", ruby.class_object())?;
1603
+ animation_duration_value_class.define_method("time", method!(YAnimationDurationValue::time, 0))?;
1604
+
1605
+ let percentage_class = declarations_module.define_class("Percentage", ruby.class_object())?;
1606
+ percentage_class.define_method("value", method!(YPercentage::value, 0))?;
1607
+
1608
+ let number_class = declarations_module.define_class("Number", ruby.class_object())?;
1609
+ number_class.define_method("value", method!(YNumber::value, 0))?;
1610
+
1611
+ animation::init::init(ruby, yass_module, &declarations_module)?;
1612
+ calc::init::init(ruby, yass_module, &declarations_module)?;
1613
+ clip_path::init::init(ruby, &declarations_module)?;
1614
+ color::init::init(ruby, &color_class)?;
1615
+ filter::init::init(ruby, yass_module, &declarations_module)?;
1616
+ images::init::init(ruby, &declarations_module)?;
1617
+ size::init::init(ruby, yass_module, &declarations_module)?;
1618
+
1619
+ Ok(())
1620
+ }