@kywi-software/core 0.12.1 → 0.14.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/AGENT-PATTERNS.md +54 -39
- package/dist/admin/chrome.d.ts.map +1 -1
- package/dist/admin/chrome.js +51 -1
- package/dist/admin/chrome.js.map +1 -1
- package/dist/admin/index.d.ts +1 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/layout-editor/component-actions.d.ts +21 -1
- package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-actions.js +41 -1
- package/dist/admin/layout-editor/component-actions.js.map +1 -1
- package/dist/admin/layout-editor/component-fork.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-fork.js +23 -1
- package/dist/admin/layout-editor/component-fork.js.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.d.ts +17 -0
- package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.js +178 -38
- package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
- package/dist/admin/layout-editor/editor-state.d.ts +62 -2
- package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-state.js +181 -11
- package/dist/admin/layout-editor/editor-state.js.map +1 -1
- package/dist/admin/layout-editor/editor.css +59 -0
- package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/layout-editor.js +67 -3
- package/dist/admin/layout-editor/layout-editor.js.map +1 -1
- package/dist/admin/layout-editor/module-overlay.d.ts +21 -1
- package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-overlay.js +4 -4
- package/dist/admin/layout-editor/module-overlay.js.map +1 -1
- package/dist/admin/layout-editor/module-palette.d.ts +1 -0
- package/dist/admin/layout-editor/module-palette.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-palette.js +6 -3
- package/dist/admin/layout-editor/module-palette.js.map +1 -1
- package/dist/admin/layout-editor/module-variant-container-config.d.ts +51 -0
- package/dist/admin/layout-editor/module-variant-container-config.d.ts.map +1 -0
- package/dist/admin/layout-editor/module-variant-container-config.js +51 -0
- package/dist/admin/layout-editor/module-variant-container-config.js.map +1 -0
- package/dist/admin/layout-editor/node-lookup.d.ts +38 -1
- package/dist/admin/layout-editor/node-lookup.d.ts.map +1 -1
- package/dist/admin/layout-editor/node-lookup.js +62 -5
- package/dist/admin/layout-editor/node-lookup.js.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.js +45 -2
- package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
- package/dist/admin/layout-editor/props-panel.d.ts +50 -3
- package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
- package/dist/admin/layout-editor/props-panel.js +93 -8
- package/dist/admin/layout-editor/props-panel.js.map +1 -1
- package/dist/admin/layout-editor/section-overlay.d.ts +5 -0
- package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-overlay.js +1 -1
- package/dist/admin/layout-editor/section-overlay.js.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.d.ts +9 -0
- package/dist/admin/layout-editor/section-variant-container-config.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.js +9 -2
- package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
- package/dist/admin/layout-editor/use-component-connect.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-component-connect.js +55 -1
- package/dist/admin/layout-editor/use-component-connect.js.map +1 -1
- package/dist/admin/registry.d.ts +12 -2
- package/dist/admin/registry.d.ts.map +1 -1
- package/dist/admin/registry.js +15 -0
- package/dist/admin/registry.js.map +1 -1
- package/dist/admin/surfaces/account/account-password.d.ts +3 -0
- package/dist/admin/surfaces/account/account-password.d.ts.map +1 -0
- package/dist/admin/surfaces/account/account-password.js +58 -0
- package/dist/admin/surfaces/account/account-password.js.map +1 -0
- package/dist/admin/surfaces/components/definition-canvas.d.ts.map +1 -1
- package/dist/admin/surfaces/components/definition-canvas.js +30 -0
- package/dist/admin/surfaces/components/definition-canvas.js.map +1 -1
- package/dist/admin/surfaces/login.d.ts.map +1 -1
- package/dist/admin/surfaces/login.js +13 -1
- package/dist/admin/surfaces/login.js.map +1 -1
- package/dist/admin/surfaces/settings/admin-features.d.ts.map +1 -1
- package/dist/admin/surfaces/settings/admin-features.js +12 -1
- package/dist/admin/surfaces/settings/admin-features.js.map +1 -1
- package/dist/admin/surfaces/users/users-data.d.ts +2 -0
- package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-data.js.map +1 -1
- package/dist/admin/surfaces/users/users-detail.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-detail.js +49 -4
- package/dist/admin/surfaces/users/users-detail.js.map +1 -1
- package/dist/admin/surfaces/users/users-new.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-new.js +1 -0
- package/dist/admin/surfaces/users/users-new.js.map +1 -1
- package/dist/admin/user-form.d.ts +3 -1
- package/dist/admin/user-form.d.ts.map +1 -1
- package/dist/admin/user-form.js +2 -1
- package/dist/admin/user-form.js.map +1 -1
- package/dist/api/auth-routes.d.ts.map +1 -1
- package/dist/api/auth-routes.js +23 -0
- package/dist/api/auth-routes.js.map +1 -1
- package/dist/api/index.d.ts +9 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +59 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/password-gate.d.ts +23 -0
- package/dist/api/password-gate.d.ts.map +1 -0
- package/dist/api/password-gate.js +41 -0
- package/dist/api/password-gate.js.map +1 -0
- package/dist/api/password-reset-routes.d.ts.map +1 -1
- package/dist/api/password-reset-routes.js +13 -6
- package/dist/api/password-reset-routes.js.map +1 -1
- package/dist/api/user-routes.d.ts +4 -0
- package/dist/api/user-routes.d.ts.map +1 -1
- package/dist/api/user-routes.js +111 -3
- package/dist/api/user-routes.js.map +1 -1
- package/dist/audiences/deletion-guard.js +2 -2
- package/dist/audiences/deletion-guard.js.map +1 -1
- package/dist/config/types.d.ts +14 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/db/user-queries.d.ts +28 -1
- package/dist/db/user-queries.d.ts.map +1 -1
- package/dist/db/user-queries.js +49 -1
- package/dist/db/user-queries.js.map +1 -1
- package/dist/host/index.d.ts +1 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +12 -0
- package/dist/host/index.js.map +1 -1
- package/dist/layout/component-refs.d.ts.map +1 -1
- package/dist/layout/component-refs.js +10 -18
- package/dist/layout/component-refs.js.map +1 -1
- package/dist/layout/feed-hydration.js +2 -3
- package/dist/layout/feed-hydration.js.map +1 -1
- package/dist/layout/index.d.ts +2 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +4 -1
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/module-permissions.js +2 -2
- package/dist/layout/module-permissions.js.map +1 -1
- package/dist/layout/nav-hydration.js +2 -3
- package/dist/layout/nav-hydration.js.map +1 -1
- package/dist/layout/personalization.d.ts +29 -0
- package/dist/layout/personalization.d.ts.map +1 -1
- package/dist/layout/personalization.js +78 -0
- package/dist/layout/personalization.js.map +1 -1
- package/dist/layout/registry.d.ts.map +1 -1
- package/dist/layout/registry.js +15 -1
- package/dist/layout/registry.js.map +1 -1
- package/dist/layout/renderer.d.ts +2 -12
- package/dist/layout/renderer.d.ts.map +1 -1
- package/dist/layout/renderer.js +29 -25
- package/dist/layout/renderer.js.map +1 -1
- package/dist/layout/types.d.ts +91 -1
- package/dist/layout/types.d.ts.map +1 -1
- package/dist/layout/types.js +160 -1
- package/dist/layout/types.js.map +1 -1
- package/dist/layout/variant-selection.d.ts +43 -0
- package/dist/layout/variant-selection.d.ts.map +1 -0
- package/dist/layout/variant-selection.js +41 -0
- package/dist/layout/variant-selection.js.map +1 -0
- package/dist/schema/base.d.ts +17 -0
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +6 -0
- package/dist/schema/base.js.map +1 -1
- package/dist/schema/mysql-tables.d.ts +17 -0
- package/dist/schema/mysql-tables.d.ts.map +1 -1
- package/dist/schema/mysql-tables.js +1 -0
- package/dist/schema/mysql-tables.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-canvas.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-canvas.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"editor-canvas.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-canvas.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA6BlE,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAG/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAIjE,oFAAoF;AACpF,KAAK,wBAAwB,GAAG,CAC9B,WAAW,EAAE,MAAM,KAChB;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAA;AAEjG;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,cAAc,EAAE,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,OAAO,GAAG,IAAI,KACnB,uBAAuB,GAAG,IAAI,CAAA;IACnC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IAC7E,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IACtC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC,CAAA;IACzH,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;IAC3C,sFAAsF;IACtF,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,wEAAwE;IACxE,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACxC;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAuiCD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,+CA0GvB,CAAA"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
4
|
+
import { SortableContext, useSortable, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
5
|
+
import { CSS } from '@dnd-kit/utilities';
|
|
5
6
|
import { useDroppable } from '@dnd-kit/core';
|
|
6
|
-
import { isLayoutSection } from '../../layout/types.js';
|
|
7
|
+
import { isLayoutSection, isModuleVariantContainer } from '../../layout/types.js';
|
|
7
8
|
import { resolveSectionStyle } from '../../layout/theme-css.js';
|
|
8
9
|
import { resolveModulePlacement } from '../../layout/component-refs.js';
|
|
9
10
|
import { DEFAULT_ARM_ID, armSections, isVariantContainer, resolveArmSections } from './node-lookup.js';
|
|
11
|
+
import { EditorIcon } from './editor-icons.js';
|
|
10
12
|
import { RegionOverlay } from './region-overlay.js';
|
|
11
13
|
import { SectionOverlay } from './section-overlay.js';
|
|
12
14
|
import { generateId } from './generate-id.js';
|
|
@@ -102,12 +104,27 @@ function inlineTextBindingFor(nodeId, nodeType, inPlace, inlineEdit) {
|
|
|
102
104
|
*
|
|
103
105
|
* Direct children only — deliberately narrower than `resolveColumnDropIndex`,
|
|
104
106
|
* which reads `querySelectorAll('[data-kywi-module-slot]')` and so counts
|
|
105
|
-
* descendants at any depth.
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
107
|
+
* descendants at any depth. THE INVARIANT that keeps the two in agreement:
|
|
108
|
+
*
|
|
109
|
+
* exactly one `[data-kywi-module-slot]` per entry in `column.nodes`, and it
|
|
110
|
+
* is a direct child of the column's drop element.
|
|
111
|
+
*
|
|
112
|
+
* Two renderers emit the marker, one per kind of column node:
|
|
113
|
+
*
|
|
114
|
+
* - `ModuleOverlay`, for a module sitting directly in the column — and NOT for
|
|
115
|
+
* a module inside a module-level variant container's arm, which passes
|
|
116
|
+
* `columnSlot={false}` (kywi-cms#161). An arm module is not a column node:
|
|
117
|
+
* its container is, so marking it would count that node twice;
|
|
118
|
+
* - `ModuleVariantContainerBlock`, for the container itself.
|
|
119
|
+
*
|
|
120
|
+
* Both are rendered straight into the column by `DroppableColumn`'s node map
|
|
121
|
+
* (`SortableContext` emits no element of its own), which is what makes them
|
|
122
|
+
* direct children. Break either half — a second marker under one node, or a
|
|
123
|
+
* marker nested a level down — and the two measurements diverge: the indicator
|
|
124
|
+
* would promise one slot while the drop resolved to another, and `MOVE_MODULE`
|
|
125
|
+
* would splice `column.nodes` at an index neither of them meant. Anything new
|
|
126
|
+
* that emits the attribute has to satisfy the invariant, or change both readers
|
|
127
|
+
* together.
|
|
111
128
|
*
|
|
112
129
|
* Only ever called for a PALETTE drag (`useEditorDnd` projects a drop target
|
|
113
130
|
* for nothing else), which is what makes the measurement trustworthy: during a
|
|
@@ -132,8 +149,43 @@ function slotBoundaryOffset(columnEl, index) {
|
|
|
132
149
|
return last.offsetTop + last.offsetHeight;
|
|
133
150
|
return slots[index].offsetTop;
|
|
134
151
|
}
|
|
152
|
+
// ── CanvasModule ──────────────────────────────────────────────────────────────
|
|
153
|
+
/**
|
|
154
|
+
* ONE module on the canvas: its hover chrome plus its live preview.
|
|
155
|
+
*
|
|
156
|
+
* Shared by the two places a module is rendered — directly inside a column, and
|
|
157
|
+
* as the open arm of a module-level variant container (kywi-cms#161) — so an arm
|
|
158
|
+
* module gets exactly the selection, inline-editing, linked-instance and preview
|
|
159
|
+
* wiring a module beside it gets, and any fix to that wiring lands in both at
|
|
160
|
+
* once rather than in whichever copy the next reader finds.
|
|
161
|
+
*
|
|
162
|
+
* What differs between the two is only what the caller passes. An arm module is
|
|
163
|
+
* not a column node: the CONTAINER is, so the arm offers no drag handle
|
|
164
|
+
* (`draggable`), marks no drop slot (`columnSlot`) and is never offered the
|
|
165
|
+
* promote actions — the reducer would refuse to nest one container in another.
|
|
166
|
+
*/
|
|
167
|
+
function CanvasModule({ node, columnId, index, state, dispatch, moduleComponents, resolveComponent, inPlace = false, inlineEdit, componentAffordances, draggable = true, columnSlot = true, actions, }) {
|
|
168
|
+
const inlineText = inlineTextBindingFor(node.id, node.type, inPlace, inlineEdit);
|
|
169
|
+
const select = () => dispatch({ type: 'SELECT', id: node.id, selectionType: 'module' });
|
|
170
|
+
// Nothing safe to bind (kywi-cms#118): double-click would otherwise be a
|
|
171
|
+
// silent no-op, so route it to the props rail instead — select the module,
|
|
172
|
+
// then focus its first field once that lands. Now always supplied, because
|
|
173
|
+
// whether a gesture binds is only known when it happens (kywi-cms#145): the
|
|
174
|
+
// overlay calls this when its own resolution comes back empty.
|
|
175
|
+
const onInlineFallback = inPlace && inlineEdit
|
|
176
|
+
? () => {
|
|
177
|
+
select();
|
|
178
|
+
inlineEdit.focusPropsRail();
|
|
179
|
+
}
|
|
180
|
+
: undefined;
|
|
181
|
+
// Re-key the preview after an edit session so contenteditable's DOM leftovers
|
|
182
|
+
// are replaced by a clean render from the stored props.
|
|
183
|
+
const previewKey = inlineEdit && inlineEdit.resetId === node.id ? `${node.id}:${inlineEdit.nonce}` : node.id;
|
|
184
|
+
const linkedName = linkedComponentName(node, componentAffordances);
|
|
185
|
+
return (_jsx(ModuleOverlay, { moduleId: node.id, instanceId: node.instanceId, columnId: columnId, index: index, draggable: draggable, columnSlot: columnSlot, isSelected: state.selectedId === node.id, typeLabel: node.type, inPlace: inPlace, moduleType: node.type, inlineText: inlineText, ...(actions && actions.length > 0 ? { actions } : {}), ...(node.componentId ? { componentId: node.componentId } : {}), ...(linkedName ? { componentName: linkedName } : {}), ...(onInlineFallback ? { onInlineFallback } : {}), onSelect: select, children: _jsx(ModulePreview, { node: node, moduleComponents: moduleComponents, ...(resolveComponent ? { resolveComponent } : {}) }, previewKey) }));
|
|
186
|
+
}
|
|
135
187
|
// ── DroppableColumn ───────────────────────────────────────────────────────────
|
|
136
|
-
function DroppableColumn({ column, state, dispatch, moduleComponents, resolveComponent, inPlace = false, inlineEdit, componentAffordances, }) {
|
|
188
|
+
function DroppableColumn({ column, state, dispatch, moduleComponents, resolveComponent, inPlace = false, inArm = false, canPromoteModules = true, inlineEdit, componentAffordances, }) {
|
|
137
189
|
// kywi-cms#20: this droppable represents the column's own (empty) space —
|
|
138
190
|
// dropping directly there appends to the end of the column instead of always
|
|
139
191
|
// inserting at the top, which `index: 0` (the old implicit default) would do
|
|
@@ -188,29 +240,46 @@ function DroppableColumn({ column, state, dispatch, moduleComponents, resolveCom
|
|
|
188
240
|
*/
|
|
189
241
|
const indicator = target ? (_jsx(DropIndicator, { state: target.feedback, top: indicatorTop, ...(target.label ? { moduleType: target.label } : {}) })) : null;
|
|
190
242
|
const content = (_jsxs(_Fragment, { children: [column.nodes.length === 0 && (_jsx("div", { className: inPlace ? 'kywi-ip-empty-column' : 'kywi-editor-column-empty', children: "Drag a module here" })), _jsx(SortableContext, { items: moduleIds, strategy: verticalListSortingStrategy, children: column.nodes.map((node, index) => {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
//
|
|
195
|
-
//
|
|
196
|
-
//
|
|
197
|
-
//
|
|
198
|
-
//
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
//
|
|
206
|
-
//
|
|
207
|
-
|
|
243
|
+
if (isModuleVariantContainer(node)) {
|
|
244
|
+
return (_jsx(ModuleVariantContainerBlock, { container: node, columnId: column.id, index: index, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) }, node.id));
|
|
245
|
+
}
|
|
246
|
+
// Promote-in-place (kywi-cms#161). Offered only for a module the
|
|
247
|
+
// reducer would actually accept — which is exactly what reaching this
|
|
248
|
+
// branch already proves, without re-walking the document per module
|
|
249
|
+
// per render the way `canPromoteModule` would: not inside a
|
|
250
|
+
// SECTION-level container's arm (`inArm`, which `SectionBlock` knows
|
|
251
|
+
// from where it is rendering), and not already inside a module-level
|
|
252
|
+
// one, because those modules render through
|
|
253
|
+
// `ModuleVariantContainerBlock` and never reach here.
|
|
254
|
+
//
|
|
255
|
+
// `canPromoteModules` is the other half, and it is about the CANVAS
|
|
256
|
+
// rather than the node: a definition or blueprint canvas offers this
|
|
257
|
+
// nowhere at all (see `EditorCanvasProps.canPromoteModules`).
|
|
258
|
+
//
|
|
259
|
+
// The props rail's copy of this gate DOES call `canPromoteModule`
|
|
260
|
+
// (both shells' `selectedModuleCanPromote`) — it addresses one node
|
|
261
|
+
// and has no rendering context to read the answer off. The two are
|
|
262
|
+
// twins and must agree: change what may be promoted, and change it
|
|
263
|
+
// there, in `node-lookup.ts`, then check this branch still matches.
|
|
264
|
+
const promote = (mode) => () => {
|
|
265
|
+
// The id is minted here, not in the reducer, precisely so the SELECT
|
|
266
|
+
// that follows can name the container that does not exist yet —
|
|
267
|
+
// same pattern as `SectionBlock`'s `wrapInContainer`.
|
|
268
|
+
const containerId = generateId();
|
|
269
|
+
dispatch({ type: 'WRAP_MODULE_IN_VARIANT_CONTAINER', moduleId: node.id, containerId, mode });
|
|
270
|
+
dispatch({ type: 'SELECT', id: containerId, selectionType: 'moduleVariantContainer' });
|
|
271
|
+
};
|
|
208
272
|
// "Save as component" no longer rides the hover chrome (kywi-cms#159):
|
|
209
|
-
// the props rail is its only home now, so
|
|
210
|
-
//
|
|
273
|
+
// the props rail is its only home now, so promote is all this chrome
|
|
274
|
+
// carries. The rail reaches the save handler directly
|
|
211
275
|
// (`onSaveAsComponent` in props-panel.tsx), independent of this.
|
|
212
|
-
const
|
|
213
|
-
|
|
276
|
+
const promoteActions = inArm || !canPromoteModules
|
|
277
|
+
? []
|
|
278
|
+
: [
|
|
279
|
+
{ icon: 'personalize', label: 'Personalize', onClick: promote('personalization'), action: 'personalize-module' },
|
|
280
|
+
{ icon: 'variant', label: 'A/B test', onClick: promote('ab_test'), action: 'ab-test-module' },
|
|
281
|
+
];
|
|
282
|
+
return (_jsx(CanvasModule, { node: node, columnId: column.id, index: index, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, actions: promoteActions, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) }, node.id));
|
|
214
283
|
}) }), indicator] }));
|
|
215
284
|
// In place the column element IS the drop zone: an extra wrapper div would
|
|
216
285
|
// sit between `.kywi-column` and the module wrappers and break the site's own
|
|
@@ -253,7 +322,7 @@ function DroppableColumn({ column, state, dispatch, moduleComponents, resolveCom
|
|
|
253
322
|
* state rather than a silent lie. Rendering the resolved definition read-only
|
|
254
323
|
* instead would trade that for a canvas the owner cannot edit at all.
|
|
255
324
|
*/
|
|
256
|
-
function SectionBlock({ section, state, dispatch, moduleComponents, resolveComponent, inPlace = false, paletteOpen = false, inArm = false, inlineEdit, componentAffordances, }) {
|
|
325
|
+
function SectionBlock({ section, state, dispatch, moduleComponents, resolveComponent, inPlace = false, paletteOpen = false, inArm = false, canPromoteModules = true, inlineEdit, componentAffordances, }) {
|
|
257
326
|
// In place, the section carries its OWN resolved style exactly as the public
|
|
258
327
|
// SectionRenderer applies it (kywi-cms#94) — otherwise a section's background
|
|
259
328
|
// or padding would vanish the moment the owner started editing, which is the
|
|
@@ -298,7 +367,7 @@ function SectionBlock({ section, state, dispatch, moduleComponents, resolveCompo
|
|
|
298
367
|
if (window.confirm('Delete this section?')) {
|
|
299
368
|
dispatch({ type: 'REMOVE_SECTION', sectionId: section.id });
|
|
300
369
|
}
|
|
301
|
-
}, children: section.columns.map((column, ci) => (_jsxs(React.Fragment, { children: [_jsx(DroppableColumn, { column: column, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) }), !inPlace && ci < section.columns.length - 1 && (_jsx(ColumnResizeHandle, { leftWidth: column.width, rightWidth: section.columns[ci + 1].width, onResize: (lw, rw) => {
|
|
370
|
+
}, children: section.columns.map((column, ci) => (_jsxs(React.Fragment, { children: [_jsx(DroppableColumn, { column: column, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, inArm: inArm, canPromoteModules: canPromoteModules, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) }), !inPlace && ci < section.columns.length - 1 && (_jsx(ColumnResizeHandle, { leftWidth: column.width, rightWidth: section.columns[ci + 1].width, onResize: (lw, rw) => {
|
|
302
371
|
const widths = section.columns.map((c, i) => i === ci ? lw : i === ci + 1 ? rw : c.width);
|
|
303
372
|
dispatch({ type: 'RESIZE_COLUMNS', sectionId: section.id, widths });
|
|
304
373
|
} }))] }, column.id))) }));
|
|
@@ -308,14 +377,19 @@ function SectionBlock({ section, state, dispatch, moduleComponents, resolveCompo
|
|
|
308
377
|
function armLabel(entry, index) {
|
|
309
378
|
return entry.label || entry.audienceId || `Variant ${index + 1}`;
|
|
310
379
|
}
|
|
311
|
-
/**
|
|
380
|
+
/**
|
|
381
|
+
* Arm weights are fractions of 1 at BOTH granularities (`VariantEntry.weight`,
|
|
382
|
+
* `ModuleVariantEntry.weight`) — show them as a percentage.
|
|
383
|
+
*/
|
|
312
384
|
function formatWeight(weight) {
|
|
313
385
|
return `${Math.round(weight * 1000) / 10}%`;
|
|
314
386
|
}
|
|
315
387
|
/**
|
|
316
388
|
* The Default / variant arm switcher. Rides inside the floating chrome in place
|
|
317
389
|
* and sits under the toolbar in the artboard, but is the same control either
|
|
318
|
-
* way — the canvas is showing whichever arm is selected here.
|
|
390
|
+
* way — the canvas is showing whichever arm is selected here. Shared by both
|
|
391
|
+
* granularities of container (kywi-cms#161), so switching arms on a personalized
|
|
392
|
+
* module reads exactly like switching them on a personalized band.
|
|
319
393
|
*/
|
|
320
394
|
function ArmTabs({ arms, activeArm, isAbTest, onSelect, }) {
|
|
321
395
|
return (_jsx("div", { className: "kywi-editor-vc-arms", role: "tablist", "aria-label": "Variants", children: arms.map(arm => (_jsxs("button", { type: "button", role: "tab", "aria-selected": arm.id === activeArm, "data-arm-id": arm.id, className: `kywi-editor-vc-arm-btn${arm.id === activeArm ? ' kywi-editor-vc-arm-btn--active' : ''}`, onClick: (e) => {
|
|
@@ -352,7 +426,17 @@ function VariantContainerBlock({ container, state, dispatch, moduleComponents, r
|
|
|
352
426
|
// Collapsed/expanded is presentation-only and per-block, so it stays local.
|
|
353
427
|
// Expanded by default: hiding arm content behind a disclosure would re-create
|
|
354
428
|
// the very "invisible in the editor" problem this block exists to fix.
|
|
355
|
-
|
|
429
|
+
//
|
|
430
|
+
// ARTBOARD ONLY (kywi-cms#164). In place, collapsing rendered nothing in the
|
|
431
|
+
// page's own flow: the block dropped to 0px, and its chrome — which is
|
|
432
|
+
// `pointer-events: none` until the block is hovered or selected (editor.css's
|
|
433
|
+
// `.kywi-ip-vc:hover > .kywi-ip-vc-chrome` rules) — became unreachable the
|
|
434
|
+
// moment the owner deselected, with no way back but a reload (the state is
|
|
435
|
+
// session-only, so a reload silently restored it and told them nothing). The
|
|
436
|
+
// artboard is unaffected: its toolbar row stays in flow, which is why the
|
|
437
|
+
// control keeps working there and only there.
|
|
438
|
+
const [collapsed, setCollapsed] = React.useState(false);
|
|
439
|
+
const expanded = inPlace ? true : !collapsed;
|
|
356
440
|
const isAbTest = container.mode === 'ab_test';
|
|
357
441
|
const isSelected = state.selectedId === container.id;
|
|
358
442
|
const requestedArm = state.activeArms[container.id] ?? DEFAULT_ARM_ID;
|
|
@@ -392,7 +476,7 @@ function VariantContainerBlock({ container, state, dispatch, moduleComponents, r
|
|
|
392
476
|
// Stop here so the canvas root doesn't immediately deselect.
|
|
393
477
|
e.stopPropagation();
|
|
394
478
|
dispatch({ type: 'SELECT', id: container.id, selectionType: 'variantContainer' });
|
|
395
|
-
}, children: [_jsx("span", { className: "kywi-editor-vc-badge", children: isAbTest ? 'A/B test' : 'Personalized' }), _jsx("span", { className: "kywi-editor-vc-title", children: isAbTest ? 'A/B tested section' : 'Personalized section' }), _jsxs("span", { className: "kywi-editor-vc-arm-count", children: [arms.length, " variant", arms.length === 1 ? '' : 's'] }), container.componentId ? _jsx(LinkedComponentPill, { name: linkedName }) : null, inPlace &&
|
|
479
|
+
}, children: [_jsx("span", { className: "kywi-editor-vc-badge", children: isAbTest ? 'A/B test' : 'Personalized' }), _jsx("span", { className: "kywi-editor-vc-title", children: isAbTest ? 'A/B tested section' : 'Personalized section' }), _jsxs("span", { className: "kywi-editor-vc-arm-count", children: [arms.length, " variant", arms.length === 1 ? '' : 's'] }), container.componentId ? _jsx(LinkedComponentPill, { name: linkedName }) : null, inPlace && (_jsx(ArmTabs, { arms: arms, activeArm: activeArm, isAbTest: isAbTest, onSelect: selectArm })), !inPlace && (_jsx("div", { className: "kywi-editor-vc-toolbar-actions", children: _jsx("button", { type: "button", className: "kywi-editor-section-toolbar-btn", "data-action": "toggle-variant-container", "aria-expanded": expanded, onClick: (e) => { e.stopPropagation(); setCollapsed(v => !v); }, children: expanded ? 'Collapse' : 'Expand' }) }))] }), expanded && (_jsxs(_Fragment, { children: [!inPlace && (_jsx(ArmTabs, { arms: arms, activeArm: activeArm, isAbTest: isAbTest, onSelect: selectArm })), _jsxs(ArmBody, { inPlace: inPlace, activeArm: activeArm, children: [sections.length === 0 && (_jsx("p", { className: "kywi-editor-vc-arm-empty", children: "This variant renders nothing. Add a section so visitors in it see content." })), sections.map(section => (_jsx(SectionBlock, { section: section, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, paletteOpen: paletteOpen, inArm: true, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) }, section.id))), _jsx("button", { type: "button", className: inPlace ? 'kywi-ip-add-arm-section' : 'kywi-editor-vc-add-section', "data-action": "add-arm-section", ...(inPlace ? { 'data-kywi-editor-chrome': '' } : {}), onClick: (e) => {
|
|
396
480
|
e.stopPropagation();
|
|
397
481
|
dispatch({
|
|
398
482
|
type: 'ADD_ARM_SECTION',
|
|
@@ -402,6 +486,62 @@ function VariantContainerBlock({ container, state, dispatch, moduleComponents, r
|
|
|
402
486
|
});
|
|
403
487
|
}, children: "+ Add section to this variant" })] })] }))] }));
|
|
404
488
|
}
|
|
489
|
+
// ── ModuleVariantContainerBlock ───────────────────────────────────────────────
|
|
490
|
+
/** Human label for a module arm: its own label, else its audience/key, else its position. */
|
|
491
|
+
function moduleArmLabel(entry, index) {
|
|
492
|
+
return entry.label || entry.audienceId || `Variant ${index + 1}`;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* A MODULE-level variant container, rendered in place of the module it wrapped
|
|
496
|
+
* (kywi-cms#161).
|
|
497
|
+
*
|
|
498
|
+
* The open arm's module renders through the ORDINARY `CanvasModule`, so the
|
|
499
|
+
* props rail, inline text editing and the canvas preview all work on an arm
|
|
500
|
+
* exactly as they do on any module — with the drag handle withheld, because the
|
|
501
|
+
* container is the movable unit in v1. The block itself is the sortable node and
|
|
502
|
+
* carries `data-kywi-module-slot` so a palette drop measures against it like any
|
|
503
|
+
* other slot; the arm module inside deliberately does not, or one column node
|
|
504
|
+
* would be counted twice (see `ModuleOverlayProps.columnSlot`). It reuses the
|
|
505
|
+
* section container's badge and arm-switcher classes so the two granularities
|
|
506
|
+
* read as one system.
|
|
507
|
+
*/
|
|
508
|
+
function ModuleVariantContainerBlock({ container, columnId, index, state, dispatch, moduleComponents, resolveComponent, inPlace = false, inlineEdit, componentAffordances, }) {
|
|
509
|
+
// The CONTAINER is the column's node, so it is the container — not the module
|
|
510
|
+
// inside it — that drags, and it reports the column + index the reducer
|
|
511
|
+
// splices against.
|
|
512
|
+
const { attributes, listeners, setNodeRef, transform, transition } = useSortable({
|
|
513
|
+
id: container.id,
|
|
514
|
+
data: { source: 'canvas', moduleId: container.id, columnId, index, moduleType: 'moduleVariantContainer' },
|
|
515
|
+
});
|
|
516
|
+
const isAbTest = container.mode === 'ab_test';
|
|
517
|
+
const isSelected = state.selectedId === container.id;
|
|
518
|
+
const requestedArm = state.activeArms[container.id] ?? DEFAULT_ARM_ID;
|
|
519
|
+
// A just-deleted arm can still be the requested one — `activeArms` is never
|
|
520
|
+
// cleaned up on removal — so fall back to Default rather than render nothing.
|
|
521
|
+
// Same contract as `resolveArmSections` at section level.
|
|
522
|
+
const armExists = requestedArm === DEFAULT_ARM_ID || container.variants.some(v => v.id === requestedArm);
|
|
523
|
+
const activeArm = armExists ? requestedArm : DEFAULT_ARM_ID;
|
|
524
|
+
const node = activeArm === DEFAULT_ARM_ID
|
|
525
|
+
? container.defaultModule
|
|
526
|
+
: (container.variants.find(v => v.id === activeArm)?.module ?? container.defaultModule);
|
|
527
|
+
const arms = [
|
|
528
|
+
{ id: DEFAULT_ARM_ID, label: 'Default', weight: null },
|
|
529
|
+
...container.variants.map((v, i) => ({
|
|
530
|
+
id: v.id,
|
|
531
|
+
label: moduleArmLabel(v, i),
|
|
532
|
+
weight: v.weight ?? null,
|
|
533
|
+
})),
|
|
534
|
+
];
|
|
535
|
+
const className = inPlace
|
|
536
|
+
? ['kywi-module-variant-container', 'kywi-ip-mvc', isSelected ? 'kywi-ip-mvc--selected' : null]
|
|
537
|
+
.filter(Boolean).join(' ')
|
|
538
|
+
: ['kywi-editor-mvc', isSelected ? 'kywi-editor-mvc--selected' : null].filter(Boolean).join(' ');
|
|
539
|
+
return (_jsxs("div", { ref: setNodeRef, className: className, style: { transform: CSS.Transform.toString(transform), transition }, "data-module-variant-container-id": container.id, "data-mvc-mode": container.mode, "data-variant": activeArm, "data-kywi-module-slot": "", "data-testid": "editor-module-variant-container", ...attributes, children: [_jsxs("div", { className: inPlace ? 'kywi-ip-chrome kywi-editor-mvc-chrome' : 'kywi-editor-mvc-chrome', "data-kywi-editor-chrome": "", contentEditable: false, onClick: (e) => {
|
|
540
|
+
// Stop here so the canvas root doesn't immediately deselect.
|
|
541
|
+
e.stopPropagation();
|
|
542
|
+
dispatch({ type: 'SELECT', id: container.id, selectionType: 'moduleVariantContainer' });
|
|
543
|
+
}, children: [_jsx("span", { className: "kywi-editor-vc-badge", children: isAbTest ? 'A/B test' : 'Personalized' }), _jsx(ArmTabs, { arms: arms, activeArm: activeArm, isAbTest: isAbTest, onSelect: (armId) => dispatch({ type: 'SET_VARIANT_ARM', containerId: container.id, armId }) }), _jsx("button", { type: "button", className: "kywi-editor-module-action-btn kywi-editor-mvc-drag-handle", "aria-label": "Drag to reorder", title: "Drag to reorder", ...listeners, children: _jsx(EditorIcon, { name: "grip", size: 14 }) })] }), _jsx(CanvasModule, { node: node, columnId: columnId, index: index, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, draggable: false, columnSlot: false, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) })] }));
|
|
544
|
+
}
|
|
405
545
|
// ── EditorCanvas ──────────────────────────────────────────────────────────────
|
|
406
546
|
/**
|
|
407
547
|
* Memoized (kywi-cms#142): the canvas re-renders on every editor-state
|
|
@@ -413,7 +553,7 @@ function VariantContainerBlock({ container, state, dispatch, moduleComponents, r
|
|
|
413
553
|
* references from the shells (LayoutEditor / OverlayShell) across a
|
|
414
554
|
* drop-target update.
|
|
415
555
|
*/
|
|
416
|
-
export const EditorCanvas = React.memo(function EditorCanvas({ state, dispatch, moduleComponents, onInsertSection, resolveComponent, overlayHandles = false, inPlace = false, paletteOpen = false, inlineEdit, componentAffordances, }) {
|
|
556
|
+
export const EditorCanvas = React.memo(function EditorCanvas({ state, dispatch, moduleComponents, onInsertSection, resolveComponent, overlayHandles = false, inPlace = false, paletteOpen = false, inlineEdit, componentAffordances, canPromoteModules = true, }) {
|
|
417
557
|
const regions = getRegions(state);
|
|
418
558
|
// In place the canvas is NOT an artboard: it carries no background, padding
|
|
419
559
|
// or max-width of its own, so the page renders at its real width with its own
|
|
@@ -432,6 +572,6 @@ export const EditorCanvas = React.memo(function EditorCanvas({ state, dispatch,
|
|
|
432
572
|
return (_jsx(ModuleEditorContext.Provider, { value: true, children: _jsxs("div", { className: canvasClassName, onClick: () => dispatch({ type: 'DESELECT' }), children: [totalNodes === 0 && (_jsxs("div", { className: "kywi-editor-canvas-empty", "data-testid": "editor-canvas-empty", children: [_jsx("p", { className: "kywi-editor-canvas-empty-title", children: "This page currently renders its body content." }), _jsx("p", { className: "kywi-editor-canvas-empty-copy", children: "Add a section to design it with the layout engine." }), _jsx("button", { type: "button", className: "kywi-editor-canvas-empty-cta", onClick: (event) => {
|
|
433
573
|
event.stopPropagation();
|
|
434
574
|
onInsertSection(Object.keys(regions)[0] ?? 'main');
|
|
435
|
-
}, children: "+ Add Section" })] })), Object.entries(regions).map(([regionName, nodes]) => (_jsxs(RegionOverlay, { name: regionName, inPlace: inPlace, children: [nodes.filter(isRenderableNode).map((node) => (_jsxs(React.Fragment, { children: [!inPlace && _jsx(SectionInsertLine, { onInsert: () => onInsertSection(regionName) }), isLayoutSection(node) ? (_jsx(SectionBlock, { section: node, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, paletteOpen: paletteOpen, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) })) : (_jsx(VariantContainerBlock, { container: node, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, paletteOpen: paletteOpen, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) }))] }, node.id))), _jsx(SectionInsertLine, { onInsert: () => onInsertSection(regionName), inPlace: inPlace })] }, regionName)))] }) }));
|
|
575
|
+
}, children: "+ Add Section" })] })), Object.entries(regions).map(([regionName, nodes]) => (_jsxs(RegionOverlay, { name: regionName, inPlace: inPlace, children: [nodes.filter(isRenderableNode).map((node) => (_jsxs(React.Fragment, { children: [!inPlace && _jsx(SectionInsertLine, { onInsert: () => onInsertSection(regionName) }), isLayoutSection(node) ? (_jsx(SectionBlock, { section: node, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, paletteOpen: paletteOpen, canPromoteModules: canPromoteModules, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) })) : (_jsx(VariantContainerBlock, { container: node, state: state, dispatch: dispatch, moduleComponents: moduleComponents, inPlace: inPlace, paletteOpen: paletteOpen, ...(inlineEdit ? { inlineEdit } : {}), ...(resolveComponent ? { resolveComponent } : {}), ...(componentAffordances ? { componentAffordances } : {}) }))] }, node.id))), _jsx(SectionInsertLine, { onInsert: () => onInsertSection(regionName), inPlace: inPlace })] }, regionName)))] }) }));
|
|
436
576
|
});
|
|
437
577
|
//# sourceMappingURL=editor-canvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-canvas.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-canvas.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor-canvas.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-canvas.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Core reducer for the Kywi layout overlay editor.
|
|
4
4
|
* All editor components dispatch actions through this reducer.
|
|
5
5
|
*/
|
|
6
|
-
import type { LayoutDocument, LayoutSection, ModuleNode, VariantContainer } from '../../layout/types.js';
|
|
7
|
-
export type SelectionType = 'module' | 'column' | 'section' | 'variantContainer' | null;
|
|
6
|
+
import type { LayoutDocument, LayoutSection, ModuleNode, ModuleVariantContainer, VariantContainer } from '../../layout/types.js';
|
|
7
|
+
export type SelectionType = 'module' | 'column' | 'section' | 'variantContainer' | 'moduleVariantContainer' | null;
|
|
8
8
|
/**
|
|
9
9
|
* Arm metadata the props panel may rewrite.
|
|
10
10
|
*
|
|
@@ -31,6 +31,32 @@ export interface VariantContainerPatch {
|
|
|
31
31
|
/** The complete arm list after the edit, in order. */
|
|
32
32
|
arms?: VariantArmPatch[];
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Arm metadata the props panel may rewrite on a MODULE-level container.
|
|
36
|
+
*
|
|
37
|
+
* Carries no `module`, for the same reason `VariantArmPatch` carries no
|
|
38
|
+
* `sections`: the reducer keeps each surviving arm's own module, matched by
|
|
39
|
+
* `id`, so relabelling or reweighting can never revert (or alias) the content
|
|
40
|
+
* the canvas is editing. An `id` the container doesn't have yet is a new arm.
|
|
41
|
+
*/
|
|
42
|
+
export interface ModuleVariantArmPatch {
|
|
43
|
+
id: string;
|
|
44
|
+
audienceId: string;
|
|
45
|
+
label: string;
|
|
46
|
+
weight: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fields of a module-level variant container the props panel may rewrite.
|
|
50
|
+
* Absent keys are left untouched; `experimentId`/`winnerId` set to `''` clear
|
|
51
|
+
* the key entirely so the saved document never carries a meaningless empty id.
|
|
52
|
+
*/
|
|
53
|
+
export interface ModuleVariantContainerPatch {
|
|
54
|
+
mode?: ModuleVariantContainer['mode'];
|
|
55
|
+
experimentId?: string;
|
|
56
|
+
winnerId?: string;
|
|
57
|
+
/** The complete arm list after the edit, in order. */
|
|
58
|
+
arms?: ModuleVariantArmPatch[];
|
|
59
|
+
}
|
|
34
60
|
export interface DragState {
|
|
35
61
|
isDragging: boolean;
|
|
36
62
|
sourceType: 'palette' | 'canvas' | null;
|
|
@@ -196,6 +222,40 @@ export type EditorAction = {
|
|
|
196
222
|
| {
|
|
197
223
|
type: 'UNWRAP_VARIANT_CONTAINER';
|
|
198
224
|
containerId: string;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Promote-in-place: swap a module for a `moduleVariantContainer` whose
|
|
228
|
+
* `defaultModule` IS that module, so the page renders identically until arms
|
|
229
|
+
* are added. The caller supplies `containerId` (via `generateId()`) so it can
|
|
230
|
+
* `SELECT` the new container immediately after dispatching — the same pattern
|
|
231
|
+
* as WRAP_SECTION_IN_VARIANT_CONTAINER. Refused for a module inside a
|
|
232
|
+
* SECTION-level container arm, and for one already inside a module-level
|
|
233
|
+
* container: containers never nest.
|
|
234
|
+
*/
|
|
235
|
+
| {
|
|
236
|
+
type: 'WRAP_MODULE_IN_VARIANT_CONTAINER';
|
|
237
|
+
moduleId: string;
|
|
238
|
+
containerId: string;
|
|
239
|
+
mode: 'personalization' | 'ab_test';
|
|
240
|
+
}
|
|
241
|
+
/** The inverse: `defaultModule` is restored at the container's position; arms are discarded (undo restores them). */
|
|
242
|
+
| {
|
|
243
|
+
type: 'UNWRAP_MODULE_VARIANT_CONTAINER';
|
|
244
|
+
containerId: string;
|
|
245
|
+
} | {
|
|
246
|
+
type: 'UPDATE_MODULE_VARIANT_CONTAINER';
|
|
247
|
+
containerId: string;
|
|
248
|
+
patch: ModuleVariantContainerPatch;
|
|
249
|
+
}
|
|
250
|
+
/** Add an arm seeded from a DETACHED clone of the Default arm's module (`cloneModuleDetached`). */
|
|
251
|
+
| {
|
|
252
|
+
type: 'ADD_MODULE_VARIANT_ARM';
|
|
253
|
+
containerId: string;
|
|
254
|
+
armId: string;
|
|
255
|
+
} | {
|
|
256
|
+
type: 'REMOVE_MODULE_VARIANT_ARM';
|
|
257
|
+
containerId: string;
|
|
258
|
+
armId: string;
|
|
199
259
|
} | {
|
|
200
260
|
type: 'UNDO';
|
|
201
261
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-state.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"editor-state.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/editor-state.ts"],"names":[],"mappings":"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"}
|