@siddh-dev/fabric 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Siddhant Mul
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Siddhant Mul
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
package/README.md CHANGED
@@ -2,15 +2,7 @@
2
2
 
3
3
  A lightweight frontend UI runtime built from scratch with TypeScript.
4
4
 
5
- Fabric is an experimental frontend runtime focused on understanding and implementing the core concepts behind modern UI libraries, including:
6
-
7
- - Virtual DOM.
8
- - Components.
9
- - State.
10
- - Effects.
11
- - Reconciliation.
12
- - Scheduling.
13
- - DOM updates.
5
+ Fabric is an experimental frontend runtime focused on understanding and implementing the core concepts behind modern UI libraries, including virtual DOM, components, state, effects, reconciliation, scheduling, and DOM updates.
14
6
 
15
7
  > Fabric is not a React clone. It is an independent runtime built from first principles.
16
8
 
@@ -20,165 +12,202 @@ Fabric is an experimental frontend runtime focused on understanding and implemen
20
12
 
21
13
  Fabric currently supports:
22
14
 
23
- - Virtual DOM.
24
- - `createElement()`.
25
- - JSX.
26
- - Automatic JSX runtime.
27
- - Function components.
28
- - Props.
29
- - `useState()`.
30
- - `useEffect()`.
31
- - Effect cleanup.
32
- - DOM events.
33
- - Reconciliation.
34
- - Keyed reconciliation.
35
- - DOM property updates.
36
- - Update scheduling and batching.
37
- - Component lifecycle handling.
38
- - TypeScript.
39
- - Automated tests.
15
+ - Virtual DOM (VNode)
16
+ - `createElement()`
17
+ - JSX and automatic JSX runtime
18
+ - Function components and props
19
+ - `useState()`
20
+ - `useEffect()`
21
+ - Effect cleanup
22
+ - DOM event handling
23
+ - DOM property updates
24
+ - Component mount, update, and unmount
25
+ - Virtual DOM reconciliation
26
+ - Keyed reconciliation
27
+ - Update scheduling and batching
28
+ - TypeScript declarations
29
+ - Automated tests
30
+
31
+ Fabric is intentionally small and focused on core runtime behavior rather than providing every feature found in mature UI libraries.
40
32
 
41
33
  ---
42
34
 
43
- ## Runtime Overview
44
-
45
- At a high level, Fabric works like this:
35
+ ## Installation
46
36
 
47
- ```text
48
- JSX / createElement()
49
- ↓
50
- JSX Runtime
51
- ↓
52
- VNode
53
- ↓
54
- Components
55
- ↓
56
- State / Effects
57
- ↓
58
- Scheduler
59
- ↓
60
- Reconciliation
61
- ↓
62
- DOM
63
- ```
37
+ Install Fabric using your preferred package manager.
64
38
 
65
- For JSX, TypeScript uses Fabric's automatic JSX runtime:
39
+ ### pnpm
66
40
 
67
- ```text
68
- JSX
69
- ↓
70
- TypeScript JSX transform
71
- ↓
72
- @siddh-dev/fabric/jsx-runtime
73
- ↓
74
- createElement()
75
- ↓
76
- VNode
77
- ↓
78
- Reconciliation
79
- ↓
80
- DOM
41
+ ```bash
42
+ pnpm add @siddh-dev/fabric
81
43
  ```
82
44
 
83
- When state changes:
45
+ ### npm
84
46
 
85
- ```text
86
- setState()
87
- ↓
88
- schedule update
89
- ↓
90
- component re-renders
91
- ↓
92
- new VNode
93
- ↓
94
- reconciliation
95
- ↓
96
- DOM update
47
+ ```bash
48
+ npm install @siddh-dev/fabric
97
49
  ```
98
50
 
99
51
  ---
100
52
 
101
- ## Quick Example
53
+ ## Quick Start
54
+
55
+ Create a TypeScript JSX file, such as `src/main.tsx`.
102
56
 
