@papack/csr 0.0.2 → 1.0.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/dist/index.d.cts CHANGED
@@ -1,174 +1,880 @@
1
- //#region core/destroy.d.ts
2
- declare function destroy(root: Element): Promise<void>;
3
- //#endregion
4
1
  //#region core/signal.d.ts
5
2
  type UUID = string;
6
- type ReadFn<T> = ((cb?: (value: unknown) => Promise<void>) => Promise<T>) & {
3
+ type ReadFn<T> = ((cb?: (value: T) => void) => T) & {
7
4
  type: "signal";
8
5
  };
9
- declare function signal<T>(value: T): readonly [ReadFn<T>, (cb: (prev: T) => Promise<T> | T) => Promise<void>];
6
+ declare function signal<T>(initialValue: T): readonly [ReadFn<T>, (fn: (prev: T) => T | Promise<T>) => Promise<void>];
10
7
  interface ConnectorInterface {
11
- update: (uuid: UUID, value: unknown) => void;
12
- addTopic: (uuid: UUID) => void;
13
- removeTopic: (uuid: UUID) => void;
14
- registerClbk: (uuid: UUID, cb: (value: unknown) => void) => void;
15
- removeClbk: (uuid: UUID, cb: (value: unknown) => void) => void;
16
- getUuidByClbk: (cb: (value: unknown) => void) => UUID;
8
+ addTopic(uuid: UUID): void;
9
+ removeTopic(uuid: UUID): void;
10
+ registerClbk<T>(uuid: UUID, cb: (value: T) => void): void;
11
+ removeClbk<T>(uuid: UUID, cb: (value: T) => void): void;
12
+ update<T>(uuid: UUID, value: T): void;
13
+ getUuidByClbk<T>(cb: (value: T) => void): UUID;
17
14
  }
18
15
  declare class Connector implements ConnectorInterface {
19
- private topic;
20
- private clbkMapping;
16
+ private topics;
17
+ private callbackMap;
21
18
  addTopic(uuid: UUID): void;
22
19
  removeTopic(uuid: UUID): void;
23
- registerClbk<T>(uuid: string, cb: (value: T) => void): void;
20
+ registerClbk<T>(uuid: UUID, cb: (value: T) => void): void;
24
21
  removeClbk<T>(uuid: UUID, cb: (value: T) => void): void;
25
22
  update<T>(uuid: UUID, value: T): void;
26
- getUuidByClbk(fn: (value: unknown) => void): string;
23
+ getUuidByClbk<T>(cb: (value: T) => void): UUID;
27
24
  }
28
25
  declare const connector: Connector;
29
26
  //#endregion
30
27
  //#region core/effect.d.ts
31
- declare function effect<T>(readFn: ReadFn<T>, fn: (value: T) => Promise<unknown> | unknown): Promise<void>;
28
+ declare function effect<T>(readFn: ReadFn<T>, fn: (value: T) => void | Promise<void>): void;
29
+ //#endregion
30
+ //#region core/for.d.ts
31
+ type Uuid = string;
32
+ interface Keyed {
33
+ uuid: Uuid;
34
+ }
35
+ interface ForProps<T extends Keyed> {
36
+ each: ReadFn<T[]>;
37
+ }
38
+ declare function For<T extends Keyed>(p: ForProps<T>, [child]: any): null;
32
39
  //#endregion
33
40
  //#region core/fragment.d.ts
34
41
  declare function fragment(p: null, ...childs: any): any;
35
42
  //#endregion
43
+ //#region core/jsx.d.ts
44
+ type JsxNode = VElement | VText | VSignal;
45
+ interface VElement {
46
+ kind: "element";
47
+ tag: string | ComponentFn;
48
+ props: Record<string, any>;
49
+ children: JsxNode[];
50
+ }
51
+ interface VText {
52
+ kind: "text";
53
+ value: string;
54
+ }
55
+ interface VSignal {
56
+ kind: "signal";
57
+ read: ReadFn<any>;
58
+ }
59
+ interface PropsInterface {
60
+ ctx?: any;
61
+ }
62
+ type ComponentFn = (props: PropsInterface, children: JsxNode[]) => JsxNode | null;
63
+ declare function jsx(tag: string | ComponentFn, props: any, ...rawChildren: any[]): VElement;
64
+ //#endregion
65
+ //#region core/lifecycle.d.ts
66
+ type MountCallback = (el: Element) => void | Promise<void>;
67
+ type UnmountCallback = () => void | Promise<void>;
68
+ declare function hasActiveMountSession(): boolean;
69
+ declare function beginMountSession(): void;
70
+ declare function endMountSession(root: Element): void;
71
+ declare function mount(cb: MountCallback): void;
72
+ declare function unmount(cb: UnmountCallback): void;
73
+ declare function runUnmountsForElement(el: Element): void;
74
+ //#endregion
36
75
  //#region core/render.d.ts
37
76
  interface RenderCtx {
38
77
  parent: Node & ParentNode;
78
+ self?: Node;
39
79
  [k: string]: any;
40
80
  }
41
81
  interface RenderResult {
42
82
  el: Node;
43
83
  }
44
- declare function render(node: JsxChild | Promise<JsxChild> | null | Promise<null>, ctx: RenderCtx): Promise<RenderResult>;
84
+ declare function render(node: JsxNode | null, ctx: RenderCtx): RenderResult;
85
+ //#endregion
86
+ //#region core/show.d.ts
87
+ interface ShowPropsInterface {
88
+ when: ReadFn<boolean>;
89
+ }
90
+ declare function Show(p: ShowPropsInterface, children: any): null;
91
+ //#endregion
92
+ //#region helper/repeat.d.ts
93
+ type MaybeSignal$1<T> = T | ReadFn<T>;
94
+ interface RepeatPropsInterface {
95
+ n: MaybeSignal$1<number>;
96
+ }
97
+ declare function Repeat(p: RepeatPropsInterface, children: any[]): any;
98
+ //#endregion
99
+ //#region style/breakpoint.d.ts
100
+ declare const breakpoint: {
101
+ mobile: number;
102
+ tablet: number;
103
+ laptop: number;
104
+ desktop: number;
105
+ large: number;
106
+ };
107
+ //#endregion
108
+ //#region hooks/use-breakpoint.d.ts
109
+ type BreakpointName = keyof typeof breakpoint;
110
+ declare function useBreakpoint(): ReadFn<BreakpointName>;
111
+ //#endregion
112
+ //#region hooks/use-custom-event.d.ts
113
+ type Handler<T> = (data: T) => void;
114
+ /**
115
+ * Creates a custom browser event emitter.
116
+ * If a handler is provided, it is automatically
117
+ * cleaned up on component unmount.
118
+ */
119
+ declare function useCustomEvent<T = any>(topic: string, handler?: Handler<T>): (data: T) => void;
120
+ //#endregion
121
+ //#region hooks/use-locale.d.ts
122
+ interface LocaleController {
123
+ locale: ReadFn<string>;
124
+ setLocale: (next: string) => void;
125
+ }
126
+ declare function useLocale(): LocaleController;
127
+ //#endregion
128
+ //#region dist/index.d.mts
129
+ type ReadFn$1<T$1> = ((cb?: (value: T$1) => void) => T$1) & {
130
+ type: "signal";
131
+ };
45
132
  //#endregion
46
133
  //#region core/jsx.d.ts
47
- type EventHandler<E extends Event = Event> = (event: E) => void;
48
- interface DOMEvents {
49
- onClick?: EventHandler<MouseEvent>;
50
- onDblClick?: EventHandler<MouseEvent>;
51
- onMouseDown?: EventHandler<MouseEvent>;
52
- onMouseUp?: EventHandler<MouseEvent>;
53
- onMouseMove?: EventHandler<MouseEvent>;
54
- onMouseEnter?: EventHandler<MouseEvent>;
55
- onMouseLeave?: EventHandler<MouseEvent>;
56
- onKeyDown?: EventHandler<KeyboardEvent>;
57
- onKeyUp?: EventHandler<KeyboardEvent>;
58
- onInput?: EventHandler<InputEvent>;
59
- onChange?: EventHandler<Event>;
60
- onFocus?: EventHandler<FocusEvent>;
61
- onBlur?: EventHandler<FocusEvent>;
62
- }
63
- interface StyleProps {
64
- [key: string]: string | number | ReadFn<string | number>;
134
+ type JsxNode$1 = VElement$1 | VText$1 | VSignal$1;
135
+ interface VElement$1 {
136
+ kind: "element";
137
+ tag: string | ComponentFn$1;
138
+ props: Record<string, any>;
139
+ children: JsxNode$1[];
140
+ }
141
+ interface VText$1 {
142
+ kind: "text";
143
+ value: string;
65
144
  }
145
+ interface VSignal$1 {
146
+ kind: "signal";
147
+ read: ReadFn$1<any>;
148
+ }
149
+ interface PropsInterface$1 {
150
+ ctx?: any;
151
+ }
152
+ type ComponentFn$1 = (props: PropsInterface$1, children: JsxNode$1[]) => JsxNode$1 | null;
153
+ //#endregion
154
+ //#region hooks/use-router.d.ts
155
+ type Route = string;
156
+ declare function useRouter(): {
157
+ route: ReadFn$1<string>;
158
+ navigate: (to: Route) => void;
159
+ };
160
+ //#endregion
161
+ //#region core/dom.d.ts
162
+ type CSSValue = string | number;
66
163
  type MaybeSignal<T> = T | ReadFn<T>;
67
- interface HTMLAttributes extends DOMEvents {
164
+ interface DOMEvents {
165
+ onClick?: (e: MouseEvent) => void;
166
+ onDblClick?: (e: MouseEvent) => void;
167
+ onMouseDown?: (e: MouseEvent) => void;
168
+ onMouseUp?: (e: MouseEvent) => void;
169
+ onMouseMove?: (e: MouseEvent) => void;
170
+ onMouseEnter?: (e: MouseEvent) => void;
171
+ onMouseLeave?: (e: MouseEvent) => void;
172
+ onMouseOver?: (e: MouseEvent) => void;
173
+ onMouseOut?: (e: MouseEvent) => void;
174
+ onPointerDown?: (e: PointerEvent) => void;
175
+ onPointerUp?: (e: PointerEvent) => void;
176
+ onPointerMove?: (e: PointerEvent) => void;
177
+ onPointerEnter?: (e: PointerEvent) => void;
178
+ onPointerLeave?: (e: PointerEvent) => void;
179
+ onPointerOver?: (e: PointerEvent) => void;
180
+ onPointerOut?: (e: PointerEvent) => void;
181
+ onKeyDown?: (e: KeyboardEvent) => void;
182
+ onKeyUp?: (e: KeyboardEvent) => void;
183
+ onFocus?: (e: FocusEvent) => void;
184
+ onBlur?: (e: FocusEvent) => void;
185
+ onInput?: (e: InputEvent) => void;
186
+ onChange?: (e: Event) => void;
187
+ onSubmit?: (e: SubmitEvent) => void;
188
+ onDragStart?: (e: DragEvent) => void;
189
+ onDragEnd?: (e: DragEvent) => void;
190
+ onDragOver?: (e: DragEvent) => void;
191
+ onDrop?: (e: DragEvent) => void;
192
+ }
193
+ interface DOMAttrs {
68
194
  id?: string;
69
195
  class?: string;
70
196
  className?: string;
71
197
  title?: string;
72
- style?: StyleProps;
73
- value?: MaybeSignal<string | number>;
74
- checked?: MaybeSignal<boolean>;
75
- disabled?: MaybeSignal<boolean>;
76
- children?: any;
198
+ role?: string;
199
+ tabIndex?: number;
200
+ [key: string]: any;
77
201
  }
78
- interface SVGAttributes extends DOMEvents {
79
- id?: string;
80
- class?: string;
81
- style?: StyleProps;
82
- viewBox?: MaybeSignal<string>;
83
- fill?: MaybeSignal<string>;
84
- stroke?: MaybeSignal<string>;
85
- strokeWidth?: MaybeSignal<number>;
86
- d?: MaybeSignal<string>;
87
- cx?: MaybeSignal<string | number>;
88
- cy?: MaybeSignal<string | number>;
89
- r?: MaybeSignal<string | number>;
90
- x?: MaybeSignal<string | number>;
91
- y?: MaybeSignal<string | number>;
92
- width?: MaybeSignal<string | number>;
93
- height?: MaybeSignal<string | number>;
202
+ //#endregion
203
+ //#region layout/box.d.ts
204
+ interface BoxProps extends DOMEvents, DOMAttrs {
205
+ /**
206
+ * Child nodes rendered inside the box
207
+ */
94
208
  children?: any;
209
+ /** Margin (all sides) */
210
+ m?: MaybeSignal<CSSValue>;
211
+ /** Margin-bottom */
212
+ mb?: MaybeSignal<CSSValue>;
213
+ /** Margin-left */
214
+ ml?: MaybeSignal<CSSValue>;
215
+ /** Margin-right */
216
+ mr?: MaybeSignal<CSSValue>;
217
+ /** Margin-top */
218
+ mt?: MaybeSignal<CSSValue>;
219
+ /** Margin horizontal (left + right) */
220
+ mx?: MaybeSignal<CSSValue>;
221
+ /** Margin vertical (top + bottom) */
222
+ my?: MaybeSignal<CSSValue>;
223
+ /** Padding (all sides) */
224
+ p?: MaybeSignal<CSSValue>;
225
+ /** Padding-bottom */
226
+ pb?: MaybeSignal<CSSValue>;
227
+ /** Padding-left */
228
+ pl?: MaybeSignal<CSSValue>;
229
+ /** Padding-right */
230
+ pr?: MaybeSignal<CSSValue>;
231
+ /** Padding-top */
232
+ pt?: MaybeSignal<CSSValue>;
233
+ /** Padding horizontal (left + right) */
234
+ px?: MaybeSignal<CSSValue>;
235
+ /** Padding vertical (top + bottom) */
236
+ py?: MaybeSignal<CSSValue>;
237
+ /** Border (all sides) */
238
+ b?: MaybeSignal<CSSValue>;
239
+ /** Border-top */
240
+ bt?: MaybeSignal<CSSValue>;
241
+ /** Border-right */
242
+ br?: MaybeSignal<CSSValue>;
243
+ /** Border-bottom */
244
+ bb?: MaybeSignal<CSSValue>;
245
+ /** Border-left */
246
+ bl?: MaybeSignal<CSSValue>;
247
+ /** Border horizontal (left + right) */
248
+ bx?: MaybeSignal<CSSValue>;
249
+ /** Border vertical (top + bottom) */
250
+ by?: MaybeSignal<CSSValue>;
251
+ /** Border radius (all corners) */
252
+ r?: MaybeSignal<CSSValue>;
253
+ /** Border-top radius */
254
+ rt?: MaybeSignal<CSSValue>;
255
+ /** Border-right radius */
256
+ rr?: MaybeSignal<CSSValue>;
257
+ /** Border-bottom radius */
258
+ rb?: MaybeSignal<CSSValue>;
259
+ /** Border-left radius */
260
+ rl?: MaybeSignal<CSSValue>;
261
+ /** Border-top-right radius */
262
+ rtr?: MaybeSignal<CSSValue>;
263
+ /** Border-top-left radius */
264
+ rtl?: MaybeSignal<CSSValue>;
265
+ /** Border-bottom-right radius */
266
+ rbr?: MaybeSignal<CSSValue>;
267
+ /** Border-bottom-left radius */
268
+ rbl?: MaybeSignal<CSSValue>;
269
+ /** Size shortcut (width + height) */
270
+ s?: MaybeSignal<CSSValue>;
271
+ /** Height */
272
+ h?: MaybeSignal<CSSValue>;
273
+ /** Width */
274
+ w?: MaybeSignal<CSSValue>;
275
+ /** Max height */
276
+ maxH?: MaybeSignal<CSSValue>;
277
+ /** Max width */
278
+ maxW?: MaybeSignal<CSSValue>;
279
+ /** Min height */
280
+ minH?: MaybeSignal<CSSValue>;
281
+ /** Min width */
282
+ minW?: MaybeSignal<CSSValue>;
283
+ /** Opacity (0–1) */
284
+ o?: MaybeSignal<CSSValue>;
285
+ /** Box shadow */
286
+ sh?: MaybeSignal<CSSValue>;
287
+ /** Background */
288
+ bg?: MaybeSignal<CSSValue>;
289
+ /**
290
+ * Additional inline styles (merged last)
291
+ * Values support signals
292
+ */
293
+ style?: Record<string, MaybeSignal<CSSValue> | undefined>;
95
294
  }
96
- declare global {
97
- namespace JSX {
98
- type Element = JsxNode | Promise<JsxNode> | null | Promise<null>;
99
- interface ElementType {
100
- (props: any, ...children: any[]): any;
101
- }
102
- interface IntrinsicElements {
103
- div: HTMLAttributes;
104
- li: HTMLAttributes;
105
- ul: HTMLAttributes;
106
- h1: HTMLAttributes;
107
- h2: HTMLAttributes;
108
- h3: HTMLAttributes;
109
- h4: HTMLAttributes;
110
- h5: HTMLAttributes;
111
- h6: HTMLAttributes;
112
- span: HTMLAttributes;
113
- p: HTMLAttributes;
114
- button: HTMLAttributes;
115
- input: HTMLAttributes & {
116
- type?: string;
117
- placeholder?: string;
118
- };
119
- textarea: HTMLAttributes;
120
- form: HTMLAttributes;
121
- label: HTMLAttributes;
122
- svg: SVGAttributes;
123
- path: SVGAttributes;
124
- circle: SVGAttributes;
125
- rect: SVGAttributes;
126
- g: SVGAttributes;
127
- line: SVGAttributes;
128
- polyline: SVGAttributes;
129
- polygon: SVGAttributes;
130
- text: SVGAttributes;
131
- tspan: SVGAttributes;
132
- }
133
- }
134
- }
135
- type JsxChild = JsxNode | JsxText | JsxSignal;
136
- interface JsxText {
137
- kind: "text";
138
- value: string;
295
+ declare function Box(p: BoxProps, children: any[]): any;
296
+ //#endregion
297
+ //#region layout/absolute.d.ts
298
+ /**
299
+ * Absolute positioned component
300
+ * Positions element absolutely within the nearest positioned ancestor
301
+ */
302
+ interface AbsolutePropertiesInterface extends BoxProps {
303
+ /**
304
+ * Distance from top edge of containing block
305
+ * (e.g. "10px", "1rem", "5%")
306
+ */
307
+ top?: string;
308
+ /**
309
+ * Distance from right edge of containing block
310
+ * (e.g. "10px", "1rem", "5%")
311
+ */
312
+ right?: string;
313
+ /**
314
+ * Distance from bottom edge of containing block
315
+ * (e.g. "10px", "1rem", "5%")
316
+ */
317
+ bottom?: string;
318
+ /**
319
+ * Distance from left edge of containing block
320
+ * (e.g. "10px", "1rem", "5%")
321
+ */
322
+ left?: string;
139
323
  }
140
- interface JsxSignal {
141
- kind: "signal";
142
- value: any;
324
+ declare function Absolute(p: AbsolutePropertiesInterface, children: any[]): any;
325
+ //#endregion
326
+ //#region layout/flex-item.d.ts
327
+ /**
328
+ * Flex item component
329
+ * Controls individual item behavior in flex containers
330
+ */
331
+ interface FlexItemPropertiesInterface extends BoxProps {
332
+ /**
333
+ * Flex shorthand (grow, shrink, basis)
334
+ * e.g. "1", "none", "0 1 auto"
335
+ */
336
+ flx?: string;
337
+ /**
338
+ * Align-self (cross-axis alignment)
339
+ */
340
+ as?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
341
+ /**
342
+ * Flex grow factor
343
+ */
344
+ flxGrow?: string;
345
+ /**
346
+ * Flex shrink factor
347
+ */
348
+ flxShrink?: string;
349
+ /**
350
+ * Flex basis
351
+ */
352
+ flxBasis?: string;
143
353
  }
144
- interface JsxNode {
145
- kind: "host" | "component" | "signal";
146
- tag: string | ComponentFn;
147
- props: any;
148
- children: JsxChild[];
354
+ declare function FlexItem(p: FlexItemPropertiesInterface, children: any[]): any;
355
+ //#endregion
356
+ //#region layout/flex.d.ts
357
+ /**
358
+ * Flex container component
359
+ * Core flexbox layout primitive
360
+ */
361
+ interface FlexPropertiesInterface extends FlexItemPropertiesInterface {
362
+ /**
363
+ * Justify-content (main axis alignment)
364
+ */
365
+ jc?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly";
366
+ /**
367
+ * Align-items (cross axis alignment)
368
+ */
369
+ ai?: "stretch" | "flex-start" | "flex-end" | "center" | "baseline";
370
+ /**
371
+ * Align-content (multi-line alignment)
372
+ */
373
+ ac?: "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "stretch";
374
+ /**
375
+ * Gap between items
376
+ */
377
+ g?: string;
378
+ /**
379
+ * Flex direction
380
+ */
381
+ flxDirection?: "row" | "row-reverse" | "column" | "column-reverse";
382
+ /**
383
+ * Flex wrap
384
+ */
385
+ flxWrap?: "nowrap" | "wrap" | "wrap-reverse";
386
+ /**
387
+ * Flex-flow shorthand
388
+ */
389
+ flxFlow?: `${"row" | "row-reverse" | "column" | "column-reverse"} ${"nowrap" | "wrap" | "wrap-reverse"}`;
149
390
  }
150
- interface PropsInterface {
151
- ctx?: RenderCtx;
391
+ declare function Flex(p: FlexPropertiesInterface, children: any[]): any;
392
+ //#endregion
393
+ //#region layout/center.d.ts
394
+ /**
395
+ * Center component
396
+ * Centers children horizontally and vertically using flexbox
397
+ */
398
+ interface CenterPropertiesInterface extends FlexPropertiesInterface {}
399
+ declare function Center(p: CenterPropertiesInterface, children: any[]): any;
400
+ //#endregion
401
+ //#region layout/fixed.d.ts
402
+ /**
403
+ * Fixed positioned component
404
+ * Positions element relative to the viewport
405
+ */
406
+ interface FixedPropertiesInterface extends BoxProps {
407
+ /** Top offset (e.g. "10px") */
408
+ top?: string;
409
+ /** Right offset */
410
+ right?: string;
411
+ /** Bottom offset */
412
+ bottom?: string;
413
+ /** Left offset */
414
+ left?: string;
415
+ /** Stacking order (z-index) */
416
+ zIndex?: string;
152
417
  }
153
- type ComponentFn = (props: PropsInterface, children: JsxChild[]) => JsxNode | null;
154
- declare function jsx(tag: string | ComponentFn, props: any, ...rawChildren: any[]): JsxNode;
418
+ declare function Fixed(p: FixedPropertiesInterface, children: any[]): any;
155
419
  //#endregion
156
- //#region core/mount.d.ts
157
- type MountCallback = (el: Element) => void | Promise<void>;
158
- type UnmountCallback = () => void | Promise<void>;
159
- declare function beginComponentMountSession(): void;
160
- declare function endComponentMountSession(el: Element): void;
161
- declare function mount(cb: MountCallback): void;
162
- declare function registerUnmount(cb: UnmountCallback): void;
163
- declare function runUnmountsForElement(el: Element): Promise<void>;
420
+ //#region layout/grid-item.d.ts
421
+ /**
422
+ * Grid item component
423
+ * Controls individual item placement inside CSS Grid containers
424
+ */
425
+ interface GridItemPropertiesInterface extends BoxProps {
426
+ /**
427
+ * Grid area name or shorthand
428
+ * (e.g. "header", "1 / 1 / 3 / 2")
429
+ */
430
+ grdArea?: string;
431
+ /**
432
+ * Grid column placement
433
+ * (e.g. "1 / span 2", "sidebar")
434
+ */
435
+ grdColumn?: string;
436
+ /**
437
+ * Grid row placement
438
+ * (e.g. "1 / span 3", "content")
439
+ */
440
+ grdRow?: string;
441
+ }
442
+ declare function GridItem(p: GridItemPropertiesInterface, children: any[]): any;
164
443
  //#endregion
165
- //#region core/show.d.ts
166
- interface ShowPropsInterface {
167
- when: ReadFn<boolean>;
444
+ //#region layout/grid.d.ts
445
+ /**
446
+ * Grid container component
447
+ * Core CSS Grid layout primitive
448
+ */
449
+ interface GridPropertiesInterface extends GridItemPropertiesInterface {
450
+ /** Gap between grid items */
451
+ g?: string;
452
+ /** Align-items (block axis) */
453
+ ai?: "stretch" | "start" | "end" | "center" | "baseline";
454
+ /** Justify-items (inline axis) */
455
+ ji?: "stretch" | "start" | "end" | "center" | "baseline";
456
+ /** Align-self (container as grid item) */
457
+ as?: "auto" | "normal" | "stretch" | "center" | "start" | "end" | "self-start" | "self-end" | "flex-start" | "flex-end" | "left" | "right";
458
+ grdTemplateColumns?: string;
459
+ grdTemplateRows?: string;
460
+ grdTemplateAreas?: string;
461
+ grdTemplate?: string;
462
+ grdAutoColumns?: string;
463
+ grdAutoRows?: string;
464
+ grdAutoFlow?: "row" | "column" | "row dense" | "column dense";
465
+ grd?: string;
466
+ grdRowStart?: string;
467
+ grdColumnStart?: string;
468
+ grdRowEnd?: string;
469
+ grdColumnEnd?: string;
470
+ grdRow?: string;
471
+ grdColumn?: string;
472
+ grdRowGap?: string;
473
+ grdColumnGap?: string;
168
474
  }
169
- declare function Show(p: ShowPropsInterface, children: any): Promise<null>;
475
+ declare function Grid(p: GridPropertiesInterface, children: any[]): any;
170
476
  //#endregion
171
- //#region core/unmount.d.ts
172
- declare function unmount(cb: UnmountCallback): void;
477
+ //#region layout/relative.d.ts
478
+ /**
479
+ * Relative positioned component
480
+ * Establishes a positioning context for absolute children
481
+ */
482
+ interface RelativePropertiesInterface extends BoxProps {
483
+ /**
484
+ * Stacking order (z-index)
485
+ * (e.g. "1", "auto", "var(--z-index-modal)")
486
+ */
487
+ zIndex?: string;
488
+ }
489
+ declare function Relative(p: RelativePropertiesInterface, children: any[]): any;
490
+ //#endregion
491
+ //#region layout/scroll.d.ts
492
+ /**
493
+ * Scroll component
494
+ * Creates a scrollable container filling its parent
495
+ */
496
+ interface ScrollPropertiesInterface extends BoxProps {}
497
+ declare function Scroll(p: ScrollPropertiesInterface, children: any[]): any;
498
+ //#endregion
499
+ //#region layout/stack.d.ts
500
+ /**
501
+ * Stack component
502
+ * Vertical layout primitive (flex-direction: column by default)
503
+ */
504
+ interface StackPropertiesInterface extends FlexPropertiesInterface {}
505
+ declare function Stack(p: StackPropertiesInterface, children: any[]): any;
506
+ //#endregion
507
+ //#region layout/sticky.d.ts
508
+ /**
509
+ * Sticky positioned component
510
+ * Sticks to a position within its scroll container
511
+ */
512
+ interface StickyPropertiesInterface extends BoxProps {
513
+ /** Top offset (e.g. "10px") */
514
+ top?: string;
515
+ /** Right offset */
516
+ right?: string;
517
+ /** Bottom offset */
518
+ bottom?: string;
519
+ /** Left offset */
520
+ left?: string;
521
+ /** Stacking order (z-index) */
522
+ zIndex?: string;
523
+ }
524
+ declare function Sticky(p: StickyPropertiesInterface, children: any[]): any;
525
+ //#endregion
526
+ //#region layout/text.d.ts
527
+ /**
528
+ * Text component
529
+ * Typographic primitive for rendering text elements
530
+ */
531
+ interface TextPropertiesInterface extends DOMAttrs, DOMEvents {
532
+ /** Text content */
533
+ children?: any;
534
+ /**
535
+ * HTML tag to render
536
+ * @default "p"
537
+ */
538
+ tag?: "span" | "p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
539
+ /** Text alignment */
540
+ a?: "left" | "right" | "center" | "justify";
541
+ /** Font family */
542
+ ff?: string;
543
+ /** Font weight */
544
+ fw?: number;
545
+ /** Font size */
546
+ fs?: string;
547
+ /** Line height */
548
+ lh?: string;
549
+ /** Letter spacing */
550
+ ls?: string;
551
+ /** Font style */
552
+ s?: "normal" | "italic";
553
+ /** Text color */
554
+ c?: string;
555
+ m?: string;
556
+ mb?: string;
557
+ ml?: string;
558
+ mr?: string;
559
+ mt?: string;
560
+ mx?: string;
561
+ my?: string;
562
+ p?: string;
563
+ pb?: string;
564
+ pl?: string;
565
+ pr?: string;
566
+ pt?: string;
567
+ px?: string;
568
+ py?: string;
569
+ /** Background */
570
+ bg?: string;
571
+ }
572
+ declare function Text(p: TextPropertiesInterface, children: any[]): VElement$1;
573
+ //#endregion
574
+ //#region style/color.d.ts
575
+ declare const color: {
576
+ brand: string;
577
+ onBrand: string;
578
+ gray0: string;
579
+ gray100: string;
580
+ gray200: string;
581
+ gray300: string;
582
+ gray400: string;
583
+ gray500: string;
584
+ gray600: string;
585
+ gray700: string;
586
+ gray800: string;
587
+ gray900: string;
588
+ red0: string;
589
+ red100: string;
590
+ red200: string;
591
+ red300: string;
592
+ red400: string;
593
+ red500: string;
594
+ red600: string;
595
+ red700: string;
596
+ red800: string;
597
+ red900: string;
598
+ pink0: string;
599
+ pink100: string;
600
+ pink200: string;
601
+ pink300: string;
602
+ pink400: string;
603
+ pink500: string;
604
+ pink600: string;
605
+ pink700: string;
606
+ pink800: string;
607
+ pink900: string;
608
+ grape0: string;
609
+ grape100: string;
610
+ grape200: string;
611
+ grape300: string;
612
+ grape400: string;
613
+ grape500: string;
614
+ grape600: string;
615
+ grape700: string;
616
+ grape800: string;
617
+ grape900: string;
618
+ violet0: string;
619
+ violet100: string;
620
+ violet200: string;
621
+ violet300: string;
622
+ violet400: string;
623
+ violet500: string;
624
+ violet600: string;
625
+ violet700: string;
626
+ violet800: string;
627
+ violet900: string;
628
+ indigo0: string;
629
+ indigo100: string;
630
+ indigo200: string;
631
+ indigo300: string;
632
+ indigo400: string;
633
+ indigo500: string;
634
+ indigo600: string;
635
+ indigo700: string;
636
+ indigo800: string;
637
+ indigo900: string;
638
+ blue0: string;
639
+ blue100: string;
640
+ blue200: string;
641
+ blue300: string;
642
+ blue400: string;
643
+ blue500: string;
644
+ blue600: string;
645
+ blue700: string;
646
+ blue800: string;
647
+ blue900: string;
648
+ cyan0: string;
649
+ cyan100: string;
650
+ cyan200: string;
651
+ cyan300: string;
652
+ cyan400: string;
653
+ cyan500: string;
654
+ cyan600: string;
655
+ cyan700: string;
656
+ cyan800: string;
657
+ cyan900: string;
658
+ teal0: string;
659
+ teal100: string;
660
+ teal200: string;
661
+ teal300: string;
662
+ teal400: string;
663
+ teal500: string;
664
+ teal600: string;
665
+ teal700: string;
666
+ teal800: string;
667
+ teal900: string;
668
+ green0: string;
669
+ green100: string;
670
+ green200: string;
671
+ green300: string;
672
+ green400: string;
673
+ green500: string;
674
+ green600: string;
675
+ green700: string;
676
+ green800: string;
677
+ green900: string;
678
+ lime0: string;
679
+ lime100: string;
680
+ lime200: string;
681
+ lime300: string;
682
+ lime400: string;
683
+ lime500: string;
684
+ lime600: string;
685
+ lime700: string;
686
+ lime800: string;
687
+ lime900: string;
688
+ yellow0: string;
689
+ yellow100: string;
690
+ yellow200: string;
691
+ yellow300: string;
692
+ yellow400: string;
693
+ yellow500: string;
694
+ yellow600: string;
695
+ yellow700: string;
696
+ yellow800: string;
697
+ yellow900: string;
698
+ orange0: string;
699
+ orange100: string;
700
+ orange200: string;
701
+ orange300: string;
702
+ orange400: string;
703
+ orange500: string;
704
+ orange600: string;
705
+ orange700: string;
706
+ orange800: string;
707
+ orange900: string;
708
+ };
709
+ //#endregion
710
+ //#region style/font.d.ts
711
+ declare const font: {
712
+ family: {
713
+ sans: string;
714
+ serif: string;
715
+ mono: string;
716
+ };
717
+ size: {
718
+ xs: string;
719
+ sm: string;
720
+ md: string;
721
+ lg: string;
722
+ xl: string;
723
+ "2xl": string;
724
+ "3xl": string;
725
+ "4xl": string;
726
+ "5xl": string;
727
+ "6xl": string;
728
+ "7xl": string;
729
+ "8xl": string;
730
+ "9xl": string;
731
+ };
732
+ weight: {
733
+ thin: number;
734
+ extralight: number;
735
+ light: number;
736
+ normal: number;
737
+ medium: number;
738
+ semibold: number;
739
+ bold: number;
740
+ extrabold: number;
741
+ black: number;
742
+ };
743
+ style: {
744
+ normal: string;
745
+ italic: string;
746
+ };
747
+ lineHeight: {
748
+ xs: string;
749
+ sm: string;
750
+ md: string;
751
+ lg: string;
752
+ xl: string;
753
+ "2xl": string;
754
+ "3xl": string;
755
+ "4xl": string;
756
+ "5xl": string;
757
+ "6xl": string;
758
+ "7xl": string;
759
+ "8xl": string;
760
+ "9xl": string;
761
+ };
762
+ letterSpacing: {
763
+ xs: string;
764
+ sm: string;
765
+ md: string;
766
+ lg: string;
767
+ xl: string;
768
+ "2xl": string;
769
+ "3xl": string;
770
+ "4xl": string;
771
+ "5xl": string;
772
+ "6xl": string;
773
+ "7xl": string;
774
+ "8xl": string;
775
+ "9xl": string;
776
+ };
777
+ };
778
+ //#endregion
779
+ //#region style/radius.d.ts
780
+ declare const radius: {
781
+ sm: string;
782
+ md: string;
783
+ lg: string;
784
+ xl: string;
785
+ "2xl": string;
786
+ "3xl": string;
787
+ full: string;
788
+ };
789
+ //#endregion
790
+ //#region style/shadow.d.ts
791
+ declare const shadow: {
792
+ sm: string;
793
+ md: string;
794
+ lg: string;
795
+ xl: string;
796
+ "2xl": string;
797
+ inner: string;
798
+ };
799
+ //#endregion
800
+ //#region style/size.d.ts
801
+ declare const size: {
802
+ xs: string;
803
+ sm: string;
804
+ md: string;
805
+ lg: string;
806
+ xl: string;
807
+ "2xl": string;
808
+ "3xl": string;
809
+ "4xl": string;
810
+ "5xl": string;
811
+ "6xl": string;
812
+ "7xl": string;
813
+ "8xl": string;
814
+ "9xl": string;
815
+ "1/12": string;
816
+ "2/12": string;
817
+ "3/12": string;
818
+ "4/12": string;
819
+ "5/12": string;
820
+ "6/12": string;
821
+ "7/12": string;
822
+ "8/12": string;
823
+ "9/12": string;
824
+ "10/12": string;
825
+ "11/12": string;
826
+ "1/5": string;
827
+ "2/5": string;
828
+ "3/5": string;
829
+ "4/5": string;
830
+ "1/4": string;
831
+ "3/4": string;
832
+ "1/3": string;
833
+ "2/3": string;
834
+ "1/2": string;
835
+ full: string;
836
+ };
837
+ //#endregion
838
+ //#region style/space.d.ts
839
+ declare const space: {
840
+ xs: string;
841
+ sm: string;
842
+ md: string;
843
+ lg: string;
844
+ xl: string;
845
+ xxl: string;
846
+ "3xl": string;
847
+ "4xl": string;
848
+ "5xl": string;
849
+ "6xl": string;
850
+ "7xl": string;
851
+ "8xl": string;
852
+ };
853
+ //#endregion
854
+ //#region style/style.d.ts
855
+ declare const style: {
856
+ normal: string;
857
+ italic: string;
858
+ };
859
+ //#endregion
860
+ //#region style/weight.d.ts
861
+ declare const weight: {
862
+ thin: number;
863
+ extralight: number;
864
+ light: number;
865
+ normal: number;
866
+ medium: number;
867
+ semibold: number;
868
+ bold: number;
869
+ extrabold: number;
870
+ black: number;
871
+ };
872
+ //#endregion
873
+ //#region style/z-index.d.ts
874
+ declare const zIndex: {
875
+ base: string;
876
+ background: string;
877
+ menu: string;
878
+ };
173
879
  //#endregion
174
- export { ComponentFn, ConnectorInterface, JsxChild, JsxNode, JsxSignal, JsxText, MountCallback, PropsInterface, ReadFn, RenderCtx, RenderResult, Show, type UnmountCallback, beginComponentMountSession, connector, destroy, effect, endComponentMountSession, fragment, jsx, mount, registerUnmount, render, runUnmountsForElement, signal, unmount };
880
+ export { Absolute, AbsolutePropertiesInterface, Box, BoxProps, BreakpointName, Center, CenterPropertiesInterface, ComponentFn, ConnectorInterface, Fixed, FixedPropertiesInterface, Flex, FlexItem, FlexItemPropertiesInterface, FlexPropertiesInterface, For, Grid, GridItem, GridItemPropertiesInterface, GridPropertiesInterface, JsxNode, LocaleController, MountCallback, PropsInterface, ReadFn, Relative, RelativePropertiesInterface, RenderCtx, RenderResult, Repeat, Scroll, ScrollPropertiesInterface, Show, Stack, StackPropertiesInterface, Sticky, StickyPropertiesInterface, Text, TextPropertiesInterface, UnmountCallback, VElement, VSignal, VText, beginMountSession, breakpoint, color, connector, effect, endMountSession, font, fragment, hasActiveMountSession, jsx, mount, radius, render, runUnmountsForElement, shadow, signal, size, space, style, unmount, useBreakpoint, useCustomEvent, useLocale, useRouter, weight, zIndex };