less.js icon indicating copy to clipboard operation
less.js copied to clipboard

Empty calculation passed to css in 4.2.0

Open MagpieRook opened this issue 2 years ago • 4 comments

To reproduce:

Use any min or max function alongside a CSS variable. The breaking change in my deployed environment is:

:root {
  --body-max-width: 1200px;
}

#main-content {
  max-width: min(var(--body-max-width), calc(100vw - 20px));
}

However, another call to min without CSS variables is passed appropriately:

.carousel {
  --caption-width: min(600px, 100%);
}

Current behavior:

In 4.1.3, both the max-width statement and the --caption-width variable are passed as-is to the CSS file. In 4.2.0, the CSS file produced instead has max-width: min();.

Expected behavior:

A non-empty max-width: min();.

Environment information:

  • less version: 4.2.0
  • nodejs version: 18.13.0
  • operating system: (occurs on both windows and mac)

This occurs with max, as well, but not calc, which makes me think it's related to #3719.

MagpieRook avatar Jan 02 '24 19:01 MagpieRook

PR welcome

iChenLei avatar Jan 03 '24 15:01 iChenLei

Would this address it?

matthew-dean avatar Jan 09 '24 16:01 matthew-dean

It's a similar problem https://lesscss.org/less-preview/#eyJjb2RlIjoiLmJveCB7XG4gIHdpZHRoOiBtaW4ofid2YXIoLS13aWR0aCksIDgwMnB4Jyk7XG59IiwiYWN0aXZlVmVyc2lvbiI6IjQuMi4wIiwibWF0aCI6InBhcmVucy1kaXZpc2lvbiIsInN0cmljdFVuaXRzIjpmYWxzZX0=

image image

SoonIter avatar Mar 24 '24 11:03 SoonIter

@SoonIter Same question as here: https://github.com/less/less.js/issues/4256#issuecomment-1883335763

matthew-dean avatar Mar 25 '24 15:03 matthew-dean