nuclo 0.2.6 → 0.2.9

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.
Files changed (128) hide show
  1. package/LICENSE.md +45 -0
  2. package/README.md +78 -7
  3. package/dist/{core/runtimeBootstrap.d.ts → bootstrap.d.ts} +1 -1
  4. package/dist/bootstrap.d.ts.map +1 -0
  5. package/dist/{core/attributeManager.d.ts → element/attributes.d.ts} +2 -2
  6. package/dist/element/attributes.d.ts.map +1 -0
  7. package/dist/{core/classNameMerger.d.ts → element/class-name.d.ts} +1 -1
  8. package/dist/element/class-name.d.ts.map +1 -0
  9. package/dist/{utility/on.d.ts → element/events.d.ts} +1 -1
  10. package/dist/element/events.d.ts.map +1 -0
  11. package/dist/{internal/applyModifiers.d.ts → element/factory.d.ts} +12 -19
  12. package/dist/element/factory.d.ts.map +1 -0
  13. package/dist/{core/styleManager.d.ts → element/inline-style.d.ts} +1 -1
  14. package/dist/element/inline-style.d.ts.map +1 -0
  15. package/dist/element/modifiers.d.ts +11 -0
  16. package/dist/element/modifiers.d.ts.map +1 -0
  17. package/dist/{core/tagConstants.d.ts → element/tags.d.ts} +2 -1
  18. package/dist/element/tags.d.ts.map +1 -0
  19. package/dist/{hydration/context.d.ts → hydration.d.ts} +1 -1
  20. package/dist/hydration.d.ts.map +1 -0
  21. package/dist/index.d.ts +13 -14
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/list/index.d.ts +6 -1
  24. package/dist/list/index.d.ts.map +1 -1
  25. package/dist/list/runtime.d.ts +1 -1
  26. package/dist/list/runtime.d.ts.map +1 -1
  27. package/dist/nuclo.cjs +1 -1
  28. package/dist/nuclo.cjs.map +1 -1
  29. package/dist/nuclo.mjs +1 -1
  30. package/dist/nuclo.mjs.map +1 -1
  31. package/dist/nuclo.umd.js +1 -1
  32. package/dist/nuclo.umd.js.map +1 -1
  33. package/dist/polyfill/nuclo.polyfill.cjs.map +1 -1
  34. package/dist/polyfill/nuclo.polyfill.mjs.map +1 -1
  35. package/dist/render.d.ts.map +1 -0
  36. package/dist/shared/conditions.d.ts.map +1 -0
  37. package/dist/{utility → shared}/dom.d.ts +30 -0
  38. package/dist/shared/dom.d.ts.map +1 -0
  39. package/dist/shared/environment.d.ts.map +1 -0
  40. package/dist/{utility/errorHandler.d.ts → shared/errors.d.ts} +1 -1
  41. package/dist/shared/errors.d.ts.map +1 -0
  42. package/dist/shared/renderables.d.ts.map +1 -0
  43. package/dist/{utility/stringUtils.d.ts → shared/strings.d.ts} +1 -1
  44. package/dist/shared/strings.d.ts.map +1 -0
  45. package/dist/{utility/typeGuards.d.ts → shared/type-guards.d.ts} +1 -1
  46. package/dist/shared/type-guards.d.ts.map +1 -0
  47. package/dist/ssr/index.d.ts +1 -1
  48. package/dist/ssr/index.d.ts.map +1 -1
  49. package/dist/ssr/nuclo.ssr.cjs.map +1 -1
  50. package/dist/ssr/nuclo.ssr.mjs.map +1 -1
  51. package/dist/ssr/{renderToString.d.ts → render-to-string.d.ts} +1 -1
  52. package/dist/ssr/render-to-string.d.ts.map +1 -0
  53. package/dist/style/css.d.ts +8 -303
  54. package/dist/style/css.d.ts.map +1 -1
  55. package/dist/style/index.d.ts +1 -1
  56. package/dist/style/index.d.ts.map +1 -1
  57. package/dist/update/conditional.d.ts +3 -0
  58. package/dist/update/conditional.d.ts.map +1 -0
  59. package/dist/{core/reactiveAttributes.d.ts → update/reactive-attributes.d.ts} +3 -3
  60. package/dist/update/reactive-attributes.d.ts.map +1 -0
  61. package/dist/{core/reactiveText.d.ts → update/reactive-text.d.ts} +3 -3
  62. package/dist/update/reactive-text.d.ts.map +1 -0
  63. package/dist/{core/reactiveCleanup.d.ts → update/registry.d.ts} +22 -1
  64. package/dist/update/registry.d.ts.map +1 -0
  65. package/dist/{utility → update}/scope.d.ts +4 -0
  66. package/dist/update/scope.d.ts.map +1 -0
  67. package/dist/update/update.d.ts +4 -0
  68. package/dist/update/update.d.ts.map +1 -0
  69. package/dist/when/builder.d.ts.map +1 -1
  70. package/dist/when/runtime.d.ts +5 -1
  71. package/dist/when/runtime.d.ts.map +1 -1
  72. package/package.json +23 -8
  73. package/types/core/base.d.ts +12 -3
  74. package/types/features/on.d.ts +1 -1
  75. package/types/features/style.d.ts +27 -21
  76. package/types/index.d.ts +113 -2
  77. package/types/polyfill.d.ts +131 -0
  78. package/types/ssr.d.ts +45 -0
  79. package/types/style.d.ts +404 -0
  80. package/dist/core/attributeManager.d.ts.map +0 -1
  81. package/dist/core/classNameMerger.d.ts.map +0 -1
  82. package/dist/core/conditionalUpdater.d.ts +0 -3
  83. package/dist/core/conditionalUpdater.d.ts.map +0 -1
  84. package/dist/core/elementFactory.d.ts +0 -9
  85. package/dist/core/elementFactory.d.ts.map +0 -1
  86. package/dist/core/modifierProcessor.d.ts +0 -3
  87. package/dist/core/modifierProcessor.d.ts.map +0 -1
  88. package/dist/core/reactiveAttributes.d.ts.map +0 -1
  89. package/dist/core/reactiveCleanup.d.ts.map +0 -1
  90. package/dist/core/reactiveText.d.ts.map +0 -1
  91. package/dist/core/runtimeBootstrap.d.ts.map +0 -1
  92. package/dist/core/styleManager.d.ts.map +0 -1
  93. package/dist/core/tagConstants.d.ts.map +0 -1
  94. package/dist/core/tagRegistry.d.ts +0 -4
  95. package/dist/core/tagRegistry.d.ts.map +0 -1
  96. package/dist/core/updateController.d.ts +0 -2
  97. package/dist/core/updateController.d.ts.map +0 -1
  98. package/dist/core/updateScope.d.ts +0 -5
  99. package/dist/core/updateScope.d.ts.map +0 -1
  100. package/dist/hydration/context.d.ts.map +0 -1
  101. package/dist/internal/applyModifiers.d.ts.map +0 -1
  102. package/dist/list/renderer.d.ts +0 -7
  103. package/dist/list/renderer.d.ts.map +0 -1
  104. package/dist/ssr/renderToString.d.ts.map +0 -1
  105. package/dist/utility/conditionalInfo.d.ts +0 -22
  106. package/dist/utility/conditionalInfo.d.ts.map +0 -1
  107. package/dist/utility/conditions.d.ts.map +0 -1
  108. package/dist/utility/dom.d.ts.map +0 -1
  109. package/dist/utility/domTypeHelpers.d.ts +0 -35
  110. package/dist/utility/domTypeHelpers.d.ts.map +0 -1
  111. package/dist/utility/environment.d.ts.map +0 -1
  112. package/dist/utility/errorHandler.d.ts.map +0 -1
  113. package/dist/utility/events.d.ts +0 -2
  114. package/dist/utility/events.d.ts.map +0 -1
  115. package/dist/utility/modifierPredicates.d.ts +0 -7
  116. package/dist/utility/modifierPredicates.d.ts.map +0 -1
  117. package/dist/utility/on.d.ts.map +0 -1
  118. package/dist/utility/render.d.ts.map +0 -1
  119. package/dist/utility/renderables.d.ts.map +0 -1
  120. package/dist/utility/scope.d.ts.map +0 -1
  121. package/dist/utility/stringUtils.d.ts.map +0 -1
  122. package/dist/utility/typeGuards.d.ts.map +0 -1
  123. package/dist/when/renderer.d.ts +0 -6
  124. package/dist/when/renderer.d.ts.map +0 -1
  125. /package/dist/{utility/render.d.ts → render.d.ts} +0 -0
  126. /package/dist/{utility → shared}/conditions.d.ts +0 -0
  127. /package/dist/{utility → shared}/environment.d.ts +0 -0
  128. /package/dist/{utility → shared}/renderables.d.ts +0 -0
