Files
openclaw/config/stylelint.config.mjs
Peter Steinberger 41ed3c3460 fix(ui): buttons use the default cursor instead of the link hand (#126153)
* fix(ui): reserve pointer cursors for links

* test: align cursor and docs contracts
2026-08-18 21:40:52 -07:00

50 lines
1.8 KiB
JavaScript

// Control UI CSS hygiene: plain stylesheets plus css`` templates in Lit
// components (postcss-lit). Error-class rules only — oxfmt owns formatting.
export default {
extends: "stylelint-config-recommended",
rules: {
// Cascade-order advice, not an error class; 400+ intentional hits in the
// existing token/override cascade make it pure noise here.
"no-descending-specificity": null,
// `clip` survives only inside the standard sr-only fallback pattern.
"property-no-deprecated": [true, { ignoreProperties: ["clip"] }],
// `word-break: break-word` is deprecated but swapping it for overflow-wrap
// changes min-content sizing in flex/grid text containers.
"declaration-property-value-keyword-no-deprecated": [true, { ignoreKeywords: ["break-word"] }],
},
overrides: [
{
files: ["**/*.css"],
rules: {
"color-no-hex": true,
// Control UI max-width breakpoints use one ladder: 400, 560, 640,
// 768, 900, 1100, and 1320px. Round thresholds up to the next rung
// so compact layouts engage before desktop layouts become cramped.
"media-feature-name-value-allowed-list": {
"max-width": ["400px", "560px", "640px", "768px", "900px", "1100px", "1320px", "932px"],
"max-height": ["500px"],
"min-width": ["769px", "933px", "1121px", "1400px", "1600px"],
},
},
},
{
// Theme token definitions are the one source of stylesheet hex colors.
files: ["../ui/src/styles/base.css"],
rules: {
"color-no-hex": null,
},
},
{
// Lobster sprite artwork owns a fixed illustration palette, not UI theme colors.
files: ["../ui/src/styles/lobster-pet.css"],
rules: {
"color-no-hex": null,
},
},
{
files: ["**/*.ts"],
customSyntax: "postcss-lit",
},
],
};