@cassida/compiler 0.1.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/LICENSE +21 -0
- package/config.schema.json +88 -0
- package/dist/canonicalizer.d.ts +42 -0
- package/dist/canonicalizer.d.ts.map +1 -0
- package/dist/canonicalizer.js +185 -0
- package/dist/canonicalizer.js.map +1 -0
- package/dist/compile.d.ts +46 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +84 -0
- package/dist/compile.js.map +1 -0
- package/dist/config.d.ts +182 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +150 -0
- package/dist/config.js.map +1 -0
- package/dist/emitter.d.ts +44 -0
- package/dist/emitter.d.ts.map +1 -0
- package/dist/emitter.js +189 -0
- package/dist/emitter.js.map +1 -0
- package/dist/generated-property-specs.d.ts +3193 -0
- package/dist/generated-property-specs.d.ts.map +1 -0
- package/dist/generated-property-specs.js +472 -0
- package/dist/generated-property-specs.js.map +1 -0
- package/dist/hasher.d.ts +8 -0
- package/dist/hasher.d.ts.map +1 -0
- package/dist/hasher.js +10 -0
- package/dist/hasher.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/modifier-spec.d.ts +104 -0
- package/dist/modifier-spec.d.ts.map +1 -0
- package/dist/modifier-spec.js +52 -0
- package/dist/modifier-spec.js.map +1 -0
- package/dist/plugin.d.ts +66 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +65 -0
- package/dist/plugin.js.map +1 -0
- package/dist/property-spec.d.ts +321 -0
- package/dist/property-spec.d.ts.map +1 -0
- package/dist/property-spec.js +382 -0
- package/dist/property-spec.js.map +1 -0
- package/dist/registry.d.ts +71 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +123 -0
- package/dist/registry.js.map +1 -0
- package/dist/types.d.ts +135 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +28 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +6 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +6 -0
- package/dist/util.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import type * as CSS from 'csstype';
|
|
2
|
+
/** Length-typed input: number (becomes `{n}{unit}`, default `px`) or any CSS string (`'auto'`, `'100%'`, `'10em'`). */
|
|
3
|
+
type LenArg = number | (string & {});
|
|
4
|
+
export declare const canonicalSpec: {
|
|
5
|
+
readonly color: {
|
|
6
|
+
readonly property: "color";
|
|
7
|
+
readonly syntax: "<color>";
|
|
8
|
+
readonly initialValue: "transparent";
|
|
9
|
+
readonly animatable: true;
|
|
10
|
+
readonly format: (v: CSS.Property.Color) => string;
|
|
11
|
+
};
|
|
12
|
+
readonly backgroundColor: {
|
|
13
|
+
readonly property: "background-color";
|
|
14
|
+
readonly syntax: "<color>";
|
|
15
|
+
readonly initialValue: "transparent";
|
|
16
|
+
readonly animatable: true;
|
|
17
|
+
readonly format: (v: CSS.Property.BackgroundColor) => string;
|
|
18
|
+
};
|
|
19
|
+
readonly borderColor: {
|
|
20
|
+
readonly property: "border-color";
|
|
21
|
+
readonly syntax: "<color>";
|
|
22
|
+
readonly initialValue: "transparent";
|
|
23
|
+
readonly animatable: true;
|
|
24
|
+
readonly format: (v: CSS.Property.BorderColor) => string;
|
|
25
|
+
};
|
|
26
|
+
readonly margin: {
|
|
27
|
+
readonly property: "margin";
|
|
28
|
+
readonly syntax: "<length>";
|
|
29
|
+
readonly initialValue: "0";
|
|
30
|
+
readonly animatable: true;
|
|
31
|
+
readonly shorthandFamily: "margin";
|
|
32
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
33
|
+
};
|
|
34
|
+
readonly marginTop: {
|
|
35
|
+
readonly property: "margin-top";
|
|
36
|
+
readonly syntax: "<length>";
|
|
37
|
+
readonly initialValue: "0";
|
|
38
|
+
readonly animatable: true;
|
|
39
|
+
readonly longhandFamily: "margin";
|
|
40
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
41
|
+
};
|
|
42
|
+
readonly marginRight: {
|
|
43
|
+
readonly property: "margin-right";
|
|
44
|
+
readonly syntax: "<length>";
|
|
45
|
+
readonly initialValue: "0";
|
|
46
|
+
readonly animatable: true;
|
|
47
|
+
readonly longhandFamily: "margin";
|
|
48
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
49
|
+
};
|
|
50
|
+
readonly marginBottom: {
|
|
51
|
+
readonly property: "margin-bottom";
|
|
52
|
+
readonly syntax: "<length>";
|
|
53
|
+
readonly initialValue: "0";
|
|
54
|
+
readonly animatable: true;
|
|
55
|
+
readonly longhandFamily: "margin";
|
|
56
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
57
|
+
};
|
|
58
|
+
readonly marginLeft: {
|
|
59
|
+
readonly property: "margin-left";
|
|
60
|
+
readonly syntax: "<length>";
|
|
61
|
+
readonly initialValue: "0";
|
|
62
|
+
readonly animatable: true;
|
|
63
|
+
readonly longhandFamily: "margin";
|
|
64
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
65
|
+
};
|
|
66
|
+
readonly padding: {
|
|
67
|
+
readonly property: "padding";
|
|
68
|
+
readonly syntax: "<length>";
|
|
69
|
+
readonly initialValue: "0";
|
|
70
|
+
readonly animatable: true;
|
|
71
|
+
readonly shorthandFamily: "padding";
|
|
72
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
73
|
+
};
|
|
74
|
+
readonly paddingTop: {
|
|
75
|
+
readonly property: "padding-top";
|
|
76
|
+
readonly syntax: "<length>";
|
|
77
|
+
readonly initialValue: "0";
|
|
78
|
+
readonly animatable: true;
|
|
79
|
+
readonly longhandFamily: "padding";
|
|
80
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
81
|
+
};
|
|
82
|
+
readonly paddingRight: {
|
|
83
|
+
readonly property: "padding-right";
|
|
84
|
+
readonly syntax: "<length>";
|
|
85
|
+
readonly initialValue: "0";
|
|
86
|
+
readonly animatable: true;
|
|
87
|
+
readonly longhandFamily: "padding";
|
|
88
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
89
|
+
};
|
|
90
|
+
readonly paddingBottom: {
|
|
91
|
+
readonly property: "padding-bottom";
|
|
92
|
+
readonly syntax: "<length>";
|
|
93
|
+
readonly initialValue: "0";
|
|
94
|
+
readonly animatable: true;
|
|
95
|
+
readonly longhandFamily: "padding";
|
|
96
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
97
|
+
};
|
|
98
|
+
readonly paddingLeft: {
|
|
99
|
+
readonly property: "padding-left";
|
|
100
|
+
readonly syntax: "<length>";
|
|
101
|
+
readonly initialValue: "0";
|
|
102
|
+
readonly animatable: true;
|
|
103
|
+
readonly longhandFamily: "padding";
|
|
104
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
105
|
+
};
|
|
106
|
+
readonly width: {
|
|
107
|
+
readonly property: "width";
|
|
108
|
+
readonly syntax: "<length>";
|
|
109
|
+
readonly initialValue: "0";
|
|
110
|
+
readonly animatable: true;
|
|
111
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
112
|
+
};
|
|
113
|
+
readonly height: {
|
|
114
|
+
readonly property: "height";
|
|
115
|
+
readonly syntax: "<length>";
|
|
116
|
+
readonly initialValue: "0";
|
|
117
|
+
readonly animatable: true;
|
|
118
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
119
|
+
};
|
|
120
|
+
readonly minWidth: {
|
|
121
|
+
readonly property: "min-width";
|
|
122
|
+
readonly syntax: "<length>";
|
|
123
|
+
readonly initialValue: "0";
|
|
124
|
+
readonly animatable: true;
|
|
125
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
126
|
+
};
|
|
127
|
+
readonly minHeight: {
|
|
128
|
+
readonly property: "min-height";
|
|
129
|
+
readonly syntax: "<length>";
|
|
130
|
+
readonly initialValue: "0";
|
|
131
|
+
readonly animatable: true;
|
|
132
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
133
|
+
};
|
|
134
|
+
readonly maxWidth: {
|
|
135
|
+
readonly property: "max-width";
|
|
136
|
+
readonly syntax: "<length>";
|
|
137
|
+
readonly initialValue: "0";
|
|
138
|
+
readonly animatable: true;
|
|
139
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
140
|
+
};
|
|
141
|
+
readonly maxHeight: {
|
|
142
|
+
readonly property: "max-height";
|
|
143
|
+
readonly syntax: "<length>";
|
|
144
|
+
readonly initialValue: "0";
|
|
145
|
+
readonly animatable: true;
|
|
146
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
147
|
+
};
|
|
148
|
+
readonly fontFamily: {
|
|
149
|
+
readonly property: "font-family";
|
|
150
|
+
readonly animatable: false;
|
|
151
|
+
readonly format: (v: CSS.Property.FontFamily) => string;
|
|
152
|
+
};
|
|
153
|
+
readonly fontSize: {
|
|
154
|
+
readonly property: "font-size";
|
|
155
|
+
readonly syntax: "<length>";
|
|
156
|
+
readonly initialValue: "0";
|
|
157
|
+
readonly animatable: true;
|
|
158
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
159
|
+
};
|
|
160
|
+
readonly fontWeight: {
|
|
161
|
+
readonly property: "font-weight";
|
|
162
|
+
readonly syntax: "<number>";
|
|
163
|
+
readonly initialValue: "400";
|
|
164
|
+
readonly animatable: true;
|
|
165
|
+
readonly format: (v: CSS.Property.FontWeight) => string;
|
|
166
|
+
};
|
|
167
|
+
readonly lineHeight: {
|
|
168
|
+
readonly property: "line-height";
|
|
169
|
+
readonly syntax: "<number>";
|
|
170
|
+
readonly initialValue: "1";
|
|
171
|
+
readonly animatable: true;
|
|
172
|
+
readonly format: (v: CSS.Property.LineHeight<LenArg>) => string;
|
|
173
|
+
};
|
|
174
|
+
readonly textAlign: {
|
|
175
|
+
readonly property: "text-align";
|
|
176
|
+
readonly animatable: false;
|
|
177
|
+
readonly format: (v: CSS.Property.TextAlign) => string;
|
|
178
|
+
};
|
|
179
|
+
readonly display: {
|
|
180
|
+
readonly property: "display";
|
|
181
|
+
readonly animatable: false;
|
|
182
|
+
readonly format: (v: CSS.Property.Display) => string;
|
|
183
|
+
};
|
|
184
|
+
readonly position: {
|
|
185
|
+
readonly property: "position";
|
|
186
|
+
readonly animatable: false;
|
|
187
|
+
readonly format: (v: CSS.Property.Position) => string;
|
|
188
|
+
};
|
|
189
|
+
readonly inset: {
|
|
190
|
+
readonly property: "inset";
|
|
191
|
+
readonly syntax: "<length>";
|
|
192
|
+
readonly initialValue: "0";
|
|
193
|
+
readonly animatable: true;
|
|
194
|
+
readonly shorthandFamily: "inset";
|
|
195
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
196
|
+
};
|
|
197
|
+
readonly top: {
|
|
198
|
+
readonly property: "top";
|
|
199
|
+
readonly syntax: "<length>";
|
|
200
|
+
readonly initialValue: "0";
|
|
201
|
+
readonly animatable: true;
|
|
202
|
+
readonly longhandFamily: "inset";
|
|
203
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
204
|
+
};
|
|
205
|
+
readonly right: {
|
|
206
|
+
readonly property: "right";
|
|
207
|
+
readonly syntax: "<length>";
|
|
208
|
+
readonly initialValue: "0";
|
|
209
|
+
readonly animatable: true;
|
|
210
|
+
readonly longhandFamily: "inset";
|
|
211
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
212
|
+
};
|
|
213
|
+
readonly bottom: {
|
|
214
|
+
readonly property: "bottom";
|
|
215
|
+
readonly syntax: "<length>";
|
|
216
|
+
readonly initialValue: "0";
|
|
217
|
+
readonly animatable: true;
|
|
218
|
+
readonly longhandFamily: "inset";
|
|
219
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
220
|
+
};
|
|
221
|
+
readonly left: {
|
|
222
|
+
readonly property: "left";
|
|
223
|
+
readonly syntax: "<length>";
|
|
224
|
+
readonly initialValue: "0";
|
|
225
|
+
readonly animatable: true;
|
|
226
|
+
readonly longhandFamily: "inset";
|
|
227
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
228
|
+
};
|
|
229
|
+
readonly zIndex: {
|
|
230
|
+
readonly property: "z-index";
|
|
231
|
+
readonly syntax: "<integer>";
|
|
232
|
+
readonly initialValue: "0";
|
|
233
|
+
readonly animatable: true;
|
|
234
|
+
readonly format: (v: CSS.Property.ZIndex) => string;
|
|
235
|
+
};
|
|
236
|
+
readonly flexDirection: {
|
|
237
|
+
readonly property: "flex-direction";
|
|
238
|
+
readonly animatable: false;
|
|
239
|
+
readonly format: (v: CSS.Property.FlexDirection) => string;
|
|
240
|
+
};
|
|
241
|
+
readonly justifyContent: {
|
|
242
|
+
readonly property: "justify-content";
|
|
243
|
+
readonly animatable: false;
|
|
244
|
+
readonly format: (v: CSS.Property.JustifyContent) => string;
|
|
245
|
+
};
|
|
246
|
+
readonly alignItems: {
|
|
247
|
+
readonly property: "align-items";
|
|
248
|
+
readonly animatable: false;
|
|
249
|
+
readonly format: (v: CSS.Property.AlignItems) => string;
|
|
250
|
+
};
|
|
251
|
+
readonly gap: {
|
|
252
|
+
readonly property: "gap";
|
|
253
|
+
readonly syntax: "<length>";
|
|
254
|
+
readonly initialValue: "0";
|
|
255
|
+
readonly animatable: true;
|
|
256
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
257
|
+
};
|
|
258
|
+
readonly borderRadius: {
|
|
259
|
+
readonly property: "border-radius";
|
|
260
|
+
readonly syntax: "<length>";
|
|
261
|
+
readonly initialValue: "0";
|
|
262
|
+
readonly animatable: true;
|
|
263
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
264
|
+
};
|
|
265
|
+
readonly borderWidth: {
|
|
266
|
+
readonly property: "border-width";
|
|
267
|
+
readonly syntax: "<length>";
|
|
268
|
+
readonly initialValue: "0";
|
|
269
|
+
readonly animatable: true;
|
|
270
|
+
readonly format: (n: LenArg, unit?: string) => string;
|
|
271
|
+
};
|
|
272
|
+
readonly borderStyle: {
|
|
273
|
+
readonly property: "border-style";
|
|
274
|
+
readonly animatable: false;
|
|
275
|
+
readonly format: (v: CSS.Property.BorderStyle) => string;
|
|
276
|
+
};
|
|
277
|
+
readonly opacity: {
|
|
278
|
+
readonly property: "opacity";
|
|
279
|
+
readonly syntax: "<number>";
|
|
280
|
+
readonly initialValue: "1";
|
|
281
|
+
readonly animatable: true;
|
|
282
|
+
readonly format: (v: CSS.Property.Opacity) => string;
|
|
283
|
+
};
|
|
284
|
+
readonly cursor: {
|
|
285
|
+
readonly property: "cursor";
|
|
286
|
+
readonly animatable: false;
|
|
287
|
+
readonly format: (v: CSS.Property.Cursor) => string;
|
|
288
|
+
};
|
|
289
|
+
readonly animation: {
|
|
290
|
+
readonly property: "animation";
|
|
291
|
+
readonly animatable: false;
|
|
292
|
+
readonly format: (v: CSS.Property.Animation) => string;
|
|
293
|
+
};
|
|
294
|
+
readonly transition: {
|
|
295
|
+
readonly property: "transition";
|
|
296
|
+
readonly animatable: false;
|
|
297
|
+
readonly format: (v: CSS.Property.Transition) => string;
|
|
298
|
+
};
|
|
299
|
+
readonly transform: {
|
|
300
|
+
readonly property: "transform";
|
|
301
|
+
readonly syntax: "<transform-list>";
|
|
302
|
+
readonly initialValue: "none";
|
|
303
|
+
readonly animatable: true;
|
|
304
|
+
readonly format: (v: CSS.Property.Transform) => string;
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
export type CanonicalSpec = typeof canonicalSpec;
|
|
308
|
+
export type CanonicalMethodName = keyof CanonicalSpec;
|
|
309
|
+
/**
|
|
310
|
+
* CSS-property → metadata reverse lookup, derived from the spec.
|
|
311
|
+
* The emitter consults this when a `CompiledRule.dynamics` slot needs
|
|
312
|
+
* an `@property` declaration.
|
|
313
|
+
*/
|
|
314
|
+
export interface PropertyMeta {
|
|
315
|
+
readonly syntax: string | undefined;
|
|
316
|
+
readonly initialValue: string | undefined;
|
|
317
|
+
readonly animatable: boolean;
|
|
318
|
+
}
|
|
319
|
+
export declare const defaultPropertyMeta: Readonly<Record<string, PropertyMeta>>;
|
|
320
|
+
export {};
|
|
321
|
+
//# sourceMappingURL=property-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-spec.d.ts","sourceRoot":"","sources":["../src/property-spec.ts"],"names":[],"mappings":"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"}
|