@kustomizer/visual-editor 0.0.1 → 0.1.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 +12 -0
- package/README.md +25 -15
- package/fesm2022/kustomizer-visual-editor.mjs +955 -2075
- package/fesm2022/kustomizer-visual-editor.mjs.map +1 -1
- package/package.json +22 -13
- package/types/kustomizer-visual-editor.d.ts +263 -450
package/LICENSE
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Kustomizer Proprietary License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Kustomizer. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This software is proprietary and requires a valid Kustomizer subscription
|
|
6
|
+
to use. You may not copy, modify, distribute, sell, or sublicense this
|
|
7
|
+
software or any portion of it without a valid license agreement.
|
|
8
|
+
|
|
9
|
+
Use of this software is governed by the Kustomizer Terms of Service
|
|
10
|
+
available at https://kustomizer.dev/terms.
|
|
11
|
+
|
|
12
|
+
For licensing inquiries, contact: support@kustomizer.dev
|
package/README.md
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @kustomizer/visual-editor
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Angular visual page builder for Shopify storefronts. Provides a drag & drop editor engine with component registry, NgRx state management, SSR support, and iframe-based live preview.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **Note:** This is a paid package. A valid Kustomizer subscription is required. See [LICENSE](./LICENSE) for terms.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**Links:** [Integration Guide](../../docs/integration-guide.md) | [Starter Template](../../templates/starter-storefront/) | [Public Storefront Reference](../public-storefront/)
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
8
10
|
|
|
9
11
|
```bash
|
|
10
|
-
npm install @ngrx/store @ngrx/effects
|
|
12
|
+
npm install @kustomizer/visual-editor @ngrx/store @ngrx/effects
|
|
11
13
|
```
|
|
12
14
|
|
|
13
15
|
## Configuración Inicial
|
|
@@ -21,7 +23,7 @@ import { provideStoreDevtools } from '@ngrx/store-devtools';
|
|
|
21
23
|
import {
|
|
22
24
|
provideVisualEditorStore,
|
|
23
25
|
provideEditorComponents,
|
|
24
|
-
} from '
|
|
26
|
+
} from 'visual-editor';
|
|
25
27
|
|
|
26
28
|
// Importar definiciones de componentes
|
|
27
29
|
import { heroSectionDefinition } from './editor-components/hero-section.definition';
|
|
@@ -52,7 +54,7 @@ export const appConfig: ApplicationConfig = {
|
|
|
52
54
|
```typescript
|
|
53
55
|
// hero-section.component.ts
|
|
54
56
|
import { Component, ChangeDetectionStrategy, input, computed } from '@angular/core';
|
|
55
|
-
import { SlotRendererComponent, EditorElement } from '
|
|
57
|
+
import { SlotRendererComponent, EditorElement } from 'visual-editor';
|
|
56
58
|
|
|
57
59
|
@Component({
|
|
58
60
|
selector: 'app-hero-section',
|
|
@@ -118,7 +120,7 @@ export class HeroSectionComponent {
|
|
|
118
120
|
|
|
119
121
|
```typescript
|
|
120
122
|
// hero-section.definition.ts
|
|
121
|
-
import { ComponentDefinition } from '
|
|
123
|
+
import { ComponentDefinition } from 'visual-editor';
|
|
122
124
|
import { HeroSectionComponent } from './hero-section.component';
|
|
123
125
|
|
|
124
126
|
export const heroSectionDefinition: ComponentDefinition = {
|
|
@@ -236,7 +238,7 @@ import { Component, inject } from '@angular/core';
|
|
|
236
238
|
import {
|
|
237
239
|
VisualEditorFacade,
|
|
238
240
|
DynamicRendererComponent,
|
|
239
|
-
} from '
|
|
241
|
+
} from 'visual-editor';
|
|
240
242
|
|
|
241
243
|
@Component({
|
|
242
244
|
selector: 'app-editor',
|
|
@@ -442,7 +444,7 @@ interface SlotConstraints {
|
|
|
442
444
|
Acceso directo al registro (el Facade lo usa internamente):
|
|
443
445
|
|
|
444
446
|
```typescript
|
|
445
|
-
import { ComponentRegistryService } from '
|
|
447
|
+
import { ComponentRegistryService } from 'visual-editor';
|
|
446
448
|
|
|
447
449
|
@Component({...})
|
|
448
450
|
export class MyComponent {
|
|
@@ -490,7 +492,7 @@ export class MyComponent {
|
|
|
490
492
|
Renderiza cualquier `EditorElement` o `EditorSection` basándose en su `type`:
|
|
491
493
|
|
|
492
494
|
```typescript
|
|
493
|
-
import { DynamicRendererComponent } from '
|
|
495
|
+
import { DynamicRendererComponent } from 'visual-editor';
|
|
494
496
|
|
|
495
497
|
@Component({
|
|
496
498
|
imports: [DynamicRendererComponent],
|
|
@@ -513,7 +515,7 @@ export class PreviewComponent {
|
|
|
513
515
|
Renderiza children dentro de un slot específico:
|
|
514
516
|
|
|
515
517
|
```typescript
|
|
516
|
-
import { SlotRendererComponent, EditorElement } from '
|
|
518
|
+
import { SlotRendererComponent, EditorElement } from 'visual-editor';
|
|
517
519
|
|
|
518
520
|
@Component({
|
|
519
521
|
imports: [SlotRendererComponent],
|
|
@@ -580,7 +582,7 @@ interface EditorElement {
|
|
|
580
582
|
### Acciones Disponibles
|
|
581
583
|
|
|
582
584
|
```typescript
|
|
583
|
-
import { VisualEditorActions } from '
|
|
585
|
+
import { VisualEditorActions } from 'visual-editor';
|
|
584
586
|
|
|
585
587
|
// Secciones
|
|
586
588
|
VisualEditorActions.addSection({ section, index? })
|
|
@@ -629,7 +631,7 @@ import {
|
|
|
629
631
|
selectHistory,
|
|
630
632
|
selectSectionById,
|
|
631
633
|
selectElementById,
|
|
632
|
-
} from '
|
|
634
|
+
} from 'visual-editor';
|
|
633
635
|
```
|
|
634
636
|
|
|
635
637
|
## Build
|
|
@@ -638,4 +640,12 @@ import {
|
|
|
638
640
|
ng build visual-editor
|
|
639
641
|
```
|
|
640
642
|
|
|
641
|
-
|
|
643
|
+
Build artifacts are generated in `dist/visual-editor`.
|
|
644
|
+
|
|
645
|
+
## Publishing
|
|
646
|
+
|
|
647
|
+
```bash
|
|
648
|
+
ng build visual-editor
|
|
649
|
+
cd dist/visual-editor
|
|
650
|
+
npm publish
|
|
651
|
+
```
|