@kywi-software/core 0.9.0 → 0.11.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 +15 -13
- package/README.md +67 -0
- package/dist/admin/layout-editor/column-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/column-overlay.js +7 -1
- package/dist/admin/layout-editor/column-overlay.js.map +1 -1
- package/dist/admin/layout-editor/drop-indicator.d.ts +18 -1
- package/dist/admin/layout-editor/drop-indicator.d.ts.map +1 -1
- package/dist/admin/layout-editor/drop-indicator.js +23 -3
- package/dist/admin/layout-editor/drop-indicator.js.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.d.ts +31 -8
- package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.js +131 -48
- package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
- package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-state.js +19 -3
- package/dist/admin/layout-editor/editor-state.js.map +1 -1
- package/dist/admin/layout-editor/editor.css +106 -8
- package/dist/admin/layout-editor/inline-text.d.ts +56 -4
- package/dist/admin/layout-editor/inline-text.d.ts.map +1 -1
- package/dist/admin/layout-editor/inline-text.js +134 -11
- package/dist/admin/layout-editor/inline-text.js.map +1 -1
- package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/layout-editor.js +1 -1
- package/dist/admin/layout-editor/layout-editor.js.map +1 -1
- package/dist/admin/layout-editor/module-overlay.d.ts +26 -13
- package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-overlay.js +206 -22
- package/dist/admin/layout-editor/module-overlay.js.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.js +39 -12
- package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
- package/dist/admin/layout-editor/props-panel.js +1 -1
- package/dist/admin/layout-editor/props-panel.js.map +1 -1
- package/dist/admin/layout-editor/section-overlay.d.ts +8 -1
- package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-overlay.js +8 -8
- package/dist/admin/layout-editor/section-overlay.js.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.js +5 -5
- package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
- package/dist/admin/layout-editor/use-chrome-flip.d.ts +111 -11
- package/dist/admin/layout-editor/use-chrome-flip.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-chrome-flip.js +233 -33
- package/dist/admin/layout-editor/use-chrome-flip.js.map +1 -1
- package/dist/admin/layout-editor/use-editor-dnd.d.ts +44 -1
- package/dist/admin/layout-editor/use-editor-dnd.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-editor-dnd.js +191 -3
- package/dist/admin/layout-editor/use-editor-dnd.js.map +1 -1
- package/dist/admin/styles/admin.css +22 -1
- package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
- package/dist/admin/surfaces/layouts/layout-editor-client.js +12 -1
- package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
- package/dist/api/content-routes.d.ts.map +1 -1
- package/dist/api/content-routes.js +34 -7
- package/dist/api/content-routes.js.map +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +7 -73
- package/dist/api/index.js.map +1 -1
- package/dist/cache/content-invalidation.d.ts +28 -0
- package/dist/cache/content-invalidation.d.ts.map +1 -0
- package/dist/cache/content-invalidation.js +72 -0
- package/dist/cache/content-invalidation.js.map +1 -0
- package/dist/db/content-restore.d.ts +5 -1
- package/dist/db/content-restore.d.ts.map +1 -1
- package/dist/db/content-restore.js +9 -2
- package/dist/db/content-restore.js.map +1 -1
- package/dist/layout/comments-module.d.ts.map +1 -1
- package/dist/layout/comments-module.js +6 -2
- package/dist/layout/comments-module.js.map +1 -1
- package/dist/layout/module-render-context.d.ts +32 -0
- package/dist/layout/module-render-context.d.ts.map +1 -1
- package/dist/layout/module-render-context.js +32 -1
- package/dist/layout/module-render-context.js.map +1 -1
- package/dist/layout/modules-extended.d.ts.map +1 -1
- package/dist/layout/modules-extended.js +21 -11
- package/dist/layout/modules-extended.js.map +1 -1
- package/dist/layout/modules.d.ts.map +1 -1
- package/dist/layout/modules.js +15 -10
- package/dist/layout/modules.js.map +1 -1
- package/dist/scope/inline-editing.d.ts.map +1 -1
- package/dist/scope/inline-editing.js +10 -0
- package/dist/scope/inline-editing.js.map +1 -1
- package/dist/scope/sticky-offset.d.ts +185 -0
- package/dist/scope/sticky-offset.d.ts.map +1 -0
- package/dist/scope/sticky-offset.js +432 -0
- package/dist/scope/sticky-offset.js.map +1 -0
- package/dist/site/styles.css +41 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props-panel.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/props-panel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"props-panel.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/props-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -28,12 +28,19 @@ interface SectionOverlayProps {
|
|
|
28
28
|
* occupies on the live page (kywi-cms#94).
|
|
29
29
|
*/
|
|
30
30
|
inPlace?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the front editor's left module-palette rail is expanded. That rail
|
|
33
|
+
* is fixed to the viewport's left edge and paints over a full-width section's
|
|
34
|
+
* chrome, so the chrome moves out of its way (kywi-cms#132). In-place only —
|
|
35
|
+
* the admin artboard's palette is an in-flow column with nothing to avoid.
|
|
36
|
+
*/
|
|
37
|
+
paletteOpen?: boolean;
|
|
31
38
|
/** Resolved base style for the section, applied only in in-place mode. */
|
|
32
39
|
inPlaceStyle?: Record<string, string>;
|
|
33
40
|
/** Scoped responsive CSS for the section, emitted only in in-place mode. */
|
|
34
41
|
responsiveCss?: string;
|
|
35
42
|
children: React.ReactNode;
|
|
36
43
|
}
|
|
37
|
-
export declare function SectionOverlay({ sectionId, onAddColumn, onDelete, onSelect, isSelected, actions, inPlace, inPlaceStyle, responsiveCss, children, }: SectionOverlayProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
export declare function SectionOverlay({ sectionId, onAddColumn, onDelete, onSelect, isSelected, actions, inPlace, paletteOpen, inPlaceStyle, responsiveCss, children, }: SectionOverlayProps): import("react/jsx-runtime").JSX.Element;
|
|
38
45
|
export {};
|
|
39
46
|
//# sourceMappingURL=section-overlay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-overlay.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/section-overlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB;mEAC+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAkB,EAClB,OAAO,EACP,OAAe,EACf,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"section-overlay.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/section-overlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB;mEAC+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,mFAAmF;IACnF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAkB,EAClB,OAAO,EACP,OAAe,EACf,WAAmB,EACnB,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,EAAE,mBAAmB,2CAwGrB"}
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { EditorIcon } from './editor-icons.js';
|
|
5
|
-
import { useChromeFlip } from './use-chrome-flip.js';
|
|
6
|
-
export function SectionOverlay({ sectionId, onAddColumn, onDelete, onSelect, isSelected = false, actions, inPlace = false, inPlaceStyle, responsiveCss, children, }) {
|
|
5
|
+
import { useChromeFlip, chromeOffsetClasses, chromeOffsetStyle } from './use-chrome-flip.js';
|
|
6
|
+
export function SectionOverlay({ sectionId, onAddColumn, onDelete, onSelect, isSelected = false, actions, inPlace = false, paletteOpen = false, inPlaceStyle, responsiveCss, children, }) {
|
|
7
7
|
// In place the chrome floats above this section — which puts it under the
|
|
8
8
|
// editor's fixed top bar when the section is at the top of the page, so it is
|
|
9
|
-
// pinned down inside the section instead (kywi-cms#122)
|
|
10
|
-
//
|
|
9
|
+
// pinned down inside the section instead (kywi-cms#122), and behind the open
|
|
10
|
+
// module palette when the section runs full width, so it is also pushed right
|
|
11
|
+
// out of that rail's footprint (kywi-cms#132). Artboard mode has no floating
|
|
12
|
+
// chrome.
|
|
11
13
|
const sectionRef = React.useRef(null);
|
|
12
|
-
const
|
|
14
|
+
const chromeOffsets = useChromeFlip(sectionRef, inPlace, paletteOpen);
|
|
13
15
|
// kywi-cms#49: these overlay controls live inside the page editor's <form>
|
|
14
16
|
// (content-form.tsx) in admin mode. Without an explicit type="button" a
|
|
15
17
|
// <button> defaults to type="submit" — clicking "+Col" submitted the whole
|
|
@@ -29,9 +31,7 @@ export function SectionOverlay({ sectionId, onAddColumn, onDelete, onSelect, isS
|
|
|
29
31
|
if (inPlace) {
|
|
30
32
|
return (_jsxs("div", { ref: sectionRef, className: `kywi-section kywi-ip-section${isSelected ? ' kywi-ip-section--selected' : ''}`, "data-kywi-section": "", "data-section-id": sectionId, style: inPlaceStyle && Object.keys(inPlaceStyle).length > 0
|
|
31
33
|
? inPlaceStyle
|
|
32
|
-
: undefined, ...selectHandler, children: [responsiveCss ? _jsx("style", { dangerouslySetInnerHTML: { __html: responsiveCss } }) : null, _jsx("div", { className:
|
|
33
|
-
? { '--kywi-ip-chrome-clamp': `${chromeClampPx}px` }
|
|
34
|
-
: undefined, "data-kywi-editor-chrome": "", contentEditable: false, children: chrome }), _jsx("div", { className: "kywi-section-columns", children: children })] }));
|
|
34
|
+
: undefined, ...selectHandler, children: [responsiveCss ? _jsx("style", { dangerouslySetInnerHTML: { __html: responsiveCss } }) : null, _jsx("div", { className: ['kywi-ip-chrome', 'kywi-ip-section-chrome', ...chromeOffsetClasses(chromeOffsets)].join(' '), style: chromeOffsetStyle(chromeOffsets), "data-kywi-editor-chrome": "", contentEditable: false, children: chrome }), _jsx("div", { className: "kywi-section-columns", children: children })] }));
|
|
35
35
|
}
|
|
36
36
|
return (_jsxs("div", { className: `kywi-editor-section${isSelected ? ' kywi-editor-section--selected' : ''}`, "data-section-id": sectionId, ...selectHandler, children: [_jsx("div", { className: "kywi-editor-section-toolbar", children: chrome }), _jsx("div", { className: "kywi-editor-columns", children: children })] }));
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-overlay.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/section-overlay.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"section-overlay.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/section-overlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ const WEIGHT_EPSILON = 1e-6;
|
|
|
29
29
|
*/
|
|
30
30
|
export function validateArmWeights(weights) {
|
|
31
31
|
if (weights.length === 0) {
|
|
32
|
-
return { valid: false, error: 'Add at least one variant
|
|
32
|
+
return { valid: false, error: 'Add at least one variant to split traffic.' };
|
|
33
33
|
}
|
|
34
34
|
if (weights.some(w => w < 0 || Number.isNaN(w))) {
|
|
35
35
|
return { valid: false, error: 'Weights cannot be negative.' };
|
|
@@ -67,17 +67,17 @@ export function SectionVariantContainerConfig({ container, audiences, onChange,
|
|
|
67
67
|
return;
|
|
68
68
|
const name = arm.label || arm.audienceId || `Variant ${index + 1}`;
|
|
69
69
|
// Removing an arm discards its sections, so make it a deliberate act.
|
|
70
|
-
if (!window.confirm(`Delete the "${name}"
|
|
70
|
+
if (!window.confirm(`Delete the "${name}" variant and everything in it?`))
|
|
71
71
|
return;
|
|
72
72
|
onChange({ arms: arms.filter((_, i) => i !== index) });
|
|
73
73
|
};
|
|
74
74
|
const split = isAbTest ? validateArmWeights(arms.map(a => a.weight)) : { valid: true };
|
|
75
75
|
const experimentIdMissing = isAbTest && !container.experimentId;
|
|
76
76
|
return (_jsxs("div", { className: "kywi-variant-config", "data-section-variant-config": "", children: [_jsx("p", { className: "kywi-editor-props-linked-note", children: isAbTest
|
|
77
|
-
? 'Visitors are split between these
|
|
78
|
-
: 'Each
|
|
77
|
+
? 'Visitors are split between these variants. Edit each variant’s content on the canvas by switching variants in the container block.'
|
|
78
|
+
: 'Each variant is shown to one audience; everyone else sees Default. Edit each variant’s content on the canvas by switching variants in the container block.' }), _jsxs("div", { className: "kywi-editor-prop-group", children: [_jsx("label", { className: "kywi-editor-prop-label", htmlFor: "svc-mode", children: "Mode" }), _jsxs("select", { id: "svc-mode", className: "kywi-editor-prop-input", value: container.mode, onChange: (e) => onChange({ mode: e.target.value === 'ab_test' ? 'ab_test' : 'personalization' }), children: [_jsx("option", { value: "personalization", children: "Personalization (by audience)" }), _jsx("option", { value: "ab_test", children: "A/B Test (weighted split)" })] })] }), isAbTest && (_jsxs("div", { className: "kywi-editor-prop-group", children: [_jsxs("label", { className: "kywi-editor-prop-label", htmlFor: "svc-experiment", children: ["Experiment id ", _jsx("span", { className: "kywi-field-optional", children: "(required)" })] }), _jsx("input", { id: "svc-experiment", type: "text", className: "kywi-editor-prop-input", placeholder: "Experiment this section is bucketed by\u2026", value: container.experimentId ?? '', onChange: (e) => onChange({ experimentId: e.target.value }) }), experimentIdMissing && (_jsx("p", { className: "kywi-variant-error", role: "alert", children: "An A/B tested section needs an experiment id \u2014 the page cannot be saved without one." })), _jsx(AdminEscapeHatch, { href: "/admin/experiments", label: "Manage experiments in admin" })] })), container.winnerId && (_jsxs("div", { className: "kywi-editor-prop-group", children: [_jsx("div", { className: "kywi-editor-prop-label", children: "Winner" }), _jsxs("p", { className: "kywi-editor-props-linked-note", "data-vc-winner": container.winnerId, children: ["This experiment is decided: all traffic goes to ", _jsx("strong", { children: container.winnerId }), ", whatever the weights below say."] })] })), _jsxs("div", { className: "kywi-variant-config-arms", children: [_jsx("div", { className: "kywi-editor-prop-label", children: "Variants" }), arms.length === 0 && (_jsx("p", { className: "kywi-admin-empty-conditions", children: "No variants yet \u2014 every visitor sees the Default variant." })), arms.map((arm, i) => (_jsxs("div", { className: "kywi-variant-config-arm", "data-arm-id": arm.id, children: [_jsxs("div", { className: "kywi-editor-prop-group", children: [_jsx("label", { className: "kywi-editor-prop-label", htmlFor: `svc-aud-${i}`, children: isAbTest ? 'Variant key' : 'Audience' }), hasAudienceList && !isAbTest ? (_jsxs("select", { id: `svc-aud-${i}`, className: "kywi-editor-prop-input", value: arm.audienceId, onChange: (e) => updateArm(i, { audienceId: e.target.value }), children: [_jsx("option", { value: "", children: "Select audience\u2026" }), audiences.map((a) => (_jsx("option", { value: a.id, children: a.name }, a.id)))] })) : (_jsx("input", { id: `svc-aud-${i}`, type: "text", className: "kywi-editor-prop-input", placeholder: isAbTest ? 'e.g. variant-b' : 'Audience id…', value: arm.audienceId, onChange: (e) => updateArm(i, { audienceId: e.target.value }) })), !isAbTest && (_jsx(AdminEscapeHatch, { href: "/admin/audiences/new", label: "New audience" }))] }), _jsxs("div", { className: "kywi-editor-prop-group", children: [_jsx("label", { className: "kywi-editor-prop-label", htmlFor: `svc-label-${i}`, children: "Label" }), _jsx("input", { id: `svc-label-${i}`, type: "text", className: "kywi-editor-prop-input", placeholder: "e.g. Paid traffic hero", value: arm.label, onChange: (e) => updateArm(i, { label: e.target.value }) })] }), isAbTest && (_jsxs("div", { className: "kywi-editor-prop-group", children: [_jsx("label", { className: "kywi-editor-prop-label", htmlFor: `svc-weight-${i}`, children: "Weight %" }), _jsx("input", { id: `svc-weight-${i}`, type: "number", className: "kywi-editor-prop-input", min: 0, max: 100, value: formatPercent(arm.weight), onChange: (e) => {
|
|
79
79
|
const pct = Number(e.target.value);
|
|
80
80
|
updateArm(i, { weight: Number.isFinite(pct) ? pct / 100 : 0 });
|
|
81
|
-
} })] })), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-sm", "data-action": "remove-arm", onClick: () => removeArm(i), children: "Remove
|
|
81
|
+
} })] })), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-sm", "data-action": "remove-arm", onClick: () => removeArm(i), children: "Remove variant" })] }, arm.id))), isAbTest && !split.valid && (_jsx("p", { className: "kywi-variant-error", role: "alert", children: split.error })), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary kywi-btn-sm", "data-action": "add-arm", onClick: addArm, children: "+ Add Variant" }), _jsx("p", { className: "kywi-editor-props-linked-note", children: "A new variant starts as a copy of the Default variant so it never ships a blank band to live traffic. Edit it on the canvas." })] })] }));
|
|
82
82
|
}
|
|
83
83
|
//# sourceMappingURL=section-variant-container-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-variant-container-config.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/section-variant-container-config.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D;;;;;;;;;;;;;GAaG;AAEH,MAAM,cAAc,GAAG,IAAI,CAAA;AAO3B;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAiB;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"section-variant-container-config.js","sourceRoot":"","sources":["../../../src/admin/layout-editor/section-variant-container-config.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,62 @@ import React from 'react';
|
|
|
2
2
|
/**
|
|
3
3
|
* An owner whose top edge sits above this line has no room for a chrome row
|
|
4
4
|
* between the fixed bar and itself, so its chrome has to move.
|
|
5
|
+
*
|
|
6
|
+
* The floor, not the whole story: a page whose own header is `position: sticky;
|
|
7
|
+
* top: 0` has a SECOND band under the editor's bar, because the sticky-offset
|
|
8
|
+
* detector re-pins that header just below it (kywi-cms#146). Clearing only the
|
|
9
|
+
* editor's bar then lands the chrome inside the site's nav — measured on the
|
|
10
|
+
* reference app at a clamped chrome of y 60–92 against a nav band of 46–111.
|
|
11
|
+
* So the live strip is this plus whatever the detector published; see
|
|
12
|
+
* {@link topStripPx}.
|
|
5
13
|
*/
|
|
6
14
|
export declare const BAR_STRIP_PX: number;
|
|
15
|
+
/**
|
|
16
|
+
* Width of the open module-palette rail, used when `--kywi-overlay-rail-left`
|
|
17
|
+
* cannot be read (server render, a host that lazy-loads editor.css after the
|
|
18
|
+
* first measurement, jsdom). Mirrors `--kywi-editor-panel-width-left` in
|
|
19
|
+
* editor.css, which the rail token resolves to.
|
|
20
|
+
*
|
|
21
|
+
* The rail is `box-sizing: border-box` (it carries `.kywi-overlay-chrome`, see
|
|
22
|
+
* the box-sizing rule at the top of editor.css), so this number is the rail's
|
|
23
|
+
* FULL on-screen footprint — its 1px right border included. That is what makes
|
|
24
|
+
* "read the token" and "measure the rail" the same answer, and it is why the
|
|
25
|
+
* token is the source here: it is stable while the rail's own width transition
|
|
26
|
+
* is still running, which a rect read during a palette toggle is not.
|
|
27
|
+
*/
|
|
28
|
+
export declare const RAIL_WIDTH_FALLBACK_PX = 232;
|
|
29
|
+
/**
|
|
30
|
+
* The narrowest strip of owner worth pushing the bar into. A chrome bar cannot
|
|
31
|
+
* be pushed so far right that its LEFT edge leaves its owner: it is absolutely
|
|
32
|
+
* positioned INSIDE the owner, and a bar that starts past a narrow band's right
|
|
33
|
+
* edge points at nothing. So on an owner too narrow to both clear the rail and
|
|
34
|
+
* still leave this much room, the offset stops here and the bar stays (partly)
|
|
35
|
+
* behind the rail — which the owner fixes with one click on the palette toggle.
|
|
36
|
+
*
|
|
37
|
+
* What this actually guarantees, precisely: the bar's left edge stays inside the
|
|
38
|
+
* owner with at least 200px of the owner to its right — NOT that the whole bar
|
|
39
|
+
* fits. The in-place bar renders its own controls plus Personalize and A/B, so a
|
|
40
|
+
* fully-actioned one is nearer 300px wide and can still overhang the owner's
|
|
41
|
+
* right edge; the chrome carries no max-width to stop it. That overhang is
|
|
42
|
+
* cosmetic (the buttons remain over the page, clickable, and visibly attached to
|
|
43
|
+
* their band) and deliberate: the alternative is refusing to move the bar out
|
|
44
|
+
* from under the rail at all, which is the bug this cap exists inside of.
|
|
45
|
+
*/
|
|
46
|
+
export declare const CHROME_MIN_WIDTH_PX = 200;
|
|
47
|
+
/** What the two measurements resolve to for one owner, in one layout frame. */
|
|
48
|
+
export interface ChromeOffsets {
|
|
49
|
+
/**
|
|
50
|
+
* Distance to pin the chrome DOWN from its owner's top edge so it clears the
|
|
51
|
+
* editor's fixed bar, or null for the ordinary above-position (kywi-cms#122).
|
|
52
|
+
*/
|
|
53
|
+
clampPx: number | null;
|
|
54
|
+
/**
|
|
55
|
+
* Distance to push the chrome RIGHT from its owner's left edge so it clears
|
|
56
|
+
* the open module-palette rail, or null when there is nothing to clear
|
|
57
|
+
* (kywi-cms#132).
|
|
58
|
+
*/
|
|
59
|
+
railAvoidPx: number | null;
|
|
60
|
+
}
|
|
7
61
|
/**
|
|
8
62
|
* In-place chrome floats ABOVE its owner (`transform: translateY(-100%)`, see
|
|
9
63
|
* `.kywi-ip-section-chrome` / `.kywi-ip-vc-chrome` in editor.css). For an owner
|
|
@@ -13,10 +67,39 @@ export declare const BAR_STRIP_PX: number;
|
|
|
13
67
|
* an edge-adjacent element's chrome can never cover the rails (kywi-cms#118).
|
|
14
68
|
* The fix is therefore positional (kywi-cms#122).
|
|
15
69
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
70
|
+
* The same argument runs sideways for the open module palette (kywi-cms#132).
|
|
71
|
+
* That rail is fixed to the left viewport edge, 232px wide, and out-ranks
|
|
72
|
+
* chrome by the same deliberate tier — so a FULL-WIDTH section, whose chrome
|
|
73
|
+
* renders at the section's own `left: 0`, has its grip, +Col, Personalize, A/B
|
|
74
|
+
* and × buttons sitting under the palette, unclickable. z-index cannot rescue
|
|
75
|
+
* that either (the rail must stay on top), and unlike an arbitrary site header
|
|
76
|
+
* the rail's footprint is a value the editor owns, so the fix is again
|
|
77
|
+
* positional: push the chrome right until it clears the rail.
|
|
78
|
+
*
|
|
79
|
+
* The vertical strip is not always just the bar, though. On a site whose header
|
|
80
|
+
* is `position: sticky; top: 0` — the common theme pattern — the editor re-pins
|
|
81
|
+
* that header directly under its own bar for the session (sticky-offset.ts,
|
|
82
|
+
* kywi-cms#146), so there is a SECOND band to clear. Clearing only the bar puts
|
|
83
|
+
* the chrome inside the site's nav: measured on the reference app at a clamped
|
|
84
|
+
* chrome of y 60–92 against a nav band of 46–111. The detector publishes that
|
|
85
|
+
* band's height and the clamp adds it, which is a no-op (0) on a page with no
|
|
86
|
+
* top-anchored chrome — i.e. every page the #122 geometry was written against.
|
|
87
|
+
*
|
|
88
|
+
* Returns both offsets from ONE rect read, in px:
|
|
89
|
+
* - `clampPx` — distance to pin the chrome DOWN from its owner's top edge so
|
|
90
|
+
* it lands just under the fixed bar (and the site's offset nav, if any), or
|
|
91
|
+
* null when the owner has room above it and the ordinary above-position
|
|
92
|
+
* applies. The caller turns that into `--kywi-ip-chrome-clamp` +
|
|
93
|
+
* `.kywi-ip-chrome--clamped`.
|
|
94
|
+
* - `railAvoidPx` — distance to push the chrome RIGHT so it clears the open
|
|
95
|
+
* palette rail, or null when the palette is closed or the owner already
|
|
96
|
+
* starts to the right of it. The caller turns that into
|
|
97
|
+
* `--kywi-ip-chrome-left` + `.kywi-ip-chrome--rail-avoid`.
|
|
98
|
+
*
|
|
99
|
+
* One hook rather than two: both offsets are read off the same
|
|
100
|
+
* `getBoundingClientRect()`, which is also the rule the drag work landed on
|
|
101
|
+
* (kywi-cms#136) — chrome geometry comes from rects taken in one frame, never
|
|
102
|
+
* from separately-sampled measurements that can disagree by a scroll.
|
|
20
103
|
*
|
|
21
104
|
* Pinning inside the owner rather than hanging the bar off the owner's BOTTOM
|
|
22
105
|
* edge (the first shape this fix took): a hero taller than the viewport put its
|
|
@@ -25,18 +108,35 @@ export declare const BAR_STRIP_PX: number;
|
|
|
25
108
|
* app. Clamping keeps the bar one row under the editor's own bar for as long as
|
|
26
109
|
* any of its owner is on screen, which is the whole point of the fix.
|
|
27
110
|
*
|
|
28
|
-
* Re-measured on mount
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
111
|
+
* Re-measured on mount, on every scroll/resize, and whenever the owner's own box
|
|
112
|
+
* changes — a `ResizeObserver`, for the layout moves no window event reports
|
|
113
|
+
* (see the effect). The owner's top edge moves relative to the bar as the reader
|
|
114
|
+
* scrolls, and while clamped the offset has to track it pixel for pixel. That is
|
|
115
|
+
* a style write per scroll for the one or two chromes near the top strip; every
|
|
116
|
+
* other chrome returns a stable value (null, or the bottom clamp below) and
|
|
117
|
+
* React bails out without touching the DOM at all.
|
|
34
118
|
*
|
|
35
119
|
* @param ownerRef the element the chrome is positioned against (the section or
|
|
36
120
|
* variant-container root). A null ref never clamps.
|
|
37
121
|
* @param enabled pass false for surfaces with no floating chrome — the admin
|
|
38
122
|
* artboard has its own header and in-flow toolbars, so it must neither clamp
|
|
39
123
|
* nor pay for the listeners.
|
|
124
|
+
* @param paletteOpen whether the left module-palette rail is currently expanded.
|
|
125
|
+
* In-place only; the admin Layout tab's palette is an in-flow column that
|
|
126
|
+
* displaces the canvas rather than floating over it, so nothing there has a
|
|
127
|
+
* rail to avoid. Part of the effect's deps, so toggling the palette
|
|
128
|
+
* re-measures immediately rather than waiting for the next scroll.
|
|
129
|
+
*/
|
|
130
|
+
export declare function useChromeFlip(ownerRef: React.RefObject<HTMLElement | null>, enabled?: boolean, paletteOpen?: boolean): ChromeOffsets;
|
|
131
|
+
/**
|
|
132
|
+
* The modifier classes the measured offsets ask for, in the order the CSS
|
|
133
|
+
* expects them. Shared by both consumers (`SectionOverlay` and
|
|
134
|
+
* `VariantContainerBlock`) so a third one cannot half-implement the contract.
|
|
135
|
+
*/
|
|
136
|
+
export declare function chromeOffsetClasses(offsets: ChromeOffsets): string[];
|
|
137
|
+
/**
|
|
138
|
+
* The custom properties those classes read, or undefined when neither offset
|
|
139
|
+
* applies (so the element keeps no `style` attribute at all in the common case).
|
|
40
140
|
*/
|
|
41
|
-
export declare function
|
|
141
|
+
export declare function chromeOffsetStyle(offsets: ChromeOffsets): React.CSSProperties | undefined;
|
|
42
142
|
//# sourceMappingURL=use-chrome-flip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chrome-flip.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/use-chrome-flip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"use-chrome-flip.d.ts","sourceRoot":"","sources":["../../../src/admin/layout-editor/use-chrome-flip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,QAAgC,CAAA;AAEzD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAEzC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAC7C,OAAO,UAAO,EACd,WAAW,UAAQ,GAClB,aAAa,CAkIf;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAKpE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,KAAK,CAAC,aAAa,GAAG,SAAS,CAMzF"}
|