103
57
  ```tsx
104
- import {
105
- createRoot,
106
- useState
107
- } from "@siddh-dev/fabric";
58
+ import { createRoot, useState } from "@siddh-dev/fabric";
108
59
 
109
60
  function Counter() {
110
61
  const [count, setCount] = useState(0);
111
62
 
112
63
  return (
113
- <div>
114
- <h1>Fabric</h1>
64
+ <main>
65
+ <h1>Fabric Counter</h1>
66
+ <p>Count: {count}</p>
115
67
 
116
- <p>
117
- Count: {count}
118
- </p>
119
-
120
- <button onClick={() => setCount(count + 1)}>
68
+ <button onClick={() => setCount(previous => previous + 1)}>
121
69
  Increment
122
70
  </button>
123
- </div>
71
+ </main>
124
72
  );
125
73
  }
126
74
 
127
75
  const container = document.getElementById("app");
128
76
 
129
- if (container === null) {
77
+ if (!(container instanceof HTMLElement)) {
130
78
  throw new Error("App container not found.");
131
79
  }
132
80
 
133
- createRoot(container).render(
134
- <Counter />
135
- );
81
+ createRoot(container).render(<Counter />);
136
82
  ```
137
83
 
138
- Fabric supports the automatic JSX runtime, so you do not need to import `jsx()` manually.
84
+ Your HTML must contain a matching mount element:
139
85
 
140
- For TypeScript consumers, configure JSX like this:
86
+ ```html
87
+ <div id="app"></div>
88
+ ```
89
+
90
+ ### TypeScript JSX Configuration
91
+
92
+ Configure the automatic JSX runtime in your `tsconfig.json`:
141
93
 
142
94
  ```json
143
95
  {
144
- "compilerOptions": {
145
- "jsx": "react-jsx",
146
- "jsxImportSource": "@siddh-dev/fabric"
147
- }
96
+ "compilerOptions": {
97
+ "jsx": "react-jsx",
98
+ "jsxImportSource": "@siddh-dev/fabric"
99
+ }
148
100
  }
149
101
  ```
150
102
 
151
- The `"jsxImportSource": "@siddh-dev/fabric"` option tells TypeScript to use Fabric's JSX runtime.
103
+ The `jsxImportSource` option tells TypeScript to use Fabric's JSX runtime.
152
104
 
153
- Application code does not need to manually import `jsx()`.
105
+ You do not need to manually import `jsx()` or `jsxs()` in application code.
154
106
 
155
107
  ---
156
108
 
157
- ## Installation
109
+ ## Runtime Overview
158
110
 
159
- Using pnpm:
111
+ Fabric converts JSX into virtual nodes, renders components, manages state and effects, and reconciles changes with the DOM.
160
112
 
161
- ```bash
162
- pnpm add @siddh-dev/fabric
113
+ ```text
114
+ JSX / createElement()
115
+ |
116
+ v
117
+ TypeScript JSX Transform
118
+ |
119
+ v
120
+ Fabric JSX Runtime
121
+ |
122
+ v
123
+ VNode
124
+ |
125
+ v
126
+ Components / Hooks
127
+ |
128
+ v
129
+ Scheduler
130
+ |
131
+ v
132
+ Reconciliation
133
+ |
134
+ v
135
+ DOM
163
136
  ```
164
137
 
165
- Using npm:
138
+ ### Automatic JSX Runtime
166
139
 
167
- ```bash
168
- npm install @siddh-dev/fabric
140
+ For JSX written in TypeScript, the automatic transform uses Fabric's runtime entry points:
141
+
142
+ ```text
143
+ JSX
144
+ |
145
+ v
146
+ TypeScript JSX Transform
147
+ |
148
+ v
149
+ @siddh-dev/fabric/jsx-runtime
150
+ |
151
+ v
152
+ jsx() / jsxs()
153
+ |
154
+ v
155
+ VNode
156
+ |
157
+ v
158
+ Reconciliation
159
+ |
160
+ v
161
+ DOM
169
162
  ```
170
163
 
