- From: Guillaume via GitHub <sysbot+gh@w3.org>
- Date: Thu, 27 Oct 2022 16:40:03 +0000
- To: public-css-archive@w3.org
The procedures *set a CSS declaration* and *serialize a CSS declaration block* require to check whether a longhand 1. belongs to the same logical property group and 2. has a different mapping logic, than another longhand. A `Logical property group` propdef field allows to check 1 but to check 2, the logical property group, containing a set of longhand names, requires to be splitted in two subsets, corresponding to a mapping logic.
For example:
```js
const logicalPropertyGroups = [
// ...
'size': [
['block-size', 'inline-size'],
['height', 'width'],
],
// ...
]
```
In specs, some longhands of the same logical property group and with the same mapping logic, are defined in the same definition table, which appears below a section title, eg. *Physical Longhands for `scroll-padding`*.
`w3c/reffy` can take advantage of this grouping in the same table, and of this title, to define a `mappingLogic` field for the longhands defined in this table.
But for some other longhands, like `contain-intrinsic-*`, both flow-relative and physical longhands are defined in the same table.
Solutions are:
1. add a `Mapping logic` propdef field
2. consistently define longhands with same/different mapping logic in same/different propdef table, below a title named after the corresponding mapping logic
3. status quo: manually maintain the list/sublist of logical property groups and mapping logics
--
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2822#issuecomment-1293795140 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 27 October 2022 16:40:05 UTC