@duro-app/eslint-plugin 5.1.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -4
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/rules/index.d.ts +5 -1
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +2 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/no-flex-grow-web.d.ts +9 -9
- package/dist/rules/no-flex-grow-web.d.ts.map +1 -1
- package/dist/rules/no-flex-grow-web.js +14 -56
- package/dist/rules/no-flex-grow-web.js.map +1 -1
- package/dist/rules/no-raw-design-values.d.ts +13 -7
- package/dist/rules/no-raw-design-values.d.ts.map +1 -1
- package/dist/rules/no-raw-design-values.js +114 -27
- package/dist/rules/no-raw-design-values.js.map +1 -1
- package/dist/rules/no-raw-layer-values.d.ts +23 -0
- package/dist/rules/no-raw-layer-values.d.ts.map +1 -0
- package/dist/rules/no-raw-layer-values.js +175 -0
- package/dist/rules/no-raw-layer-values.js.map +1 -0
- package/dist/util/tokens.d.ts +10 -1
- package/dist/util/tokens.d.ts.map +1 -1
- package/dist/util/tokens.js +70 -12
- package/dist/util/tokens.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@ another key — you'd get two live namespaces and confusing config.
|
|
|
36
36
|
| `duro/no-tokens-barrel-import` | error | autofix |
|
|
37
37
|
| `duro/no-deprecated-table-parts` | error | autofix / suggestion |
|
|
38
38
|
| `duro/no-raw-design-values` | error | suggestion |
|
|
39
|
+
| `duro/no-raw-layer-values` | warn | suggestion |
|
|
39
40
|
| `duro/no-raw-breakpoint-query` | error | autofix |
|
|
40
41
|
|
|
41
42
|
### no-raw-html-element
|
|
@@ -93,10 +94,20 @@ scale:
|
|
|
93
94
|
inside a `border*` or `outline` shorthand string. Each property draws from
|
|
94
95
|
its own candidates: sizes → `sizes.*`; border widths → `borders.hairline /
|
|
95
96
|
strong / accent`; outline width → `borders.focusRing`; outline offset →
|
|
96
|
-
`borders.focusOffset / focusOffsetSm`.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
`borders.focusOffset / focusOffsetSm`. Since 5.2 the size candidates follow
|
|
98
|
+
the property's axis: a `…W` / `…MinW` / `…MaxW` token is only offered on a
|
|
99
|
+
width property, a `…H` / `…MinH` / `…MaxH` token only on a height one, and
|
|
100
|
+
an unsuffixed token on both (`flexBasis` takes either). One match suggests it
|
|
101
|
+
(a negative as `calc(-1 * …)`); several give one suggestion each. When none
|
|
102
|
+
matches, the message names the **nearest role**: every same-axis token at
|
|
103
|
+
the nearest value within ±10% (`width: 232` → `sizes.gridColSm`,
|
|
104
|
+
`sizes.sidebarW`, `sizes.popoverWSm` (240)); when two values are equally
|
|
105
|
+
near, both are listed, smaller first. Only when nothing is that close does
|
|
106
|
+
it say to add a token. A `calc()` or template literal whose static text
|
|
107
|
+
holds a px is reported too.
|
|
108
|
+
- **`boxShadow` in a template literal** (since 5.2) — a px length in its
|
|
109
|
+
static text (`` `inset 0 0 0 1px ${colors.border}` ``) is a raw shadow; use
|
|
110
|
+
a `shadows.*` token.
|
|
100
111
|
- **micro spacing** — an off-scale spacing of 1/2/3/5/6px suggests
|
|
101
112
|
`microSpacing.pxN`.
|
|
102
113
|
|
|
@@ -114,6 +125,25 @@ working directory and the absolute path; a matching file is not checked. Name
|
|
|
114
125
|
only a file whose literals are a technique, not a design value — Duro names
|
|
115
126
|
its visually-hidden module.
|
|
116
127
|
|
|
128
|
+
### no-raw-layer-values
|
|
129
|
+
|
|
130
|
+
Since 5.3. Inside `css.create()` objects:
|
|
131
|
+
|
|
132
|
+
- **`zIndex`** — a number or numeric string other than `0` and negatives. A
|
|
133
|
+
layers value suggests its token (`zIndex: 1000` → `layers.overlay`, `1050` →
|
|
134
|
+
`layers.popup`); any other value names the layers it sits between, without a
|
|
135
|
+
fix (`zIndex: 16` → between `layers.raised` (1) and `layers.floating` (50)).
|
|
136
|
+
- **`backdropFilter` / `filter`** — a `blur(...)` literal. `blur(2px)`
|
|
137
|
+
suggests `effects.overlayBlur`; another blur reports without a fix.
|
|
138
|
+
|
|
139
|
+
It ships as **`warn` for the 5.x line**, so no consumer's lint turns red on a
|
|
140
|
+
minor, and becomes **`error` in the next major**. It is its own rule, apart
|
|
141
|
+
from `no-raw-design-values`, because ESLint sets severity per rule. Local
|
|
142
|
+
stacking values (`2`, `10` inside one component) have no token yet: before
|
|
143
|
+
that major, Duro decides whether to exempt small values or add a `local` step.
|
|
144
|
+
|
|
145
|
+
Options: `{factories?: string[], exemptFiles?: string[]}`
|
|
146
|
+
|
|
117
147
|
### no-raw-breakpoint-query
|
|
118
148
|
|
|
119
149
|
A media-query string anywhere in a file — `useMediaQuery('(min-width:
|
package/dist/index.d.ts
CHANGED
|
@@ -16,12 +16,16 @@ declare const plugin: {
|
|
|
16
16
|
'no-deprecated-table-parts': TSESLint.RuleModule<"deprecatedContainer" | "deprecatedIsActions" | "removeIsActions", [({
|
|
17
17
|
tableIdentifiers?: string[];
|
|
18
18
|
} | undefined)?], unknown, TSESLint.RuleListener>;
|
|
19
|
-
'no-raw-design-values': TSESLint.RuleModule<"rawColorToken" | "rawColor" | "rawSpacing" | "rawMicroSpacing" | "rawRadius" | "offScaleSpacing" | "offScaleRadius" | "rawBreakpoint" | "rawFontSize" | "rawFontWeight" | "rawShadow" | "rawDuration" | "rawEasing" | "rawMeasure" | "ambiguousMeasure" | "missingMeasureToken" | "rawTrack" | "replaceWithToken", [({
|
|
19
|
+
'no-raw-design-values': TSESLint.RuleModule<"rawColorToken" | "rawColor" | "rawSpacing" | "rawMicroSpacing" | "rawRadius" | "offScaleSpacing" | "offScaleRadius" | "rawBreakpoint" | "rawFontSize" | "rawFontWeight" | "rawShadow" | "rawDuration" | "rawEasing" | "rawMeasure" | "ambiguousMeasure" | "missingMeasureToken" | "nearestMeasureRole" | "rawShadowLength" | "rawTrack" | "replaceWithToken", [({
|
|
20
20
|
factories?: string[];
|
|
21
21
|
spacingProperties?: string[];
|
|
22
22
|
radiiProperties?: string[];
|
|
23
23
|
exemptFiles?: string[];
|
|
24
24
|
} | undefined)?], unknown, TSESLint.RuleListener>;
|
|
25
|
+
'no-raw-layer-values': TSESLint.RuleModule<"replaceWithToken" | "rawZIndex" | "offScaleZIndex" | "rawEffect", [({
|
|
26
|
+
factories?: string[];
|
|
27
|
+
exemptFiles?: string[];
|
|
28
|
+
} | undefined)?], unknown, TSESLint.RuleListener>;
|
|
25
29
|
'no-raw-breakpoint-query': TSESLint.RuleModule<"rawBreakpointQuery", [], unknown, TSESLint.RuleListener>;
|
|
26
30
|
'no-flex-grow-web': TSESLint.RuleModule<"flexGrowForced", [({
|
|
27
31
|
factories?: string[];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,QAAA,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAGK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;CAC1D,CAAA;AA0BD,eAAe,MAAM,CAAA;AACrB,OAAO,EAAC,KAAK,EAAC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -19,8 +19,10 @@ Object.assign(plugin.configs, {
|
|
|
19
19
|
// baseline block (see @duro-app/eslint-config README), never a glob
|
|
20
20
|
// and never --max-warnings.
|
|
21
21
|
'duro/no-raw-design-values': 'error',
|
|
22
|
+
// New in 5.3: raw z-index and blur values. A warning for the 5.x line,
|
|
23
|
+
// so no consumer's lint turns red on a minor; an error in the next major.
|
|
24
|
+
'duro/no-raw-layer-values': 'warn',
|
|
22
25
|
'duro/no-raw-breakpoint-query': 'error',
|
|
23
|
-
'duro/no-flex-grow-web': 'warn',
|
|
24
26
|
'duro/prefer-ds-form-components': 'error',
|
|
25
27
|
},
|
|
26
28
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC;IACpB,KAAK;IACL,OAAO,EAAE,EAAgD;CAC1D,CAAA;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE;QACX,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC;QACvB,KAAK,EAAE;YACL,0BAA0B,EAAE,OAAO;YACnC,8BAA8B,EAAE,OAAO;YACvC,gCAAgC,EAAE,OAAO;YACzC,sEAAsE;YACtE,gEAAgE;YAChE,oEAAoE;YACpE,4BAA4B;YAC5B,2BAA2B,EAAE,OAAO;YACpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAEtC,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC;IACpB,KAAK;IACL,OAAO,EAAE,EAAgD;CAC1D,CAAA;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE;QACX,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC;QACvB,KAAK,EAAE;YACL,0BAA0B,EAAE,OAAO;YACnC,8BAA8B,EAAE,OAAO;YACvC,gCAAgC,EAAE,OAAO;YACzC,sEAAsE;YACtE,gEAAgE;YAChE,oEAAoE;YACpE,4BAA4B;YAC5B,2BAA2B,EAAE,OAAO;YACpC,uEAAuE;YACvE,0EAA0E;YAC1E,0BAA0B,EAAE,MAAM;YAClC,8BAA8B,EAAE,OAAO;YACvC,gCAAgC,EAAE,OAAO;SAC1C;KACmC;CACvC,CAAC,CAAA;AAEF,eAAe,MAAM,CAAA;AACrB,OAAO,EAAC,KAAK,EAAC,CAAA"}
|
package/dist/rules/index.d.ts
CHANGED
|
@@ -10,12 +10,16 @@ export declare const rules: {
|
|
|
10
10
|
'no-deprecated-table-parts': import("@typescript-eslint/utils/ts-eslint").RuleModule<"deprecatedContainer" | "deprecatedIsActions" | "removeIsActions", [({
|
|
11
11
|
tableIdentifiers?: string[];
|
|
12
12
|
} | undefined)?], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
13
|
-
'no-raw-design-values': import("@typescript-eslint/utils/ts-eslint").RuleModule<"rawColorToken" | "rawColor" | "rawSpacing" | "rawMicroSpacing" | "rawRadius" | "offScaleSpacing" | "offScaleRadius" | "rawBreakpoint" | "rawFontSize" | "rawFontWeight" | "rawShadow" | "rawDuration" | "rawEasing" | "rawMeasure" | "ambiguousMeasure" | "missingMeasureToken" | "rawTrack" | "replaceWithToken", [({
|
|
13
|
+
'no-raw-design-values': import("@typescript-eslint/utils/ts-eslint").RuleModule<"rawColorToken" | "rawColor" | "rawSpacing" | "rawMicroSpacing" | "rawRadius" | "offScaleSpacing" | "offScaleRadius" | "rawBreakpoint" | "rawFontSize" | "rawFontWeight" | "rawShadow" | "rawDuration" | "rawEasing" | "rawMeasure" | "ambiguousMeasure" | "missingMeasureToken" | "nearestMeasureRole" | "rawShadowLength" | "rawTrack" | "replaceWithToken", [({
|
|
14
14
|
factories?: string[];
|
|
15
15
|
spacingProperties?: string[];
|
|
16
16
|
radiiProperties?: string[];
|
|
17
17
|
exemptFiles?: string[];
|
|
18
18
|
} | undefined)?], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
19
|
+
'no-raw-layer-values': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceWithToken" | "rawZIndex" | "offScaleZIndex" | "rawEffect", [({
|
|
20
|
+
factories?: string[];
|
|
21
|
+
exemptFiles?: string[];
|
|
22
|
+
} | undefined)?], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
19
23
|
'no-raw-breakpoint-query': import("@typescript-eslint/utils/ts-eslint").RuleModule<"rawBreakpointQuery", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
20
24
|
'no-flex-grow-web': import("@typescript-eslint/utils/ts-eslint").RuleModule<"flexGrowForced", [({
|
|
21
25
|
factories?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CASjB,CAAA"}
|
package/dist/rules/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { noRawHtmlElement } from './no-raw-html-element.js';
|
|
|
2
2
|
import { noTokensBarrelImport } from './no-tokens-barrel-import.js';
|
|
3
3
|
import { noDeprecatedTableParts } from './no-deprecated-table-parts.js';
|
|
4
4
|
import { noRawDesignValues } from './no-raw-design-values.js';
|
|
5
|
+
import { noRawLayerValues } from './no-raw-layer-values.js';
|
|
5
6
|
import { noRawBreakpointQuery } from './no-raw-breakpoint-query.js';
|
|
6
7
|
import { noFlexGrowWeb } from './no-flex-grow-web.js';
|
|
7
8
|
import { preferDsFormComponents } from './prefer-ds-form-components.js';
|
|
@@ -10,6 +11,7 @@ export const rules = {
|
|
|
10
11
|
'no-tokens-barrel-import': noTokensBarrelImport,
|
|
11
12
|
'no-deprecated-table-parts': noDeprecatedTableParts,
|
|
12
13
|
'no-raw-design-values': noRawDesignValues,
|
|
14
|
+
'no-raw-layer-values': noRawLayerValues,
|
|
13
15
|
'no-raw-breakpoint-query': noRawBreakpointQuery,
|
|
14
16
|
'no-flex-grow-web': noFlexGrowWeb,
|
|
15
17
|
'prefer-ds-form-components': preferDsFormComponents,
|
package/dist/rules/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAA;AAErE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,qBAAqB,EAAE,gBAAgB;IACvC,yBAAyB,EAAE,oBAAoB;IAC/C,2BAA2B,EAAE,sBAAsB;IACnD,sBAAsB,EAAE,iBAAiB;IACzC,yBAAyB,EAAE,oBAAoB;IAC/C,kBAAkB,EAAE,aAAa;IACjC,2BAA2B,EAAE,sBAAsB;CACpD,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAA;AAErE,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,qBAAqB,EAAE,gBAAgB;IACvC,yBAAyB,EAAE,oBAAoB;IAC/C,2BAA2B,EAAE,sBAAsB;IACnD,sBAAsB,EAAE,iBAAiB;IACzC,qBAAqB,EAAE,gBAAgB;IACvC,yBAAyB,EAAE,oBAAoB;IAC/C,kBAAkB,EAAE,aAAa;IACjC,2BAA2B,EAAE,sBAAsB;CACpD,CAAA"}
|
|
@@ -6,16 +6,16 @@ type Options = [
|
|
|
6
6
|
}?
|
|
7
7
|
];
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
* target react-strict-dom's runtime base style forces computed
|
|
11
|
-
* `flex-grow: 0`, so the declaration silently does nothing and grow-to-fill
|
|
12
|
-
* layouts collapse (verified empirically — a flexGrow:1/flexBasis:0 column
|
|
13
|
-
* grid shrank to its content width).
|
|
9
|
+
* Retired in 5.2: reports nothing.
|
|
14
10
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
11
|
+
* The rule assumed react-strict-dom's web runtime forces computed
|
|
12
|
+
* `flex-grow: 0`, so a growing child collapses. It does not: the
|
|
13
|
+
* `Foundations/flexGrow on web` stories (packages/ui/src/docs/FlexGrow.stories.tsx)
|
|
14
|
+
* render a growing child in a row and in a column and assert computed
|
|
15
|
+
* `flex-grow: 1` and the filled size, and ticket-vision measured the same in
|
|
16
|
+
* its app. The rule stays registered, deprecated, so a config that names it
|
|
17
|
+
* (`'duro/no-flex-grow-web': 'off'`) keeps loading; it is out of the
|
|
18
|
+
* recommended preset.
|
|
19
19
|
*/
|
|
20
20
|
export declare const noFlexGrowWeb: TSESLint.RuleModule<MessageIds, Options>;
|
|
21
21
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-flex-grow-web.d.ts","sourceRoot":"","sources":["../../src/rules/no-flex-grow-web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"no-flex-grow-web.d.ts","sourceRoot":"","sources":["../../src/rules/no-flex-grow-web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEtD,KAAK,UAAU,GAAG,gBAAgB,CAAA;AAClC,KAAK,OAAO,GAAG;IACb;QACE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KACrB,CAAC;CACH,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAyBlE,CAAA"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* target react-strict-dom's runtime base style forces computed
|
|
4
|
-
* `flex-grow: 0`, so the declaration silently does nothing and grow-to-fill
|
|
5
|
-
* layouts collapse (verified empirically — a flexGrow:1/flexBasis:0 column
|
|
6
|
-
* grid shrank to its content width).
|
|
2
|
+
* Retired in 5.2: reports nothing.
|
|
7
3
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
4
|
+
* The rule assumed react-strict-dom's web runtime forces computed
|
|
5
|
+
* `flex-grow: 0`, so a growing child collapses. It does not: the
|
|
6
|
+
* `Foundations/flexGrow on web` stories (packages/ui/src/docs/FlexGrow.stories.tsx)
|
|
7
|
+
* render a growing child in a row and in a column and assert computed
|
|
8
|
+
* `flex-grow: 1` and the filled size, and ticket-vision measured the same in
|
|
9
|
+
* its app. The rule stays registered, deprecated, so a config that names it
|
|
10
|
+
* (`'duro/no-flex-grow-web': 'off'`) keeps loading; it is out of the
|
|
11
|
+
* recommended preset.
|
|
12
12
|
*/
|
|
13
13
|
export const noFlexGrowWeb = {
|
|
14
14
|
defaultOptions: [{}],
|
|
15
15
|
meta: {
|
|
16
16
|
type: 'problem',
|
|
17
|
+
deprecated: true,
|
|
17
18
|
docs: {
|
|
18
|
-
description: '
|
|
19
|
+
description: 'Retired: react-strict-dom honours flexGrow on web, so this rule reports nothing',
|
|
19
20
|
},
|
|
20
21
|
schema: [
|
|
21
22
|
{
|
|
@@ -27,54 +28,11 @@ export const noFlexGrowWeb = {
|
|
|
27
28
|
},
|
|
28
29
|
],
|
|
29
30
|
messages: {
|
|
30
|
-
flexGrowForced: '
|
|
31
|
+
flexGrowForced: 'Retired: react-strict-dom honours flexGrow on web.',
|
|
31
32
|
},
|
|
32
33
|
},
|
|
33
|
-
create(
|
|
34
|
-
|
|
35
|
-
const factories = options.factories ?? ['css.create'];
|
|
36
|
-
const sourceCode = context.sourceCode;
|
|
37
|
-
function isZero(value) {
|
|
38
|
-
if (value.type === 'Literal')
|
|
39
|
-
return value.value === 0 || value.value === '0';
|
|
40
|
-
if (value.type === 'UnaryExpression' && value.operator === '-') {
|
|
41
|
-
return value.argument.type === 'Literal' && value.argument.value === 0;
|
|
42
|
-
}
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
function walk(node) {
|
|
46
|
-
for (const prop of node.properties) {
|
|
47
|
-
if (prop.type !== 'Property')
|
|
48
|
-
continue;
|
|
49
|
-
const value = prop.value;
|
|
50
|
-
const name = prop.key.type === 'Identifier' && !prop.computed
|
|
51
|
-
? prop.key.name
|
|
52
|
-
: prop.key.type === 'Literal'
|
|
53
|
-
? String(prop.key.value)
|
|
54
|
-
: null;
|
|
55
|
-
if (name === 'flexGrow' && value.type !== 'ObjectExpression') {
|
|
56
|
-
// Dynamic values (variables, conditionals) are just as forced-to-0
|
|
57
|
-
// as literals — only a literal 0 is knowably redundant-but-harmless.
|
|
58
|
-
if (!isZero(value)) {
|
|
59
|
-
context.report({ node: prop, messageId: 'flexGrowForced' });
|
|
60
|
-
}
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
// Nested objects: named styles at the top level, and media-query /
|
|
64
|
-
// pseudo maps below them ({'@media …': {flexGrow: 1}}).
|
|
65
|
-
if (value.type === 'ObjectExpression')
|
|
66
|
-
walk(value);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
CallExpression(node) {
|
|
71
|
-
if (!factories.includes(sourceCode.getText(node.callee)))
|
|
72
|
-
return;
|
|
73
|
-
const [arg] = node.arguments;
|
|
74
|
-
if (arg && arg.type === 'ObjectExpression')
|
|
75
|
-
walk(arg);
|
|
76
|
-
},
|
|
77
|
-
};
|
|
34
|
+
create() {
|
|
35
|
+
return {};
|
|
78
36
|
},
|
|
79
37
|
};
|
|
80
38
|
//# sourceMappingURL=no-flex-grow-web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-flex-grow-web.js","sourceRoot":"","sources":["../../src/rules/no-flex-grow-web.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,aAAa,GAA6C;IACrE,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"no-flex-grow-web.js","sourceRoot":"","sources":["../../src/rules/no-flex-grow-web.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,aAAa,GAA6C;IACrE,cAAc,EAAE,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACJ,WAAW,EACT,iFAAiF;SACpF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,WAAW,EAAE,IAAI,EAAC;iBACvE;gBACD,oBAAoB,EAAE,KAAK;aAC5B;SACF;QACD,QAAQ,EAAE;YACR,cAAc,EAAE,oDAAoD;SACrE;KACF;IACD,MAAM;QACJ,OAAO,EAAE,CAAA;IACX,CAAC;CACF,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TSESLint } from '@typescript-eslint/utils';
|
|
2
|
-
type MessageIds = 'rawColorToken' | 'rawColor' | 'rawSpacing' | 'rawMicroSpacing' | 'rawRadius' | 'offScaleSpacing' | 'offScaleRadius' | 'rawBreakpoint' | 'rawFontSize' | 'rawFontWeight' | 'rawShadow' | 'rawDuration' | 'rawEasing' | 'rawMeasure' | 'ambiguousMeasure' | 'missingMeasureToken' | 'rawTrack' | 'replaceWithToken';
|
|
2
|
+
type MessageIds = 'rawColorToken' | 'rawColor' | 'rawSpacing' | 'rawMicroSpacing' | 'rawRadius' | 'offScaleSpacing' | 'offScaleRadius' | 'rawBreakpoint' | 'rawFontSize' | 'rawFontWeight' | 'rawShadow' | 'rawDuration' | 'rawEasing' | 'rawMeasure' | 'ambiguousMeasure' | 'missingMeasureToken' | 'nearestMeasureRole' | 'rawShadowLength' | 'rawTrack' | 'replaceWithToken';
|
|
3
3
|
type Options = [
|
|
4
4
|
{
|
|
5
5
|
factories?: string[];
|
|
@@ -28,17 +28,23 @@ type Options = [
|
|
|
28
28
|
* flexBasis, block/inline size), on border*Width / outlineWidth /
|
|
29
29
|
* outlineOffset and on the width inside a border* / outline shorthand,
|
|
30
30
|
* negatives included. Each property has its own candidate tokens (sizes.*,
|
|
31
|
-
* borders hairline/strong/accent, focusRing, focusOffset/focusOffsetSm)
|
|
32
|
-
*
|
|
33
|
-
* token
|
|
34
|
-
*
|
|
31
|
+
* borders hairline/strong/accent, focusRing, focusOffset/focusOffsetSm),
|
|
32
|
+
* filtered by axis: a `…W` token is only offered on a width property and a
|
|
33
|
+
* `…H` token on a height one. One match suggests it; several give one
|
|
34
|
+
* suggestion each; none names the nearest role (every token at the nearest
|
|
35
|
+
* value within ±10%, both values smaller first on a tie), or says to add a
|
|
36
|
+
* token when nothing is that close. Percent, viewport, em/rem/ch, keywords
|
|
37
|
+
* and calc() without a px are fine.
|
|
38
|
+
* - box-shadow in a template literal: a px length in its static text is a raw
|
|
39
|
+
* shadow (`inset 0 0 0 1px ${colors.border}`); use a `shadows.*` token.
|
|
35
40
|
*
|
|
36
41
|
* Option `exemptFiles` (globs) silences the rule for whole files.
|
|
37
42
|
*
|
|
38
43
|
* Skipped on purpose: 0, negatives on the spacing properties, shorthands
|
|
39
44
|
* ('8px 16px', 'opacity 150ms'), identifiers, member expressions, template
|
|
40
|
-
* literals and calls — the rule reads literals, not expressions (the size
|
|
41
|
-
* border-width properties also read static px text in template
|
|
45
|
+
* literals and calls — the rule reads literals, not expressions (the size,
|
|
46
|
+
* border-width and box-shadow properties also read static px text in template
|
|
47
|
+
* literals).
|
|
42
48
|
*/
|
|
43
49
|
export declare const noRawDesignValues: TSESLint.RuleModule<MessageIds, Options>;
|
|
44
50
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-raw-design-values.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAW,MAAM,0BAA0B,CAAA;AA6BhE,KAAK,UAAU,GACX,eAAe,GACf,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,eAAe,GACf,WAAW,GACX,aAAa,GACb,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,UAAU,GACV,kBAAkB,CAAA;AACtB,KAAK,OAAO,GAAG;IACb;QACE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;QACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAC;CACH,CAAA;
|
|
1
|
+
{"version":3,"file":"no-raw-design-values.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAW,MAAM,0BAA0B,CAAA;AA6BhE,KAAK,UAAU,GACX,eAAe,GACf,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,eAAe,GACf,WAAW,GACX,aAAa,GACb,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,UAAU,GACV,kBAAkB,CAAA;AACtB,KAAK,OAAO,GAAG;IACb;QACE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;QACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;QAC5B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;QAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACvB,CAAC;CACH,CAAA;AA+HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CA+gBtE,CAAA"}
|
|
@@ -18,23 +18,87 @@ const TRACK_PROPERTIES = new Set([
|
|
|
18
18
|
'gridAutoColumns',
|
|
19
19
|
'gridAutoRows',
|
|
20
20
|
]);
|
|
21
|
-
const
|
|
21
|
+
const WIDTH_PROPERTIES = new Set([
|
|
22
|
+
'width',
|
|
23
|
+
'minWidth',
|
|
24
|
+
'maxWidth',
|
|
25
|
+
'inlineSize',
|
|
26
|
+
'minInlineSize',
|
|
27
|
+
'maxInlineSize',
|
|
28
|
+
]);
|
|
29
|
+
const HEIGHT_PROPERTIES = new Set([
|
|
30
|
+
'height',
|
|
31
|
+
'minHeight',
|
|
32
|
+
'maxHeight',
|
|
33
|
+
'blockSize',
|
|
34
|
+
'minBlockSize',
|
|
35
|
+
'maxBlockSize',
|
|
36
|
+
]);
|
|
37
|
+
/**
|
|
38
|
+
* The axis a size token names: `…W`/`…MinW`/`…MaxW` is a width and
|
|
39
|
+
* `…H`/`…MinH`/`…MaxH` a height, with an optional step after it
|
|
40
|
+
* (`popoverWSm`, `listMaxHSm`). Anything else (`touchTarget`, `gridColSm`)
|
|
41
|
+
* fits both.
|
|
42
|
+
*/
|
|
43
|
+
function tokenAxis(token) {
|
|
44
|
+
const match = /[a-z](?:Min|Max)?([WH])(?:Xs|Sm|Md|Lg|Xl)?$/.exec(token);
|
|
45
|
+
if (!match)
|
|
46
|
+
return null;
|
|
47
|
+
return match[1] === 'W' ? 'width' : 'height';
|
|
48
|
+
}
|
|
49
|
+
function propertyAxis(property) {
|
|
50
|
+
if (WIDTH_PROPERTIES.has(property))
|
|
51
|
+
return 'width';
|
|
52
|
+
if (HEIGHT_PROPERTIES.has(property))
|
|
53
|
+
return 'height';
|
|
54
|
+
return null; // flexBasis runs along either axis
|
|
55
|
+
}
|
|
56
|
+
const entriesOf = (table) => Object.entries(table).flatMap(([px, tokens]) => tokens.map((token) => [token, Number(px)]));
|
|
57
|
+
const borderTokens = (allowed) => entriesOf(BORDER_TOKENS_BY_PX).filter(([token]) => allowed.includes(token));
|
|
22
58
|
/** Which token set a measure property draws from; null for any other property. */
|
|
23
59
|
function measureFor(property) {
|
|
24
60
|
if (SIZE_PROPERTIES.has(property)) {
|
|
25
|
-
|
|
61
|
+
const axis = propertyAxis(property);
|
|
62
|
+
const tokens = entriesOf(SIZE_TOKENS_BY_PX).filter(([token]) => {
|
|
63
|
+
const own = tokenAxis(token);
|
|
64
|
+
return own === null || axis === null || own === axis;
|
|
65
|
+
});
|
|
66
|
+
return { group: 'sizes', tokens };
|
|
26
67
|
}
|
|
27
68
|
if (property === 'outlineOffset') {
|
|
28
|
-
return { group: 'borders',
|
|
69
|
+
return { group: 'borders', tokens: borderTokens(OUTLINE_OFFSET_TOKENS) };
|
|
29
70
|
}
|
|
30
71
|
if (property === 'outlineWidth' || property === 'outline') {
|
|
31
|
-
return { group: 'borders',
|
|
72
|
+
return { group: 'borders', tokens: borderTokens(OUTLINE_WIDTH_TOKENS) };
|
|
32
73
|
}
|
|
33
74
|
if (BORDER_WIDTH_PROPERTIES.has(property) || BORDER_SHORTHAND_PROPERTIES.has(property)) {
|
|
34
|
-
return { group: 'borders',
|
|
75
|
+
return { group: 'borders', tokens: borderTokens(BORDER_WIDTH_TOKENS) };
|
|
35
76
|
}
|
|
36
77
|
return null;
|
|
37
78
|
}
|
|
79
|
+
/** Tokens of `measure` at exactly `px`, in key order. */
|
|
80
|
+
function candidatesAt(measure, px) {
|
|
81
|
+
return measure.tokens.filter(([, value]) => value === px).map(([token]) => token);
|
|
82
|
+
}
|
|
83
|
+
/** How far a value may sit from a token for that token to be its nearest role. */
|
|
84
|
+
const NEAREST_ROLE_TOLERANCE = 0.1;
|
|
85
|
+
/**
|
|
86
|
+
* The tokens at the nearest value within ±10% of `px`, as `[value, tokens]`
|
|
87
|
+
* pairs: one pair, or two (smaller value first) when two values are equally
|
|
88
|
+
* near. Empty when nothing is that close.
|
|
89
|
+
*/
|
|
90
|
+
function nearestRoles(measure, px) {
|
|
91
|
+
const limit = px * NEAREST_ROLE_TOLERANCE;
|
|
92
|
+
const values = [...new Set(measure.tokens.map(([, value]) => value))];
|
|
93
|
+
const near = values.filter((value) => Math.abs(value - px) <= limit);
|
|
94
|
+
if (near.length === 0)
|
|
95
|
+
return [];
|
|
96
|
+
const best = Math.min(...near.map((value) => Math.abs(value - px)));
|
|
97
|
+
return near
|
|
98
|
+
.filter((value) => Math.abs(value - px) === best)
|
|
99
|
+
.sort((a, b) => a - b)
|
|
100
|
+
.map((value) => [value, candidatesAt(measure, value)]);
|
|
101
|
+
}
|
|
38
102
|
const scale = (table) => Object.keys(table)
|
|
39
103
|
.map(Number)
|
|
40
104
|
.sort((a, b) => a - b)
|
|
@@ -59,17 +123,23 @@ const scale = (table) => Object.keys(table)
|
|
|
59
123
|
* flexBasis, block/inline size), on border*Width / outlineWidth /
|
|
60
124
|
* outlineOffset and on the width inside a border* / outline shorthand,
|
|
61
125
|
* negatives included. Each property has its own candidate tokens (sizes.*,
|
|
62
|
-
* borders hairline/strong/accent, focusRing, focusOffset/focusOffsetSm)
|
|
63
|
-
*
|
|
64
|
-
* token
|
|
65
|
-
*
|
|
126
|
+
* borders hairline/strong/accent, focusRing, focusOffset/focusOffsetSm),
|
|
127
|
+
* filtered by axis: a `…W` token is only offered on a width property and a
|
|
128
|
+
* `…H` token on a height one. One match suggests it; several give one
|
|
129
|
+
* suggestion each; none names the nearest role (every token at the nearest
|
|
130
|
+
* value within ±10%, both values smaller first on a tie), or says to add a
|
|
131
|
+
* token when nothing is that close. Percent, viewport, em/rem/ch, keywords
|
|
132
|
+
* and calc() without a px are fine.
|
|
133
|
+
* - box-shadow in a template literal: a px length in its static text is a raw
|
|
134
|
+
* shadow (`inset 0 0 0 1px ${colors.border}`); use a `shadows.*` token.
|
|
66
135
|
*
|
|
67
136
|
* Option `exemptFiles` (globs) silences the rule for whole files.
|
|
68
137
|
*
|
|
69
138
|
* Skipped on purpose: 0, negatives on the spacing properties, shorthands
|
|
70
139
|
* ('8px 16px', 'opacity 150ms'), identifiers, member expressions, template
|
|
71
|
-
* literals and calls — the rule reads literals, not expressions (the size
|
|
72
|
-
* border-width properties also read static px text in template
|
|
140
|
+
* literals and calls — the rule reads literals, not expressions (the size,
|
|
141
|
+
* border-width and box-shadow properties also read static px text in template
|
|
142
|
+
* literals).
|
|
73
143
|
*/
|
|
74
144
|
export const noRawDesignValues = {
|
|
75
145
|
defaultOptions: [{}],
|
|
@@ -108,6 +178,8 @@ export const noRawDesignValues = {
|
|
|
108
178
|
rawMeasure: '{{value}} on `{{property}}` is the {{tokens}} token. Use it from {{pkg}}/tokens/{{group}}.css.',
|
|
109
179
|
ambiguousMeasure: '{{value}} on `{{property}}` matches several {{group}} tokens ({{tokens}}). Pick the one that says what this measure is, from {{pkg}}/tokens/{{group}}.css.',
|
|
110
180
|
missingMeasureToken: '{{value}} on `{{property}}` has no token. Add a token (design-system.a-missing-token-is-added-not-approximated) instead of using a raw value.',
|
|
181
|
+
nearestMeasureRole: '{{value}} on `{{property}}` has no token; nearest role: {{nearest}}. If this measure plays that role, use its token and take its value; if not, add a token (design-system.a-missing-token-is-added-not-approximated).',
|
|
182
|
+
rawShadowLength: '{{value}} on `boxShadow` builds a shadow from a raw px length. Use a `shadows.*` token from {{pkg}}/tokens/shadows.css.',
|
|
111
183
|
rawTrack: '{{value}} on `{{property}}` sizes a track in px. Put a size token inside it: `minmax(${sizes.gridColSm}, 1fr)` from {{pkg}}/tokens/sizes.css.',
|
|
112
184
|
replaceWithToken: 'Replace with {{replacement}}',
|
|
113
185
|
},
|
|
@@ -148,7 +220,7 @@ export const noRawDesignValues = {
|
|
|
148
220
|
function checkMeasure(node, property, measure, px, negative, display, fixable) {
|
|
149
221
|
if (px === 0)
|
|
150
222
|
return;
|
|
151
|
-
const candidates = measure
|
|
223
|
+
const candidates = candidatesAt(measure, px);
|
|
152
224
|
const data = {
|
|
153
225
|
value: display,
|
|
154
226
|
property,
|
|
@@ -157,22 +229,26 @@ export const noRawDesignValues = {
|
|
|
157
229
|
pkg: TOKENS_PKG,
|
|
158
230
|
};
|
|
159
231
|
if (candidates.length === 0) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
data,
|
|
171
|
-
suggest: fixable
|
|
172
|
-
? suggestReplacement(node, `${measure.group}.${token}`, measure.group, `tokens/${measure.group}.css`, negative ? (local) => `\`calc(-1 * \${${local}.${token}})\`` : undefined)
|
|
173
|
-
: [],
|
|
174
|
-
});
|
|
232
|
+
const nearest = nearestRoles(measure, px);
|
|
233
|
+
if (nearest.length === 0) {
|
|
234
|
+
context.report({ node, messageId: 'missingMeasureToken', data });
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
const text = nearest
|
|
238
|
+
.map(([value, tokens]) => `${tokens.map((token) => `\`${measure.group}.${token}\``).join(', ')} (${value})`)
|
|
239
|
+
.join(', ');
|
|
240
|
+
context.report({ node, messageId: 'nearestMeasureRole', data: { ...data, nearest: text } });
|
|
241
|
+
return;
|
|
175
242
|
}
|
|
243
|
+
const suggest = fixable
|
|
244
|
+
? candidates.flatMap((token) => suggestReplacement(node, `${measure.group}.${token}`, measure.group, `tokens/${measure.group}.css`, negative ? (local) => `\`calc(-1 * \${${local}.${token}})\`` : undefined))
|
|
245
|
+
: [];
|
|
246
|
+
context.report({
|
|
247
|
+
node,
|
|
248
|
+
messageId: candidates.length > 1 ? 'ambiguousMeasure' : 'rawMeasure',
|
|
249
|
+
data,
|
|
250
|
+
suggest,
|
|
251
|
+
});
|
|
176
252
|
}
|
|
177
253
|
/** Static text holding a `<number>px` inside calc() or a template literal. */
|
|
178
254
|
function checkStaticPx(node, property, text, display) {
|
|
@@ -377,6 +453,17 @@ export const noRawDesignValues = {
|
|
|
377
453
|
if (node.type !== 'ObjectExpression')
|
|
378
454
|
return;
|
|
379
455
|
}
|
|
456
|
+
if (property && SHADOW_PROPERTIES.has(property) && node.type === 'TemplateLiteral') {
|
|
457
|
+
const text = node.quasis.map((q) => q.value.cooked ?? q.value.raw).join(' ');
|
|
458
|
+
if (/(?<![\w.-])(?!0+(?:\.0+)?px)\d+(?:\.\d+)?px\b/.test(text)) {
|
|
459
|
+
context.report({
|
|
460
|
+
node,
|
|
461
|
+
messageId: 'rawShadowLength',
|
|
462
|
+
data: { value: sourceCode.getText(node), pkg: TOKENS_PKG },
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
380
467
|
const measure = property ? measureFor(property) : null;
|
|
381
468
|
if (property && measure) {
|
|
382
469
|
if (node.type === 'Literal' && typeof node.value === 'number') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-raw-design-values.js","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"no-raw-design-values.js","sourceRoot":"","sources":["../../src/rules/no-raw-design-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TSESLint } from '@typescript-eslint/utils';
|
|
2
|
+
type MessageIds = 'rawZIndex' | 'offScaleZIndex' | 'rawEffect' | 'replaceWithToken';
|
|
3
|
+
type Options = [{
|
|
4
|
+
factories?: string[];
|
|
5
|
+
exemptFiles?: string[];
|
|
6
|
+
}?];
|
|
7
|
+
/**
|
|
8
|
+
* Inside css.create() style objects, flag a raw z-index and a raw blur:
|
|
9
|
+
*
|
|
10
|
+
* - `zIndex`: a number or numeric string other than 0 and negatives. A layers
|
|
11
|
+
* value suggests its `layers.*` token; any other names the layers it sits
|
|
12
|
+
* between, without a fix (a local stacking value inside one component has
|
|
13
|
+
* no token).
|
|
14
|
+
* - `backdropFilter` / `filter`: a `blur(...)` literal. `blur(2px)` suggests
|
|
15
|
+
* `effects.overlayBlur`; another blur reports without a fix.
|
|
16
|
+
*
|
|
17
|
+
* Recommended at `warn` in 5.x; it becomes an error in the next major. It is
|
|
18
|
+
* a rule of its own, apart from no-raw-design-values (an error), because
|
|
19
|
+
* ESLint sets severity per rule.
|
|
20
|
+
*/
|
|
21
|
+
export declare const noRawLayerValues: TSESLint.RuleModule<MessageIds, Options>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=no-raw-layer-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-raw-layer-values.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-layer-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAW,MAAM,0BAA0B,CAAA;AAKhE,KAAK,UAAU,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,kBAAkB,CAAA;AACnF,KAAK,OAAO,GAAG,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAAC,CAAA;AAqBhE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAkJrE,CAAA"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { EFFECTS_BY_VALUE, LAYERS_BY_VALUE, normalizeValue } from '../util/tokens.js';
|
|
2
|
+
import { ensureNamedImport } from '../util/imports.js';
|
|
3
|
+
import { matchesAnyGlob } from '../util/glob.js';
|
|
4
|
+
const TOKENS_PKG = '@duro-app/tokens';
|
|
5
|
+
const Z_INDEX_PROPERTIES = new Set(['zIndex']);
|
|
6
|
+
const EFFECT_PROPERTIES = new Set(['backdropFilter', 'filter']);
|
|
7
|
+
const BLUR_RE = /\bblur\([^)]*\)/;
|
|
8
|
+
const LAYER_VALUES = Object.keys(LAYERS_BY_VALUE)
|
|
9
|
+
.map(Number)
|
|
10
|
+
.sort((a, b) => a - b);
|
|
11
|
+
/** The layers at or below `value` and above it, for an off-scale z-index. */
|
|
12
|
+
function nearestLayers(value) {
|
|
13
|
+
const below = [...LAYER_VALUES].reverse().find((v) => v <= value);
|
|
14
|
+
const above = LAYER_VALUES.find((v) => v > value);
|
|
15
|
+
const name = (v) => `\`layers.${LAYERS_BY_VALUE[v]}\` (${v})`;
|
|
16
|
+
if (below === undefined)
|
|
17
|
+
return `below ${name(above)}`;
|
|
18
|
+
if (above === undefined)
|
|
19
|
+
return `above ${name(below)}`;
|
|
20
|
+
return `between ${name(below)} and ${name(above)}`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Inside css.create() style objects, flag a raw z-index and a raw blur:
|
|
24
|
+
*
|
|
25
|
+
* - `zIndex`: a number or numeric string other than 0 and negatives. A layers
|
|
26
|
+
* value suggests its `layers.*` token; any other names the layers it sits
|
|
27
|
+
* between, without a fix (a local stacking value inside one component has
|
|
28
|
+
* no token).
|
|
29
|
+
* - `backdropFilter` / `filter`: a `blur(...)` literal. `blur(2px)` suggests
|
|
30
|
+
* `effects.overlayBlur`; another blur reports without a fix.
|
|
31
|
+
*
|
|
32
|
+
* Recommended at `warn` in 5.x; it becomes an error in the next major. It is
|
|
33
|
+
* a rule of its own, apart from no-raw-design-values (an error), because
|
|
34
|
+
* ESLint sets severity per rule.
|
|
35
|
+
*/
|
|
36
|
+
export const noRawLayerValues = {
|
|
37
|
+
defaultOptions: [{}],
|
|
38
|
+
meta: {
|
|
39
|
+
type: 'suggestion',
|
|
40
|
+
docs: {
|
|
41
|
+
description: 'Prefer the layers (z-index) and effects tokens over raw z-index and blur values in css.create styles',
|
|
42
|
+
},
|
|
43
|
+
hasSuggestions: true,
|
|
44
|
+
schema: [
|
|
45
|
+
{
|
|
46
|
+
type: 'object',
|
|
47
|
+
properties: {
|
|
48
|
+
factories: { type: 'array', items: { type: 'string' }, uniqueItems: true },
|
|
49
|
+
exemptFiles: { type: 'array', items: { type: 'string' }, uniqueItems: true },
|
|
50
|
+
},
|
|
51
|
+
additionalProperties: false,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
messages: {
|
|
55
|
+
rawZIndex: '{{value}} on `zIndex` is the layers.{{token}} token. Use it from {{pkg}}/tokens/layers.css.',
|
|
56
|
+
offScaleZIndex: '{{value}} on `zIndex` is not a layer; it sits {{nearest}}. Use a `layers.*` token from {{pkg}}/tokens/layers.css when it plays that role; a stacking value local to one component has no token yet.',
|
|
57
|
+
rawEffect: "'{{value}}' on `{{property}}` is a raw effect{{tokenText}}. Use the `effects.*` tokens from {{pkg}}/tokens/effects.css.",
|
|
58
|
+
replaceWithToken: 'Replace with {{replacement}}',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
create(context) {
|
|
62
|
+
const options = context.options[0] ?? {};
|
|
63
|
+
const factories = options.factories ?? ['css.create'];
|
|
64
|
+
if (matchesAnyGlob(context.filename, context.cwd, options.exemptFiles ?? []))
|
|
65
|
+
return {};
|
|
66
|
+
const sourceCode = context.sourceCode;
|
|
67
|
+
function suggest(node, group, token) {
|
|
68
|
+
const replacement = `${group}.${token}`;
|
|
69
|
+
return [
|
|
70
|
+
{
|
|
71
|
+
messageId: 'replaceWithToken',
|
|
72
|
+
data: { replacement },
|
|
73
|
+
fix(fixer) {
|
|
74
|
+
const { local, fixes } = ensureNamedImport(sourceCode, fixer, `${TOKENS_PKG}/tokens/${group}.css`, group);
|
|
75
|
+
return [...fixes, fixer.replaceText(node, `${local}.${token}`)];
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
function checkZIndex(node) {
|
|
81
|
+
let value = null;
|
|
82
|
+
if (node.type === 'Literal' && typeof node.value === 'number')
|
|
83
|
+
value = node.value;
|
|
84
|
+
if (node.type === 'Literal' && typeof node.value === 'string') {
|
|
85
|
+
const text = node.value.trim();
|
|
86
|
+
if (/^\d+$/.test(text))
|
|
87
|
+
value = Number(text);
|
|
88
|
+
}
|
|
89
|
+
if (value === null || value <= 0)
|
|
90
|
+
return;
|
|
91
|
+
const display = sourceCode.getText(node);
|
|
92
|
+
const token = LAYERS_BY_VALUE[value];
|
|
93
|
+
if (token) {
|
|
94
|
+
context.report({
|
|
95
|
+
node,
|
|
96
|
+
messageId: 'rawZIndex',
|
|
97
|
+
data: { value: display, token, pkg: TOKENS_PKG },
|
|
98
|
+
suggest: suggest(node, 'layers', token),
|
|
99
|
+
});
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
context.report({
|
|
103
|
+
node,
|
|
104
|
+
messageId: 'offScaleZIndex',
|
|
105
|
+
data: { value: display, nearest: nearestLayers(value), pkg: TOKENS_PKG },
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function checkEffect(node, property) {
|
|
109
|
+
if (node.type !== 'Literal' || typeof node.value !== 'string')
|
|
110
|
+
return;
|
|
111
|
+
const value = node.value;
|
|
112
|
+
if (!BLUR_RE.test(value))
|
|
113
|
+
return;
|
|
114
|
+
const token = EFFECTS_BY_VALUE[normalizeValue(value)];
|
|
115
|
+
context.report({
|
|
116
|
+
node,
|
|
117
|
+
messageId: 'rawEffect',
|
|
118
|
+
data: {
|
|
119
|
+
value,
|
|
120
|
+
property,
|
|
121
|
+
tokenText: token ? ` (it is effects.${token})` : '',
|
|
122
|
+
pkg: TOKENS_PKG,
|
|
123
|
+
},
|
|
124
|
+
suggest: token ? suggest(node, 'effects', token) : [],
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function checkValue(node, property) {
|
|
128
|
+
if (node.type === 'ObjectExpression') {
|
|
129
|
+
walk(node, property);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (property && Z_INDEX_PROPERTIES.has(property))
|
|
133
|
+
checkZIndex(node);
|
|
134
|
+
else if (property && EFFECT_PROPERTIES.has(property))
|
|
135
|
+
checkEffect(node, property);
|
|
136
|
+
}
|
|
137
|
+
function walk(obj, property) {
|
|
138
|
+
for (const prop of obj.properties) {
|
|
139
|
+
if (prop.type !== 'Property')
|
|
140
|
+
continue;
|
|
141
|
+
const key = prop.key.type === 'Identifier'
|
|
142
|
+
? prop.key.name
|
|
143
|
+
: prop.key.type === 'Literal'
|
|
144
|
+
? String(prop.key.value)
|
|
145
|
+
: null;
|
|
146
|
+
if (key === null)
|
|
147
|
+
continue;
|
|
148
|
+
// Condition keys (default, :hover, @media …) keep the enclosing property.
|
|
149
|
+
const isCondition = key === 'default' || /^[:@]/.test(key);
|
|
150
|
+
checkValue(prop.value, isCondition ? property : key);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
CallExpression(node) {
|
|
155
|
+
if (!factories.includes(sourceCode.getText(node.callee)))
|
|
156
|
+
return;
|
|
157
|
+
const arg = node.arguments[0];
|
|
158
|
+
if (!arg || arg.type !== 'ObjectExpression')
|
|
159
|
+
return;
|
|
160
|
+
for (const prop of arg.properties) {
|
|
161
|
+
if (prop.type !== 'Property')
|
|
162
|
+
continue;
|
|
163
|
+
const value = prop.value;
|
|
164
|
+
if (value.type === 'ObjectExpression')
|
|
165
|
+
walk(value, null);
|
|
166
|
+
if ((value.type === 'ArrowFunctionExpression' || value.type === 'FunctionExpression') &&
|
|
167
|
+
value.body.type === 'ObjectExpression') {
|
|
168
|
+
walk(value.body, null);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
//# sourceMappingURL=no-raw-layer-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-raw-layer-values.js","sourceRoot":"","sources":["../../src/rules/no-raw-layer-values.ts"],"names":[],"mappings":"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"}
|
package/dist/util/tokens.d.ts
CHANGED
|
@@ -11,7 +11,11 @@ export declare const RADII_TOKENS_BY_PX: Record<number, string>;
|
|
|
11
11
|
* light, and high-contrast palettes in that order, first entry wins — so a hex
|
|
12
12
|
* shared across tokens/themes suggests the token it most likely stands for
|
|
13
13
|
* (e.g. #6aaffc is both `accent` and `info` in the dark palette → `accent`).
|
|
14
|
+
* `contrastSurface` / `onContrastSurface` are another theme's colours, so they
|
|
15
|
+
* go last (CONTRAST_MIRROR_TOKENS): `#f5f5f5` stays `bgCard`.
|
|
14
16
|
*/
|
|
17
|
+
/** Colour tokens whose values mirror another theme's; listed after the rest. */
|
|
18
|
+
export declare const CONTRAST_MIRROR_TOKENS: string[];
|
|
15
19
|
export declare const COLOR_TOKENS: Record<string, string>;
|
|
16
20
|
/** px value → breakpoint token name (`breakpoints.md` is the '768px' const). */
|
|
17
21
|
export declare const BREAKPOINT_TOKENS_BY_PX: Record<number, string>;
|
|
@@ -51,7 +55,8 @@ export declare const BORDER_WIDTH_PROPERTIES: Set<string>;
|
|
|
51
55
|
export declare const BORDER_SHORTHAND_PROPERTIES: Set<string>;
|
|
52
56
|
/**
|
|
53
57
|
* px value → every sizes token at that value, in key order. A list, because
|
|
54
|
-
* several tokens share a value (44, 28, 40, 18, 8, 36, 16, 24,
|
|
58
|
+
* several tokens share a value (44, 28, 40, 18, 8, 36, 16, 24, 96, 160, 200,
|
|
59
|
+
* 240, 280, 320, 480).
|
|
55
60
|
*/
|
|
56
61
|
export declare const SIZE_TOKENS_BY_PX: Record<number, string[]>;
|
|
57
62
|
/** px value → every borders token at that value, in key order. */
|
|
@@ -62,4 +67,8 @@ export declare const BORDER_WIDTH_TOKENS: string[];
|
|
|
62
67
|
export declare const OUTLINE_WIDTH_TOKENS: string[];
|
|
63
68
|
/** Borders tokens `outlineOffset` may use. */
|
|
64
69
|
export declare const OUTLINE_OFFSET_TOKENS: string[];
|
|
70
|
+
/** z-index value → layers token (unitless). */
|
|
71
|
+
export declare const LAYERS_BY_VALUE: Record<number, string>;
|
|
72
|
+
/** Effect value (whitespace-normalized) → effects token. */
|
|
73
|
+
export declare const EFFECTS_BY_VALUE: Record<string, string>;
|
|
65
74
|
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":"AAKA,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":"AAKA,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8DnD,CAAA;AAED,qCAAqC;AACrC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASvD,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM7D,CAAA;AAED,oCAAoC;AACpC,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOrD,CAAA;AAED;;;;;;;GAOG;AACH,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,UAA2C,CAAA;AAE9E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+E/C,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM1D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAUlF,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKrD,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMhD,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQxD,CAAA;AAED,2DAA2D;AAC3D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAA;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE1D,CAAA;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,aA0B7B,CAAA;AAEF,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,aAU3B,CAAA;AAEF,6DAA6D;AAC7D,eAAO,MAAM,eAAe,aAc1B,CAAA;AAEF,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,aAclC,CAAA;AAEF,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,aAatC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAiDtD,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAIxD,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,UAAmC,CAAA;AACnE,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,UAAgB,CAAA;AACjD,8CAA8C;AAC9C,eAAO,MAAM,qBAAqB,UAAmC,CAAA;AAErE,+CAA+C;AAC/C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUlD,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAA"}
|
package/dist/util/tokens.js
CHANGED
|
@@ -10,6 +10,8 @@ export const TOKEN_DEEP_PATHS = {
|
|
|
10
10
|
microSpacing: 'tokens/spacing.css',
|
|
11
11
|
sizes: 'tokens/sizes.css',
|
|
12
12
|
borders: 'tokens/borders.css',
|
|
13
|
+
layers: 'tokens/layers.css',
|
|
14
|
+
effects: 'tokens/effects.css',
|
|
13
15
|
layoutSpacing: 'tokens/layout-spacing.css',
|
|
14
16
|
typography: 'tokens/typography.css',
|
|
15
17
|
typeScale: 'tokens/typography.css',
|
|
@@ -39,6 +41,12 @@ export const TOKEN_DEEP_PATHS = {
|
|
|
39
41
|
BORDER_KEYS: 'keys',
|
|
40
42
|
BORDERS_PX: 'keys',
|
|
41
43
|
BorderToken: 'keys',
|
|
44
|
+
LAYER_KEYS: 'keys',
|
|
45
|
+
LAYERS: 'keys',
|
|
46
|
+
LayerToken: 'keys',
|
|
47
|
+
EFFECT_KEYS: 'keys',
|
|
48
|
+
EFFECTS: 'keys',
|
|
49
|
+
EffectToken: 'keys',
|
|
42
50
|
SHADOW_KEYS: 'keys',
|
|
43
51
|
ShadowToken: 'keys',
|
|
44
52
|
DURATION_MS: 'keys',
|
|
@@ -91,7 +99,11 @@ export const RADII_TOKENS_BY_PX = {
|
|
|
91
99
|
* light, and high-contrast palettes in that order, first entry wins — so a hex
|
|
92
100
|
* shared across tokens/themes suggests the token it most likely stands for
|
|
93
101
|
* (e.g. #6aaffc is both `accent` and `info` in the dark palette → `accent`).
|
|
102
|
+
* `contrastSurface` / `onContrastSurface` are another theme's colours, so they
|
|
103
|
+
* go last (CONTRAST_MIRROR_TOKENS): `#f5f5f5` stays `bgCard`.
|
|
94
104
|
*/
|
|
105
|
+
/** Colour tokens whose values mirror another theme's; listed after the rest. */
|
|
106
|
+
export const CONTRAST_MIRROR_TOKENS = ['contrastSurface', 'onContrastSurface'];
|
|
95
107
|
export const COLOR_TOKENS = {
|
|
96
108
|
'#0f0f0f': 'bg',
|
|
97
109
|
'#1a1a1a': 'bgCard',
|
|
@@ -116,12 +128,18 @@ export const COLOR_TOKENS = {
|
|
|
116
128
|
'#fde68a': 'warningText',
|
|
117
129
|
'rgba(106, 175, 252, 0.1)': 'infoBg',
|
|
118
130
|
'rgba(106, 175, 252, 0.3)': 'infoBorder',
|
|
131
|
+
'#c084fc': 'highlight',
|
|
132
|
+
'rgba(192, 132, 252, 0.1)': 'highlightBg',
|
|
133
|
+
'rgba(192, 132, 252, 0.3)': 'highlightBorder',
|
|
134
|
+
'#d8b4fe': 'highlightText',
|
|
119
135
|
'rgba(0, 0, 0, 0.4)': 'scrim',
|
|
120
136
|
'rgba(0, 0, 0, 0.10)': 'inverseFill',
|
|
121
137
|
'rgba(0, 0, 0, 0.18)': 'inverseFillHover',
|
|
122
138
|
'rgba(0, 0, 0, 0.55)': 'inverseBorder',
|
|
123
139
|
'rgba(0, 0, 0, 0.70)': 'inverseBorderHover',
|
|
124
140
|
'#ffffff': 'fixedLight',
|
|
141
|
+
'rgba(255, 255, 255, 0.78)': 'overlayLight',
|
|
142
|
+
'rgba(0, 0, 0, 0.42)': 'contrastBorder',
|
|
125
143
|
'#f5f5f5': 'bgCard',
|
|
126
144
|
'#ebebeb': 'bgCardHover',
|
|
127
145
|
'#4a4a4a': 'textMuted',
|
|
@@ -142,6 +160,11 @@ export const COLOR_TOKENS = {
|
|
|
142
160
|
'#78350f': 'warningText',
|
|
143
161
|
'rgba(30, 64, 175, 0.08)': 'infoBg',
|
|
144
162
|
'rgba(30, 64, 175, 0.3)': 'infoBorder',
|
|
163
|
+
'#6b21a8': 'highlight',
|
|
164
|
+
'rgba(107, 33, 168, 0.08)': 'highlightBg',
|
|
165
|
+
'rgba(107, 33, 168, 0.3)': 'highlightBorder',
|
|
166
|
+
'#581c87': 'highlightText',
|
|
167
|
+
'rgba(255, 255, 255, 0.33)': 'contrastBorder',
|
|
145
168
|
'#111111': 'bgCard',
|
|
146
169
|
'#60a5fa': 'accent',
|
|
147
170
|
'#555555': 'border',
|
|
@@ -157,6 +180,9 @@ export const COLOR_TOKENS = {
|
|
|
157
180
|
'rgba(96, 165, 250, 0.15)': 'infoBg',
|
|
158
181
|
'rgba(96, 165, 250, 0.5)': 'infoBorder',
|
|
159
182
|
'#bfdbfe': 'infoText',
|
|
183
|
+
'rgba(216, 180, 254, 0.15)': 'highlightBg',
|
|
184
|
+
'rgba(216, 180, 254, 0.5)': 'highlightBorder',
|
|
185
|
+
'#e9d5ff': 'highlightText',
|
|
160
186
|
};
|
|
161
187
|
/** px value → breakpoint token name (`breakpoints.md` is the '768px' const). */
|
|
162
188
|
export const BREAKPOINT_TOKENS_BY_PX = {
|
|
@@ -195,6 +221,8 @@ export const SHADOW_TOKENS = {
|
|
|
195
221
|
'02px4pxrgba(0,0,0,0.3)': 'sm',
|
|
196
222
|
'04px12pxrgba(0,0,0,0.4)': 'md',
|
|
197
223
|
'08px24pxrgba(0,0,0,0.5)': 'lg',
|
|
224
|
+
'inset0001px#333333': 'dropReady',
|
|
225
|
+
'inset0002px#6aaffc': 'dropOver',
|
|
198
226
|
};
|
|
199
227
|
/** ms value → duration token. */
|
|
200
228
|
export const DURATION_TOKENS_BY_MS = {
|
|
@@ -317,44 +345,58 @@ export const BORDER_SHORTHAND_PROPERTIES = new Set([
|
|
|
317
345
|
]);
|
|
318
346
|
/**
|
|
319
347
|
* px value → every sizes token at that value, in key order. A list, because
|
|
320
|
-
* several tokens share a value (44, 28, 40, 18, 8, 36, 16, 24,
|
|
348
|
+
* several tokens share a value (44, 28, 40, 18, 8, 36, 16, 24, 96, 160, 200,
|
|
349
|
+
* 240, 280, 320, 480).
|
|
321
350
|
*/
|
|
322
351
|
export const SIZE_TOKENS_BY_PX = {
|
|
323
352
|
44: ['touchTarget', 'swatchW'],
|
|
324
353
|
28: ['controlSm', 'iconButtonSm'],
|
|
325
354
|
39: ['controlMd'],
|
|
326
|
-
40: ['controlLg', 'spinnerLg'],
|
|
355
|
+
40: ['controlLg', 'spinnerLg', 'readoutW'],
|
|
327
356
|
18: ['indicator', 'iconMd', 'navMarkerH'],
|
|
328
357
|
8: ['indicatorDot', 'scrollbar'],
|
|
329
358
|
5: ['checkMarkW'],
|
|
330
359
|
9: ['checkMarkH'],
|
|
331
|
-
36: ['switchTrackW', 'iconXl'],
|
|
332
|
-
20: ['switchTrackH'],
|
|
333
|
-
16: ['switchThumb', 'spinnerSm', 'glyphMd', 'iconSm'],
|
|
360
|
+
36: ['switchTrackW', 'iconXl', 'toolbarH'],
|
|
361
|
+
20: ['switchTrackH', 'colorSwatch'],
|
|
362
|
+
16: ['switchThumb', 'spinnerSm', 'glyphMd', 'iconSm', 'handle'],
|
|
334
363
|
32: ['iconButton', 'edgeFade'],
|
|
335
|
-
24: ['spinnerMd', 'iconLg'],
|
|
364
|
+
24: ['spinnerMd', 'iconLg', 'chip'],
|
|
336
365
|
10: ['glyphXs'],
|
|
337
|
-
12: ['glyphSm'],
|
|
366
|
+
12: ['glyphSm', 'colorTrackH'],
|
|
338
367
|
48: ['iconXxl'],
|
|
339
368
|
3: ['navMarkerW'],
|
|
340
369
|
1: ['divider'],
|
|
341
370
|
2: ['tabIndicator'],
|
|
342
371
|
34: ['swatchH'],
|
|
343
372
|
120: ['labelMinW'],
|
|
344
|
-
160: ['popupMinW'],
|
|
345
|
-
280: ['listMaxH', 'gridColMd'],
|
|
346
|
-
200: ['listMaxHSm'],
|
|
373
|
+
160: ['popupMinW', 'fieldMinW', 'editorMinH'],
|
|
374
|
+
280: ['listMaxH', 'gridColMd', 'popupMaxW'],
|
|
375
|
+
200: ['listMaxHSm', 'gridColXs'],
|
|
347
376
|
400: ['dialogSm'],
|
|
348
377
|
520: ['dialogMd'],
|
|
349
378
|
680: ['dialogLg'],
|
|
350
379
|
360: ['panelSm'],
|
|
351
|
-
480: ['panelMd'],
|
|
380
|
+
480: ['panelMd', 'pageXs', 'canvasMinH'],
|
|
352
381
|
640: ['panelLg'],
|
|
353
382
|
440: ['toastMaxW'],
|
|
354
|
-
240: ['gridColSm'],
|
|
383
|
+
240: ['gridColSm', 'sidebarW', 'popoverWSm'],
|
|
355
384
|
600: ['pageSm'],
|
|
356
385
|
800: ['pageMd'],
|
|
357
386
|
1200: ['pageLg'],
|
|
387
|
+
1440: ['pageXl'],
|
|
388
|
+
320: ['asideW', 'popoverW', 'previewMaxH'],
|
|
389
|
+
80: ['fieldMinWSm', 'placeholderMinH'],
|
|
390
|
+
6: ['meterH'],
|
|
391
|
+
96: ['skeletonChipW', 'sliderW', 'paletteMinW', 'deviceBarW'],
|
|
392
|
+
128: ['dropZoneMinH'],
|
|
393
|
+
550: ['embedW'],
|
|
394
|
+
196: ['colorPickerW'],
|
|
395
|
+
150: ['colorAreaH'],
|
|
396
|
+
22: ['colorPreviewH'],
|
|
397
|
+
4: ['barH'],
|
|
398
|
+
64: ['timeGutterW'],
|
|
399
|
+
46: ['dayHeaderH'],
|
|
358
400
|
};
|
|
359
401
|
/** px value → every borders token at that value, in key order. */
|
|
360
402
|
export const BORDER_TOKENS_BY_PX = {
|
|
@@ -368,4 +410,20 @@ export const BORDER_WIDTH_TOKENS = ['hairline', 'strong', 'accent'];
|
|
|
368
410
|
export const OUTLINE_WIDTH_TOKENS = ['focusRing'];
|
|
369
411
|
/** Borders tokens `outlineOffset` may use. */
|
|
370
412
|
export const OUTLINE_OFFSET_TOKENS = ['focusOffset', 'focusOffsetSm'];
|
|
413
|
+
/** z-index value → layers token (unitless). */
|
|
414
|
+
export const LAYERS_BY_VALUE = {
|
|
415
|
+
1: 'raised',
|
|
416
|
+
50: 'floating',
|
|
417
|
+
1000: 'overlay',
|
|
418
|
+
1001: 'modal',
|
|
419
|
+
1040: 'popover',
|
|
420
|
+
1049: 'popupBackdrop',
|
|
421
|
+
1050: 'popup',
|
|
422
|
+
1060: 'toast',
|
|
423
|
+
1100: 'portal',
|
|
424
|
+
};
|
|
425
|
+
/** Effect value (whitespace-normalized) → effects token. */
|
|
426
|
+
export const EFFECTS_BY_VALUE = {
|
|
427
|
+
'blur(2px)': 'overlayBlur',
|
|
428
|
+
};
|
|
371
429
|
//# sourceMappingURL=tokens.js.map
|
package/dist/util/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mEAAmE;AACnE,sEAAsE;AACtE,+EAA+E;AAE/E,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,oBAAoB;IAC3B,YAAY,EAAE,oBAAoB;IAClC,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,oBAAoB;IAC7B,aAAa,EAAE,2BAA2B;IAC1C,UAAU,EAAE,uBAAuB;IACnC,SAAS,EAAE,uBAAuB;IAClC,WAAW,EAAE,yBAAyB;IACtC,OAAO,EAAE,oBAAoB;IAC7B,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,mBAAmB;IAC3B,WAAW,EAAE,wBAAwB;IACrC,aAAa,EAAE,wBAAwB;IACvC,UAAU,EAAE,wBAAwB;IACpC,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,kBAAkB;IAChC,iBAAiB,EAAE,0BAA0B;IAC7C,mBAAmB,EAAE,0BAA0B;IAC/C,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,MAAM;IACzB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,MAAM;IACrB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,YAAY,EAAE,MAAM;IACpB,wBAAwB,EAAE,MAAM;IAChC,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,kBAAkB,EAAE,KAAK;CAC1B,CAAA;AAED,qCAAqC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,MAAM;CACX,CAAA;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;CACT,CAAA;AAED,oCAAoC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;CACb,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/util/tokens.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duro-app/eslint-plugin",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "ESLint rules enforcing the Duro design system conventions: react-strict-dom html.* elements, deep token imports, token values over raw px/hex, and no deprecated Table parts.",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@typescript-eslint/utils": "^8.0.0",
|
|
49
49
|
"eslint": "^9.20.0",
|
|
50
50
|
"typescript": "^5.7.0",
|
|
51
|
-
"@duro-app/tokens": "^5.
|
|
51
|
+
"@duro-app/tokens": "^5.3.0"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "tsc -p tsconfig.build.json",
|