@@ -1,314 +1,19 @@
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;
1
+ import type { ClassInput, CssInstance, FlatStyle, KeyframeFrames, Style, StyleResult, ThemeConfig, VariantDefinitions, VariantsConfig, VariantsFn } from "../../types/style";
2
+ export type { ClassInput, CssInstance, CSSProperties, FlatStyle, KeyframeFrames, KeyframeStop, Pseudo, Size, Style, StyleResult, ThemeConfig, VariantDefinitions, VariantProps, VariantsConfig, VariantsFn, } from "../../types/style";
294
3
  /**
295
4
  * Compose class lists with exact conflict resolution: when two inputs style
296
5
  * the same (query, selector, property), the last one wins. Works because the
297
- * engine knows what every class it generated means.
6
+ * engine knows what every class it generated means. Nested arrays are flattened,
7
+ * so `cx([a, cond && b], c)` composes the same as `cx(a, cond && b, c)`.
298
8
  */
299
9
  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
- };
10
+ export declare function createCss<const T extends ThemeConfig>(theme?: T): CssInstance<T>;
307
11
  /** Themeless css() — full property/variant typing, no tokens or screens. */
308
12
  export declare const css: (style: Style<object>) => StyleResult;
13
+ /** Themeless variants() recipe helper. */
14
+ export declare const variants: <const V extends VariantDefinitions<object>>(config: VariantsConfig<object, V>) => VariantsFn<V>;
309
15
  /** Themeless keyframes() helper. */
