@nan0web/ui 1.3.0 → 1.5.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/README.md +29 -0
- package/package.json +22 -12
- package/src/README.md.js +35 -0
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @nan0web/ui
|
|
2
2
|
|
|
3
|
+
🏴 [English](./README.md) | 🇺🇦 [Українською](./docs/uk/README.md)
|
|
4
|
+
|
|
3
5
|
<!-- %PACKAGE_STATUS% -->
|
|
4
6
|
|
|
5
7
|
A lightweight, agnostic UI framework designed with the **nan0web philosophy**
|
|
@@ -172,6 +174,29 @@ import { Welcome } from '@nan0web/ui'
|
|
|
172
174
|
const output = Welcome({ user: { name: 'Test' } })
|
|
173
175
|
console.info(output) // ← Welcome Test!
|
|
174
176
|
```
|
|
177
|
+
### Master IDE (Component Sandbox)
|
|
178
|
+
|
|
179
|
+
The Master IDE (OlmuiInspector) provides a unified environment for testing and documenting
|
|
180
|
+
web components across platforms. It supports:
|
|
181
|
+
|
|
182
|
+
- **NaN0 Spec** — a concise YAML-based shorthand for declaring component variations.
|
|
183
|
+
- **OlmuiInspector** — unified UI for exploring component models and props.
|
|
184
|
+
- **Live Preview** — real-time rendering of component states.
|
|
185
|
+
- **i18n UI** — fully localized interface for global developers.
|
|
186
|
+
|
|
187
|
+
It follows the **Olmui** core pattern: *One Logic — Many UI* (same manifest powers both CLI and Web).
|
|
188
|
+
|
|
189
|
+
#### NaN0 Spec (YAML)
|
|
190
|
+
|
|
191
|
+
Concise format for defining variations:
|
|
192
|
+
|
|
193
|
+
How to define a component variation using NaN0 Spec?
|
|
194
|
+
```yaml
|
|
195
|
+
- Button: Primary
|
|
196
|
+
$variant: brand
|
|
197
|
+
$outline: true
|
|
198
|
+
```
|
|
199
|
+
|
|
175
200
|
## Playground Demos
|
|
176
201
|
|
|
177
202
|
The library includes rich playground demos:
|
|
@@ -205,6 +230,10 @@ Explore:
|
|
|
205
230
|
- [App](./src/App/)
|
|
206
231
|
- [Models](./src/Model/)
|
|
207
232
|
|
|
233
|
+
## Project Architecture & Specs
|
|
234
|
+
|
|
235
|
+
How the universal block spec is designed? - [check Universal Blocks Spec (`project.md`)](./project.md)
|
|
236
|
+
|
|
208
237
|
## Contributing
|
|
209
238
|
|
|
210
239
|
How to contribute? - [check here](./CONTRIBUTING.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nan0web/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.2",
|
|
4
4
|
"description": "NaN•Web UI. One application logic (algorithm) and many UI.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -18,17 +18,21 @@
|
|
|
18
18
|
"test:coverage": "node --experimental-test-coverage --test-coverage-include=\"src/**/*.js\" --test-coverage-exclude=\"src/**/*.test.js\" --test \"src/**/*.test.js\"",
|
|
19
19
|
"test:coverage:collect": "nan0test coverage",
|
|
20
20
|
"test:docs": "node --test src/README.md.js",
|
|
21
|
+
"release:spec": "node --test \"releases/**/*.spec.js\"",
|
|
21
22
|
"test:release": "node --test \"releases/**/*.test.js\"",
|
|
22
23
|
"test:status": "nan0test status --hide-name",
|
|
23
24
|
"test:play": "node --test --test-timeout=3333 \"play/**/*.test.js\"",
|
|
24
|
-
"test:
|
|
25
|
+
"test:e2e": "playwright test",
|
|
26
|
+
"test:all": "npm run test && npm run test:docs && npm run test:play && npm run test:e2e && npm run build && npm run knip",
|
|
25
27
|
"knip": "knip --production",
|
|
26
28
|
"precommit": "npm test",
|
|
27
29
|
"prepush": "npm test",
|
|
28
30
|
"prepare": "husky",
|
|
29
31
|
"release": "nan0release publish",
|
|
30
32
|
"clean": "rm -rf .cache/ && rm -rf dist/",
|
|
31
|
-
"clean:modules": "rm -rf node_modules"
|
|
33
|
+
"clean:modules": "rm -rf node_modules",
|
|
34
|
+
"docs:dev": "node docs/site/scripts/generate-pages.js && vite docs/site",
|
|
35
|
+
"docs:build": "node docs/site/scripts/generate-pages.js && vite build docs/site"
|
|
32
36
|
},
|
|
33
37
|
"exports": {
|
|
34
38
|
".": {
|
|
@@ -55,21 +59,27 @@
|
|
|
55
59
|
"license": "ISC",
|
|
56
60
|
"packageManager": "pnpm@10.11.0",
|
|
57
61
|
"devDependencies": {
|
|
58
|
-
"@nan0web/event": "
|
|
59
|
-
"@nan0web/i18n": "
|
|
60
|
-
"@nan0web/release": "
|
|
61
|
-
"@nan0web/test": "
|
|
62
|
-
"@nan0web/ui-cli": "
|
|
62
|
+
"@nan0web/event": "*",
|
|
63
|
+
"@nan0web/i18n": "*",
|
|
64
|
+
"@nan0web/release": "*",
|
|
65
|
+
"@nan0web/test": "*",
|
|
66
|
+
"@nan0web/ui-cli": "*",
|
|
67
|
+
"@nan0web/ui-lit": "workspace:*",
|
|
68
|
+
"@playwright/test": "^1.58.2",
|
|
69
|
+
"@rollup/plugin-yaml": "^4.1.2",
|
|
63
70
|
"@vitest/coverage-v8": "^3.2.4",
|
|
64
71
|
"husky": "^9.1.7",
|
|
72
|
+
"js-yaml": "^4.1.1",
|
|
65
73
|
"knip": "^5.83.1",
|
|
74
|
+
"lit": "^3.3.2",
|
|
75
|
+
"vite": "^6.0.0",
|
|
66
76
|
"vitest": "^3.2.4"
|
|
67
77
|
},
|
|
68
78
|
"dependencies": {
|
|
69
|
-
"@nan0web/co": "
|
|
70
|
-
"@nan0web/event": "
|
|
71
|
-
"@nan0web/log": "
|
|
72
|
-
"@nan0web/types": "
|
|
79
|
+
"@nan0web/co": "*",
|
|
80
|
+
"@nan0web/event": "*",
|
|
81
|
+
"@nan0web/log": "*",
|
|
82
|
+
"@nan0web/types": "*",
|
|
73
83
|
"string-width": "^7.2.0"
|
|
74
84
|
}
|
|
75
85
|
}
|
package/src/README.md.js
CHANGED
|
@@ -30,6 +30,8 @@ function testRender() {
|
|
|
30
30
|
* @docs
|
|
31
31
|
* # @nan0web/ui
|
|
32
32
|
*
|
|
33
|
+
* 🏴 [English](./README.md) | 🇺🇦 [Українською](./docs/uk/README.md)
|
|
34
|
+
*
|
|
33
35
|
* <!-- %PACKAGE_STATUS% -->
|
|
34
36
|
*
|
|
35
37
|
* A lightweight, agnostic UI framework designed with the **nan0web philosophy**
|
|
@@ -276,6 +278,35 @@ function testRender() {
|
|
|
276
278
|
])
|
|
277
279
|
})
|
|
278
280
|
|
|
281
|
+
/**
|
|
282
|
+
* @docs
|
|
283
|
+
* ### Master IDE (Component Sandbox)
|
|
284
|
+
*
|
|
285
|
+
* The Master IDE (OlmuiInspector) provides a unified environment for testing and documenting
|
|
286
|
+
* web components across platforms. It supports:
|
|
287
|
+
*
|
|
288
|
+
* - **NaN0 Spec** — a concise YAML-based shorthand for declaring component variations.
|
|
289
|
+
* - **OlmuiInspector** — unified UI for exploring component models and props.
|
|
290
|
+
* - **Live Preview** — real-time rendering of component states.
|
|
291
|
+
* - **i18n UI** — fully localized interface for global developers.
|
|
292
|
+
*
|
|
293
|
+
* It follows the **Olmui** core pattern: *One Logic — Many UI* (same manifest powers both CLI and Web).
|
|
294
|
+
*
|
|
295
|
+
* #### NaN0 Spec (YAML)
|
|
296
|
+
*
|
|
297
|
+
* Concise format for defining variations:
|
|
298
|
+
*/
|
|
299
|
+
it('How to define a component variation using NaN0 Spec?', () => {
|
|
300
|
+
/**
|
|
301
|
+
* ```yaml
|
|
302
|
+
* - Button: Primary
|
|
303
|
+
* $variant: brand
|
|
304
|
+
* $outline: true
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
307
|
+
assert.ok(pkg.name === '@nan0web/ui')
|
|
308
|
+
})
|
|
309
|
+
|
|
279
310
|
/**
|
|
280
311
|
* @docs
|
|
281
312
|
* ## Playground Demos
|
|
@@ -320,6 +351,10 @@ function testRender() {
|
|
|
320
351
|
* - [App](./src/App/)
|
|
321
352
|
* - [Models](./src/Model/)
|
|
322
353
|
*
|
|
354
|
+
* ## Project Architecture & Specs
|
|
355
|
+
*
|
|
356
|
+
* How the universal block spec is designed? - [check Universal Blocks Spec (`project.md`)](./project.md)
|
|
357
|
+
*
|
|
323
358
|
* ## Contributing
|
|
324
359
|
*/
|
|
325
360
|
it('How to contribute? - [check here](./CONTRIBUTING.md)', async () => {
|