ngx-view-builder-designer 0.5.0

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.md ADDED
@@ -0,0 +1,79 @@
1
+ # NGX View Builder Designer Commercial License Agreement
2
+
3
+ Copyright © 2026 NGX View Builder (https://ngxviewbuilder.io). All rights reserved.
4
+
5
+ This is a legal agreement between you (the **"Licensee"**) and NGX View Builder (the **"Licensor"**) covering the `ngx-view-builder-designer` package and the official `ngx-view-builder-plugin-*` packages (together the **"Software"**). By installing or using the Software you agree to these terms.
6
+
7
+ **This is commercial software. It is not open source.** The Software's source form being readable in the npm distribution does not grant any open-source rights.
8
+
9
+ The `ngx-view-builder-runtime` package is **not** covered by this agreement. It is free to use in production, requires no License Key, and has its own terms in that package's `LICENSE.md`. What you pay for here is the visual editor your team designs views in.
10
+
11
+ ## 1. Definitions
12
+
13
+ - **"License Key"** a cryptographically signed key issued by Licensor that identifies the customer, plan, and expiry date (the **"License Term"**).
14
+ - **"Covered Version"** any version of the Software whose release date is earlier than the expiry date of Licensee's License Key.
15
+ - **"Application"** a software product that incorporates the Software, developed by Licensee for itself **or for a client of Licensee** (contract / agency work).
16
+
17
+ ## 2. License grant
18
+
19
+ Subject to the purchase of a valid License Key and compliance with this agreement, Licensor grants Licensee a non-exclusive, non-transferable, worldwide license to:
20
+
21
+ 1. use the Software to develop Applications, within the limits of the purchased plan;
22
+ 2. deploy Covered Versions in any number of Applications and environments, unless the purchased plan states otherwise;
23
+ 3. develop Applications **for third parties (Licensee's clients)** and deliver or transfer such Applications to them the client may operate, host, and use the delivered Application without a separate License Key;
24
+ 4. keep using Covered Versions **perpetually** this right survives the end of the License Term.
25
+
26
+ End users of Licensee's Applications do **not** need their own License Key: an Application ships `ngx-view-builder-runtime`, which is free and shows no license UI.
27
+
28
+ For clarity, development with the Software must be covered by a License Key held by **either side of a contract-work relationship**:
29
+
30
+ - If Licensee is a development company or agency, its License Key covers the development it performs for its clients (Section 2.3).
31
+ - If Licensee is the end customer of an Application, Licensee's License Key also covers **contractors and outsourced developers** working on that Application on Licensee's behalf. Such contractor use is limited to Licensee's Applications and does not extend to the contractor's own or other clients' projects.
32
+
33
+ Any party that develops with the Software outside these two cases needs its own License Key.
34
+
35
+ ## 3. Evaluation use
36
+
37
+ The Software may be used **without** a License Key for evaluation and development trial purposes only. In that mode the builder displays a watermark. Any production use requires a valid License Key.
38
+
39
+ ## 4. Updates
40
+
41
+ Versions of the Software released **after** the end of the License Term are not Covered Versions. Using them requires renewing the License Key; without renewal they run in degraded (watermarked) mode.
42
+
43
+ ## 5. Restrictions
44
+
45
+ Licensee may not:
46
+
47
+ 1. redistribute, resell, rent, lease, or sublicense the Software on its own (i.e. other than embedded in an Application);
48
+ 2. offer the Software, or a product derived from it, as a form-builder, view-builder, or low-code SDK/service that competes with the Software;
49
+ 3. remove, disable, alter, or circumvent the license-enforcement mechanisms (License Keys, watermark, signature or server validation), nor assist or permit anyone else to do so;
50
+ 4. exceed the seat, plan, or usage limits of the purchased plan;
51
+ 5. remove or alter copyright or license notices.
52
+
53
+ ## 6. Third-party software
54
+
55
+ The Software depends on third-party open-source packages installed separately from npm, each under its own license (MIT: `codemirror`, `@codemirror/*`, `jexl`, `prettier`, `lodash-es`; 0BSD: `tslib`). Those licenses govern those packages only; this agreement governs the Software.
56
+
57
+ ## 7. Ownership
58
+
59
+ The Software is licensed, not sold. Licensor retains all right, title, and interest in and to the Software.
60
+
61
+ ## 8. Warranty disclaimer
62
+
63
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
64
+
65
+ ## 9. Limitation of liability
66
+
67
+ TO THE MAXIMUM EXTENT PERMITTED BY LAW, LICENSOR SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, NOR FOR LOSS OF PROFITS, DATA, OR BUSINESS, ARISING FROM THE USE OF THE SOFTWARE. LICENSOR'S AGGREGATE LIABILITY UNDER THIS AGREEMENT SHALL NOT EXCEED THE LICENSE FEES PAID BY LICENSEE IN THE TWELVE (12) MONTHS PRECEDING THE CLAIM.
68
+
69
+ ## 10. Termination
70
+
71
+ This agreement terminates automatically if Licensee materially breaches it. Upon termination, Licensee must stop using the Software; rights to Covered Versions granted under Section 2.3 do not survive termination for breach. Sections 6–11 survive termination.
72
+
73
+ ## 11. Governing law
74
+
75
+ This agreement is governed by the laws of the Republic of Lithuania. Any disputes shall be resolved by the competent courts of the Republic of Lithuania.
76
+
77
+ ---
78
+
79
+ Questions about licensing: support@ngxviewbuilder.io · Pricing and License Keys: https://ngxviewbuilder.io/pricing
package/README.md ADDED
@@ -0,0 +1,104 @@
1
+ # ngx-view-builder-designer
2
+
3
+ The visual editor half of [NGX View Builder](https://ngxviewbuilder.io): a drag-and-drop workspace where an Angular screen (forms, dashboards, data tables, multi-step flows) is composed, previewed and saved as a plain JSON document.
4
+
5
+ It runs on top of [`ngx-view-builder-runtime`](https://www.npmjs.com/package/ngx-view-builder-runtime), which renders what you design. The two are versioned in lockstep. Install this package only where people actually edit views, so the editor stays out of your production bundle.
6
+
7
+ ## Requirements
8
+
9
+ Angular 22 or newer, plus `ngx-view-builder-runtime` at the same version. `@angular/common`, `@angular/core`, `@angular/cdk` and `@angular/forms` are peer dependencies.
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npm i ngx-view-builder-runtime ngx-view-builder-designer
15
+ ```
16
+
17
+ The designer needs the runtime's providers and stylesheet, because it renders real elements in the canvas and preview.
18
+
19
+ ```ts
20
+ import { bootstrapApplication } from '@angular/platform-browser';
21
+ import { provideNgxViewBuilderRuntime } from 'ngx-view-builder-runtime';
22
+ import { AppComponent } from './app/app.component';
23
+
24
+ bootstrapApplication(AppComponent, {
25
+ providers: [provideNgxViewBuilderRuntime()],
26
+ });
27
+ ```
28
+
29
+ ```css
30
+ @import 'ngx-view-builder-runtime/styles/index.css';
31
+ ```
32
+
33
+ ## Embed the designer
34
+
35
+ ```ts
36
+ import { Component } from '@angular/core';
37
+ import { NgxViewBuilderBuilder, BuilderModel, IStructure } from 'ngx-view-builder-designer';
38
+
39
+ @Component({
40
+ selector: 'app-designer',
41
+ imports: [NgxViewBuilderBuilder],
42
+ template: `
43
+ <ngx-view-builder-builder
44
+ [model]="model"
45
+ [runtimeSettings]="{ licenseKey: licenseKey }"
46
+ (saveRequested)="save()" />
47
+ `,
48
+ })
49
+ export class DesignerComponent {
50
+ licenseKey = 'your-key';
51
+ model = new BuilderModel();
52
+
53
+ save() {
54
+ const structure: IStructure = this.model.getJson();
55
+ // Persist wherever you like: database, file, API.
56
+ }
57
+ }
58
+ ```
59
+
60
+ Two things that catch people out:
61
+
62
+ - Give the host element real height. The designer fills its container, and a container of height `0` renders an empty strip.
63
+ - `BuilderModel` is constructed empty. Load an existing view with `model.setJson(raw)`, which takes the JSON as a **string**; `getJson()` returns a parsed `IStructure`.
64
+
65
+ That is the whole setup. Settings, theming, custom header actions, templates and the rest are covered in the [developer guide](https://ngxviewbuilder.io/developers/).
66
+
67
+ ## Runtime API
68
+
69
+ The runtime's public API is re-exported here, so a host that embeds the designer can take `IStructure`, `BuilderModel`, `NgxViewBuilderApiService` and the rest from one import site. Code that only renders views should import from `ngx-view-builder-runtime` directly, which is what keeps the designer out of your production bundle.
70
+
71
+ ## Upgrading from `ngx-view-builder`
72
+
73
+ That package was one library containing both halves. From 0.5.0 it is two.
74
+
75
+ ```bash
76
+ npm rm ngx-view-builder
77
+ npm i ngx-view-builder-runtime ngx-view-builder-designer
78
+ ```
79
+
80
+ Change the import source and the stylesheet path; selectors, inputs, outputs and saved JSON are unchanged.
81
+
82
+ ```diff
83
+ -import { NgxViewBuilderBuilder, BuilderModel } from 'ngx-view-builder';
84
+ +import { NgxViewBuilderBuilder, BuilderModel } from 'ngx-view-builder-designer';
85
+ ```
86
+
87
+ ```diff
88
+ -@import 'ngx-view-builder/styles/index.css';
89
+ +@import 'ngx-view-builder-runtime/styles/index.css';
90
+ ```
91
+
92
+ ## Documentation
93
+
94
+ https://ngxviewbuilder.io
95
+
96
+ - Developer guide: https://ngxviewbuilder.io/developers/
97
+ - Creator guide: https://ngxviewbuilder.io/creators/
98
+ - Live demo: https://ngxviewbuilder.io/demo
99
+
100
+ ## License
101
+
102
+ Commercial software. Terms in [LICENSE.md](./LICENSE.md). The designer is what a license key covers; the runtime is free.
103
+
104
+ Pricing and keys: https://ngxviewbuilder.io/pricing