310
- export declare const keyframes: (frames: Record<string, FlatStyle<object>>) => string;
16
+ export declare const keyframes: (frames: KeyframeFrames<object>) => string;
311
17
  /** Themeless globalStyle() helper. */
312
18
  export declare const globalStyle: (selector: string, style: FlatStyle<object>) => void;
313
- export {};
314
19
  //# sourceMappingURL=css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/style/css.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/style/css.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EAEd,KAAK,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAElB,cAAc,EACd,UAAU,EACV,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,UAAU,GACV,MAAM,mBAAmB,CAAC;AAiJ3B;;;;;GAKG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAMvD;AAKD,wBAAgB,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,GAAE,CAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CA2NzF;AAQD,4EAA4E;AAC5E,eAAO,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,WAAiC,CAAC;AAC9E,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EACjE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAC7B,UAAU,CAAC,CAAC,CAA4B,CAAC;AAC9C,oCAAoC;AACpC,eAAO,MAAM,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,MAAkC,CAAC;AAC/F,sCAAsC;AACtC,eAAO,MAAM,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,IAAkC,CAAC"}
@@ -1,3 +1,3 @@
1
- export { createCss, css, cx, keyframes, globalStyle, type ClassInput, type CSSProperties, type FlatStyle, type Size, type Style, type StyleResult, type ThemeConfig, } from "./css";
1
+ export { createCss, css, cx, variants, keyframes, globalStyle, type ClassInput, type CssInstance, type CSSProperties, type FlatStyle, type KeyframeFrames, type KeyframeStop, type Size, type Style, type StyleResult, type ThemeConfig, type VariantDefinitions, type VariantProps, type VariantsConfig, type VariantsFn, } from "./css";
2
2
  export { getCssText, resetStyles, setSSRCollector } from "./engine";
3
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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/style/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,SAAS,EACT,GAAG,EACH,EAAE,EACF,QAAQ,EACR,SAAS,EACT,WAAW,EACX,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,UAAU,GACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { UpdateScope } from "./scope";
2
+ export declare function updateConditionalElements(scope?: UpdateScope): void;
3
+ //# sourceMappingURL=conditional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional.d.ts","sourceRoot":"","sources":["../../src/update/conditional.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoD3C,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAiBnE"}
@@ -1,5 +1,5 @@
1
- import type { UpdateScope } from "./updateScope";
2
- import type { AttributeResolver } from "./reactiveCleanup";
1
+ import type { UpdateScope } from "./scope";
2
+ import type { AttributeResolver } from "./registry";
3
3
  /**
4
4
  * Registers a reactive attribute resolver for an element.
5
5
  *
@@ -42,4 +42,4 @@ export declare function registerAttributeResolver<TTagName extends ElementTagNam
42
42
  * ```
43
43
  */
