nuclo 0.1.128 → 0.2.1
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/dist/core/runtimeBootstrap.d.ts.map +1 -1
- package/dist/nuclo.cjs +1 -1
- package/dist/nuclo.cjs.map +1 -1
- package/dist/nuclo.mjs +1 -1
- package/dist/nuclo.mjs.map +1 -1
- package/dist/nuclo.umd.js +1 -1
- package/dist/nuclo.umd.js.map +1 -1
- package/dist/polyfill/nuclo.polyfill.cjs +1 -1
- package/dist/polyfill/nuclo.polyfill.cjs.map +1 -1
- package/dist/polyfill/nuclo.polyfill.mjs +1 -1
- package/dist/polyfill/nuclo.polyfill.mjs.map +1 -1
- package/dist/ssr/index.d.ts +1 -1
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/nuclo.ssr.cjs +1 -1
- package/dist/ssr/nuclo.ssr.cjs.map +1 -1
- package/dist/ssr/nuclo.ssr.mjs +1 -1
- package/dist/ssr/nuclo.ssr.mjs.map +1 -1
- package/dist/style/css.d.ts +314 -0
- package/dist/style/css.d.ts.map +1 -0
- package/dist/style/engine.d.ts +34 -0
- package/dist/style/engine.d.ts.map +1 -0
- package/dist/style/index.d.ts +2 -4
- package/dist/style/index.d.ts.map +1 -1
- package/package.json +5 -5
- package/types/features/style.d.ts +61 -1954
- package/dist/environment-UucRvjm0.mjs +0 -2
- package/dist/environment-UucRvjm0.mjs.map +0 -1
- package/dist/environment-z8pVZwev.cjs +0 -2
- package/dist/environment-z8pVZwev.cjs.map +0 -1
- package/dist/style/cssGenerator.d.ts +0 -13
- package/dist/style/cssGenerator.d.ts.map +0 -1
- package/dist/style/cssPropertyTypes.d.ts +0 -98
- package/dist/style/cssPropertyTypes.d.ts.map +0 -1
- package/dist/style/styleBuilder.d.ts +0 -337
- package/dist/style/styleBuilder.d.ts.map +0 -1
- package/dist/style/styleCache.d.ts +0 -5
- package/dist/style/styleCache.d.ts.map +0 -1
- package/dist/style/styleProperties.d.ts +0 -13
- package/dist/style/styleProperties.d.ts.map +0 -1
- package/dist/style/styleQueries.d.ts +0 -25
- package/dist/style/styleQueries.d.ts.map +0 -1
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
type Loose<T extends string> = T | (string & {});
|
|
2
|
+
/** Length values: numbers become px (except unitless properties), strings pass through. */
|
|
3
|
+
export type Size = number | (string & {});
|
|
4
|
+
type Display = Loose<"block" | "inline" | "inline-block" | "flex" | "inline-flex" | "grid" | "inline-grid" | "none" | "contents" | "flow-root" | "table" | "table-cell" | "list-item">;
|
|
5
|
+
type Position = Loose<"static" | "relative" | "absolute" | "fixed" | "sticky">;
|
|
6
|
+
type Overflow = Loose<"visible" | "hidden" | "clip" | "scroll" | "auto">;
|
|
7
|
+
type TextAlign = Loose<"left" | "right" | "center" | "justify" | "start" | "end">;
|
|
8
|
+
type FontWeight = number | Loose<"normal" | "bold" | "lighter" | "bolder" | "400" | "500" | "600" | "700">;
|
|
9
|
+
type AlignItems = Loose<"stretch" | "center" | "start" | "end" | "flex-start" | "flex-end" | "baseline">;
|
|
10
|
+
type JustifyContent = Loose<"center" | "start" | "end" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | "stretch">;
|
|
11
|
+
type FlexDirection = Loose<"row" | "row-reverse" | "column" | "column-reverse">;
|
|
12
|
+
type FlexWrap = Loose<"nowrap" | "wrap" | "wrap-reverse">;
|
|
13
|
+
type BorderStyle = Loose<"none" | "solid" | "dashed" | "dotted" | "double" | "hidden">;
|
|
14
|
+
type Cursor = Loose<"auto" | "default" | "pointer" | "grab" | "grabbing" | "text" | "move" | "not-allowed" | "wait" | "crosshair" | "zoom-in" | "zoom-out">;
|
|
15
|
+
type ObjectFit = Loose<"fill" | "contain" | "cover" | "none" | "scale-down">;
|
|
16
|
+
type UserSelect = Loose<"none" | "auto" | "text" | "all" | "contain">;
|
|
17
|
+
type PointerEvents = Loose<"auto" | "none">;
|
|
18
|
+
type WhiteSpace = Loose<"normal" | "nowrap" | "pre" | "pre-wrap" | "pre-line" | "break-spaces">;
|
|
19
|
+
type TextTransform = Loose<"none" | "capitalize" | "uppercase" | "lowercase">;
|
|
20
|
+
type BoxSizing = Loose<"border-box" | "content-box">;
|
|
21
|
+
type Visibility = Loose<"visible" | "hidden" | "collapse">;
|
|
22
|
+
/**
|
|
23
|
+
* Plain CSS properties (camelCase, converted to kebab-case at runtime).
|
|
24
|
+
* Color/font/shadow/radius properties live in TokenProps so they pick up theme tokens.
|
|
25
|
+
*/
|
|
26
|
+
export interface CSSProperties {
|
|
27
|
+
display?: Display;
|
|
28
|
+
position?: Position;
|
|
29
|
+
inset?: Size;
|
|
30
|
+
top?: Size;
|
|
31
|
+
right?: Size;
|
|
32
|
+
bottom?: Size;
|
|
33
|
+
left?: Size;
|
|
34
|
+
zIndex?: number | "auto";
|
|
35
|
+
boxSizing?: BoxSizing;
|
|
36
|
+
aspectRatio?: Size;
|
|
37
|
+
overflow?: Overflow;
|
|
38
|
+
overflowX?: Overflow;
|
|
39
|
+
overflowY?: Overflow;
|
|
40
|
+
visibility?: Visibility;
|
|
41
|
+
objectFit?: ObjectFit;
|
|
42
|
+
objectPosition?: string;
|
|
43
|
+
isolation?: Loose<"auto" | "isolate">;
|
|
44
|
+
float?: Loose<"none" | "left" | "right" | "inline-start" | "inline-end">;
|
|
45
|
+
clear?: Loose<"none" | "left" | "right" | "both" | "inline-start" | "inline-end">;
|
|
46
|
+
flex?: Size;
|
|
47
|
+
flexDirection?: FlexDirection;
|
|
48
|
+
flexWrap?: FlexWrap;
|
|
49
|
+
flexGrow?: number;
|
|
50
|
+
flexShrink?: number;
|
|
51
|
+
flexBasis?: Size;
|
|
52
|
+
order?: number;
|
|
53
|
+
alignItems?: AlignItems;
|
|
54
|
+
alignContent?: JustifyContent;
|
|
55
|
+
alignSelf?: AlignItems | "auto";
|
|
56
|
+
justifyContent?: JustifyContent;
|
|
57
|
+
justifyItems?: AlignItems;
|
|
58
|
+
justifySelf?: AlignItems | "auto";
|
|
59
|
+
placeItems?: string;
|
|
60
|
+
placeContent?: string;
|
|
61
|
+
placeSelf?: string;
|
|
62
|
+
gap?: Size;
|
|
63
|
+
rowGap?: Size;
|
|
64
|
+
columnGap?: Size;
|
|
65
|
+
gridTemplateColumns?: string;
|
|
66
|
+
gridTemplateRows?: string;
|
|
67
|
+
gridTemplateAreas?: string;
|
|
68
|
+
gridColumn?: Size;
|
|
69
|
+
gridRow?: Size;
|
|
70
|
+
gridArea?: string;
|
|
71
|
+
gridAutoFlow?: Loose<"row" | "column" | "dense" | "row dense" | "column dense">;
|
|
72
|
+
gridAutoRows?: Size;
|
|
73
|
+
gridAutoColumns?: Size;
|
|
74
|
+
padding?: Size;
|
|
75
|
+
paddingTop?: Size;
|
|
76
|
+
paddingRight?: Size;
|
|
77
|
+
paddingBottom?: Size;
|
|
78
|
+
paddingLeft?: Size;
|
|
79
|
+
margin?: Size;
|
|
80
|
+
marginTop?: Size;
|
|
81
|
+
marginRight?: Size;
|
|
82
|
+
marginBottom?: Size;
|
|
83
|
+
marginLeft?: Size;
|
|
84
|
+
width?: Size;
|
|
85
|
+
height?: Size;
|
|
86
|
+
minWidth?: Size;
|
|
87
|
+
minHeight?: Size;
|
|
88
|
+
maxWidth?: Size;
|
|
89
|
+
maxHeight?: Size;
|
|
90
|
+
fontSize?: Size;
|
|
91
|
+
fontStyle?: Loose<"normal" | "italic" | "oblique">;
|
|
92
|
+
fontWeight?: FontWeight;
|
|
93
|
+
lineHeight?: Size;
|
|
94
|
+
letterSpacing?: Size;
|
|
95
|
+
textAlign?: TextAlign;
|
|
96
|
+
textTransform?: TextTransform;
|
|
97
|
+
textDecoration?: Loose<"none" | "underline" | "overline" | "line-through">;
|
|
98
|
+
textDecorationLine?: Loose<"none" | "underline" | "overline" | "line-through">;
|
|
99
|
+
textDecorationStyle?: Loose<"solid" | "double" | "dotted" | "dashed" | "wavy">;
|
|
100
|
+
textDecorationThickness?: Size;
|
|
101
|
+
textUnderlineOffset?: Size;
|
|
102
|
+
textOverflow?: Loose<"clip" | "ellipsis">;
|
|
103
|
+
textShadow?: string;
|
|
104
|
+
textIndent?: Size;
|
|
105
|
+
whiteSpace?: WhiteSpace;
|
|
106
|
+
wordBreak?: Loose<"normal" | "break-all" | "keep-all" | "break-word">;
|
|
107
|
+
overflowWrap?: Loose<"normal" | "break-word" | "anywhere">;
|
|
108
|
+
verticalAlign?: Loose<"baseline" | "top" | "middle" | "bottom" | "text-top" | "text-bottom">;
|
|
109
|
+
fontVariantNumeric?: string;
|
|
110
|
+
fontFeatureSettings?: string;
|
|
111
|
+
border?: string;
|
|
112
|
+
borderTop?: string;
|
|
113
|
+
borderRight?: string;
|
|
114
|
+
borderBottom?: string;
|
|
115
|
+
borderLeft?: string;
|
|
116
|
+
borderWidth?: Size;
|
|
117
|
+
borderStyle?: BorderStyle;
|
|
118
|
+
outline?: string;
|
|
119
|
+
outlineWidth?: Size;
|
|
120
|
+
outlineStyle?: BorderStyle;
|
|
121
|
+
outlineOffset?: Size;
|
|
122
|
+
backgroundImage?: string;
|
|
123
|
+
backgroundSize?: Loose<"auto" | "cover" | "contain">;
|
|
124
|
+
backgroundPosition?: string;
|
|
125
|
+
backgroundRepeat?: Loose<"repeat" | "no-repeat" | "repeat-x" | "repeat-y" | "round" | "space">;
|
|
126
|
+
backgroundAttachment?: Loose<"scroll" | "fixed" | "local">;
|
|
127
|
+
backgroundClip?: Loose<"border-box" | "padding-box" | "content-box" | "text">;
|
|
128
|
+
opacity?: number | string;
|
|
129
|
+
filter?: string;
|
|
130
|
+
backdropFilter?: string;
|
|
131
|
+
mixBlendMode?: string;
|
|
132
|
+
transform?: string;
|
|
133
|
+
transformOrigin?: string;
|
|
134
|
+
transition?: string;
|
|
135
|
+
transitionProperty?: string;
|
|
136
|
+
transitionDuration?: string;
|
|
137
|
+
transitionTimingFunction?: string;
|
|
138
|
+
transitionDelay?: string;
|
|
139
|
+
animation?: string;
|
|
140
|
+
willChange?: string;
|
|
141
|
+
clipPath?: string;
|
|
142
|
+
cursor?: Cursor;
|
|
143
|
+
pointerEvents?: PointerEvents;
|
|
144
|
+
userSelect?: UserSelect;
|
|
145
|
+
touchAction?: string;
|
|
146
|
+
resize?: Loose<"none" | "both" | "horizontal" | "vertical">;
|
|
147
|
+
scrollBehavior?: Loose<"auto" | "smooth">;
|
|
148
|
+
scrollSnapType?: string;
|
|
149
|
+
scrollSnapAlign?: string;
|
|
150
|
+
appearance?: Loose<"none" | "auto">;
|
|
151
|
+
accentColor?: string;
|
|
152
|
+
content?: string;
|
|
153
|
+
listStyle?: string;
|
|
154
|
+
tableLayout?: Loose<"auto" | "fixed">;
|
|
155
|
+
borderCollapse?: Loose<"collapse" | "separate">;
|
|
156
|
+
borderSpacing?: Size;
|
|
157
|
+
colorScheme?: Loose<"light" | "dark" | "light dark">;
|
|
158
|
+
containerType?: Loose<"normal" | "size" | "inline-size">;
|
|
159
|
+
containerName?: string;
|
|
160
|
+
}
|
|
161
|
+
export interface ThemeConfig {
|
|
162
|
+
/** Color tokens — usable in bg, color, borderColor, outlineColor, caretColor, textDecorationColor. */
|
|
163
|
+
colors?: Record<string, string>;
|
|
164
|
+
/** Font-family tokens — usable in font / fontFamily. */
|
|
165
|
+
fonts?: Record<string, string>;
|
|
166
|
+
/** Box-shadow tokens — usable in shadow / boxShadow. */
|
|
167
|
+
shadows?: Record<string, string>;
|
|
168
|
+
/** Border-radius tokens — usable in rounded / borderRadius. */
|
|
169
|
+
radii?: Record<string, string>;
|
|
170
|
+
/**
|
|
171
|
+
* Responsive variants: name → media condition ("(min-width: 768px)")
|
|
172
|
+
* or a full at-rule prelude ("@container (min-width: 400px)").
|
|
173
|
+
* Declaration order = cascade order. Names must not collide with property names.
|
|
174
|
+
*/
|
|
175
|
+
screens?: Record<string, string>;
|
|
176
|
+
}
|
|
177
|
+
type Tokens<T extends ThemeConfig, K extends keyof ThemeConfig> = T[K] extends Record<string, string> ? Extract<keyof T[K], string> : never;
|
|
178
|
+
/** Properties whose string values resolve against theme tokens. */
|
|
179
|
+
interface TokenProps<T extends ThemeConfig> {
|
|
180
|
+
/** background — color token, color, gradient, or any CSS background shorthand */
|
|
181
|
+
bg?: Loose<Tokens<T, "colors">>;
|
|
182
|
+
backgroundColor?: Loose<Tokens<T, "colors">>;
|
|
183
|
+
color?: Loose<Tokens<T, "colors">>;
|
|
184
|
+
borderColor?: Loose<Tokens<T, "colors">>;
|
|
185
|
+
borderTopColor?: Loose<Tokens<T, "colors">>;
|
|
186
|
+
borderRightColor?: Loose<Tokens<T, "colors">>;
|
|
187
|
+
borderBottomColor?: Loose<Tokens<T, "colors">>;
|
|
188
|
+
borderLeftColor?: Loose<Tokens<T, "colors">>;
|
|
189
|
+
outlineColor?: Loose<Tokens<T, "colors">>;
|
|
190
|
+
caretColor?: Loose<Tokens<T, "colors">>;
|
|
191
|
+
textDecorationColor?: Loose<Tokens<T, "colors">>;
|
|
192
|
+
/** font-family — token or font stack */
|
|
193
|
+
font?: Loose<Tokens<T, "fonts">>;
|
|
194
|
+
fontFamily?: Loose<Tokens<T, "fonts">>;
|
|
195
|
+
/** box-shadow — token or raw value */
|
|
196
|
+
shadow?: Loose<Tokens<T, "shadows">>;
|
|
197
|
+
boxShadow?: Loose<Tokens<T, "shadows">>;
|
|
198
|
+
/** border-radius — token, number (px), or raw value */
|
|
199
|
+
rounded?: Tokens<T, "radii"> | Size;
|
|
200
|
+
borderRadius?: Tokens<T, "radii"> | Size;
|
|
201
|
+
}
|
|
202
|
+
/** Tailwind-flavored short aliases. */
|
|
203
|
+
interface ShorthandProps {
|
|
204
|
+
/** padding */ p?: Size;
|
|
205
|
+
/** padding-left + padding-right */ px?: Size;
|
|
206
|
+
/** padding-top + padding-bottom */ py?: Size;
|
|
207
|
+
pt?: Size;
|
|
208
|
+
pr?: Size;
|
|
209
|
+
pb?: Size;
|
|
210
|
+
pl?: Size;
|
|
211
|
+
/** margin */ m?: Size;
|
|
212
|
+
/** margin-left + margin-right */ mx?: Size;
|
|
213
|
+
/** margin-top + margin-bottom */ my?: Size;
|
|
214
|
+
mt?: Size;
|
|
215
|
+
mr?: Size;
|
|
216
|
+
mb?: Size;
|
|
217
|
+
ml?: Size;
|
|
218
|
+
/** width */ w?: Size;
|
|
219
|
+
/** height */ h?: Size;
|
|
220
|
+
minW?: Size;
|
|
221
|
+
maxW?: Size;
|
|
222
|
+
minH?: Size;
|
|
223
|
+
maxH?: Size;
|
|
224
|
+
/** width + height */ size?: Size;
|
|
225
|
+
/** font-size */ text?: Size;
|
|
226
|
+
/** font-weight */ weight?: FontWeight;
|
|
227
|
+
/** line-height */ leading?: Size;
|
|
228
|
+
/** letter-spacing */ tracking?: Size;
|
|
229
|
+
/** text-align */ align?: TextAlign;
|
|
230
|
+
/** align-items */ items?: AlignItems;
|
|
231
|
+
/** justify-content */ justify?: JustifyContent;
|
|
232
|
+
/** z-index */ z?: number | "auto";
|
|
233
|
+
/** user-select */ select?: UserSelect;
|
|
234
|
+
/** display:flex + flex-direction:row */ row?: boolean;
|
|
235
|
+
/** display:flex + flex-direction:column */ col?: boolean;
|
|
236
|
+
/** align-items:center + justify-content:center */ center?: boolean;
|
|
237
|
+
/** overflow:hidden + text-overflow:ellipsis + white-space:nowrap */ truncate?: boolean;
|
|
238
|
+
}
|
|
239
|
+
declare const PSEUDO: {
|
|
240
|
+
readonly hover: ":hover";
|
|
241
|
+
readonly focus: ":focus";
|
|
242
|
+
readonly focusVisible: ":focus-visible";
|
|
243
|
+
readonly focusWithin: ":focus-within";
|
|
244
|
+
readonly active: ":active";
|
|
245
|
+
readonly visited: ":visited";
|
|
246
|
+
readonly disabled: ":disabled";
|
|
247
|
+
readonly enabled: ":enabled";
|
|
248
|
+
readonly checked: ":checked";
|
|
249
|
+
readonly required: ":required";
|
|
250
|
+
readonly invalid: ":invalid";
|
|
251
|
+
readonly valid: ":valid";
|
|
252
|
+
readonly readOnly: ":read-only";
|
|
253
|
+
readonly first: ":first-child";
|
|
254
|
+
readonly last: ":last-child";
|
|
255
|
+
readonly only: ":only-child";
|
|
256
|
+
readonly odd: ":nth-child(odd)";
|
|
257
|
+
readonly even: ":nth-child(even)";
|
|
258
|
+
readonly empty: ":empty";
|
|
259
|
+
readonly placeholderShown: ":placeholder-shown";
|
|
260
|
+
readonly placeholder: "::placeholder";
|
|
261
|
+
readonly before: "::before";
|
|
262
|
+
readonly after: "::after";
|
|
263
|
+
readonly selection: "::selection";
|
|
264
|
+
readonly marker: "::marker";
|
|
265
|
+
readonly firstLine: "::first-line";
|
|
266
|
+
readonly firstLetter: "::first-letter";
|
|
267
|
+
};
|
|
268
|
+
type Pseudo = keyof typeof PSEUDO;
|
|
269
|
+
/** Flat style: properties only, no variant nesting (used by keyframes/globalStyle). */
|
|
270
|
+
export type FlatStyle<T extends ThemeConfig = ThemeConfig> = TokenProps<T> & ShorthandProps & CSSProperties & {
|
|
271
|
+
/** Escape hatch: raw CSS declarations, property names passed through as-is. */
|
|
272
|
+
raw?: Record<string, string | number>;
|
|
273
|
+
};
|
|
274
|
+
/**
|
|
275
|
+
* Full style object: properties + pseudo variants + theme screens +
|
|
276
|
+
* arbitrary selectors ("&:nth-child(2)", "& > svg") + inline at-rules
|
|
277
|
+
* ("@media (min-width: 768px)", "@container (…)", "@supports (…)").
|
|
278
|
+
*/
|
|
279
|
+
export type Style<T extends ThemeConfig = ThemeConfig> = FlatStyle<T> & {
|
|
280
|
+
[K in Pseudo]?: Style<T>;
|
|
281
|
+
} & {
|
|
282
|
+
[K in Tokens<T, "screens">]?: Style<T>;
|
|
283
|
+
} & {
|
|
284
|
+
[K in `&${string}`]?: Style<T>;
|
|
285
|
+
} & {
|
|
286
|
+
[K in `@${string}`]?: Style<T>;
|
|
287
|
+
};
|
|
288
|
+
export type StyleResult = {
|
|
289
|
+
className: string;
|
|
290
|
+
toString(): string;
|
|
291
|
+
};
|
|
292
|
+
/** Inputs accepted by cx(): results, raw class strings, and falsy values. */
|
|
293
|
+
export type ClassInput = StyleResult | string | false | null | undefined;
|
|
294
|
+
/**
|
|
295
|
+
* Compose class lists with exact conflict resolution: when two inputs style
|
|
296
|
+
* the same (query, selector, property), the last one wins. Works because the
|
|
297
|
+
* engine knows what every class it generated means.
|
|
298
|
+
*/
|
|
299
|
+
export declare function cx(...inputs: ClassInput[]): StyleResult;
|
|
300
|
+
export declare function createCss<const T extends ThemeConfig>(theme?: T): {
|
|
301
|
+
css: (style: Style<T>) => StyleResult;
|
|
302
|
+
cx: typeof cx;
|
|
303
|
+
keyframes: (frames: Record<string, FlatStyle<T>>) => string;
|
|
304
|
+
globalStyle: (selector: string, style: FlatStyle<T>) => void;
|
|
305
|
+
theme: T;
|
|
306
|
+
};
|
|
307
|
+
/** Themeless css() — full property/variant typing, no tokens or screens. */
|
|
308
|
+
export declare const css: (style: Style<object>) => StyleResult;
|
|
309
|
+
/** Themeless keyframes() helper. */
|
|
310
|
+
export declare const keyframes: (frames: Record<string, FlatStyle<object>>) => string;
|
|
311
|
+
/** Themeless globalStyle() helper. */
|
|
312
|
+
export declare const globalStyle: (selector: string, style: FlatStyle<object>) => void;
|
|
313
|
+
export {};
|
|
314
|
+
//# sourceMappingURL=css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/style/css.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared atomic-CSS engine state.
|
|
3
|
+
*
|
|
4
|
+
* One stylesheet, one rule registry, shared by every `createCss` instance so
|
|
5
|
+
* identical declarations dedupe globally and cascade order stays deterministic:
|
|
6
|
+
* base rules first (insertion order), then one grouping rule per at-rule query
|
|
7
|
+
* in registration order (theme `screens` order).
|
|
8
|
+
*
|
|
9
|
+
* Browser: rules are injected through CSSOM with O(1) appends — no rescans.
|
|
10
|
+
* SSR: rules accumulate in the registry; `getCssText()` serializes them.
|
|
11
|
+
*/
|
|
12
|
+
type SSRCollector = (rule: string) => void;
|
|
13
|
+
export declare function setSSRCollector(fn: SSRCollector | null): void;
|
|
14
|
+
/** Pre-register at-rule queries so their cascade order follows theme order. */
|
|
15
|
+
export declare function registerQueries(queries: Iterable<string>): void;
|
|
16
|
+
/**
|
|
17
|
+
* Order-independent 53-bit content hash (two interleaved FNV-1a style passes).
|
|
18
|
+
* Class names must match between server and client for SSR hydration, so a
|
|
19
|
+
* counter is not an option; 53 bits keeps collision odds negligible (~1e-5 at
|
|
20
|
+
* 10k unique declarations).
|
|
21
|
+
*/
|
|
22
|
+
export declare function hash(input: string): string;
|
|
23
|
+
/** One class per (query, selector-suffix, declaration) — the atomic core. */
|
|
24
|
+
export declare function atom(query: string | undefined, suffix: string, property: string, value: string): string;
|
|
25
|
+
/** Conflict key for a generated class — lets cx() resolve overrides exactly. */
|
|
26
|
+
export declare function conflictKeyOf(className: string): string | undefined;
|
|
27
|
+
/** Register a non-atomic rule (keyframes, global styles) once per dedupe key. */
|
|
28
|
+
export declare function addRawRule(dedupeKey: string, rule: string): void;
|
|
29
|
+
/** All generated CSS — base rules first, then at-rule groups in registration order. */
|
|
30
|
+
export declare function getCssText(): string;
|
|
31
|
+
/** Clear all engine state (test helper). Removes the injected style element. */
|
|
32
|
+
export declare function resetStyles(): void;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/style/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAG3C,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE7D;AAmBD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAI/D;AAyFD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS1C;AAED,6EAA6E;AAC7E,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAavG;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnE;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOhE;AAED,uFAAuF;AACvF,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAED,gFAAgF;AAChF,wBAAgB,WAAW,IAAI,IAAI,CAalC"}
|
package/dist/style/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export { createCSSClass } from "./cssGenerator";
|
|
4
|
-
export { display, flex, grid, bg, color, accentColor, fontSize, fontWeight, fontFamily, lineHeight, letterSpacing, textAlign, textDecoration, bold, fontStyle, fontVariant, fontStretch, textTransform, textIndent, textOverflow, textShadow, whiteSpace, wordSpacing, wordWrap, overflowWrap, textAlignLast, textJustify, textDecorationLine, textDecorationColor, textDecorationStyle, textDecorationThickness, textUnderlineOffset, verticalAlign, position, padding, paddingTop, paddingRight, paddingBottom, paddingLeft, margin, marginTop, marginRight, marginBottom, marginLeft, width, height, minWidth, maxWidth, minHeight, maxHeight, boxSizing, top, right, bottom, left, zIndex, flexDirection, alignItems, justifyContent, center, gap, flexWrap, flexGrow, flexShrink, flexBasis, alignSelf, alignContent, justifySelf, justifyItems, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridColumn, gridRow, gridColumnStart, gridColumnEnd, gridRowStart, gridRowEnd, gridArea, gridAutoColumns, gridAutoRows, gridAutoFlow, border, borderTop, borderRight, borderBottom, borderLeft, borderWidth, borderStyle, borderColor, borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, borderTopStyle, borderRightStyle, borderBottomStyle, borderLeftStyle, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, borderTopLeftRadius, borderTopRightRadius, borderBottomLeftRadius, borderBottomRightRadius, outline, outlineWidth, outlineStyle, outlineColor, outlineOffset, backgroundColor, backgroundImage, backgroundRepeat, backgroundPosition, backgroundSize, backgroundAttachment, backgroundClip, backgroundOrigin, boxShadow, opacity, transition, transitionProperty, transitionDuration, transitionTimingFunction, transitionDelay, transform, transformOrigin, transformStyle, perspective, perspectiveOrigin, backfaceVisibility, animation, animationName, animationDuration, animationTimingFunction, animationDelay, animationIterationCount, animationDirection, animationFillMode, animationPlayState, filter, backdropFilter, overflow, overflowX, overflowY, visibility, objectFit, objectPosition, listStyle, listStyleType, listStylePosition, listStyleImage, borderCollapse, borderSpacing, captionSide, emptyCells, tableLayout, content, quotes, counterReset, counterIncrement, appearance, userSelect, pointerEvents, resize, scrollBehavior, clip, clipPath, isolation, mixBlendMode, willChange, contain, pageBreakBefore, pageBreakAfter, pageBreakInside, breakBefore, breakAfter, breakInside, orphans, widows, columnCount, columnFill, columnGap, columnRule, columnRuleColor, columnRuleStyle, columnRuleWidth, columnSpan, columnWidth, columns, cursor, } from "./styleBuilder";
|
|
1
|
+
export { createCss, css, cx, keyframes, globalStyle, type ClassInput, type CSSProperties, type FlatStyle, type Size, type Style, type StyleResult, type ThemeConfig, } from "./css";
|
|
2
|
+
export { getCssText, resetStyles, setSSRCollector } from "./engine";
|
|
5
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/style/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/style/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,SAAS,EACT,GAAG,EACH,EAAE,EACF,SAAS,EACT,WAAW,EACX,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,WAAW,GAChB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuclo",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/nuclo.cjs",
|
|
7
7
|
"module": "./dist/nuclo.mjs",
|
|
@@ -48,16 +48,16 @@
|
|
|
48
48
|
"@eslint/js": "^10.0.1",
|
|
49
49
|
"@eslint/json": "^2.0.0",
|
|
50
50
|
"@eslint/markdown": "^8.0.2",
|
|
51
|
-
"@types/node": "^25.9.
|
|
51
|
+
"@types/node": "^25.9.3",
|
|
52
52
|
"@vitest/coverage-v8": "4.1.7",
|
|
53
53
|
"eslint": "^10.4.1",
|
|
54
54
|
"globals": "^17.6.0",
|
|
55
55
|
"jiti": "^2.7.0",
|
|
56
56
|
"jsdom": "^29.1.1",
|
|
57
|
-
"tsdown": "^0.22.
|
|
57
|
+
"tsdown": "^0.22.2",
|
|
58
58
|
"typescript": "^6.0.3",
|
|
59
|
-
"typescript-eslint": "^8.
|
|
60
|
-
"vitest": "^4.1.
|
|
59
|
+
"typescript-eslint": "^8.61.0",
|
|
60
|
+
"vitest": "^4.1.8"
|
|
61
61
|
},
|
|
62
62
|
"repository": {
|
|
63
63
|
"type": "git",
|