171
- For development setup and TypeScript configuration, see the [Installation Guide](./docs/getting-started/installation.md).
164
+ ### State Updates
165
+
166
+ When a component's state changes, Fabric schedules an update and reconciles the resulting virtual tree.
167
+
168
+ ```text
169
+ setState()
170
+ |
171
+ v
172
+ Schedule Update
173
+ |
174
+ v
175
+ Component Re-render
176
+ |
177
+ v
178
+ New VNode
179
+ |
180
+ v
181
+ Reconciliation
182
+ |
183
+ v
184
+ DOM Update
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Public API
190
+
191
+ Fabric's public entry point provides the core APIs exported by the package.
192
+
193
+ The main APIs used in the Quick Start example are:
194
+
195
+ - `createRoot()` — creates a root for rendering into a DOM container.
196
+ - `createElement()` — creates virtual nodes.
197
+ - `useState()` — manages component state.
198
+ - `useEffect()` — runs effects and supports cleanup.
199
+
200
+ For the exact exports and API details, see the [Public API Reference](./docs/api/public-api.md).
172
201
 
173
202
  ---
174
203
 
175
204
  ## Documentation
176
205
 
177
- The complete documentation is available in the [`docs/`](./docs/) directory.
206
+ The documentation is organized by topic.
178
207
 
179
208
  ### Getting Started
180
209
 
181
- - [Installation](./docs/getting-started/installation.md)
210
+ - [Installation Guide](./docs/getting-started/installation.md)
182
211
  - [Quick Start](./docs/getting-started/quick-start.md)
183
212
 
184
213
  ### Concepts
@@ -193,15 +222,15 @@ The complete documentation is available in the [`docs/`](./docs/) directory.
193
222
  ### Runtime
194
223
 
195
224
  - [JSX](./docs/runtime/jsx.md)
225
+ - [DOM](./docs/runtime/dom.md)
196
226
  - [Events](./docs/runtime/events.md)
197
227
  - [Reconciliation](./docs/runtime/reconciliation.md)
198
228
  - [Keyed Reconciliation](./docs/runtime/keyed-reconciliation.md)
199
229
  - [Scheduler](./docs/runtime/scheduler.md)
200
- - [DOM](./docs/runtime/dom.md)
201
230
 
202
231
  ### API
203
232
 
204
- - [Public API](./docs/api/public-api.md)
233
+ - [Public API Reference](./docs/api/public-api.md)
205
234
 
206
235
  ### Development
207
236
 
@@ -217,10 +246,15 @@ The complete documentation is available in the [`docs/`](./docs/) directory.
217
246
 
218
247
  ## Development
219
248
 
249
+ ### Prerequisites
250
+
251
+ - Node.js
252
+ - pnpm
253
+
220
254
  Clone the repository:
221
255
 
222
256
  ```bash
223
- git clone <repository-url>
257
+ git clone https://github.com/SiddhCodes/Fabric.git
224
258
  cd Fabric
225
259
  ```
226
260
 
@@ -230,7 +264,7 @@ Install dependencies:
230
264
  pnpm install
231
265
  ```
232
266
 
233
- Start development mode:
267
+ Start TypeScript watch mode:
234
268
 
235
269
  ```bash
236
270
  pnpm dev
@@ -242,13 +276,13 @@ Run tests in watch mode:
242
276
  pnpm test
243
277
  ```
244
278
 
245
- Run the test suite once:
279
+ Run the complete test suite once:
246
280
 
247
281
  ```bash
248
282
  pnpm test:run
249
283
  ```
250
284
 
251
- Run type checking:
285
+ Run TypeScript checks:
252
286
 
253
287
  ```bash
254
288
  pnpm check
@@ -272,9 +306,9 @@ pnpm clean
272
306
 
273
307
  Fabric uses:
274
308
 
275
- - Vitest.
276
- - jsdom.
277
- - TypeScript.
309
+ - Vitest
310
+ - jsdom
311
+ - TypeScript
278
312
 
279
313
  Run the complete test suite:
280
314
 
@@ -282,21 +316,18 @@ Run the complete test suite:
282
316
  pnpm test:run
283
317
  ```
284
318
 
