nuclo 0.1.71 → 0.1.72

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.
@@ -0,0 +1,19 @@
1
+ export declare class NucloDocument {
2
+ head: ExpandedElement;
3
+ body: ExpandedElement;
4
+ private _listeners;
5
+ constructor();
6
+ createElement(tagName: string, _options?: unknown): ExpandedElement;
7
+ createElementNS(namespace: string, tagName: string, _options?: unknown): ExpandedElement;
8
+ createTextNode(data: string): Text;
9
+ createComment(data: string): Comment;
10
+ createDocumentFragment(): DocumentFragment;
11
+ querySelector(selector: string): Element | null;
12
+ querySelectorAll(_selector: string): NodeListOf<Element>;
13
+ addEventListener(type: string, listener: EventListener): void;
14
+ removeEventListener(type: string, listener: EventListener): void;
15
+ dispatchEvent(event: Event): boolean;
16
+ contains(_node: Node): boolean;
17
+ }
18
+ export declare const document: Document;
19
+ //# sourceMappingURL=Document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/polyfill/Document.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,CAAC,UAAU,CAAkC;;IAQpD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,eAAe;IAInE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,eAAe;IAMxF,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAcpC,sBAAsB,IAAI,gBAAgB;IAmE1C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAe/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;IAIxD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAO7D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAOhE,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAcpC,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;CAG/B;AAED,eAAO,MAAM,QAAQ,UAA6C,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { NucloNode } from './Node';
2
+ export declare class NucloElement extends NucloNode {
3
+ tagName: string;
4
+ children: unknown[];
5
+ attributes: Map<string, string>;
6
+ className: string;
7
+ classList: DOMTokenList;
8
+ textContent: string;
9
+ private _innerHTML;
10
+ parentNode: unknown;
11
+ rawMods?: unknown[];
12
+ mods?: unknown[];
13
+ style: CSSStyleDeclaration;
14
+ id: string;
15
+ namespaceURI?: string;
16
+ sheet?: CSSStyleSheet | null;
17
+ private _listeners;
18
+ get innerHTML(): string;
19
+ set innerHTML(value: string);
20
+ private serializeChildren;
21
+ private serializeElement;
22
+ constructor(tagName: string);
23
+ appendChild<T extends Node>(child: T): T;
24
+ setAttribute(name: string, value: string): void;
25
+ getAttribute(name: string): string | null;
26
+ removeAttribute(name: string): void;
27
+ hasAttribute(name: string): boolean;
28
+ insertBefore<T extends Node>(newNode: T, referenceNode: Node | null): T;
29
+ removeChild<T extends Node>(child: T): T;
30
+ replaceChild<T extends Node>(newChild: Node, oldChild: T): T;
31
+ addEventListener(type: string, listener: EventListener): void;
32
+ removeEventListener(type: string, listener: EventListener): void;
33
+ dispatchEvent(event: Event): boolean;
34
+ querySelector(selector: string): Element | null;
35
+ private querySelectorById;
36
+ private querySelectorByClass;
37
+ private querySelectorByTag;
38
+ querySelectorAll(selector: string): NodeListOf<Element>;
39
+ private querySelectorAllByClass;
40
+ private querySelectorAllByTag;
41
+ }
42
+ //# sourceMappingURL=Element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Element.d.ts","sourceRoot":"","sources":["../../src/polyfill/Element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAwBnC,qBAAa,YAAa,SAAQ,SAAS;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAM;IACvB,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,MAAM,CAAM;IACzB,OAAO,CAAC,UAAU,CAAc;IAChC,UAAU,EAAE,OAAO,CAAQ;IAC3B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAM;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,UAAU,CAAkC;IAEpD,IAAI,SAAS,IAAI,MAAM,CAGtB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAE1B;IAED,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,gBAAgB;gBAsCZ,OAAO,EAAE,MAAM;IA+I3B,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAQxC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAS/C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIzC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOnC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC;IAcvE,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAWxC,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAc5D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAO7D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAOhE,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAkBpC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAe/C,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,kBAAkB;IAmB1B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;IAiBvD,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,qBAAqB;CAa9B"}
@@ -0,0 +1,43 @@
1
+ export declare class NucloEvent implements Event {
2
+ type: string;
3
+ bubbles: boolean;
4
+ cancelable: boolean;
5
+ composed: boolean;
6
+ currentTarget: EventTarget | null;
7
+ defaultPrevented: boolean;
8
+ eventPhase: number;
9
+ isTrusted: boolean;
10
+ target: EventTarget | null;
11
+ timeStamp: number;
12
+ readonly AT_TARGET: 2;
13
+ readonly BUBBLING_PHASE: 3;
14
+ readonly CAPTURING_PHASE: 1;
15
+ readonly NONE: 0;
16
+ returnValue: boolean;
17
+ srcElement: EventTarget | null;
18
+ cancelBubble: boolean;
19
+ constructor(type: string, eventInitDict?: EventInit);
20
+ composedPath(): EventTarget[];
21
+ initEvent(_type: string, _bubbles?: boolean, _cancelable?: boolean): void;
22
+ preventDefault(): void;
23
+ stopImmediatePropagation(): void;
24
+ stopPropagation(): void;
25
+ }
26
+ export declare class NucloCustomEvent<T = any> extends NucloEvent implements CustomEvent<T> {
27
+ detail: T;
28
+ constructor(type: string, eventInitDict?: CustomEventInit<T>);
29
+ initCustomEvent(_type: string, _bubbles?: boolean, _cancelable?: boolean, _detail?: T): void;
30
+ }
31
+ export declare const Event: {
32
+ new (type: string, eventInitDict?: EventInit): Event;
33
+ prototype: Event;
34
+ readonly NONE: 0;
35
+ readonly CAPTURING_PHASE: 1;
36
+ readonly AT_TARGET: 2;
37
+ readonly BUBBLING_PHASE: 3;
38
+ };
39
+ export declare const CustomEvent: {
40
+ new <T>(type: string, eventInitDict?: CustomEventInit<T>): CustomEvent<T>;
41
+ prototype: CustomEvent;
42
+ };
43
+ //# sourceMappingURL=Event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../src/polyfill/Event.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,YAAW,KAAK;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,WAAW,GAAG,IAAI,CAAQ;IACzC,gBAAgB,EAAE,OAAO,CAAS;IAClC,UAAU,EAAE,MAAM,CAAK;IACvB,SAAS,EAAE,OAAO,CAAS;IAC3B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAQ;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAK;IAC1B,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAK;IAC/B,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAK;IAChC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAK;IACrB,WAAW,EAAE,OAAO,CAAQ;IAC5B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAQ;IACtC,YAAY,EAAE,OAAO,CAAS;gBAElB,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,SAAS;IAQnD,YAAY,IAAI,WAAW,EAAE;IAI7B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAIzE,cAAc,IAAI,IAAI;IAMtB,wBAAwB,IAAI,IAAI;IAIhC,eAAe,IAAI,IAAI;CAGxB;AAED,qBAAa,gBAAgB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,UAAW,YAAW,WAAW,CAAC,CAAC,CAAC;IACjF,MAAM,EAAE,CAAC,CAAC;gBAEE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAK5D,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI;CAG7F;AAGD,eAAO,MAAM,KAAK;;;;;;;CAAiC,CAAC;AACpD,eAAO,MAAM,WAAW;;;CAA6C,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Base Node class for instanceof checks in Node.js polyfill
3
+ */
4
+ export declare class NucloNode {
5
+ nodeType: number;
6
+ nodeName: string;
7
+ nodeValue: string | null;
8
+ parentNode: unknown;
9
+ private _childNodes;
10
+ textContent: string;
11
+ get childNodes(): NodeListOf<ChildNode>;
12
+ }
13
+ //# sourceMappingURL=Node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/polyfill/Node.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,SAAS;IACpB,QAAQ,EAAE,MAAM,CAAK;IACrB,QAAQ,EAAE,MAAM,CAAM;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,UAAU,EAAE,OAAO,CAAQ;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,WAAW,EAAE,MAAM,CAAM;IAEzB,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,CAAC,CA8BtC;CACF"}
@@ -0,0 +1,11 @@
1
+ export declare class NucloText {
2
+ nodeType: number;
3
+ nodeName: string;
4
+ data: string;
5
+ textContent: string;
6
+ parentNode: unknown;
7
+ constructor(data: string);
8
+ get nodeValue(): string;
9
+ set nodeValue(value: string);
10
+ }
11
+ //# sourceMappingURL=Text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/polyfill/Text.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IACpB,QAAQ,SAAK;IACb,QAAQ,SAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAQ;gBAEf,IAAI,EAAE,MAAM;IAKxB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAG1B;CACF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Polyfills for Node.js environments
3
+ *
4
+ * This module provides minimal browser API polyfills to allow Nuclo to run in Node.js
5
+ * for server-side rendering (SSR) scenarios.
6
+ *
7
+ * To use in Node.js:
8
+ * ```typescript
9
+ * import 'nuclo/polyfill';
10
+ * // or
11
+ * import { document, Event, CustomEvent } from 'nuclo/polyfill';
12
+ * ```
13
+ */
14
+ export { NucloDocument, document } from './Document';
15
+ export { NucloElement } from './Element';
16
+ export { NucloText } from './Text';
17
+ export { NucloEvent, NucloCustomEvent, Event, CustomEvent } from './Event';
18
+ export { NucloNode } from './Node';
19
+ import { NucloElement } from './Element';
20
+ import { NucloNode } from './Node';
21
+ export declare const Node: typeof NucloNode;
22
+ export declare const Element: typeof NucloElement;
23
+ export declare const HTMLElement: typeof NucloElement;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/polyfill/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,eAAO,MAAM,IAAI,kBAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,qBAAe,CAAC;AACpC,eAAO,MAAM,WAAW,qBAAe,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuclo",
3
3
  "private": false,
