@pisapp/reactive-dom 7.0.0-dev.20260916-153034 → 7.0.0-dev.20261028-112504

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/LICENSE +26 -18
  2. package/README.md +1 -66
  3. package/package.json +7 -7
package/LICENSE CHANGED
@@ -3,26 +3,34 @@ PRODUCT INFORMATION SERVICES (PIS) PROPRIETARY SOFTWARE LICENSE
3
3
  Copyright (c) 2026 ABB Asea Brown Boveri Ltd. All rights reserved.
4
4
 
5
5
  The Product Information Services (PIS) software package and its documentation
6
- (the "Software") are proprietary to ABB Asea Brown Boveri Ltd and its
7
- licensors.
6
+ (the "Software") are proprietary and confidential property of ABB Asea Brown
7
+ Boveri Ltd ("ABB") and its licensors. The Software is closed source. No source
8
+ code rights are granted under this license.
8
9
 
9
- Subject to a valid written agreement between ABB and you or the organization
10
- you represent that authorizes use of PIS (the "Applicable Agreement"), ABB
11
- grants you a non-exclusive, non-transferable, non-sublicensable, limited
12
- license to install and use the Software solely to develop, test, and run
13
- applications that access PIS services as authorized by the Applicable
14
- Agreement.
10
+ An "Authorized User" is a person or organization that has completed the
11
+ applicable ABB onboarding process and is expressly authorized to use PIS under
12
+ a valid written agreement with ABB (the "Applicable Agreement"). Subject to
13
+ the Applicable Agreement, ABB grants each Authorized User a limited,
14
+ non-exclusive, non-transferable, non-sublicensable license to install and use
15
+ the Software solely to develop, test, and run applications that access PIS
16
+ services for the purposes authorized by the Applicable Agreement.
15
17
 
16
18
  Except to the extent that mandatory law does not allow a restriction, you may
17
- not copy, modify, distribute, publish, sublicense, rent, lease, sell, or
18
- otherwise make the Software available to a third party. You may not remove or
19
- alter proprietary notices or reverse engineer the Software except as expressly
20
- permitted by mandatory law.
19
+ not copy, modify, adapt, distribute, publish, disclose, sublicense, rent, lease,
20
+ sell, or otherwise make the Software available to any unauthorized person or
21
+ third party. You may not remove or alter proprietary notices, derive source
22
+ code from the Software, or reverse engineer, decompile, or disassemble the
23
+ Software except as expressly permitted by mandatory law.
21
24
 
22
- If no Applicable Agreement authorizes your use of PIS, no license to use the
23
- Software is granted. Your right to use the Software ends when the Applicable
24
- Agreement ends or your authorization under it is withdrawn.
25
+ ABB and its licensors retain all right, title, and interest in and to the
26
+ Software. No rights are granted by implication. If you are not an Authorized
27
+ User, no license to use the Software is granted. Your right to use the Software
28
+ ends immediately when the Applicable Agreement ends or your authorization is
29
+ withdrawn.
25
30
 
26
- The Applicable Agreement controls if it conflicts with this notice. The
27
- Software is provided subject to the warranties, limitations of liability, and
28
- other terms in the Applicable Agreement.
31
+ Third-party components included with the Software remain subject to their
32
+ applicable license terms identified in THIRD-PARTY-NOTICES.txt.
33
+
34
+ The Applicable Agreement controls if it conflicts with this license. The
35
+ Software is provided subject to the warranties, limitations of liability,
36
+ confidentiality obligations, and other terms in the Applicable Agreement.
package/README.md CHANGED
@@ -1,68 +1,3 @@
1
1
  # @pisapp/reactive-dom
2
2
 