285
- Tests cover areas including:
286
-
287
- - VNode creation.
288
- - JSX.
289
- - Components.
290
- - Props.
291
- - State.
292
- - Effects.
293
- - Effect cleanup.
294
- - Events.
295
- - Reconciliation.
296
- - Keyed reconciliation.
297
- - Scheduler behavior.
298
- - Root rendering.
299
- - DOM updates.
319
+ The existing test suite covers areas including:
320
+
321
+ - VNode creation
322
+ - JSX and JSX syntax
323
+ - Components
324
+ - State and effects
325
+ - Effect cleanup
326
+ - Event handling
327
+ - Reconciliation and keyed reconciliation
328
+ - Scheduler behavior
329
+ - Root rendering
330
+ - DOM updates
300
331
 
301
332
  ---
302
333
 
@@ -307,93 +338,103 @@ Fabric/
307
338
  ├── src/
308
339
  │ ├── core/
309
340
  │ │ ├── component/
341
+ │ │ │ ├── ComponentInstance.ts
342
+ │ │ │ └── ComponentRuntime.ts
310
343
  │ │ ├── hooks/
344
+ │ │ │ ├── HookRuntime.ts
345
+ │ │ │ ├── useEffect.ts
346
+ │ │ │ └── useState.ts
311
347
  │ │ ├── jsx/
348
+ │ │ │ ├── jsx.ts
349
+ │ │ │ ├── jsx-runtime.ts
350
+ │ │ │ ├── jsx-dev-runtime.ts
351
+ │ │ │ └── JSXTypes.ts
312
352
  │ │ ├── scheduler/
353
+ │ │ │ └── Scheduler.ts
313
354
  │ │ └── vnode/
314
- │ │
355
+ │ │ ├── createElement.ts
356
+ │ │ └── VNode.ts
315
357
  │ ├── dom/
316
358
  │ │ ├── DOMProperties.ts
317
359
  │ │ ├── EventSystem.ts
318
360
  │ │ └── Reconciler.ts
319
- │ │
320
361
  │ ├── runtime/
321
362
  │ │ └── createRoot.ts
322
- │ │
323
363
  │ └── index.ts
324
- │
325
364
  ├── tests/
365
+ │ ├── core/
366
+ │ ├── component/
367
+ │ ├── dom/
368
+ │ ├── runtime/
369
+ │ └── tsconfig.json
326
370
  ├── docs/
371
+ │ ├── api/
372
+ │ ├── concepts/
373
+ │ ├── development/
374
+ │ ├── getting-started/
375
+ │ ├── project/
376
+ │ └── runtime/
327
377
  ├── index.html
328
378
  ├── package.json
329
379
  ├── tsconfig.json
