@mandolop97/constructor-nexora 1.5.0 → 1.7.1

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/CHANGELOG.md ADDED
@@ -0,0 +1,106 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@mandolop97/constructor-nexora` will be documented in this file.
4
+
5
+ This project follows [Semantic Versioning](https://semver.org/).
6
+
7
+ ---
8
+
9
+ ## [1.7.1] — 2026-03-09
10
+
11
+ ### Added
12
+ - **`NEXORA.md`** — Full public documentation shipped with the NPM package. Any developer or AI assistant can read the complete constructor reference from `node_modules/@mandolop97/constructor-nexora/NEXORA.md`.
13
+ - **JSDoc comments** on all export groups in `src/index.ts` with references to NEXORA.md sections for IDE hover documentation.
14
+ - **`CHANGELOG.md`** — This file, included in the published package.
15
+
16
+ ### Changed
17
+ - `package.json` `"files"` field now includes `NEXORA.md` and `CHANGELOG.md` alongside `dist/`.
18
+
19
+ ---
20
+
21
+ ## [1.7.0] — 2026-03-08
22
+
23
+ ### Added
24
+
25
+ #### Universal Contract v1.7.0
26
+ - **`RenderContext`** — Single source of truth for all rendering data. Replaces the old `mockData` pattern. Built by the host/template layer and consumed read-only by builder and renderer.
27
+ - **`PageContext`** — Runtime context for the current page (`pageType`, `slug`, `mode`, `params`, `query`, `metadata`).
28
+ - **`buildRenderContext()`** — Recommended factory for creating RenderContext in both builder and template modes.
29
+ - **`buildEditContext()`** — Shorthand for building edit-mode context with sample data.
30
+ - **`createIterationContext()`** — Create iteration context for collection rendering (e.g., ProductGrid).
31
+ - **`validateRenderContext()`** / **`isStrictRenderContext()`** — Validation helpers for debugging and migration.
32
+
33
+ #### Data Binding System
34
+ - **`DataBinding`** — Maps node props to data field paths with optional transforms.
35
+ - **`NodeBindings`** — Complete binding configuration per node (`dataSource`, `bindings`, `fallbackProps`, `mode`).
36
+ - **`NodeDataSource`** — Configurable data source with query/filter support.
37
+ - **`BoundSchemaNode`** — Extended schema node with binding + metadata support.
38
+ - Binding utilities: `resolveBindings()`, `hydrateTemplate()`, `hydrateNodeForItem()`, `resolveFieldPath()`, `setFieldPath()`, `createDefaultBindings()`, `hasActiveBindings()`, `getBoundProps()`.
39
+ - Transform system: `registerTransform()`, `getAvailableTransforms()`.
40
+
41
+ #### Slot System
42
+ - **`SlotAssignment`** — Template integration slots with `locked`, `editable`, and `dynamic` behaviors.
43
+ - Slot utilities: `getSlotAssignment()`, `isInSlot()`, `getSlotBehavior()`, `isSlotLocked()`, `isSlotEditable()`, `isSlotDynamic()`, `getNodesInSlot()`, `getSlotFallback()`, `getSlotConstraints()`, `validateSlots()`.
44
+
45
+ #### Publish Pipeline
46
+ - **`PublishPipeline`** — Formal contract for draft → validate → preview → publish flow.
47
+ - **`validateForPublish()`** — Pre-publish validation with errors and warnings.
48
+ - `PublishStage`, `ValidatorOptions` types.
49
+
50
+ #### New Node Types
51
+ - `ProductGrid` — Data-driven product grid with collection/category filtering, sorting, and card template hydration.
52
+ - `CollectionGrid` — Collection listing with configurable columns and display options.
53
+ - `ImageBanner` — Full-width image banner with overlay text and link.
54
+ - `RichTextSection` — Rich text content section with optional 2-column layout.
55
+ - `CTASection` — Call-to-action section with dual CTAs and background options.
56
+ - `TestimonialSection` — Testimonial display with grid/carousel/stack layouts.
57
+ - `FAQSection` — FAQ section with accordion or grid layouts.
58
+ - `FormBlock` — Form builder block.
59
+
60
+ #### Per-Node Prop Types
61
+ - Strongly typed props for every node type: `TextNodeProps`, `ImageNodeProps`, `ButtonNodeProps`, `ProductCardNodeProps`, `ProductGridNodeProps`, `CollectionGridNodeProps`, `HeroSectionNodeProps`, `ImageBannerNodeProps`, `RichTextSectionNodeProps`, `CTASectionNodeProps`, `TestimonialSectionNodeProps`, `FAQSectionNodeProps`, `NavbarNodeProps`, `FooterNodeProps`.
62
+
63
+ #### Page System
64
+ - **Page types:** `home`, `products`, `product-detail`, `collection`, `cart`, `checkout`, `faq`, `contact`, `help`, `privacy`, `terms`, `wishlist`, `custom`.
65
+ - `PageMetadata` — SEO metadata (title, description, OG tags, JSON-LD).
66
+ - `VisibilityRule`, `DeviceVisibility`, `LockedPropsConfig` — Granular control over block visibility and editability per page type.
67
+ - `PAGE_TYPE_LABELS`, `BLOCK_PAGE_TYPE_DEFAULTS`, `isBlockCompatibleWithPage()`.
68
+
69
+ #### Default Page Schemas
70
+ - 8 pre-built schema factories: `createHomeSchema()`, `createProductsSchema()`, `createFAQSchema()`, `createContactSchema()`, `createHelpSchema()`, `createPrivacySchema()`, `createTermsSchema()`, `createWishlistSchema()`.
71
+ - `PAGE_DEFINITIONS` — All page definitions with metadata.
72
+ - `getDefaultSchemaForSlug()` — Get default schema for any page slug.
73
+
74
+ #### Host Data
75
+ - `hostData` prop replaces `mockData` on `NexoraBuilderApp` and `PageDefinition`.
76
+ - `DEFAULT_SAMPLE_PRODUCTS`, `DEFAULT_SAMPLE_COLLECTIONS`, `DEFAULT_SAMPLE_SETTINGS` — Sample data for editor preview.
77
+ - `buildHostData()` — Normalize raw host data into the expected format.
78
+
79
+ #### Inspector Enhancements
80
+ - `binding` field type — Connect node props to data sources visually.
81
+ - `array` field type — Edit arrays of items with configurable sub-fields (`arrayFields`, `newItemDefaults`, `addLabel`, `maxItems`).
82
+ - `group` field type — Nested inspector field groups.
83
+
84
+ ### Changed
85
+ - `NexoraBuilderApp` now accepts `renderContext` prop for full data context control.
86
+ - `NexoraBuilderApp` now accepts `hostData` prop (replaces deprecated `mockData`).
87
+ - `PageDefinition` now accepts `hostData` (replaces deprecated `mockData`).
88
+ - Block registry supports `templateType` filtering via `getCategoriesForTemplate()`.
89
+
90
+ ### Deprecated
91
+ - `mockData` prop on `NexoraBuilderApp` — use `hostData` instead.
92
+ - `DEFAULT_MOCK_PRODUCTS`, `DEFAULT_MOCK_COLLECTIONS`, `DEFAULT_MOCK_SETTINGS`, `buildMockRenderData()` — use host-data equivalents.
93
+
94
+ ---
95
+
96
+ ## [1.4.0] — Previous Stable
97
+
98
+ - Master template system with dynamic hydration.
99
+ - Advanced design tools (Elementor Pro parity).
100
+ - Global styles system.
101
+ - Scroll animations with `AnimationPreset`.
102
+ - Multi-page system with `PageDefinition` and `PageManager`.
103
+ - Custom components and blocks extensibility.
104
+ - i18n with Spanish and English built-in.
105
+ - CSS scoping via `.nxr-editor`.
106
+ - Dynamic versioning via `EDITOR_VERSION`.