44
44
  export declare function notifyReactiveElements(scope?: UpdateScope): void;
45
- //# sourceMappingURL=reactiveAttributes.d.ts.map
45
+ //# sourceMappingURL=reactive-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-attributes.d.ts","sourceRoot":"","sources":["../../src/update/reactive-attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAgD,MAAM,YAAY,CAAC;AA8ElG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,cAAc,EACvE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACnC,IAAI,CAkBN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CA6BhE"}
@@ -1,5 +1,5 @@
1
- import type { UpdateScope } from "./updateScope";
2
- import type { TextResolver } from "./reactiveCleanup";
1
+ import type { UpdateScope } from "./scope";
2
+ import type { TextResolver } from "./registry";
3
3
  /**
4
4
  * Creates a reactive text node that automatically updates when its resolver function changes.
5
5
  *
@@ -35,4 +35,4 @@ export declare function createReactiveTextNode(resolver: TextResolver, preEvalua
35
35
  * ```
36
36
  */
37
37
  export declare function notifyReactiveTextNodes(scope?: UpdateScope): void;
38
- //# sourceMappingURL=reactiveText.d.ts.map
38
+ //# sourceMappingURL=reactive-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-text.d.ts","sourceRoot":"","sources":["../../src/update/reactive-text.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,gBAAgB,CAgC9G;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CA2CjE"}
@@ -73,4 +73,25 @@ export declare function cleanupReactiveTextNode(node: Text): void;
73
73
  * This should be called when an element is removed from the DOM to prevent memory leaks.
74
74
  */
75
75
  export declare function cleanupReactiveElement(element: Element): void;
76
- //# sourceMappingURL=reactiveCleanup.d.ts.map
76
+ export interface ConditionalInfo<TTagName extends ElementTagName = ElementTagName> {
77
+ condition: () => boolean;
78
+ tagName: TTagName;
79
+ modifiers: Array<NodeMod<TTagName> | NodeModFn<TTagName>>;
80
+ isSvg: boolean;
81
+ }
82
+ /**
83
+ * Attach conditional info to a node and register it.
84
+ */
85
+ export declare function storeConditionalInfo<TTagName extends ElementTagName>(node: Node, info: ConditionalInfo<TTagName>): void;
86
+ /**
87
+ * Explicit unregister helper (optional use on teardown if needed).
88
+ * O(1) via reverse lookup WeakMap.
89
+ */
90
+ export declare function unregisterConditionalNode(node: Node): void;
91
+ /**
92
+ * Returns an array of currently tracked conditional nodes that are still alive.
93
+ * Automatically cleans up garbage-collected nodes.
94
+ */
95
+ export declare function getActiveConditionalNodes(): Node[];
96
+ export declare function getConditionalInfo(node: Node): ConditionalInfo<ElementTagName> | null;
97
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/update/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC;AAE9C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,oBAA2B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,uBAAuB;SAA4B,OAAO,CAAC,IAAI,CAAC;UAAQ,oBAAoB;EAAK,CAAC;AAE/G;;GAEG;AACH,eAAO,MAAM,gBAAgB,uBAA8B,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,sBAAsB;SAA+B,OAAO,CAAC,OAAO,CAAC;UAAQ,mBAAmB;EAAK,CAAC;AAUnH;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAYrF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAKzF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAEpE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAMxD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM7D;AAOD,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IAChF,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,KAAK,EAAE,OAAO,CAAC;CACf;AAyBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,SAAS,cAAc,EACnE,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,GAC7B,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAO1D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,EAAE,CAkBlD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,GAAG,IAAI,CAErF"}
@@ -1,3 +1,7 @@
1
+ export interface UpdateScope {
2
+ roots: ReadonlyArray<Element>;
3
+ contains(node: Node): boolean;
4
+ }
1
5
  export declare function getScopeRoots(ids: readonly string[]): Element[];
2
6
  export declare function scope<TTagName extends ElementTagName = ElementTagName>(...ids: string[]): NodeModFn<TTagName>;
3
7
  //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/update/scope.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;CAC/B;AAoCD,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,EAAE,CAoC/D;AAED,wBAAgB,KAAK,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,EACpE,GAAG,GAAG,EAAE,MAAM,EAAE,GACf,SAAS,CAAC,QAAQ,CAAC,CAQrB"}