330
- ├── tests/tsconfig.json
331
- └── vitest.config.ts
380
+ ├── vitest.config.ts
381
+ └── README.md
332
382
  ```
333
383
 
334
- The runtime is broadly organized as:
384
+ The source code is organized into three main areas:
335
385
 
336
- ```text
337
- VNode
338
- ↓
339
- Components / Hooks
340
- ↓
341
- Scheduler
342
- ↓
343
- Reconciler
344
- ↓
345
- DOM
346
- ```
386
+ - **Core:** Virtual nodes, components, hooks, JSX runtime, and scheduling.
387
+ - **DOM:** DOM property handling, event handling, and reconciliation.
388
+ - **Runtime:** Root creation and rendering.
389
+
390
+ The `tests/` directory contains automated tests, while `docs/` contains user and contributor documentation.
347
391
 
348
392
  ---
349
393
 
350
- ## V0.1
394
+ ## V0.1 Scope
351
395
 
352
396
  The initial goal of Fabric is to establish a small but functional frontend runtime.
353
397
 
354
- V0.1 focuses on:
355
-
356
- - VNodes.
357
- - JSX.
358
- - Automatic JSX runtime.
359
- - Function components.
360
- - Props.
361
- - State.
362
- - Effects.
363
- - Effect cleanup.
364
- - Events.
365
- - Reconciliation.
366
- - Keyed reconciliation.
367
- - Scheduler and batching.
368
- - Basic DOM operations.
369
- - Public API.
370
- - Tests.
371
- - Packaging.
372
- - Documentation.
373
-
374
- The V0.1 scope is intentionally limited. The goal is to establish a reliable foundation rather than implement every possible framework feature.
398
+ The V0.1 scope includes:
399
+
400
+ - Virtual nodes
401
+ - JSX and automatic JSX runtime
402
+ - Function components and props
403
+ - State and effects
404
+ - Effect cleanup
405
+ - DOM event handling
406
+ - Reconciliation and keyed reconciliation
407
+ - Scheduling and batching
408
+ - Basic DOM operations
409
+ - Public API
410
+ - Automated tests
411
+ - Package configuration
412
+ - Documentation
413
+ - Consumer application integration
414
+
415
+ The scope is intentionally limited. The goal is to establish a reliable foundation before introducing more advanced features.
375
416
 
376
417
  ---
377
418
 
378
- ## Future
419
+ ## Future Directions
379
420
 
380
421
  Possible future areas include:
381
422
 
382
- - Context.
383
- - Additional hooks.
384
- - Refs.
385
- - Fragments.
386
- - Memoization.
387
- - Portals.
388
- - Error boundaries.
389
- - Suspense-like rendering.
390
- - Advanced scheduling.
391
- - Concurrent rendering.
392
- - Server-side rendering.
393
- - Hydration.
394
- - Developer tools.
395
-
396
- These are future possibilities, not commitments to the current V0.1 scope.
423
+ - Context
424
+ - Additional hooks
425
+ - Refs
426
+ - Fragments
427
+ - Memoization
428
+ - Portals
429
+ - Error boundaries
430
+ - Suspense-like rendering
431
+ - Advanced scheduling
432
+ - Concurrent rendering
433
+ - Server-side rendering
434
+ - Hydration
435
+ - Developer tools
436
+
437
+ These are possible future directions, not promises of support in V0.1.
397
438
 
398
439
  See the [Roadmap](./docs/project/roadmap.md) for more information.
399
440
 
@@ -405,26 +446,20 @@ Contributions are welcome.
405
446
 
406
447
  Before contributing, read the [Contributing Guide](./docs/development/contributing.md).
407
448
 
408
- For development information, see:
409
-
410
- - [Testing](./docs/development/testing.md)
411
- - [Packaging](./docs/development/packaging.md)
412
- - [Architecture](./docs/concepts/architecture.md)
413
-
414
- Good contributions can include:
449
+ Useful areas for contributions include:
415
450
 
416
- - Bug fixes.
417
- - Regression tests.
418
- - Documentation improvements.
419
- - Runtime improvements.
420
- - Refactors that improve clarity.
421
- - Performance improvements supported by measurements.
422
- - Better package validation.
451
+ - Bug fixes
452
+ - Regression tests
453
+ - Documentation improvements
454
+ - Runtime improvements
455
+ - Refactoring for clarity
456
+ - Performance improvements backed by measurements
457
+ - Package validation
423
458
 
424
- Please keep changes focused and aligned with Fabric's architecture.
459
+ Please keep contributions focused and aligned with Fabric's architecture and current scope.
425
460
 
426
461
  ---
427
462
 
428
463
  ## License
429
464
 
430
- MIT
465
+ MIT. See the [LICENSE](./LICENSE) file for details.
@@ -0,0 +1,63 @@
1
+ import type { VNode } from "../vnode/VNode.js";
2
+ interface IJSXEventProps {
3
+ onClick?: (event: MouseEvent) => void;
4
+ onDblClick?: (event: MouseEvent) => void;
5
+ onMouseDown?: (event: MouseEvent) => void;
6
+ onMouseUp?: (event: MouseEvent) => void;
7
+ onMouseMove?: (event: MouseEvent) => void;
8
+ onMouseEnter?: (event: MouseEvent) => void;
9
+ onMouseLeave?: (event: MouseEvent) => void;
10
+ onInput?: (event: Event) => void;
11
+ onChange?: (event: Event) => void;
12
+ onSubmit?: (event: SubmitEvent) => void;
13
+ onKeyDown?: (event: KeyboardEvent) => void;
14
+ onKeyUp?: (event: KeyboardEvent) => void;
15
+ onFocus?: (event: FocusEvent) => void;
16
+ onBlur?: (event: FocusEvent) => void;
17
+ }
18
+ interface IJSXElementProps extends IJSXEventProps {
19
+ [property: string]: unknown;
20
+ }
21
+ interface IJSXInputProps extends IJSXElementProps {
22
+ onInput?: (event: Event) => void;
23
+ onChange?: (event: Event) => void;
24
+ onKeyDown?: (event: KeyboardEvent) => void;
25
+ onKeyUp?: (event: KeyboardEvent) => void;
26
+ }
27
+ interface IJSXFormProps extends IJSXElementProps {
28
+ onSubmit?: (event: SubmitEvent) => void;
29
+ }
30
+ export declare namespace JSX {
31
+ interface Element extends VNode {
32
+ }
33
+ interface IntrinsicAttributes {
34
+ key?: string | number;
35
+ }
36
+ interface IntrinsicElements {
37
+ button: IJSXElementProps;
38
+ input: IJSXInputProps;
39
+ form: IJSXFormProps;
40
+ div: IJSXElementProps;
41
+ span: IJSXElementProps;
42
+ p: IJSXElementProps;
43
+ strong: IJSXElementProps;
44
+ br: IJSXElementProps;
45
+ hr: IJSXElementProps;
46
+ h1: IJSXElementProps;
47
+ h2: IJSXElementProps;
48
+ h3: IJSXElementProps;
49
+ h4: IJSXElementProps;
50
+ h5: IJSXElementProps;
51
+ h6: IJSXElementProps;
52
+ ul: IJSXElementProps;
53
+ ol: IJSXElementProps;
54
+ li: IJSXElementProps;
55
+ section: IJSXElementProps;
56
+ main: IJSXElementProps;
57
+ label: IJSXElementProps;
58
+ textarea: IJSXInputProps;
59
+ select: IJSXInputProps;
60
+ option: IJSXElementProps;
61
+ }
62
+ }
63
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=JSXTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSXTypes.js","sourceRoot":"","sources":["../../../src/core/jsx/JSXTypes.ts"],"names":[],"mappings":""}
@@ -1,2 +1,4 @@
1
1
  import type { IProps, TVNodeType, VNode } from "../vnode/VNode.js";
2
- export declare function jsxDEV(type: TVNodeType, props: IProps | null): VNode;
2
+ export type { JSX } from "./JSXTypes.js";
3
+ type TJSXKey = string | number;
4
+ export declare function jsxDEV(type: TVNodeType, props: IProps | null, key?: TJSXKey): VNode;
@@ -1,5 +1,11 @@
1
1
  import { createAutomaticJSXVNode } from "./jsx.js";
2
- export function jsxDEV(type, props) {
3
- return createAutomaticJSXVNode(type, props);
2
+ export function jsxDEV(type, props, key) {
3
+ const nextProps = key === undefined
4
+ ? props
5
+ : {
6
+ ...(props ?? {}),
7
+ key
8
+ };
9
+ return createAutomaticJSXVNode(type, nextProps);
4
10
  }
5
11
  //# sourceMappingURL=jsx-dev-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../../../src/core/jsx/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EAC1B,MAAM,UAAU,CAAC;AAQlB,MAAM,UAAU,MAAM,CAClB,IAAgB,EAChB,KAAoB;IAEpB,OAAO,uBAAuB,CAC1B,IAAI,EACJ,KAAK,CACR,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../../../src/core/jsx/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EAC1B,MAAM,UAAU,CAAC;AAclB,MAAM,UAAU,MAAM,CAClB,IAAgB,EAChB,KAAoB,EACpB,GAAa;IAEb,MAAM,SAAS,GACX,GAAG,KAAK,SAAS;QACb,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,GAAG;SACN,CAAC;IAEV,OAAO,uBAAuB,CAC1B,IAAI,EACJ,SAAS,CACZ,CAAC;AACN,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import type { IProps, TVNodeType, VNode } from "../vnode/VNode.js";
2
- export declare function jsx(type: TVNodeType, props: IProps | null): VNode;
3
- export declare function jsxs(type: TVNodeType, props: IProps | null): VNode;
2
+ export type { JSX } from "./JSXTypes.js";
3
+ type TJSXKey = string | number;
4
+ export declare function jsx(type: TVNodeType, props: IProps | null, key?: TJSXKey): VNode;
5
+ export declare function jsxs(type: TVNodeType, props: IProps | null, key?: TJSXKey): VNode;
@@ -1,8 +1,17 @@
1
1
  import { createAutomaticJSXVNode } from "./jsx.js";
2
- export function jsx(type, props) {
3
- return createAutomaticJSXVNode(type, props);
2
+ function createJSXWithKey(type, props, key) {
3
+ const nextProps = key === undefined
4
+ ? props
5
+ : {
6
+ ...(props ?? {}),
7
+ key,
8
+ };
9
+ return createAutomaticJSXVNode(type, nextProps);
4
10
  }
5
- export function jsxs(type, props) {
6
- return createAutomaticJSXVNode(type, props);
11
+ export function jsx(type, props, key) {
12
+ return createJSXWithKey(type, props, key);
13
+ }
14
+ export function jsxs(type, props, key) {
15
+ return createJSXWithKey(type, props, key);
7
16
  }
8
17
  //# sourceMappingURL=jsx-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../../../src/core/jsx/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EAC1B,MAAM,UAAU,CAAC;AAQlB,MAAM,UAAU,GAAG,CACf,IAAgB,EAChB,KAAoB;IAEpB,OAAO,uBAAuB,CAC1B,IAAI,EACJ,KAAK,CACR,CAAC;AACN,CAAC;AAED,MAAM,UAAU,IAAI,CAChB,IAAgB,EAChB,KAAoB;IAEpB,OAAO,uBAAuB,CAC1B,IAAI,EACJ,KAAK,CACR,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../../../src/core/jsx/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAWnD,SAAS,gBAAgB,CACrB,IAAgB,EAChB,KAAoB,EACpB,GAAa;IAEb,MAAM,SAAS,GACX,GAAG,KAAK,SAAS;QACb,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAChB,GAAG;SACN,CAAC;IAEV,OAAO,uBAAuB,CAC1B,IAAI,EACJ,SAAS,CACZ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,GAAG,CACf,IAAgB,EAChB,KAAoB,EACpB,GAAa;IAEb,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,IAAI,CAChB,IAAgB,EAChB,KAAoB,EACpB,GAAa;IAEb,OAAO,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC"}
@@ -5,18 +5,22 @@ function getChildren(props) {
5
5
  !("children" in props)) {
6
6
  return [];
7
7
  }
8
- const children = props.children;
9
- if (Array.isArray(children)) {
10
- return children.filter((child) => typeof child === "string" ||
11
- typeof child === "number" ||
12
- child instanceof VNode);
8
+ const children = [];
9
+ function collectChildren(value) {
10
+ if (Array.isArray(value)) {
11
+ for (const child of value) {
12
+ collectChildren(child);
13
+ }
14
+ return;
15
+ }
16
+ if (typeof value === "string" ||
17
+ typeof value === "number" ||
18
+ value instanceof VNode) {
19
+ children.push(value);
20
+ }
13
21
  }
14
- if (typeof children === "string" ||
15
- typeof children === "number" ||
16
- children instanceof VNode) {
17
- return [children];
18
- }
19
- return [];
22
+ collectChildren(props.children);
23
+ return children;
20
24
  }
21
25
  function createJSXVNode(type, props) {
22
26
  const children = getChildren(props);
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../src/core/jsx/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACH,KAAK,EACR,MAAM,mBAAmB,CAAC;AAgK3B,SAAS,WAAW,CAChB,KAAoB;IAEpB,IACI,KAAK,KAAK,IAAI;QACd,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EACxB,CAAC;QACC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,MAAM,CAClB,CACI,KAAK,EACe,EAAE,CACtB,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,YAAY,KAAK,CAC7B,CAAC;IACN,CAAC;IAED,IACI,OAAO,QAAQ,KAAK,QAAQ;QAC5B,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,YAAY,KAAK,EAC3B,CAAC;QACC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CACnB,IAAgB,EAChB,KAAoB;IAEpB,MAAM,QAAQ,GACV,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvB,MAAM,SAAS,GACX,KAAK,KAAK,IAAI;QACV,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAC,GAAG,KAAK,EAAC,CAAC;IAErB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,OAAO,aAAa,CAChB,IAAI,EACJ,SAAS,EACT,GAAG,QAAQ,CACd,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CACf,IAAgB,EAChB,KAAoB,EACpB,GAAG,QAAuB;IAE1B,OAAO,aAAa,CAChB,IAAI,EACJ,KAAK,EACL,GAAG,QAAQ,CACd,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACnC,IAAgB,EAChB,KAAoB;IAEpB,OAAO,cAAc,CACjB,IAAI,EACJ,KAAK,CACR,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../src/core/jsx/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACH,KAAK,EACR,MAAM,mBAAmB,CAAC;AAgK3B,SAAS,WAAW,CAChB,KAAoB;IAEpB,IACI,KAAK,KAAK,IAAI;QACd,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EACxB,CAAC;QACC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,SAAS,eAAe,CACpB,KAAc;QAEd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBACxB,eAAe,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YAED,OAAO;QACX,CAAC;QAED,IACI,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,YAAY,KAAK,EACxB,CAAC;YACC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhC,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CACnB,IAAgB,EAChB,KAAoB;IAEpB,MAAM,QAAQ,GACV,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvB,MAAM,SAAS,GACX,KAAK,KAAK,IAAI;QACV,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAC,GAAG,KAAK,EAAC,CAAC;IAErB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,OAAO,aAAa,CAChB,IAAI,EACJ,SAAS,EACT,GAAG,QAAQ,CACd,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CACf,IAAgB,EAChB,KAAoB,EACpB,GAAG,QAAuB;IAE1B,OAAO,aAAa,CAChB,IAAI,EACJ,KAAK,EACL,GAAG,QAAQ,CACd,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACnC,IAAgB,EAChB,KAAoB;IAEpB,OAAO,cAAc,CACjB,IAAI,EACJ,KAAK,CACR,CAAC;AACN,CAAC"}
@@ -172,33 +172,27 @@ export class Reconciler {
172
172
  const newChildren = this.normalizeChildren(newVNode);
173
173
  const oldRecords = oldChildren.map(child => ({
174
174
  vnode: child,
175
- dom: child.dom ??
176
- document.createTextNode("")
175
+ dom: child.dom ?? document.createTextNode("")
177
176
  }));
178
177
  const used = new Set();
179
178
  let unkeyedCursor = 0;
180
- for (let newIndex = 0; newIndex <
181
- newChildren.length; newIndex++) {
179
+ for (let newIndex = 0; newIndex < newChildren.length; newIndex++) {
182
180
  const newChild = newChildren[newIndex];
183
181
  let matched = null;
184
182
  if (newChild.key !== null) {
185
183
  matched =
186
184
  oldRecords.find(record => !used.has(record) &&
187
- record.vnode.key ===
188
- newChild.key) ?? null;
185
+ record.vnode.key === newChild.key) ?? null;
189
186
  }
190
187
  else {
191
- while (unkeyedCursor <
192
- oldRecords.length) {
188
+ while (unkeyedCursor < oldRecords.length) {
193
189
  const candidate = oldRecords[unkeyedCursor];
194
190
  unkeyedCursor++;
195
191
  if (used.has(candidate)) {
196
192
  continue;
197
193
  }
198
- if (candidate.vnode.key ===
199
- null) {
200
- matched =
201
- candidate;
194
+ if (candidate.vnode.key === null) {
195
+ matched = candidate;
202
196
  break;
203
197
  }
204
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Reconciler.js","sourceRoot":"","sources":["../../src/dom/Reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reconciler.js","sourceRoot":"","sources":["../../src/dom/Reconciler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siddh-dev/fabric",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "A lightweight frontend UI runtime built from scratch with TypeScript.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,6 +33,14 @@
33
33
  ],
34
34
  "author": "Siddhant Mul",
35
35
  "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/SiddhCodes/Fabric.git"
39
+ },
40
+ "homepage": "https://github.com/SiddhCodes/Fabric#readme",
41
+ "bugs": {
42
+ "url": "https://github.com/SiddhCodes/Fabric/issues"
43
+ },
36
44
  "devEngines": {
37
45
  "packageManager": {
38
46
  "name": "pnpm",