3
- The reactive engine behind PIS v7 template render functions (decisions
4
- D-JsLock / D-JsReactivity / D-N2). `reactiveMount(render)` wraps a plain-DOM
5
- render function in Vue's `effect()` so that every reactive `ctx.*` field it
6
- reads is tracked and the render re-runs when those fields change — on the same
7
- reactivity core the PIS `ctx` is already built on.
8
-
9
- ## Install
10
-
11
- ```bash
12
- pnpm add @pisapp/core @pisapp/reactive-dom vue
13
- # npm install @pisapp/core @pisapp/reactive-dom vue
14
- ```
15
-
16
- ### Peer dependencies
17
-
18
- | Package | Range | Notes |
19
- | -------------- | ---------- | -------------------------------------------------------- |
20
- | `@pisapp/core` | `^7.0.0` | The component runtime; types the render pairs slot into. |
21
- | `vue` | `>=3.5.17` | Provides `effect` / `effectScope`. |
22
-
23
- ## When you need this package
24
-
25
- Usually **never**: assigning a bare render function `(container, ctx) =>
26
- cleanup | void` directly to a `*Template` option wraps it in `reactiveMount`
27
- automatically (core's `MountPoint` does it for you), with contextual typing at
28
- the option site.
29
-
30
- Import `reactiveMount` directly only when you build the render function as a
31
- **standalone value reused across several slots** and want one explicit wrapper
32
- around it.
33
-
34
- ## Usage
35
-
36
- ```ts
37
- import { reactiveMount } from '@pisapp/reactive-dom';
38
-
39
- const stockCell = reactiveMount((container, ctx) => {
40
- const btn = document.createElement('button');
41
- btn.disabled = ctx.item.stock < 1; // reactive — re-runs when stock changes
42
- btn.addEventListener('click', () => ctx.emit('app:AddToCart', ctx.item));
43
- container.replaceChildren(btn);
44
- return () => btn.replaceWith(); // useEffect-style cleanup
45
- });
46
-
47
- columns.push({ dataField: 'ProductId', cellTemplate: stockCell });
48
- ```
49
-
50
- `reactiveMount(render)` returns a `{ mount, unmount }` pair assignable to any
51
- `*Template` slot:
52
-
53
- - `render(container, ctx)` runs inside a Vue `effect`; tracked `ctx.*` reads
54
- re-run the render body in place (the cell is not restarted, preserving any
55
- component state — auto re-mount stays rejected, D-N2).
56
- - A returned cleanup function runs before each re-render and on unmount
57
- (useEffect semantics).
58
- - `unmount(container)` stops the effect scope deterministically — no leaked
59
- effects or listeners.
60
-
61
- CSP-safe: `effect` tracking relies on Proxies, not `eval`/`Function`, so this
62
- works under strict Content-Security-Policy.
63
-
64
- The package also re-exports `effect`, `effectScope`, and `onScopeDispose` from
65
- `vue` for advanced standalone use.
66
-
67
- See the [JavaScript template guide](../../PisNextGenDocs/src/migration/web-components/javascript.md)
68
- for the full render-function authoring model.
3
+ Reactive rendering support for plain DOM content mounted in PIS template surfaces.
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@pisapp/reactive-dom",
3
- "version": "7.0.0-dev.20260916-153034",
3
+ "version": "7.0.0-dev.20261028-112504",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "author": "ABB Asea Brown Boveri Ltd",
6
- "description": "PIS v7 reactive template engine — reactiveMount wraps a render function in @vue/reactivity's effect() so cells built from a reactive ctx re-render on change. MountPoint wraps every plain-DOM render function in it (decisions D-JsReactivity / D-JsLock).",
6
+ "description": "PIS v7 reactive template engine - reactiveMount wraps a render function in @vue/reactivity's effect() so cells built from a reactive ctx re-render on change. MountPoint wraps every plain-DOM render function in it (decisions D-JsReactivity / D-JsLock).",
7
7
  "type": "module",
8
8
  "main": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
@@ -22,18 +22,18 @@
22
22
  "vue": ">=3.5.17 <4"
23
23
  },
24
24
  "devDependencies": {
25
+ "jsdom": "^25.0.1",
25
26
  "typescript": "~6.0.3",
26
- "vue": ">=3.5.17 <4",
27
- "vitest": "^4.1.10",
28
- "jsdom": "^25.0.1"
27
+ "vitest": "^4.1.11",
28
+ "vue": ">=3.5.17 <4"
29
29
  },
30
30
  "publishConfig": {
31
31
  "access": "public"
32
32
  },
33
33
  "pisRelease": {
34
- "version": "7.0.0-dev.20260916-153034",
34
+ "version": "7.0.0-dev.20261028-112504",
35
35
  "channel": "dev",
36
- "commit": "3cfd54cc87975b643036674bfb2d000d81973ac5"
36
+ "commit": "21cb38cf29939a6d6fe213dc90c51a9fa10e3371"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "node ../../scripts/build-library.mjs --package @pisapp/reactive-dom",