@myxo-victor/chexjs 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChexJs/README.md +49 -64
- package/package.json +1 -1
package/ChexJs/README.md
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ChexJs
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@myxo-victor/chexjs)
|
|
4
|
+
[](#license)
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
**ChexJs** is a lightweight, high-performance JavaScript UI engine for building reactive, component-driven interfaces. It runs directly in the browser with zero build steps, no compilers, and no `node_modules` overhead.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
---
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
Install via npm:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install @myxo-victor/chexjs
|
|
12
16
|
```
|
|
13
17
|
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
Import and write components using Chex's tag helpers:
|
|
23
|
+
|
|
14
24
|
```js
|
|
25
|
+
import Chex from '@myxo-victor/chexjs';
|
|
26
|
+
|
|
15
27
|
const { div, h1, button } = Chex;
|
|
16
28
|
const app = document.getElementById('app');
|
|
17
29
|
const count = Chex.signal(0);
|
|
@@ -24,13 +36,13 @@ const Counter = () => div({ class: 'counter' }, [
|
|
|
24
36
|
Chex.render(app, Counter);
|
|
25
37
|
```
|
|
26
38
|
|
|
27
|
-
|
|
39
|
+
---
|
|
28
40
|
|
|
29
|
-
|
|
41
|
+
## Fast Element API
|
|
30
42
|
|
|
31
|
-
|
|
32
|
-
const { div, h1, button } = Chex;
|
|
43
|
+
Chex tag helpers are flexible. You can provide props as the first argument, or omit them entirely to pass children directly:
|
|
33
44
|
|
|
45
|
+
```js
|
|
34
46
|
// With props
|
|
35
47
|
div({ class: 'hero' }, [
|
|
36
48
|
h1({}, 'Title'),
|
|
@@ -44,26 +56,25 @@ div([
|
|
|
44
56
|
]);
|
|
45
57
|
```
|
|
46
58
|
|
|
47
|
-
|
|
59
|
+
---
|
|
48
60
|
|
|
49
|
-
## Core
|
|
61
|
+
## Core Features
|
|
50
62
|
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
- Secure PHP database client through `Chex.db`
|
|
57
|
-
- Notifications, service-worker registration, and animation helpers
|
|
58
|
-
- Reusable UI components: Button, Input, AppBar, SideBar, BottomNav, and Card
|
|
63
|
+
- **Reactive State** — Built-in signals and effects (`Chex.signal`, `Chex.effect`)
|
|
64
|
+
- **VDOM Patching** — Efficient DOM updates via `Chex.render`
|
|
65
|
+
- **Zero-Dependency Routing** — Hash- or history-based routing with `Chex.createRouter`
|
|
66
|
+
- **Integrated Backend** — Built-in PHP database client (`Chex.db`) and API helpers
|
|
67
|
+
- **Standalone Helpers** — Additional engines for modals, skeleton loaders, sliders (`orbit`), and scroll animations (`rinx`, `scrollEcho`)
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
---
|
|
61
70
|
|
|
62
|
-
|
|
71
|
+
## Backend Database Engine
|
|
72
|
+
|
|
73
|
+
The optional `Chex.php` provides a secure PDO bridge for your frontend:
|
|
63
74
|
|
|
64
75
|
```js
|
|
65
76
|
const server = Chex.db.connect({
|
|
66
|
-
endpoint: '/Chex.php',
|
|
77
|
+
endpoint: '/path/to/Chex.php',
|
|
67
78
|
apiKey: 'YOUR_SECURE_API_KEY',
|
|
68
79
|
table: 'users'
|
|
69
80
|
});
|
|
@@ -72,50 +83,24 @@ await server.create({ email: 'demo@example.com' });
|
|
|
72
83
|
const users = await server.read({ select: ['id', 'email'], limit: 10 });
|
|
73
84
|
```
|
|
74
85
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
`Chex_notify.php` receives browser notification registrations. Pair it with `Chex.notification.ask('/Chex_notify.php')` when notifications are enabled.
|
|
78
|
-
|
|
79
|
-
## Included libraries
|
|
80
|
-
|
|
81
|
-
All libraries are standalone and dependency-free. Load them after `Chex.js` when needed.
|
|
86
|
+
---
|
|
82
87
|
|
|
83
|
-
|
|
84
|
-
| --- | --- | --- |
|
|
85
|
-
| `scrollEcho.js` | `ScrollEcho` | Scroll-triggered text and element reveals. |
|
|
86
|
-
| `racket.js` | `racket` | Responsive multi-panel image carousel. |
|
|
87
|
-
| `orbit.js` | `orbit` | Swipe-friendly banner and slider helper. |
|
|
88
|
-
| `rinx.js` | `rinx` | Horizontal and vertical scroll-card layouts. |
|
|
89
|
-
| `smooth.js` | `smooth` | Continuous ticker and infinite carousel. |
|
|
90
|
-
| `modal.js` | `modal` | Self-styling, zero-dependency accessible modal engine. |
|
|
91
|
-
| `skeleton.js` | `skeleton` | DOM-to-skeleton shimmer loader that reduces layout shift. |
|
|
88
|
+
## Standalone Libraries
|
|
92
89
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
```html
|
|
96
|
-
<script src="./Chex.js"></script>
|
|
97
|
-
<script src="./libs/modal.js"></script>
|
|
98
|
-
<script src="./libs/skeleton.js"></script>
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Project structure
|
|
102
|
-
|
|
103
|
-
```text
|
|
104
|
-
ChexJs/
|
|
105
|
-
Chex.js Core engine
|
|
106
|
-
Chex.php Optional PHP/PDO backend
|
|
107
|
-
Chex_notify.php Notification registration endpoint
|
|
108
|
-
components/ Page components and views
|
|
109
|
-
libs/ Standalone visual and UI helpers
|
|
110
|
-
index.html Welcome page launcher
|
|
111
|
-
index.css Welcome page styles
|
|
112
|
-
sw.js Service worker
|
|
113
|
-
```
|
|
90
|
+
All included UI libraries are dependency-free:
|
|
114
91
|
|
|
115
|
-
|
|
92
|
+
| Library | Global | Purpose |
|
|
93
|
+
|---|---|---|
|
|
94
|
+
| `scrollEcho.js` | `ScrollEcho` | Scroll-triggered reveals |
|
|
95
|
+
| `racket.js` | `racket` | Image carousel |
|
|
96
|
+
| `orbit.js` | `orbit` | Swipe-friendly sliders |
|
|
97
|
+
| `rinx.js` | `rinx` | Scroll-card layouts |
|
|
98
|
+
| `smooth.js` | `smooth` | Continuous tickers |
|
|
99
|
+
| `modal.js` | `modal` | Accessible modal engine |
|
|
100
|
+
| `skeleton.js` | `skeleton` | Shimmer loaders |
|
|
116
101
|
|
|
117
|
-
|
|
102
|
+
---
|
|
118
103
|
|
|
119
104
|
## License
|
|
120
105
|
|
|
121
|
-
MIT License. Copyright (c) 2026 Aximon. Created by Myxo Victor
|
|
106
|
+
MIT License. Copyright (c) 2026 Aximon. Created by **Myxo Victor**.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@myxo-victor/chexjs",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"description": "A zero-build UI framework with reactive signals, VDOM diffing, routing, state, and a built-in PHP backend bridge — just a script tag, no compiler.",
|
|
5
5
|
"main": "Chex.js",
|
|
6
6
|
"keywords": ["ui", "framework", "vdom", "signals", "Chex", "chexjs"],
|