4
- "version": "0.1.71",
4
+ "version": "0.1.72",
5
5
  "type": "module",
6
6
  "main": "./dist/nuclo.cjs",
7
7
  "module": "./dist/nuclo.js",
@@ -4,18 +4,22 @@ declare global {
4
4
  export type Primitive = string | number | bigint | boolean | symbol | null | undefined;
5
5
  export type ElementTagName = keyof HTMLElementTagNameMap;
6
6
 
7
+ // CSS Style object type that accepts any CSS property as string or number
8
+ export type CSSStyleObject = {
9
+ [K in keyof CSSStyleDeclaration]?: CSSStyleDeclaration[K] | string | number;
10
+ };
11
+
7
12
  // Core element attribute types
8
13
  export type ExpandedElementAttributes<
9
14
  TTagName extends ElementTagName = ElementTagName,
10
- > = Omit<
11
- {
12
- [K in keyof HTMLElementTagNameMap[TTagName]]?:
13
- | HTMLElementTagNameMap[TTagName][K]
14
- | (() => HTMLElementTagNameMap[TTagName][K]);
15
- },
16
- "style"
17
- > & {
18
- style?: Partial<CSSStyleDeclaration> | (() => Partial<CSSStyleDeclaration>);
15
+ > = {
16
+ [K in keyof HTMLElementTagNameMap[TTagName]]?:
17
+ K extends "style"
18
+ ? CSSStyleObject | (() => CSSStyleObject)
19
+ : HTMLElementTagNameMap[TTagName][K] | (() => HTMLElementTagNameMap[TTagName][K]);
20
+ } & {
21
+ // Allow custom attributes (data-*, aria-*, etc.)
22
+ [key: string]: any;
19
23
  };
20
24
 
21
25
  // Core element type