diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5e1894ebf..28e6f0aee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,10 @@ on: branches: - main +env: + OPAM_VERSION: 2.2.0 + DUNE_PROFILE: release + permissions: contents: write pull-requests: write @@ -34,9 +38,11 @@ jobs: uses: actions/setup-node@v3 - name: Use OCaml ${{ matrix.ocaml-compiler }} - uses: ocaml/setup-ocaml@v2 + uses: ocaml/setup-ocaml@v3 with: ocaml-compiler: ${{ matrix.ocaml-compiler }} + dune-cache: true + opam-disable-sandboxing: true - name: Load opam cache when not Windows if: runner.os != 'Windows' diff --git a/dune-project b/dune-project index 348e3ae84..6f29d96b6 100644 --- a/dune-project +++ b/dune-project @@ -34,7 +34,7 @@ (ppxlib (>= 0.27.0)) (sedlex (>= 3.2)) (melange (>= 3.0.0)) - (server-reason-react (>= 0.3.0)) + (server-reason-react (>= 0.3.1)) (reason-react (>= 0.14.0)) (alcotest :with-test) (conf-npm :with-test) diff --git a/packages/ppx/test/css-support/animations.t/run.t b/packages/ppx/test/css-support/animations.t/run.t index c28d49727..7111fd315 100644 --- a/packages/ppx/test/css-support/animations.t/run.t +++ b/packages/ppx/test/css-support/animations.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -43,6 +43,7 @@ If this test fail means that the module is not in sync with the ppx (0, [|CSS.opacity(0.)|]), (100, [|CSS.opacity(1.)|]), |]); + CSS.animationName(CSS.Types.AnimationName.make({js|random|js})); CSS.animationName(foo); CSS.animationNames([|foo, bar|]); diff --git a/packages/ppx/test/css-support/backgrounds-and-borders-module.t/run.t b/packages/ppx/test/css-support/backgrounds-and-borders-module.t/run.t index 38091b971..183b13652 100644 --- a/packages/ppx/test/css-support/backgrounds-and-borders-module.t/run.t +++ b/packages/ppx/test/css-support/backgrounds-and-borders-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -41,6 +41,7 @@ If this test fail means that the module is not in sync with the ppx let elevation1 = `rgba((0, 0, 0, `num(0.03))); }; }; + CSS.backgroundRepeat(`space); CSS.backgroundRepeat(`round); CSS.backgroundRepeat(`hv((`repeat, `repeat))); @@ -60,6 +61,7 @@ If this test fail means that the module is not in sync with the ppx CSS.backgroundRepeat(`hv((`round, `noRepeat))); CSS.backgroundRepeat(`hv((`noRepeat, `noRepeat))); CSS.backgroundAttachment(`local); + CSS.backgroundClip(`borderBox); CSS.backgroundClip(`paddingBox); CSS.backgroundClip(`contentBox); @@ -74,10 +76,12 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|backgroundSize|js}, {js|10px auto|js}); CSS.unsafe({js|backgroundSize|js}, {js|auto 10%|js}); CSS.backgroundSize(`size((`em(50.), `percent(50.)))); + CSS.unsafe({js|background|js}, {js|top left / 50% 60%|js}); CSS.backgroundOrigin(`borderBox); CSS.backgroundColor(CSS.blue); CSS.backgroundColor(CSS.red); + CSS.backgroundClip(`paddingBox); CSS.unsafe( {js|background|js}, @@ -97,6 +101,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|borderBottomLeftRadius|js}, {js|250px 100px|js}); CSS.borderRadius(`pxFloat(10.)); CSS.borderRadius(`percent(50.)); + CSS.borderImageSource(`none); CSS.borderImageSource(`url({js|foo.png|js})); CSS.unsafe({js|borderImageSlice|js}, {js|10|js}); @@ -196,6 +201,7 @@ If this test fail means that the module is not in sync with the ppx {js|borderImage|js}, {js|url(foo.png) fill 10 / 10% / 10px space|js}, ); + CSS.boxShadows([| CSS.Shadow.box( ~x=`pxFloat(1.), @@ -255,6 +261,7 @@ If this test fail means that the module is not in sync with the ppx Color.Shadow.elevation1, ), |]); + CSS.unsafe({js|backgroundPositionX|js}, {js|right|js}); CSS.unsafe({js|backgroundPositionX|js}, {js|center|js}); CSS.unsafe({js|backgroundPositionX|js}, {js|50%|js}); @@ -305,6 +312,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|backgroundPositionY|js}, {js|bottom -50px|js}); CSS.unsafe({js|backgroundPositionY|js}, {js|top -50px|js}); CSS.unsafe({js|backgroundPositionY|js}, {js|bottom 20px|js}); + CSS.backgroundImage( `linearGradient(( Some(`deg(45.)), @@ -430,6 +438,7 @@ If this test fail means that the module is not in sync with the ppx |]: CSS.Types.Gradient.color_stop_list, )), ); + CSS.backgroundImages([| `linearGradient(( Some(`deg(45.)), @@ -454,6 +463,7 @@ If this test fail means that the module is not in sync with the ppx [|(Some(CSS.blue), None), (Some(CSS.red), None)|]: CSS.Types.Gradient.color_stop_list, )), |]); + CSS.backgroundImage( `radialGradient(( Some(`ellipse), @@ -518,6 +528,7 @@ If this test fail means that the module is not in sync with the ppx {js|backgroundImage|js}, {js|radial-gradient(60% 60%, white, black)|js}, ); + CSS.listStyleImage( `linearGradient(( None, @@ -649,34 +660,42 @@ If this test fail means that the module is not in sync with the ppx {js|listStyleImage|js}, {js|radial-gradient(60% 60%, white, black)|js}, ); + CSS.imageRendering(`auto); CSS.imageRendering(`smooth); CSS.imageRendering(`highQuality); CSS.imageRendering(`pixelated); CSS.imageRendering(`crispEdges); + CSS.backgroundPosition(`bottom); CSS.unsafe({js|backgroundPositionX|js}, {js|50%|js}); CSS.unsafe({js|backgroundPositionY|js}, {js|0|js}); CSS.backgroundPosition2(`zero, `zero); CSS.backgroundPosition2(`rem(1.), `zero); + CSS.objectPosition2(`center, `top); CSS.objectPosition2(`center, `bottom); CSS.objectPosition2(`left, `center); CSS.objectPosition2(`right, `center); CSS.objectPosition2(`center, `center); + CSS.unsafe({js|objectPosition|js}, {js|25% 75%|js}); CSS.objectPosition2(`percent(25.), `center); + CSS.objectPosition2(`zero, `zero); CSS.objectPosition2(`cm(1.), `cm(2.)); CSS.objectPosition2(`ch(10.), `em(8.)); + CSS.unsafe({js|objectPosition|js}, {js|bottom 10px right 20px|js}); CSS.unsafe({js|objectPosition|js}, {js|right 3em bottom 10px|js}); CSS.unsafe({js|objectPosition|js}, {js|top 0 right 10px|js}); + CSS.unsafe({js|objectPosition|js}, {js|inherit|js}); CSS.unsafe({js|objectPosition|js}, {js|initial|js}); CSS.unsafe({js|objectPosition|js}, {js|revert|js}); CSS.unsafe({js|objectPosition|js}, {js|revert-layer|js}); CSS.unsafe({js|objectPosition|js}, {js|unset|js}); + let _loadingKeyframes = CSS.keyframes([| (0, [|CSS.backgroundPosition2(`zero, `zero)|]), diff --git a/packages/ppx/test/css-support/basic-user-interface-module.t/run.t b/packages/ppx/test/css-support/basic-user-interface-module.t/run.t index 3d784e9f1..7a8f09e41 100644 --- a/packages/ppx/test/css-support/basic-user-interface-module.t/run.t +++ b/packages/ppx/test/css-support/basic-user-interface-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.boxSizing(`borderBox); CSS.boxSizing(`contentBox); CSS.outlineStyle(`auto); @@ -54,6 +55,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|resize|js}, {js|vertical|js}); CSS.textOverflow(`clip); CSS.textOverflow(`ellipsis); + CSS.cursor(`default); CSS.cursor(`none); CSS.cursor(`contextMenu); @@ -76,19 +78,26 @@ If this test fail means that the module is not in sync with the ppx CSS.cursor(`zoomOut); CSS.unsafe({js|caretColor|js}, {js|auto|js}); CSS.unsafe({js|caretColor|js}, {js|green|js}); + CSS.unsafe({js|appearance|js}, {js|auto|js}); CSS.unsafe({js|appearance|js}, {js|none|js}); + CSS.textOverflow(`clip); CSS.textOverflow(`ellipsis); + CSS.textOverflow(`string({js|foo|js})); CSS.unsafe({js|textOverflow|js}, {js|clip clip|js}); CSS.unsafe({js|textOverflow|js}, {js|ellipsis clip|js}); + CSS.unsafe({js|textOverflow|js}, {js|'foo' clip|js}); CSS.unsafe({js|textOverflow|js}, {js|clip ellipsis|js}); CSS.unsafe({js|textOverflow|js}, {js|ellipsis ellipsis|js}); + CSS.unsafe({js|textOverflow|js}, {js|'foo' ellipsis|js}); + CSS.unsafe({js|textOverflow|js}, {js|clip 'foo'|js}); CSS.unsafe({js|textOverflow|js}, {js|ellipsis 'foo'|js}); + CSS.unsafe({js|textOverflow|js}, {js|'foo' 'foo'|js}); CSS.userSelect(`auto); CSS.userSelect(`text); diff --git a/packages/ppx/test/css-support/box-alignment-module.t/run.t b/packages/ppx/test/css-support/box-alignment-module.t/run.t index 5f4086eeb..9a99708f4 100644 --- a/packages/ppx/test/css-support/box-alignment-module.t/run.t +++ b/packages/ppx/test/css-support/box-alignment-module.t/run.t @@ -13,7 +13,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -32,6 +32,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.alignSelf(`auto); CSS.alignSelf(`normal); CSS.alignSelf(`stretch); @@ -190,6 +191,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|placeItems|js}, {js|first baseline legacy left|js}); CSS.unsafe({js|placeItems|js}, {js|self-start legacy left|js}); CSS.unsafe({js|placeItems|js}, {js|unsafe start legacy left|js}); + CSS.gap2(~rowGap=`zero, ~columnGap=`zero); CSS.gap2(~rowGap=`zero, ~columnGap=`em(1.)); CSS.gap(`em(1.)); @@ -199,6 +201,7 @@ If this test fail means that the module is not in sync with the ppx CSS.columnGap(`normal); CSS.rowGap(`zero); CSS.rowGap(`em(1.)); + CSS.unsafe({js|marginTrim|js}, {js|none|js}); CSS.unsafe({js|marginTrim|js}, {js|in-flow|js}); CSS.unsafe({js|marginTrim|js}, {js|all|js}); diff --git a/packages/ppx/test/css-support/box-sizing-module.t/run.t b/packages/ppx/test/css-support/box-sizing-module.t/run.t index 280f5b3e0..f30c0355f 100644 --- a/packages/ppx/test/css-support/box-sizing-module.t/run.t +++ b/packages/ppx/test/css-support/box-sizing-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.width(`maxContent); CSS.width(`minContent); CSS.unsafe({js|width|js}, {js|fit-content(10%)|js}); @@ -51,12 +52,19 @@ If this test fail means that the module is not in sync with the ppx CSS.maxHeight(`maxContent); CSS.maxHeight(`minContent); CSS.unsafe({js|maxHeight|js}, {js|fit-content(10%)|js}); + CSS.aspectRatio(`auto); CSS.aspectRatio(`num(2.)); CSS.aspectRatio(`ratio((16, 9))); + CSS.unsafe({js|width|js}, {js|fit-content|js}); + CSS.unsafe({js|minWidth|js}, {js|fit-content|js}); + CSS.unsafe({js|maxWidth|js}, {js|fit-content|js}); + CSS.unsafe({js|height|js}, {js|fit-content|js}); + CSS.unsafe({js|minHeight|js}, {js|fit-content|js}); + CSS.unsafe({js|maxHeight|js}, {js|fit-content|js}); diff --git a/packages/ppx/test/css-support/calc.t/run.t b/packages/ppx/test/css-support/calc.t/run.t index 33735308c..1f6efbd70 100644 --- a/packages/ppx/test/css-support/calc.t/run.t +++ b/packages/ppx/test/css-support/calc.t/run.t @@ -12,7 +12,7 @@ If this test fail means that the module is not in sync with the ppx > (preprocess (pps styled-ppx))) > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/cascading-and-inheritance.t/run.t b/packages/ppx/test/css-support/cascading-and-inheritance.t/run.t index 056dabd97..d594a7e12 100644 --- a/packages/ppx/test/css-support/cascading-and-inheritance.t/run.t +++ b/packages/ppx/test/css-support/cascading-and-inheritance.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|color|js}, {js|unset|js}); CSS.unsafe({js|fontWeight|js}, {js|unset|js}); CSS.unsafe({js|backgroundImage|js}, {js|unset|js}); diff --git a/packages/ppx/test/css-support/color-adjustments-module.t/run.t b/packages/ppx/test/css-support/color-adjustments-module.t/run.t index 78c48bd26..5ababf596 100644 --- a/packages/ppx/test/css-support/color-adjustments-module.t/run.t +++ b/packages/ppx/test/css-support/color-adjustments-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|colorAdjust|js}, {js|economy|js}); CSS.unsafe({js|colorAdjust|js}, {js|exact|js}); CSS.unsafe({js|forcedColorAdjust|js}, {js|auto|js}); diff --git a/packages/ppx/test/css-support/color-module.t/run.t b/packages/ppx/test/css-support/color-module.t/run.t index 841904b55..cdd5165bb 100644 --- a/packages/ppx/test/css-support/color-module.t/run.t +++ b/packages/ppx/test/css-support/color-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.color(`rgba((0, 0, 0, `num(0.5)))); CSS.color(`hex({js|F06|js})); CSS.color(`hex({js|FF0066|js})); @@ -68,6 +69,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|columnRuleColor|js}, {js|hsl(0,0%,0%,.5)|js}); CSS.unsafe({js|columnRuleColor|js}, {js|transparent|js}); CSS.unsafe({js|columnRuleColor|js}, {js|currentColor|js}); + CSS.color(`rgb((0, 51, 178))); CSS.color(`rgb((0, 64, 185))); CSS.color(`hsl((`deg(0.), `percent(0.), `percent(0.)))); @@ -84,6 +86,7 @@ If this test fail means that the module is not in sync with the ppx CSS.color(`hex({js|000F|js})); CSS.color(`hex({js|000000FF|js})); CSS.color(CSS.rebeccapurple); + CSS.backgroundColor(`rgb((0, 51, 178))); CSS.backgroundColor(`rgb((0, 64, 185))); CSS.backgroundColor(`hsl((`deg(0.), `percent(0.), `percent(0.)))); @@ -160,5 +163,6 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|columnRuleColor|js}, {js|#000F|js}); CSS.unsafe({js|columnRuleColor|js}, {js|#000000FF|js}); CSS.unsafe({js|columnRuleColor|js}, {js|rebeccapurple|js}); + CSS.color(`rgba((0, 0, 0, `num(1.)))); CSS.color(`rgba((0, 0, 0, `calc(`sub((`num(10.), `num(1.))))))); diff --git a/packages/ppx/test/css-support/compositingand-blending.t/run.t b/packages/ppx/test/css-support/compositingand-blending.t/run.t index 902d73c37..f37ac6190 100644 --- a/packages/ppx/test/css-support/compositingand-blending.t/run.t +++ b/packages/ppx/test/css-support/compositingand-blending.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|mixBlendMode|js}, {js|normal|js}); CSS.unsafe({js|mixBlendMode|js}, {js|multiply|js}); CSS.unsafe({js|mixBlendMode|js}, {js|screen|js}); diff --git a/packages/ppx/test/css-support/containment-module.t/run.t b/packages/ppx/test/css-support/containment-module.t/run.t index 34533335e..ec285b375 100644 --- a/packages/ppx/test/css-support/containment-module.t/run.t +++ b/packages/ppx/test/css-support/containment-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|contain|js}, {js|none|js}); CSS.unsafe({js|contain|js}, {js|strict|js}); CSS.unsafe({js|contain|js}, {js|content|js}); @@ -42,6 +43,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|contain|js}, {js|size layout|js}); CSS.unsafe({js|contain|js}, {js|size paint|js}); CSS.unsafe({js|contain|js}, {js|size layout paint|js}); + CSS.style([|CSS.width(`cqw(5.))|]); CSS.style([|CSS.width(`cqh(5.))|]); CSS.style([|CSS.width(`cqi(5.))|]); diff --git a/packages/ppx/test/css-support/content.t/run.t b/packages/ppx/test/css-support/content.t/run.t index a1e68ca6e..832854c32 100644 --- a/packages/ppx/test/css-support/content.t/run.t +++ b/packages/ppx/test/css-support/content.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,12 +33,18 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|quotes|js}, {js|auto|js}); + CSS.contentsRule([|`text({js|►|js})|], Some({js||js})); + CSS.contentsRule([|`text({js|''|js})|], None); + CSS.unsafe({js|content|js}, {js|unset|js}); + CSS.contentRule(`normal); CSS.contentRule(`none); + CSS.contentsRule([|`url({js|http://www.example.com/test.png|js})|], None); CSS.contentRule( `linearGradient(( @@ -53,15 +59,19 @@ If this test fail means that the module is not in sync with the ppx {js|content|js}, {js|image-set("image1x.png" 1x, "image2x.png" 2x)|js}, ); + CSS.contentsRule( [|`url({js|../img/test.png|js})|], Some({js|This is the alt text|js}), ); + CSS.contentsRule([|`text({js|unparsed text|js})|], None); + CSS.contentsRule([|`openQuote|], None); CSS.contentsRule([|`closeQuote|], None); CSS.contentsRule([|`noOpenQuote|], None); CSS.contentsRule([|`noCloseQuote|], None); + CSS.contentsRule( [|`text({js|prefix|js}), `url({js|http://www.example.com/test.png|js})|], None, @@ -74,11 +84,13 @@ If this test fail means that the module is not in sync with the ppx |], Some({js|Alt text|js}), ); + CSS.unsafe({js|content|js}, {js|inherit|js}); CSS.unsafe({js|content|js}, {js|initial|js}); CSS.unsafe({js|content|js}, {js|revert|js}); CSS.unsafe({js|content|js}, {js|revert-layer|js}); CSS.unsafe({js|content|js}, {js|unset|js}); + CSS.contentsRule([|`text({js|点|js})|], None); CSS.contentsRule([|`text({js|点|js})|], None); CSS.contentsRule([|`text({js|点|js})|], None); diff --git a/packages/ppx/test/css-support/display-module.t/run.t b/packages/ppx/test/css-support/display-module.t/run.t index 5a0b29786..490c3bb4d 100644 --- a/packages/ppx/test/css-support/display-module.t/run.t +++ b/packages/ppx/test/css-support/display-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.display(`runIn); CSS.display(`flow); CSS.display(`flowRoot); diff --git a/packages/ppx/test/css-support/easing-functions.t/run.t b/packages/ppx/test/css-support/easing-functions.t/run.t index b8d1b0690..238975174 100644 --- a/packages/ppx/test/css-support/easing-functions.t/run.t +++ b/packages/ppx/test/css-support/easing-functions.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|transitionTimingFunction|js}, {js|steps(2, jump-start)|js}); CSS.unsafe({js|transitionTimingFunction|js}, {js|steps(2, jump-end)|js}); CSS.unsafe({js|transitionTimingFunction|js}, {js|steps(1, jump-both)|js}); diff --git a/packages/ppx/test/css-support/empty-declarations.t/run.t b/packages/ppx/test/css-support/empty-declarations.t/run.t index 68337a3b2..52467c392 100644 --- a/packages/ppx/test/css-support/empty-declarations.t/run.t +++ b/packages/ppx/test/css-support/empty-declarations.t/run.t @@ -12,7 +12,7 @@ If this test fail means that the module is not in sync with the ppx > (preprocess (pps styled-ppx))) > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -34,11 +34,15 @@ If this test fail means that the module is not in sync with the ppx CSS.style([||]); CSS.style([||]); CSS.style([||]); + let _a = CSS.style([|CSS.label("_a")|]); let _a = CSS.style([|CSS.label("_a")|]); let _a = CSS.style([|CSS.label("_a")|]); + let _a = CSS.style([|CSS.label("_a")|]); + let _a = CSS.style([|CSS.label("_a")|]); + let _a = CSS.style([|CSS.label("_a")|]); $ dune build diff --git a/packages/ppx/test/css-support/enviroment-variables.t/run.t b/packages/ppx/test/css-support/enviroment-variables.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/enviroment-variables.t/run.t +++ b/packages/ppx/test/css-support/enviroment-variables.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/exclusions-module.t/run.t b/packages/ppx/test/css-support/exclusions-module.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/exclusions-module.t/run.t +++ b/packages/ppx/test/css-support/exclusions-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/filland-stroke-module.t/run.t b/packages/ppx/test/css-support/filland-stroke-module.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/filland-stroke-module.t/run.t +++ b/packages/ppx/test/css-support/filland-stroke-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/filter-effects-module.t/run.t b/packages/ppx/test/css-support/filter-effects-module.t/run.t index 312eab4ee..dc1fc300a 100644 --- a/packages/ppx/test/css-support/filter-effects-module.t/run.t +++ b/packages/ppx/test/css-support/filter-effects-module.t/run.t @@ -13,7 +13,7 @@ If this test fail means that the module is not in sync with the ppx > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx } ]; let color = CSS.hex("333"); + CSS.filter([|`none|]); CSS.filter([|`url({js|#id|js})|]); CSS.filter([|`url({js|image.svg#id|js})|]); @@ -79,6 +80,7 @@ If this test fail means that the module is not in sync with the ppx `rgba((0, 0, 0, `num(0.03))), )), |]); + CSS.backdropFilter([|`none|]); CSS.backdropFilter([|`url({js|#id|js})|]); CSS.backdropFilter([|`url({js|image.svg#id|js})|]); diff --git a/packages/ppx/test/css-support/flex.t/run.t b/packages/ppx/test/css-support/flex.t/run.t index f9e240833..e6bfee57b 100644 --- a/packages/ppx/test/css-support/flex.t/run.t +++ b/packages/ppx/test/css-support/flex.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,15 +33,21 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.flexBasis(`auto); CSS.unsafe({js|flex|js}, {js|initial|js}); CSS.flex1(`none); + CSS.flex1(`num(2.)); + CSS.flexBasis(`em(10.)); CSS.flexBasis(`percent(30.)); CSS.flexBasis(`minContent); + CSS.flex2(~basis=`pxFloat(30.), 1.); + CSS.flex2(~shrink=2., 2.); + CSS.flex(2., 2., `percent(10.)); CSS.flex(2., 2., `em(10.)); CSS.flex(2., 2., `minContent); diff --git a/packages/ppx/test/css-support/flexible-box-layout-module.t/run.t b/packages/ppx/test/css-support/flexible-box-layout-module.t/run.t index 33037a16d..2dcb798ff 100644 --- a/packages/ppx/test/css-support/flexible-box-layout-module.t/run.t +++ b/packages/ppx/test/css-support/flexible-box-layout-module.t/run.t @@ -13,7 +13,7 @@ If this test fail means that the module is not in sync with the ppx > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -37,6 +37,7 @@ If this test fail means that the module is not in sync with the ppx let flex1 = `num(1.); let min = `px(500); }; + CSS.alignContent(`flexStart); CSS.alignContent(`flexEnd); CSS.alignContent(`spaceBetween); diff --git a/packages/ppx/test/css-support/fonts-module.t/run.t b/packages/ppx/test/css-support/fonts-module.t/run.t index 2482509fe..002d35f19 100644 --- a/packages/ppx/test/css-support/fonts-module.t/run.t +++ b/packages/ppx/test/css-support/fonts-module.t/run.t @@ -13,7 +13,7 @@ If this test fail means that the module is not in sync with the ppx > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -32,6 +32,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.fontFamilies([|{js|Inter Semi Bold|js}|]); CSS.fontFamilies(fonts: array(CSS.Types.FontFamilyName.t)); CSS.fontFamilies([|{js|Inter|js}|]); @@ -39,6 +40,7 @@ If this test fail means that the module is not in sync with the ppx CSS.fontFamilies([|{js|Inter|js}, {js|Sans|js}|]); CSS.fontFamilies([|{js|Inter|js}, font|]); CSS.fontFamilies([|{js|Gill Sans Extrabold|js}, "sans-serif"|]); + CSS.fontSynthesisWeight(`none); CSS.fontSynthesisStyle(`auto); CSS.fontSynthesisSmallCaps(`none); @@ -90,6 +92,7 @@ If this test fail means that the module is not in sync with the ppx CSS.fontVariantEmoji(`text); CSS.fontVariantEmoji(`emoji); CSS.fontVariantEmoji(`unicode); + CSS.unsafe({js|fontStretch|js}, {js|normal|js}); CSS.unsafe({js|fontStretch|js}, {js|ultra-condensed|js}); CSS.unsafe({js|fontStretch|js}, {js|extra-condensed|js}); diff --git a/packages/ppx/test/css-support/fragmentation-module.t/run.t b/packages/ppx/test/css-support/fragmentation-module.t/run.t index 2824385f9..871f7a4d5 100644 --- a/packages/ppx/test/css-support/fragmentation-module.t/run.t +++ b/packages/ppx/test/css-support/fragmentation-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|breakBefore|js}, {js|auto|js}); CSS.unsafe({js|breakBefore|js}, {js|avoid|js}); CSS.unsafe({js|breakBefore|js}, {js|avoid-page|js}); diff --git a/packages/ppx/test/css-support/grid-layout-module.t/run.t b/packages/ppx/test/css-support/grid-layout-module.t/run.t index 8f0b45386..5728603c8 100644 --- a/packages/ppx/test/css-support/grid-layout-module.t/run.t +++ b/packages/ppx/test/css-support/grid-layout-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.display(`grid); CSS.display(`inlineGrid); CSS.gridTemplateColumns([|`none|]); @@ -117,6 +118,7 @@ If this test fail means that the module is not in sync with the ppx )), `pxFloat(100.), |]); + CSS.gridTemplateColumns([| `name({js|[linename1 linename2]|js}), `pxFloat(100.), @@ -205,28 +207,35 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|gridAutoFlow|js}, {js|column|js}); CSS.unsafe({js|gridAutoFlow|js}, {js|row dense|js}); CSS.unsafe({js|gridAutoFlow|js}, {js|column dense|js}); + CSS.unsafe({js|gridRowStart|js}, {js|auto|js}); CSS.unsafe({js|gridRowStart|js}, {js|4|js}); CSS.unsafe({js|gridRowStart|js}, {js|C|js}); CSS.unsafe({js|gridRowStart|js}, {js|C 2|js}); + CSS.unsafe({js|gridColumnStart|js}, {js|auto|js}); CSS.unsafe({js|gridColumnStart|js}, {js|4|js}); CSS.unsafe({js|gridColumnStart|js}, {js|C|js}); CSS.unsafe({js|gridColumnStart|js}, {js|C 2|js}); + CSS.unsafe({js|gridRowEnd|js}, {js|auto|js}); CSS.unsafe({js|gridRowEnd|js}, {js|4|js}); CSS.unsafe({js|gridRowEnd|js}, {js|C|js}); CSS.unsafe({js|gridRowEnd|js}, {js|C 2|js}); + CSS.unsafe({js|gridColumnEnd|js}, {js|auto|js}); CSS.unsafe({js|gridColumnEnd|js}, {js|4|js}); CSS.unsafe({js|gridColumnEnd|js}, {js|C|js}); CSS.unsafe({js|gridColumnEnd|js}, {js|C 2|js}); + CSS.unsafe({js|gridColumn|js}, {js|auto|js}); CSS.unsafe({js|gridColumn|js}, {js|1|js}); CSS.unsafe({js|gridColumn|js}, {js|-1|js}); + CSS.unsafe({js|gridRow|js}, {js|auto|js}); CSS.unsafe({js|gridRow|js}, {js|1|js}); CSS.unsafe({js|gridRow|js}, {js|-1|js}); + CSS.gridColumnGap(`zero); CSS.gridColumnGap(`em(1.)); CSS.gridRowGap(`zero); @@ -235,6 +244,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|gridGap|js}, {js|0 1em|js}); CSS.gridGap(`em(1.)); CSS.unsafe({js|gridGap|js}, {js|1em 1em|js}); + CSS.gridTemplateColumns([|`subgrid|]); CSS.gridTemplateColumns([|`subgrid, `name({js|[sub-a]|js})|]); CSS.gridTemplateColumns([| diff --git a/packages/ppx/test/css-support/interpolation-location-error.t/run.t b/packages/ppx/test/css-support/interpolation-location-error.t/run.t index 4b19f693a..72a753411 100644 --- a/packages/ppx/test/css-support/interpolation-location-error.t/run.t +++ b/packages/ppx/test/css-support/interpolation-location-error.t/run.t @@ -66,7 +66,7 @@ This test ensures the location of the error is correct The second variant type does not allow tag(s) `gri [1] - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/line-grid-module.t/run.t b/packages/ppx/test/css-support/line-grid-module.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/line-grid-module.t/run.t +++ b/packages/ppx/test/css-support/line-grid-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/lists-module.t/run.t b/packages/ppx/test/css-support/lists-module.t/run.t index 56203a8ed..2ba8c18bd 100644 --- a/packages/ppx/test/css-support/lists-module.t/run.t +++ b/packages/ppx/test/css-support/lists-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|listStyleType|js}, {js|disclosure-closed|js}); CSS.unsafe({js|listStyleType|js}, {js|disclosure-open|js}); CSS.unsafe({js|listStyleType|js}, {js|hebrew|js}); @@ -88,6 +89,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|listStyleType|js}, {js|\32 style|js}); CSS.unsafe({js|listStyleType|js}, {js|"-"|js}); CSS.unsafe({js|listStyleType|js}, {js|'-'|js}); + CSS.unsafe({js|counterReset|js}, {js|foo|js}); CSS.unsafe({js|counterReset|js}, {js|foo 1|js}); CSS.unsafe({js|counterReset|js}, {js|foo 1 bar|js}); diff --git a/packages/ppx/test/css-support/logical-propertiesand-values.t/run.t b/packages/ppx/test/css-support/logical-propertiesand-values.t/run.t index 116b0eda2..7c1a45768 100644 --- a/packages/ppx/test/css-support/logical-propertiesand-values.t/run.t +++ b/packages/ppx/test/css-support/logical-propertiesand-values.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|captionSide|js}, {js|inline-start|js}); CSS.unsafe({js|captionSide|js}, {js|inline-end|js}); CSS.unsafe({js|float|js}, {js|inline-start|js}); @@ -90,6 +91,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|borderBlockEndWidth|js}, {js|thin|js}); CSS.unsafe({js|borderBlockEndStyle|js}, {js|dotted|js}); CSS.unsafe({js|borderBlockEndColor|js}, {js|navy|js}); + CSS.unsafe({js|borderBlockColor|js}, {js|navy blue|js}); CSS.unsafe({js|borderInline|js}, {js|1px|js}); CSS.unsafe({js|borderInline|js}, {js|2px dotted|js}); @@ -106,6 +108,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|borderInlineEndWidth|js}, {js|thin|js}); CSS.unsafe({js|borderInlineEndStyle|js}, {js|dotted|js}); CSS.unsafe({js|borderInlineEndColor|js}, {js|navy|js}); + CSS.unsafe({js|borderInlineColor|js}, {js|navy blue|js}); CSS.unsafe({js|borderStartStartRadius|js}, {js|0|js}); CSS.unsafe({js|borderStartStartRadius|js}, {js|50%|js}); diff --git a/packages/ppx/test/css-support/masking-module.t/run.t b/packages/ppx/test/css-support/masking-module.t/run.t index 52d26c66c..8496eff60 100644 --- a/packages/ppx/test/css-support/masking-module.t/run.t +++ b/packages/ppx/test/css-support/masking-module.t/run.t @@ -13,7 +13,7 @@ If this test fail means that the module is not in sync with the ppx > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/mathml-core.t/run.t b/packages/ppx/test/css-support/mathml-core.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/mathml-core.t/run.t +++ b/packages/ppx/test/css-support/mathml-core.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/media-interp-location-error.t/run.t b/packages/ppx/test/css-support/media-interp-location-error.t/run.t index fd45666ae..260905073 100644 --- a/packages/ppx/test/css-support/media-interp-location-error.t/run.t +++ b/packages/ppx/test/css-support/media-interp-location-error.t/run.t @@ -17,7 +17,7 @@ If this test fail means that the module is not in sync with the ppx Error: Parse error while reading token '(' [1] - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -36,4 +36,5 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + let _className = [%ocaml.error "Parse error while reading token '('"]; diff --git a/packages/ppx/test/css-support/motion-path-module.t/run.t b/packages/ppx/test/css-support/motion-path-module.t/run.t index 10d543588..c2c933790 100644 --- a/packages/ppx/test/css-support/motion-path-module.t/run.t +++ b/packages/ppx/test/css-support/motion-path-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,10 +33,12 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|offset|js}, {js|none|js}); CSS.unsafe({js|offset|js}, {js|auto|js}); CSS.unsafe({js|offset|js}, {js|center|js}); CSS.unsafe({js|offset|js}, {js|200px 100px|js}); + CSS.unsafe({js|offset|js}, {js|margin-box|js}); CSS.unsafe({js|offset|js}, {js|border-box|js}); CSS.unsafe({js|offset|js}, {js|padding-box|js}); @@ -44,21 +46,27 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|offset|js}, {js|fill-box|js}); CSS.unsafe({js|offset|js}, {js|stroke-box|js}); CSS.unsafe({js|offset|js}, {js|view-box|js}); + CSS.unsafe({js|offset|js}, {js|path('M 20 20 H 80 V 30')|js}); CSS.unsafe({js|offset|js}, {js|url(image.png)|js}); CSS.unsafe({js|offset|js}, {js|ray(45deg closest-side)|js}); CSS.unsafe({js|offset|js}, {js|ray(45deg closest-side) 10%|js}); CSS.unsafe({js|offset|js}, {js|ray(45deg closest-side) 10% reverse|js}); + CSS.unsafe({js|offset|js}, {js|ray(45deg closest-side) reverse 10%|js}); + CSS.unsafe({js|offset|js}, {js|auto / center|js}); CSS.unsafe({js|offset|js}, {js|center / 200px 100px|js}); CSS.unsafe({js|offset|js}, {js|ray(45deg closest-side) / 200px 100px|js}); + CSS.unsafe({js|offsetPath|js}, {js|none|js}); CSS.unsafe({js|offsetPath|js}, {js|ray(45deg closest-side)|js}); CSS.unsafe({js|offsetPath|js}, {js|ray(45deg farthest-side)|js}); CSS.unsafe({js|offsetPath|js}, {js|ray(45deg closest-corner)|js}); CSS.unsafe({js|offsetPath|js}, {js|ray(45deg farthest-corner)|js}); + CSS.unsafe({js|offsetPath|js}, {js|ray(100grad closest-side contain)|js}); + CSS.unsafe({js|offsetPath|js}, {js|margin-box|js}); CSS.unsafe({js|offsetPath|js}, {js|border-box|js}); CSS.unsafe({js|offsetPath|js}, {js|padding-box|js}); @@ -67,6 +75,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|offsetPath|js}, {js|stroke-box|js}); CSS.unsafe({js|offsetPath|js}, {js|view-box|js}); CSS.unsafe({js|offsetPath|js}, {js|circle(60%) margin-box|js}); + CSS.unsafe({js|offsetDistance|js}, {js|10%|js}); CSS.unsafe({js|offsetPosition|js}, {js|auto|js}); CSS.unsafe({js|offsetPosition|js}, {js|200px|js}); diff --git a/packages/ppx/test/css-support/multi-column-layout-module.t/run.t b/packages/ppx/test/css-support/multi-column-layout-module.t/run.t index 2b6188a1f..4cd408f0d 100644 --- a/packages/ppx/test/css-support/multi-column-layout-module.t/run.t +++ b/packages/ppx/test/css-support/multi-column-layout-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.columnWidth(`em(10.)); CSS.columnWidth(`auto); CSS.unsafe({js|columnCount|js}, {js|2|js}); @@ -40,6 +41,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|columns|js}, {js|100px|js}); CSS.unsafe({js|columns|js}, {js|3|js}); CSS.unsafe({js|columns|js}, {js|10em 2|js}); + CSS.unsafe({js|columns|js}, {js|auto auto|js}); CSS.unsafe({js|columns|js}, {js|2 10em|js}); CSS.unsafe({js|columns|js}, {js|auto 10em|js}); diff --git a/packages/ppx/test/css-support/non-valid-property-location-error-nested.t/run.t b/packages/ppx/test/css-support/non-valid-property-location-error-nested.t/run.t index 30c365d87..5f71796f1 100644 --- a/packages/ppx/test/css-support/non-valid-property-location-error-nested.t/run.t +++ b/packages/ppx/test/css-support/non-valid-property-location-error-nested.t/run.t @@ -17,7 +17,7 @@ If this test fail means that the module is not in sync with the ppx Error: Unknown property 'colorx' [1] - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -36,6 +36,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + let selectors = CSS.style([| CSS.label("selectors"), diff --git a/packages/ppx/test/css-support/non-valid-property-location-error.t/run.t b/packages/ppx/test/css-support/non-valid-property-location-error.t/run.t index dc3ef3a47..793b839c6 100644 --- a/packages/ppx/test/css-support/non-valid-property-location-error.t/run.t +++ b/packages/ppx/test/css-support/non-valid-property-location-error.t/run.t @@ -17,7 +17,7 @@ If this test fail means that the module is not in sync with the ppx Error: Unknown property 'heightx' [1] - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/non-valid-value-location-error-nested.t/run.t b/packages/ppx/test/css-support/non-valid-value-location-error-nested.t/run.t index 31f5e1bcb..4f5985d97 100644 --- a/packages/ppx/test/css-support/non-valid-value-location-error-nested.t/run.t +++ b/packages/ppx/test/css-support/non-valid-value-location-error-nested.t/run.t @@ -17,7 +17,7 @@ If this test fail means that the module is not in sync with the ppx Error: Property 'color' has an invalid value: 'cositas' [1] - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -36,6 +36,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + let selectors = CSS.style([| CSS.label("selectors"), diff --git a/packages/ppx/test/css-support/non-valid-value-location-error.t/run.t b/packages/ppx/test/css-support/non-valid-value-location-error.t/run.t index 56ce5d3e9..a61c7268d 100644 --- a/packages/ppx/test/css-support/non-valid-value-location-error.t/run.t +++ b/packages/ppx/test/css-support/non-valid-value-location-error.t/run.t @@ -17,7 +17,7 @@ If this test fail means that the module is not in sync with the ppx Error: Property 'display' has an invalid value: 'blocki' [1] - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -37,6 +37,7 @@ If this test fail means that the module is not in sync with the ppx } ]; Js.log("2000"); + CSS.style([| CSS.height(`percent(100.)), CSS.height(`percent(100.)), diff --git a/packages/ppx/test/css-support/overflow-module.t/run.t b/packages/ppx/test/css-support/overflow-module.t/run.t index 69e22c11d..70f4c7428 100644 --- a/packages/ppx/test/css-support/overflow-module.t/run.t +++ b/packages/ppx/test/css-support/overflow-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,8 +33,10 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|lineClamp|js}, {js|none|js}); CSS.unsafe({js|lineClamp|js}, {js|1|js}); + CSS.unsafe({js|maxLines|js}, {js|none|js}); CSS.unsafe({js|maxLines|js}, {js|1|js}); CSS.overflowX(`visible); diff --git a/packages/ppx/test/css-support/overscroll-behavior-module.t/run.t b/packages/ppx/test/css-support/overscroll-behavior-module.t/run.t index d3791081c..43344c063 100644 --- a/packages/ppx/test/css-support/overscroll-behavior-module.t/run.t +++ b/packages/ppx/test/css-support/overscroll-behavior-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|overscrollBehavior|js}, {js|contain|js}); CSS.unsafe({js|overscrollBehavior|js}, {js|none|js}); CSS.unsafe({js|overscrollBehavior|js}, {js|auto|js}); diff --git a/packages/ppx/test/css-support/paiting-api.t/run.t b/packages/ppx/test/css-support/paiting-api.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/paiting-api.t/run.t +++ b/packages/ppx/test/css-support/paiting-api.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/pointer-events.t/run.t b/packages/ppx/test/css-support/pointer-events.t/run.t index 2f7597c69..bb93bcac3 100644 --- a/packages/ppx/test/css-support/pointer-events.t/run.t +++ b/packages/ppx/test/css-support/pointer-events.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,17 +33,20 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|touchAction|js}, {js|auto|js}); CSS.unsafe({js|touchAction|js}, {js|none|js}); CSS.unsafe({js|touchAction|js}, {js|pan-x|js}); CSS.unsafe({js|touchAction|js}, {js|pan-y|js}); CSS.unsafe({js|touchAction|js}, {js|pan-x pan-y|js}); CSS.unsafe({js|touchAction|js}, {js|manipulation|js}); + CSS.unsafe({js|touchAction|js}, {js|pan-left|js}); CSS.unsafe({js|touchAction|js}, {js|pan-right|js}); CSS.unsafe({js|touchAction|js}, {js|pan-up|js}); CSS.unsafe({js|touchAction|js}, {js|pan-down|js}); CSS.unsafe({js|touchAction|js}, {js|pan-left pan-up|js}); + CSS.unsafe({js|touchAction|js}, {js|pinch-zoom|js}); CSS.unsafe({js|touchAction|js}, {js|pan-x pinch-zoom|js}); CSS.unsafe({js|touchAction|js}, {js|pan-y pinch-zoom|js}); diff --git a/packages/ppx/test/css-support/positioned-layout-module.t/run.t b/packages/ppx/test/css-support/positioned-layout-module.t/run.t index 805c892f9..387f3ae5b 100644 --- a/packages/ppx/test/css-support/positioned-layout-module.t/run.t +++ b/packages/ppx/test/css-support/positioned-layout-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,4 +33,5 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|position|js}, {js|sticky|js}); diff --git a/packages/ppx/test/css-support/random.t/run.t b/packages/ppx/test/css-support/random.t/run.t index a5fdd16f1..354ceceb1 100644 --- a/packages/ppx/test/css-support/random.t/run.t +++ b/packages/ppx/test/css-support/random.t/run.t @@ -12,7 +12,7 @@ If this test fail means that the module is not in sync with the ppx > (preprocess (pps styled-ppx))) > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -31,15 +31,20 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|scrollBehavior|js}, {js|smooth|js}); + CSS.unsafe({js|overflowAnchor|js}, {js|none|js}); + CSS.unsafe({js|MozAppearance|js}, {js|textfield|js}); CSS.unsafe({js|WebkitAppearance|js}, {js|none|js}); CSS.unsafe({js|WebkitBoxOrient|js}, {js|vertical|js}); + module Color = { let text = CSS.hex("444"); }; let colorTextString = Color.text |> CSS.Types.Color.toString; + CSS.unsafe( {js|WebkitBoxShadow|js}, {js|inset 0 0 0 1000px $(Color.background)|js}, @@ -61,6 +66,7 @@ If this test fail means that the module is not in sync with the ppx ); CSS.unsafe({js|appearance|js}, {js|none|js}); CSS.aspectRatio(`ratio((21, 8))); + let c = CSS.hex("e15a46"); (CSS.backgroundColor(c): CSS.rule); CSS.unsafe({js|border|js}, {js|none|js}); @@ -72,12 +78,14 @@ If this test fail means that the module is not in sync with the ppx CSS.color(`var({js|--color-link|js})); CSS.columnWidth(`pxFloat(125.)); CSS.columnWidth(`auto); + CSS.display(`webkitBox); CSS.display(`contents); CSS.display(`table); (CSS.SVG.fill(c): CSS.rule); CSS.SVG.fill(`currentColor); CSS.gap(`pxFloat(4.)); + CSS.unsafe({js|gridColumn|js}, {js|unset|js}); CSS.unsafe({js|gridRow|js}, {js|unset|js}); CSS.gridTemplateColumns([|`maxContent, `maxContent|]); @@ -114,29 +122,37 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|top|js}, {js|unset|js}); CSS.unsafe({js|touchAction|js}, {js|none|js}); CSS.unsafe({js|touchAction|js}, {js|pan-x pan-y|js}); + CSS.transformOrigin2(`center, `left); CSS.transformOrigin2(`center, `right); CSS.transformOrigin(`pxFloat(2.)); CSS.transformOrigin(`bottom); CSS.transformOrigin2(`cm(3.), `pxFloat(2.)); CSS.transformOrigin2(`pxFloat(2.), `left); + CSS.transform(`none); + CSS.unsafe({js|width|js}, {js|fit-content|js}); CSS.width(`maxContent); + CSS.transitionDelay(`ms(240)); CSS.animationDuration(`ms(150)); + CSS.borderWidth(`thin); CSS.outlineWidth(`medium); CSS.outline(`medium, `solid, CSS.red); + let lola = `hidden; CSS.overflow(lola); CSS.overflow(`hidden); (CSS.overflowY(lola): CSS.rule); CSS.overflowX(`hidden); + let value = `clip; CSS.overflowBlock(`hidden); (CSS.overflowBlock(value): CSS.rule); (CSS.overflowInline(value): CSS.rule); + CSS.style([| CSS.backgroundImage( `linearGradient(( @@ -149,7 +165,9 @@ If this test fail means that the module is not in sync with the ppx )), ), |]); + CSS.style([|CSS.aspectRatio(`ratio((16, 9)))|]); + CSS.color(`var({js|--color-link|js})); $ dune build diff --git a/packages/ppx/test/css-support/regions-module.t/run.t b/packages/ppx/test/css-support/regions-module.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/regions-module.t/run.t +++ b/packages/ppx/test/css-support/regions-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/rhythmic-sizing.t/run.t b/packages/ppx/test/css-support/rhythmic-sizing.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/rhythmic-sizing.t/run.t +++ b/packages/ppx/test/css-support/rhythmic-sizing.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/ruby-layout-module.t/run.t b/packages/ppx/test/css-support/ruby-layout-module.t/run.t index ef4cb4b82..1e28eb6f1 100644 --- a/packages/ppx/test/css-support/ruby-layout-module.t/run.t +++ b/packages/ppx/test/css-support/ruby-layout-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.display(`ruby); CSS.display(`rubyBase); CSS.display(`rubyText); diff --git a/packages/ppx/test/css-support/scroll-snap-module.t/run.t b/packages/ppx/test/css-support/scroll-snap-module.t/run.t index 9ef76ae43..fc60b5118 100644 --- a/packages/ppx/test/css-support/scroll-snap-module.t/run.t +++ b/packages/ppx/test/css-support/scroll-snap-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|scrollMargin|js}, {js|0px|js}); CSS.unsafe({js|scrollMargin|js}, {js|6px 5px|js}); CSS.unsafe({js|scrollMargin|js}, {js|10px 20px 30px|js}); diff --git a/packages/ppx/test/css-support/scrollbars-module.t/run.t b/packages/ppx/test/css-support/scrollbars-module.t/run.t index 476c2a350..819063a49 100644 --- a/packages/ppx/test/css-support/scrollbars-module.t/run.t +++ b/packages/ppx/test/css-support/scrollbars-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|scrollbarColor|js}, {js|auto|js}); CSS.unsafe({js|scrollbarColor|js}, {js|dark|js}); CSS.unsafe({js|scrollbarColor|js}, {js|light|js}); diff --git a/packages/ppx/test/css-support/selector-interp-location-error.t/run.t b/packages/ppx/test/css-support/selector-interp-location-error.t/run.t index 8fdf9051a..4a517b7ee 100644 --- a/packages/ppx/test/css-support/selector-interp-location-error.t/run.t +++ b/packages/ppx/test/css-support/selector-interp-location-error.t/run.t @@ -17,7 +17,7 @@ If this test fail means that the module is not in sync with the ppx Error: Parse error while reading token '2' [1] - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -41,4 +41,5 @@ If this test fail means that the module is not in sync with the ppx CSS.label("_className"), CSS.selector({js|.lolaso :nth-child(2n)|js}, [|CSS.color(CSS.red)|]), |]); + let _className = [%ocaml.error "Parse error while reading token '2'"]; diff --git a/packages/ppx/test/css-support/selectors.t/run.t b/packages/ppx/test/css-support/selectors.t/run.t index 7283c345a..5bbcc7929 100644 --- a/packages/ppx/test/css-support/selectors.t/run.t +++ b/packages/ppx/test/css-support/selectors.t/run.t @@ -12,7 +12,7 @@ If this test fail means that the module is not in sync with the ppx > (preprocess (pps styled-ppx))) > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -31,6 +31,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + let _chart = CSS.style([| CSS.label("_chart"), diff --git a/packages/ppx/test/css-support/shapes-module.t/run.t b/packages/ppx/test/css-support/shapes-module.t/run.t index 3fa5c8747..fde68a52e 100644 --- a/packages/ppx/test/css-support/shapes-module.t/run.t +++ b/packages/ppx/test/css-support/shapes-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/svg.t/run.t b/packages/ppx/test/css-support/svg.t/run.t index a3d8734e1..1c1fcdeef 100644 --- a/packages/ppx/test/css-support/svg.t/run.t +++ b/packages/ppx/test/css-support/svg.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,7 +33,9 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.pointerEvents(`auto); + CSS.pointerEvents(`visiblePainted); CSS.pointerEvents(`visibleFill); CSS.pointerEvents(`visibleStroke); diff --git a/packages/ppx/test/css-support/text-decoration.t/run.t b/packages/ppx/test/css-support/text-decoration.t/run.t index a837f9b85..0f999a2ef 100644 --- a/packages/ppx/test/css-support/text-decoration.t/run.t +++ b/packages/ppx/test/css-support/text-decoration.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.textDecorationLine(`none); CSS.textDecorationLine(`underline); CSS.textDecorationLine(`overline); @@ -62,6 +63,7 @@ If this test fail means that the module is not in sync with the ppx CSS.textEmphasisStyle(`string({js|foo|js})); CSS.textEmphasisColor(CSS.green); CSS.unsafe({js|textEmphasis|js}, {js|open dot green|js}); + CSS.textEmphasisPosition(`over); CSS.textEmphasisPosition(`under); CSS.textEmphasisPositions(`over, `left); @@ -70,6 +72,7 @@ If this test fail means that the module is not in sync with the ppx CSS.textEmphasisPositions(`under, `left); CSS.textEmphasisPositions(`under, `right); CSS.textShadow(`none); + CSS.textShadow( CSS.Shadow.text( ~x=`pxFloat(1.), @@ -78,6 +81,7 @@ If this test fail means that the module is not in sync with the ppx CSS.black, ), ); + CSS.unsafe({js|textDecorationSkip|js}, {js|none|js}); CSS.unsafe({js|textDecorationSkip|js}, {js|objects|js}); CSS.unsafe({js|textDecorationSkip|js}, {js|objects spaces|js}); diff --git a/packages/ppx/test/css-support/text-module.t/run.t b/packages/ppx/test/css-support/text-module.t/run.t index c82dd1a15..93b2a7a4c 100644 --- a/packages/ppx/test/css-support/text-module.t/run.t +++ b/packages/ppx/test/css-support/text-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,8 +33,10 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|textTransform|js}, {js|full-width|js}); CSS.unsafe({js|textTransform|js}, {js|full-size-kana|js}); + CSS.tabSize(`num(4.)); CSS.tabSize(`em(1.)); CSS.lineBreak(`auto); diff --git a/packages/ppx/test/css-support/transforms-module.t/run.t b/packages/ppx/test/css-support/transforms-module.t/run.t index 7d4a6c599..b5b769850 100644 --- a/packages/ppx/test/css-support/transforms-module.t/run.t +++ b/packages/ppx/test/css-support/transforms-module.t/run.t @@ -13,7 +13,7 @@ If this test fail means that the module is not in sync with the ppx > EOF - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -32,6 +32,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.transform(`none); CSS.transform(CSS.translate(`pxFloat(5.), `zero)); CSS.transform(CSS.translate(`pxFloat(5.), `pxFloat(10.))); @@ -48,6 +49,7 @@ If this test fail means that the module is not in sync with the ppx CSS.transform(CSS.skew(`deg(45.), `deg(15.))); CSS.transform(CSS.skewX(`deg(45.))); CSS.transform(CSS.skewY(`deg(45.))); + CSS.transforms([| CSS.translate(`pxFloat(50.), `pxFloat(-24.)), CSS.skew(`deg(0.), `deg(22.5)), @@ -60,6 +62,7 @@ If this test fail means that the module is not in sync with the ppx CSS.transform(CSS.rotateX(`deg(-45.))); CSS.transform(CSS.rotateY(`deg(-45.))); CSS.transform(CSS.rotateZ(`deg(-45.))); + CSS.transforms([| CSS.translate3d(`pxFloat(50.), `pxFloat(-24.), `pxFloat(5.)), CSS.rotate3d(1., 2., 3., `deg(180.)), @@ -77,6 +80,7 @@ If this test fail means that the module is not in sync with the ppx CSS.transformBox(`viewBox); CSS.transformBox(`contentBox); CSS.transformBox(`strokeBox); + CSS.unsafe({js|translate|js}, {js|none|js}); CSS.unsafe({js|translate|js}, {js|50%|js}); CSS.unsafe({js|translate|js}, {js|50% 50%|js}); diff --git a/packages/ppx/test/css-support/transitions.t/run.t b/packages/ppx/test/css-support/transitions.t/run.t index 15c8c14da..8ab1c1910 100644 --- a/packages/ppx/test/css-support/transitions.t/run.t +++ b/packages/ppx/test/css-support/transitions.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.transitionProperty({js|none|js}); CSS.transitionProperty({js|all|js}); CSS.transitionProperty({js|width|js}); @@ -131,6 +132,7 @@ If this test fail means that the module is not in sync with the ppx {js|margin-right|js}, ), |]); + let transitions = [| CSS.Transition.shorthand("margin-left"), CSS.Transition.shorthand(~duration=`s(2), "opacity"), @@ -140,7 +142,9 @@ If this test fail means that the module is not in sync with the ppx let duration = `ms(200); let delay = `s(3); let property2 = "opacity"; + (CSS.transitionList(transitions): CSS.rule); + CSS.transitionList([| CSS.Transition.shorthand(~duration, ~delay, ~timingFunction, property), |]); diff --git a/packages/ppx/test/css-support/values-and-units-module.t/run.t b/packages/ppx/test/css-support/values-and-units-module.t/run.t index 14f555640..175c5584f 100644 --- a/packages/ppx/test/css-support/values-and-units-module.t/run.t +++ b/packages/ppx/test/css-support/values-and-units-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/vertical-align.t/run.t b/packages/ppx/test/css-support/vertical-align.t/run.t index c204ae095..5769ee422 100644 --- a/packages/ppx/test/css-support/vertical-align.t/run.t +++ b/packages/ppx/test/css-support/vertical-align.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", diff --git a/packages/ppx/test/css-support/will-change-module.t/run.t b/packages/ppx/test/css-support/will-change-module.t/run.t index 618e22358..9a603039b 100644 --- a/packages/ppx/test/css-support/will-change-module.t/run.t +++ b/packages/ppx/test/css-support/will-change-module.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|willChange|js}, {js|scroll-position|js}); CSS.unsafe({js|willChange|js}, {js|contents|js}); CSS.unsafe({js|willChange|js}, {js|transform|js}); diff --git a/packages/ppx/test/css-support/writing-modes.t/run.t b/packages/ppx/test/css-support/writing-modes.t/run.t index 76fe62241..c204ca3f3 100644 --- a/packages/ppx/test/css-support/writing-modes.t/run.t +++ b/packages/ppx/test/css-support/writing-modes.t/run.t @@ -14,7 +14,7 @@ If this test fail means that the module is not in sync with the ppx $ dune build - $ dune describe pp ./input.re.ml | refmt --parse ml --print re + $ dune describe pp ./input.re [@ocaml.ppx.context { tool_name: "ppx_driver", @@ -33,6 +33,7 @@ If this test fail means that the module is not in sync with the ppx cookies: [], } ]; + CSS.unsafe({js|direction|js}, {js|ltr|js}); CSS.unsafe({js|direction|js}, {js|rtl|js}); CSS.unsafe({js|unicodeBidi|js}, {js|normal|js}); @@ -49,6 +50,7 @@ If this test fail means that the module is not in sync with the ppx CSS.unsafe({js|textOrientation|js}, {js|sideways|js}); CSS.unsafe({js|textCombineUpright|js}, {js|none|js}); CSS.unsafe({js|textCombineUpright|js}, {js|all|js}); + CSS.unsafe({js|writingMode|js}, {js|sideways-rl|js}); CSS.unsafe({js|writingMode|js}, {js|sideways-lr|js}); CSS.unsafe({js|textCombineUpright|js}, {js|digits 2|js}); diff --git a/packages/runtime/test/test_styles.ml b/packages/runtime/test/test_styles.ml index 771872ed7..4bb695f85 100644 --- a/packages/runtime/test/test_styles.ml +++ b/packages/runtime/test/test_styles.ml @@ -653,7 +653,7 @@ let style_tag = let global_hash = "18zdck7" in assert_string css (Printf.sprintf - "