@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.
Files changed (3) hide show
  1. package/README.md +29 -0
  2. package/package.json +22 -12
  3. 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.0",
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:all": "npm run test && npm run test:docs && npm run test:play && npm run build && npm run knip",
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": "^1.0.0",
59
- "@nan0web/i18n": "^1.0.1",
60
- "@nan0web/release": "1.0.1",
61
- "@nan0web/test": "1.1.0",
62
- "@nan0web/ui-cli": "1.0.2",
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": "^2.0.0",
70
- "@nan0web/event": "^1.0.0",
71
- "@nan0web/log": "1.1.1",
72
- "@nan0web/types": "^1.2.0",
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 () => {