@@ -0,0 +1,4 @@
1
+ import type { UpdateScope } from "./scope";
2
+ export declare function update(...scopeIds: string[]): void;
3
+ export declare function dispatchGlobalUpdateEvent(scope?: UpdateScope): void;
4
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/update/update.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAY3C,wBAAgB,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CA0BlD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAqBnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/when/builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAe,MAAM,WAAW,CAAC;AA0BpF,cAAM,eAAe,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IACpE,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAA+B;gBAEtC,gBAAgB,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;IAIhF,SAAS,CACP,eAAe,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,EACrC,cAAc,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GACvC,eAAe,CAAC,QAAQ,CAAC;IAQ5B,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC;IAK9F,IAAI,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC;IAKpE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAYnE,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,aAAa;IAgFrB,OAAO,CAAC,wBAAwB;CAwBjC;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,cAAc,EACvE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GACjC,WAAW,CAAC,QAAQ,CAAC,CAavB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/when/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAe,MAAM,WAAW,CAAC;AAyBpF,cAAM,eAAe,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IACpE,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAA+B;gBAEtC,gBAAgB,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;IAIhF,SAAS,CACP,eAAe,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,EACrC,cAAc,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GACvC,eAAe,CAAC,QAAQ,CAAC;IAQ5B,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC;IAK9F,IAAI,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC;IAKpE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAYnE,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,aAAa;IAgFrB,OAAO,CAAC,wBAAwB;CAwBjC;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,cAAc,EACvE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GACjC,WAAW,CAAC,QAAQ,CAAC,CAavB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { UpdateScope } from "../core/updateScope";
1
+ import type { UpdateScope } from "../update/scope";
2
2
  export type WhenCondition = boolean | (() => boolean);
3
3
  export type WhenContent<TTagName extends ElementTagName = ElementTagName> = NodeMod<TTagName> | NodeModFn<TTagName>;
