@@ -2191,8 +2191,23 @@ let overflow =
21912191 }
21922192 );
21932193
2194- /* let overflow_clip_margin =
2195- unsupportedProperty(Property_parser.property_overflow_clip_margin); */
2194+ let overflow_clip_margin =
2195+ polymorphic(
2196+ Property_parser . property_overflow_clip_margin,
2197+ (~loc, (clipEdgeOrigin, margin)) => {
2198+ let margin = Option . value(margin, ~default= ` Length (` Px (0 . )));
2199+ [
2200+ [% expr
2201+ CSS . overflowClipMargin2(
2202+ ~clipEdgeOrigin=? [% e
2203+ render_option(~loc, variant_to_expression, clipEdgeOrigin)
2204+ ],
2205+ [% e render_extended_length(~loc, margin)],
2206+ )
2207+ ],
2208+ ] ;
2209+ },
2210+ );
21962211
21972212let overflow_block =
21982213 monomorphic(
@@ -2226,6 +2241,19 @@ let overflow_inline =
22262241 },
22272242 );
22282243
2244+ let scrollbar_gutter =
2245+ monomorphic(
2246+ Property_parser . property_scrollbar_gutter,
2247+ (~loc) => [% expr CSS . scrollbarGutter],
2248+ (~loc, value: Types . property_scrollbar_gutter ) => {
2249+ switch (value) {
2250+ | ` Auto => [% expr ` auto ]
2251+ | ` And (_ , None ) => [% expr ` stable ]
2252+ | ` And (_ , Some (_ )) => [% expr ` stableBothEdges ]
2253+ }
2254+ },
2255+ );
2256+
22292257let text_overflow =
22302258 monomorphic(
22312259 Property_parser . property_text_overflow,
@@ -4462,7 +4490,20 @@ let scrollbar_base_color =
44624490 unsupportedProperty(Property_parser . property_scrollbar_base_color);
44634491
44644492let scrollbar_color =
4465- unsupportedProperty(Property_parser . property_scrollbar_color);
4493+ monomorphic(
4494+ Property_parser . property_scrollbar_color,
4495+ (~loc) => [% expr CSS . scrollbarColor],
4496+ (~loc, value: Types . property_scrollbar_color ) =>
4497+ switch (value) {
4498+ | ` Auto => [% expr ` auto ]
4499+ | ` Static (thumbColor , trackColor ) =>
4500+ [% expr
4501+ ` thumbTrackColor ((
4502+ [% e render_color(~loc, thumbColor)],
4503+ [% e render_color(~loc, trackColor)],
4504+ ))]
4505+ },
4506+ );
44664507
44674508let scrollbar_darkshadow_color =
44684509 unsupportedProperty(Property_parser . property_scrollbar_darkshadow_color);
@@ -4480,7 +4521,16 @@ let scrollbar_track_color =
44804521 unsupportedProperty(Property_parser . property_scrollbar_track_color);
44814522
44824523let scrollbar_width =
4483- unsupportedProperty(Property_parser . property_scrollbar_width);
4524+ monomorphic(
4525+ Property_parser . property_scrollbar_width,
4526+ (~loc) => [% expr CSS . scrollbarWidth],
4527+ (~loc, value: Types . property_scrollbar_width ) =>
4528+ switch (value) {
4529+ | ` Thin => [% expr ` thin ]
4530+ | ` Auto => [% expr ` auto ]
4531+ | ` None => [% expr ` none ]
4532+ },
4533+ );
44844534
44854535let stroke_dasharray =
44864536 unsupportedProperty(Property_parser . property_stroke_dasharray);
@@ -5225,6 +5275,7 @@ let properties = [
52255275 ("overflow-anchor" , found(overflow_anchor)),
52265276 ("overflow-block" , found(overflow_block)),
52275277 ("overflow-clip-box" , found(overflow_clip_box)),
5278+ ("overflow-clip-margin" , found(overflow_clip_margin)),
52285279 ("overflow-inline" , found(overflow_inline)),
52295280 ("overflow-wrap" , found(overflow_wrap)),
52305281 ("overflow-x" , found(overflow_x)),
@@ -5263,6 +5314,7 @@ let properties = [
52635314 ("scrollbar-shadow-color" , found(scrollbar_shadow_color)),
52645315 ("scrollbar-track-color" , found(scrollbar_track_color)),
52655316 ("scrollbar-width" , found(scrollbar_width)),
5317+ ("scrollbar-gutter" , found(scrollbar_gutter)),
52665318 ("stroke-opacity" , found(stroke_opacity)),
52675319 ("stroke-width" , found(stroke_width)),
52685320 ("stroke-dasharray" , found(stroke_dasharray)),
0 commit comments