4
4
  export interface WhenGroup<TTagName extends ElementTagName = ElementTagName> {
@@ -52,4 +52,8 @@ export declare function registerWhenRuntime<TTagName extends ElementTagName>(run
52
52
  * ```
53
53
  */
54
54
  export declare function updateWhenRuntimes(scope?: UpdateScope): void;
55
+ /**
56
+ * Renders a list of content items and collects the resulting nodes.
57
+ */
58
+ export declare function renderContentItems<TTagName extends ElementTagName>(items: ReadonlyArray<WhenContent<TTagName>>, host: ExpandedElement<TTagName>, index: number, endMarker: Comment): Node[];
55
59
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/when/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,IACtE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,WAAW,SAAS,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IACzE,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IAC3E,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;CAChB;AAmBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,cAAc,EACrE,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAC1C,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAChD,MAAM,GAAG,IAAI,CAOf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,cAAc,EAC/D,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC7B,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,cAAc,EACjE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC7B,IAAI,CAKN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAyC5D"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/when/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKnD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,IACtE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,WAAW,SAAS,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IACzE,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IAC3E,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;CAChB;AAmBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,cAAc,EACrE,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAC1C,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAChD,MAAM,GAAG,IAAI,CAOf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,cAAc,EAC/D,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC7B,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,cAAc,EACjE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC7B,IAAI,CAKN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CA0C5D;AA8BD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,cAAc,EAChE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAC3C,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,IAAI,EAAE,CASR"}
package/package.json CHANGED
@@ -1,11 +1,26 @@
1
1
  {
2
2
  "name": "nuclo",
3
3
  "private": false,
4
- "version": "0.2.6",
4
+ "version": "0.2.9",
5
+ "description": "Lightweight reactive DOM library with global tag builders, SSR, hydration, and atomic CSS — no virtual DOM, no compiler.",
6
+ "license": "MIT",
7
+ "author": "Danilo Celestino de Castro (https://github.com/dan2dev)",
8
+ "keywords": [
9
+ "dom",
10
+ "reactive",
11
+ "ui",
12
+ "ssr",
13
+ "hydration",
14
+ "atomic-css",
15
+ "no-vdom",
16
+ "typescript"
17
+ ],
5
18
  "type": "module",
6
19
  "main": "./dist/nuclo.cjs",
7
20
  "module": "./dist/nuclo.mjs",
8
21
  "browser": "./dist/nuclo.umd.js",
22
+ "unpkg": "./dist/nuclo.umd.js",
23
+ "jsdelivr": "./dist/nuclo.umd.js",
9
24
  "types": "./types/index.d.ts",
10
25
  "exports": {
11
26
  ".": {
@@ -14,12 +29,12 @@
14
29
  "require": "./dist/nuclo.cjs"
15
30
  },
16
31
  "./ssr": {
17
- "types": "./dist/ssr/index.d.ts",
32
+ "types": "./types/ssr.d.ts",
18
33
  "import": "./dist/ssr/nuclo.ssr.mjs",
19
34
  "require": "./dist/ssr/nuclo.ssr.cjs"
20
35
  },
21
36
  "./polyfill": {
22
- "types": "./dist/polyfill/index.d.ts",
37
+ "types": "./types/polyfill.d.ts",
23
38
  "import": "./dist/polyfill/nuclo.polyfill.mjs",
24
39
  "require": "./dist/polyfill/nuclo.polyfill.cjs"
25
40
  },
@@ -47,19 +62,19 @@
47
62
  "lint:fix": "eslint . --ext .ts,.js,.json,.jsonc,.json5,.md,.css --fix"
48
63
  },
49
64
  "devDependencies": {
50
- "@eslint/css": "^1.3.0",
65
+ "@eslint/css": "^1.4.0",
51
66
  "@eslint/js": "^10.0.1",
52
- "@eslint/json": "^2.0.0",
53
- "@eslint/markdown": "^8.0.2",
67
+ "@eslint/json": "^2.0.1",
68
+ "@eslint/markdown": "^8.0.3",
54
69
  "@types/node": "^25.9.4",
55
70
  "@vitest/coverage-v8": "4.1.7",
56
- "eslint": "^10.5.0",
71
+ "eslint": "^10.6.0",
57
72
  "globals": "^17.7.0",
58
73
  "jiti": "^2.7.0",
59
74
  "jsdom": "^29.1.1",
60
75
  "tsdown": "^0.22.3",
61
76
  "typescript": "^6.0.3",
62
- "typescript-eslint": "^8.62.0",
77
+ "typescript-eslint": "^8.62.1",
63
78
  "vitest": "^4.1.9"
64
79
  },
65
80
  "repository": {
@@ -6,13 +6,22 @@ declare global {
6
6
  export type SVGTagName = keyof SVGElementTagNameMap;
7
7
  export type ValueFactory<TValue> = () => TValue;
8
8
  export type ValueOrFactory<TValue> = TValue | ValueFactory<TValue>;
9
- export type InferFactoryResult<TFactory> = TFactory extends (...args: unknown[]) => infer TResult
9
+ // `never[]` (not `unknown[]`) so factories with typed parameters still match:
10
+ // `(...args: unknown[])` rejects e.g. `(x: number) => string` under strict
11
+ // contravariance and would resolve to never.
12
+ export type InferFactoryResult<TFactory> = TFactory extends (...args: never[]) => infer TResult
10
13
  ? TResult
11
14
  : never;
12
15
 
13
- // CSS Style object type that accepts any CSS property as string or number
16
+ // CSS style object: only the string-valued (settable) CSSStyleDeclaration
17
+ // properties, as string | number. Filters out methods (setProperty, item…),
18
+ // readonly non-string members (length, parentRule) and the numeric index.
14
19
  export type CSSStyleObject = {
15
- [K in keyof CSSStyleDeclaration]?: CSSStyleDeclaration[K] | string | number;
20
+ [K in keyof CSSStyleDeclaration as K extends string
21
+ ? CSSStyleDeclaration[K] extends string
22
+ ? K
23
+ : never
24
+ : never]?: string | number;
16
25
  };
17
26
 
18
27
  // Core element attribute types
@@ -31,8 +31,8 @@ declare global {
31
31
  * @param options Native addEventListener options.
32
32
  */
33
33
  function on<
34
+ K extends keyof HTMLElementEventMap,
34
35
  TTagName extends ElementTagName = ElementTagName,
35
- K extends keyof HTMLElementEventMap = keyof HTMLElementEventMap,
36
36
  >(
37
37
  type: K,
38
38
  listener: TypedEventListener<HTMLElementTagNameMap[TTagName], HTMLElementEventMap[K]>,