@measured/puck-plugin-heading-analyzer 0.14.3-canary.9df6633 → 0.15.0-canary.aedd401
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/dist/index.d.ts +5 -9
- package/dist/index.js +391 -468
- package/package.json +2 -2
package/dist/index.js
CHANGED
@@ -45807,292 +45807,6 @@ var require_object_hash = __commonJS({
|
|
45807
45807
|
}
|
45808
45808
|
});
|
45809
45809
|
|
45810
|
-
// ../../node_modules/@measured/auto-frame-component/dist/index.js
|
45811
|
-
var require_dist = __commonJS({
|
45812
|
-
"../../node_modules/@measured/auto-frame-component/dist/index.js"(exports, module2) {
|
45813
|
-
"use strict";
|
45814
|
-
init_react_import();
|
45815
|
-
var __create2 = Object.create;
|
45816
|
-
var __defProp2 = Object.defineProperty;
|
45817
|
-
var __defProps2 = Object.defineProperties;
|
45818
|
-
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
|
45819
|
-
var __getOwnPropDescs2 = Object.getOwnPropertyDescriptors;
|
45820
|
-
var __getOwnPropNames2 = Object.getOwnPropertyNames;
|
45821
|
-
var __getOwnPropSymbols2 = Object.getOwnPropertySymbols;
|
45822
|
-
var __getProtoOf2 = Object.getPrototypeOf;
|
45823
|
-
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
|
45824
|
-
var __propIsEnum2 = Object.prototype.propertyIsEnumerable;
|
45825
|
-
var __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
45826
|
-
var __spreadValues2 = (a2, b) => {
|
45827
|
-
for (var prop in b || (b = {}))
|
45828
|
-
if (__hasOwnProp2.call(b, prop))
|
45829
|
-
__defNormalProp2(a2, prop, b[prop]);
|
45830
|
-
if (__getOwnPropSymbols2)
|
45831
|
-
for (var prop of __getOwnPropSymbols2(b)) {
|
45832
|
-
if (__propIsEnum2.call(b, prop))
|
45833
|
-
__defNormalProp2(a2, prop, b[prop]);
|
45834
|
-
}
|
45835
|
-
return a2;
|
45836
|
-
};
|
45837
|
-
var __spreadProps2 = (a2, b) => __defProps2(a2, __getOwnPropDescs2(b));
|
45838
|
-
var __objRest2 = (source, exclude) => {
|
45839
|
-
var target = {};
|
45840
|
-
for (var prop in source)
|
45841
|
-
if (__hasOwnProp2.call(source, prop) && exclude.indexOf(prop) < 0)
|
45842
|
-
target[prop] = source[prop];
|
45843
|
-
if (source != null && __getOwnPropSymbols2)
|
45844
|
-
for (var prop of __getOwnPropSymbols2(source)) {
|
45845
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum2.call(source, prop))
|
45846
|
-
target[prop] = source[prop];
|
45847
|
-
}
|
45848
|
-
return target;
|
45849
|
-
};
|
45850
|
-
var __export2 = (target, all) => {
|
45851
|
-
for (var name in all)
|
45852
|
-
__defProp2(target, name, { get: all[name], enumerable: true });
|
45853
|
-
};
|
45854
|
-
var __copyProps2 = (to, from, except, desc) => {
|
45855
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
45856
|
-
for (let key of __getOwnPropNames2(from))
|
45857
|
-
if (!__hasOwnProp2.call(to, key) && key !== except)
|
45858
|
-
__defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
|
45859
|
-
}
|
45860
|
-
return to;
|
45861
|
-
};
|
45862
|
-
var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
|
45863
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
45864
|
-
// file that has been converted to a CommonJS file using a Babel-
|
45865
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
45866
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
45867
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
|
45868
|
-
mod
|
45869
|
-
));
|
45870
|
-
var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
|
45871
|
-
var __async2 = (__this, __arguments, generator) => {
|
45872
|
-
return new Promise((resolve, reject) => {
|
45873
|
-
var fulfilled = (value) => {
|
45874
|
-
try {
|
45875
|
-
step(generator.next(value));
|
45876
|
-
} catch (e2) {
|
45877
|
-
reject(e2);
|
45878
|
-
}
|
45879
|
-
};
|
45880
|
-
var rejected = (value) => {
|
45881
|
-
try {
|
45882
|
-
step(generator.throw(value));
|
45883
|
-
} catch (e2) {
|
45884
|
-
reject(e2);
|
45885
|
-
}
|
45886
|
-
};
|
45887
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
45888
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
45889
|
-
});
|
45890
|
-
};
|
45891
|
-
var auto_frame_component_exports = {};
|
45892
|
-
__export2(auto_frame_component_exports, {
|
45893
|
-
default: () => AutoFrameComponent_default
|
45894
|
-
});
|
45895
|
-
module2.exports = __toCommonJS2(auto_frame_component_exports);
|
45896
|
-
var import_react13 = __toESM2(require("react"));
|
45897
|
-
var import_react22 = __toESM2(require("react"));
|
45898
|
-
var import_react_frame_component = __toESM2(require_lib());
|
45899
|
-
var import_object_hash = __toESM2(require_object_hash());
|
45900
|
-
var import_jsx_runtime8 = require("react/jsx-runtime");
|
45901
|
-
var styleSelector = 'style, link[as="style"], link[rel="stylesheet"]';
|
45902
|
-
var collectStyles = (doc) => {
|
45903
|
-
const collected = [];
|
45904
|
-
doc.head.querySelectorAll(styleSelector).forEach((style2) => {
|
45905
|
-
collected.push(style2);
|
45906
|
-
});
|
45907
|
-
return collected;
|
45908
|
-
};
|
45909
|
-
var getStyleSheet = (el) => {
|
45910
|
-
return Array.from(document.styleSheets).find((ss) => {
|
45911
|
-
const ownerNode = ss.ownerNode;
|
45912
|
-
return ownerNode.href === el.href;
|
45913
|
-
});
|
45914
|
-
};
|
45915
|
-
var getStyles2 = (styleSheet) => {
|
45916
|
-
if (styleSheet) {
|
45917
|
-
try {
|
45918
|
-
return [...styleSheet.cssRules].map((rule) => rule.cssText).join("");
|
45919
|
-
} catch (e2) {
|
45920
|
-
console.warn(
|
45921
|
-
"Access to stylesheet %s is denied. Ignoring\u2026",
|
45922
|
-
styleSheet.href
|
45923
|
-
);
|
45924
|
-
}
|
45925
|
-
}
|
45926
|
-
return "";
|
45927
|
-
};
|
45928
|
-
var defer = (fn) => setTimeout(fn, 0);
|
45929
|
-
var CopyHostStyles = ({
|
45930
|
-
children,
|
45931
|
-
debug = false,
|
45932
|
-
onStylesLoaded = () => null
|
45933
|
-
}) => {
|
45934
|
-
const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
|
45935
|
-
(0, import_react22.useEffect)(() => {
|
45936
|
-
if (!win || !doc) {
|
45937
|
-
return () => {
|
45938
|
-
};
|
45939
|
-
}
|
45940
|
-
let elements = [];
|
45941
|
-
const hashes = {};
|
45942
|
-
const lookupEl = (el) => elements.findIndex((elementMap) => elementMap.original === el);
|
45943
|
-
const mirrorEl = (el, onLoad = () => {
|
45944
|
-
}) => __async2(void 0, null, function* () {
|
45945
|
-
let mirror;
|
45946
|
-
if (el.nodeName === "LINK") {
|
45947
|
-
mirror = document.createElement("style");
|
45948
|
-
mirror.type = "text/css";
|
45949
|
-
let styleSheet = getStyleSheet(el);
|
45950
|
-
if (!styleSheet) {
|
45951
|
-
yield new Promise((resolve) => {
|
45952
|
-
const fn = () => {
|
45953
|
-
resolve();
|
45954
|
-
el.removeEventListener("load", fn);
|
45955
|
-
};
|
45956
|
-
el.addEventListener("load", fn);
|
45957
|
-
});
|
45958
|
-
styleSheet = getStyleSheet(el);
|
45959
|
-
}
|
45960
|
-
const styles = getStyles2(styleSheet);
|
45961
|
-
if (!styles) {
|
45962
|
-
if (debug) {
|
45963
|
-
console.warn(
|
45964
|
-
`Tried to load styles for link element, but couldn't find them. Skipping...`
|
45965
|
-
);
|
45966
|
-
}
|
45967
|
-
return;
|
45968
|
-
}
|
45969
|
-
mirror.innerHTML = styles;
|
45970
|
-
mirror.setAttribute("data-href", el.getAttribute("href"));
|
45971
|
-
} else {
|
45972
|
-
mirror = el.cloneNode(true);
|
45973
|
-
}
|
45974
|
-
mirror.onload = onLoad;
|
45975
|
-
return mirror;
|
45976
|
-
});
|
45977
|
-
const addEl = (el, onLoad = () => {
|
45978
|
-
}) => __async2(void 0, null, function* () {
|
45979
|
-
const index = lookupEl(el);
|
45980
|
-
if (index > -1) {
|
45981
|
-
if (debug)
|
45982
|
-
console.log(
|
45983
|
-
`Tried to add an element that was already mirrored. Updating instead...`
|
45984
|
-
);
|
45985
|
-
elements[index].mirror.innerText = el.innerText;
|
45986
|
-
onLoad();
|
45987
|
-
return;
|
45988
|
-
}
|
45989
|
-
const mirror = yield mirrorEl(el, onLoad);
|
45990
|
-
if (!mirror) {
|
45991
|
-
onLoad();
|
45992
|
-
return;
|
45993
|
-
}
|
45994
|
-
const elHash = (0, import_object_hash.default)(mirror.outerHTML);
|
45995
|
-
if (hashes[elHash]) {
|
45996
|
-
if (debug)
|
45997
|
-
console.log(
|
45998
|
-
`iframe already contains element that is being mirrored. Skipping...`
|
45999
|
-
);
|
46000
|
-
onLoad();
|
46001
|
-
return;
|
46002
|
-
}
|
46003
|
-
hashes[elHash] = true;
|
46004
|
-
mirror.onload = onLoad;
|
46005
|
-
doc.head.append(mirror);
|
46006
|
-
elements.push({ original: el, mirror });
|
46007
|
-
if (debug)
|
46008
|
-
console.log(`Added style node ${el.outerHTML}`);
|
46009
|
-
});
|
46010
|
-
const removeEl = (el) => {
|
46011
|
-
var _a3, _b;
|
46012
|
-
const index = lookupEl(el);
|
46013
|
-
if (index === -1) {
|
46014
|
-
if (debug)
|
46015
|
-
console.log(
|
46016
|
-
`Tried to remove an element that did not exist. Skipping...`
|
46017
|
-
);
|
46018
|
-
return;
|
46019
|
-
}
|
46020
|
-
const elHash = (0, import_object_hash.default)(el.outerHTML);
|
46021
|
-
(_b = (_a3 = elements[index]) == null ? void 0 : _a3.mirror) == null ? void 0 : _b.remove();
|
46022
|
-
delete hashes[elHash];
|
46023
|
-
if (debug)
|
46024
|
-
console.log(`Removed style node ${el.outerHTML}`);
|
46025
|
-
};
|
46026
|
-
const observer = new MutationObserver((mutations) => {
|
46027
|
-
mutations.forEach((mutation) => {
|
46028
|
-
if (mutation.type === "childList") {
|
46029
|
-
mutation.addedNodes.forEach((node) => {
|
46030
|
-
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
46031
|
-
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
46032
|
-
if (el && el.matches(styleSelector)) {
|
46033
|
-
defer(() => addEl(el));
|
46034
|
-
}
|
46035
|
-
}
|
46036
|
-
});
|
46037
|
-
mutation.removedNodes.forEach((node) => {
|
46038
|
-
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
46039
|
-
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
46040
|
-
if (el && el.matches(styleSelector)) {
|
46041
|
-
defer(() => removeEl(el));
|
46042
|
-
}
|
46043
|
-
}
|
46044
|
-
});
|
46045
|
-
}
|
46046
|
-
});
|
46047
|
-
});
|
46048
|
-
const parentDocument = win.parent.document;
|
46049
|
-
const collectedStyles = collectStyles(parentDocument);
|
46050
|
-
const hrefs = [];
|
46051
|
-
Promise.all(
|
46052
|
-
collectedStyles.map((styleNode, i2) => __async2(void 0, null, function* () {
|
46053
|
-
if (styleNode.nodeName === "LINK") {
|
46054
|
-
const linkHref = styleNode.href;
|
46055
|
-
if (hrefs.indexOf(linkHref) > -1) {
|
46056
|
-
return;
|
46057
|
-
}
|
46058
|
-
hrefs.push(linkHref);
|
46059
|
-
}
|
46060
|
-
const mirror = yield mirrorEl(styleNode);
|
46061
|
-
if (!mirror)
|
46062
|
-
return;
|
46063
|
-
elements.push({ original: styleNode, mirror });
|
46064
|
-
return mirror;
|
46065
|
-
}))
|
46066
|
-
).then((mirrorStyles) => {
|
46067
|
-
const filtered = mirrorStyles.filter(
|
46068
|
-
(el) => typeof el !== "undefined"
|
46069
|
-
);
|
46070
|
-
doc.head.innerHTML = "";
|
46071
|
-
doc.head.append(...filtered);
|
46072
|
-
observer.observe(parentDocument.head, { childList: true, subtree: true });
|
46073
|
-
filtered.forEach((el) => {
|
46074
|
-
const elHash = (0, import_object_hash.default)(el.outerHTML);
|
46075
|
-
hashes[elHash] = true;
|
46076
|
-
});
|
46077
|
-
onStylesLoaded();
|
46078
|
-
});
|
46079
|
-
return () => {
|
46080
|
-
observer.disconnect();
|
46081
|
-
};
|
46082
|
-
}, []);
|
46083
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children });
|
46084
|
-
};
|
46085
|
-
var AutoFrameComponent = import_react22.default.forwardRef(
|
46086
|
-
function(_a3, ref2) {
|
46087
|
-
var _b = _a3, { children, debug, onStylesLoaded } = _b, props = __objRest2(_b, ["children", "debug", "onStylesLoaded"]);
|
46088
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_react_frame_component.default, __spreadProps2(__spreadValues2({}, props), { ref: ref2, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
|
46089
|
-
}
|
46090
|
-
);
|
46091
|
-
AutoFrameComponent.displayName = "AutoFrameComponent";
|
46092
|
-
var AutoFrameComponent_default = AutoFrameComponent;
|
46093
|
-
}
|
46094
|
-
});
|
46095
|
-
|
46096
45810
|
// ../../node_modules/react-hotkeys-hook/dist/react-hotkeys-hook.esm.js
|
46097
45811
|
var react_hotkeys_hook_esm_exports = {};
|
46098
45812
|
__export(react_hotkeys_hook_esm_exports, {
|
@@ -46562,7 +46276,7 @@ var init_react_hotkeys_hook_esm = __esm({
|
|
46562
46276
|
});
|
46563
46277
|
|
46564
46278
|
// ../core/dist/index.js
|
46565
|
-
var
|
46279
|
+
var require_dist = __commonJS({
|
46566
46280
|
"../core/dist/index.js"(exports, module2) {
|
46567
46281
|
"use strict";
|
46568
46282
|
init_react_import();
|
@@ -54586,9 +54300,9 @@ var require_dist2 = __commonJS({
|
|
54586
54300
|
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") {
|
54587
54301
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
54588
54302
|
}
|
54589
|
-
var
|
54303
|
+
var React32 = require("react");
|
54590
54304
|
var Scheduler = require_scheduler2();
|
54591
|
-
var ReactSharedInternals =
|
54305
|
+
var ReactSharedInternals = React32.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
54592
54306
|
var suppressWarning = false;
|
54593
54307
|
function setSuppressWarning(newSuppressWarning) {
|
54594
54308
|
{
|
@@ -54637,7 +54351,7 @@ var require_dist2 = __commonJS({
|
|
54637
54351
|
var HostPortal = 4;
|
54638
54352
|
var HostComponent = 5;
|
54639
54353
|
var HostText = 6;
|
54640
|
-
var
|
54354
|
+
var Fragment18 = 7;
|
54641
54355
|
var Mode = 8;
|
54642
54356
|
var ContextConsumer = 9;
|
54643
54357
|
var ContextProvider = 10;
|
@@ -55793,7 +55507,7 @@ var require_dist2 = __commonJS({
|
|
55793
55507
|
return "DehydratedFragment";
|
55794
55508
|
case ForwardRef:
|
55795
55509
|
return getWrappedName$1(type, type.render, "ForwardRef");
|
55796
|
-
case
|
55510
|
+
case Fragment18:
|
55797
55511
|
return "Fragment";
|
55798
55512
|
case HostComponent:
|
55799
55513
|
return type;
|
@@ -56193,7 +55907,7 @@ var require_dist2 = __commonJS({
|
|
56193
55907
|
{
|
56194
55908
|
if (props.value == null) {
|
56195
55909
|
if (typeof props.children === "object" && props.children !== null) {
|
56196
|
-
|
55910
|
+
React32.Children.forEach(props.children, function(child) {
|
56197
55911
|
if (child == null) {
|
56198
55912
|
return;
|
56199
55913
|
}
|
@@ -64640,7 +64354,7 @@ var require_dist2 = __commonJS({
|
|
64640
64354
|
}
|
64641
64355
|
}
|
64642
64356
|
var fakeInternalInstance = {};
|
64643
|
-
var emptyRefsObject = new
|
64357
|
+
var emptyRefsObject = new React32.Component().refs;
|
64644
64358
|
var didWarnAboutStateAssignmentForComponent;
|
64645
64359
|
var didWarnAboutUninitializedState;
|
64646
64360
|
var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
|
@@ -65464,7 +65178,7 @@ var require_dist2 = __commonJS({
|
|
65464
65178
|
}
|
65465
65179
|
}
|
65466
65180
|
function updateFragment2(returnFiber, current2, fragment, lanes, key) {
|
65467
|
-
if (current2 === null || current2.tag !==
|
65181
|
+
if (current2 === null || current2.tag !== Fragment18) {
|
65468
65182
|
var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
|
65469
65183
|
created.return = returnFiber;
|
65470
65184
|
return created;
|
@@ -65867,7 +65581,7 @@ var require_dist2 = __commonJS({
|
|
65867
65581
|
if (child.key === key) {
|
65868
65582
|
var elementType = element.type;
|
65869
65583
|
if (elementType === REACT_FRAGMENT_TYPE) {
|
65870
|
-
if (child.tag ===
|
65584
|
+
if (child.tag === Fragment18) {
|
65871
65585
|
deleteRemainingChildren(returnFiber, child.sibling);
|
65872
65586
|
var existing = useFiber(child, element.props.children);
|
65873
65587
|
existing.return = returnFiber;
|
@@ -70042,7 +69756,7 @@ var require_dist2 = __commonJS({
|
|
70042
69756
|
var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
|
70043
69757
|
return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
|
70044
69758
|
}
|
70045
|
-
case
|
69759
|
+
case Fragment18:
|
70046
69760
|
return updateFragment(current2, workInProgress2, renderLanes2);
|
70047
69761
|
case Mode:
|
70048
69762
|
return updateMode(current2, workInProgress2, renderLanes2);
|
@@ -70315,7 +70029,7 @@ var require_dist2 = __commonJS({
|
|
70315
70029
|
case SimpleMemoComponent:
|
70316
70030
|
case FunctionComponent:
|
70317
70031
|
case ForwardRef:
|
70318
|
-
case
|
70032
|
+
case Fragment18:
|
70319
70033
|
case Mode:
|
70320
70034
|
case Profiler:
|
70321
70035
|
case ContextConsumer:
|
@@ -74574,7 +74288,7 @@ var require_dist2 = __commonJS({
|
|
74574
74288
|
return fiber;
|
74575
74289
|
}
|
74576
74290
|
function createFiberFromFragment(elements, mode, lanes, key) {
|
74577
|
-
var fiber = createFiber(
|
74291
|
+
var fiber = createFiber(Fragment18, elements, key, mode);
|
74578
74292
|
fiber.lanes = lanes;
|
74579
74293
|
return fiber;
|
74580
74294
|
}
|
@@ -75833,7 +75547,7 @@ var require_dist2 = __commonJS({
|
|
75833
75547
|
var import_ua_parser_js2 = require_ua_parser();
|
75834
75548
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
75835
75549
|
var defaultAppState2 = {
|
75836
|
-
data: { content: [], root: { props: {
|
75550
|
+
data: { content: [], root: { props: {} } },
|
75837
75551
|
ui: {
|
75838
75552
|
leftSideBarVisible: true,
|
75839
75553
|
rightSideBarVisible: true,
|
@@ -76931,7 +76645,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
76931
76645
|
return el;
|
76932
76646
|
};
|
76933
76647
|
init_react_import2();
|
76934
|
-
var
|
76648
|
+
var import_react29 = require("react");
|
76935
76649
|
init_react_import2();
|
76936
76650
|
var import_react112 = require("react");
|
76937
76651
|
init_react_import2();
|
@@ -77562,7 +77276,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
77562
77276
|
const [componentState, setComponentState] = (0, import_react132.useState)({});
|
77563
77277
|
const deferredSetStates = {};
|
77564
77278
|
const setComponentLoading = (0, import_react132.useCallback)(
|
77565
|
-
(id, loading,
|
77279
|
+
(id, loading, defer2 = 0) => {
|
77566
77280
|
if (deferredSetStates[id]) {
|
77567
77281
|
clearTimeout(deferredSetStates[id]);
|
77568
77282
|
delete deferredSetStates[id];
|
@@ -77572,7 +77286,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
77572
77286
|
[id]: __spreadProps2(__spreadValues2({}, prev[id]), { loading })
|
77573
77287
|
}));
|
77574
77288
|
delete deferredSetStates[id];
|
77575
|
-
},
|
77289
|
+
}, defer2);
|
77576
77290
|
},
|
77577
77291
|
[]
|
77578
77292
|
);
|
@@ -77652,7 +77366,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
77652
77366
|
var getClassName9 = get_class_name_factory_default2("MenuBar", styles_module_default7);
|
77653
77367
|
var MenuBar = ({
|
77654
77368
|
appState,
|
77655
|
-
data = { content: [], root: {
|
77369
|
+
data = { content: [], root: {} },
|
77656
77370
|
dispatch,
|
77657
77371
|
menuOpen = false,
|
77658
77372
|
onPublish,
|
@@ -77697,17 +77411,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
77697
77411
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_jsx_runtime13.Fragment, { children: renderHeaderActions && renderHeaderActions({
|
77698
77412
|
state: appState,
|
77699
77413
|
dispatch
|
77700
|
-
}) })
|
77701
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
77702
|
-
Button,
|
77703
|
-
{
|
77704
|
-
onClick: () => {
|
77705
|
-
onPublish && onPublish(data);
|
77706
|
-
},
|
77707
|
-
icon: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Globe, { size: "14px" }),
|
77708
|
-
children: "Publish"
|
77709
|
-
}
|
77710
|
-
) })
|
77414
|
+
}) })
|
77711
77415
|
] })
|
77712
77416
|
}
|
77713
77417
|
);
|
@@ -78894,15 +78598,212 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
78894
78598
|
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Wrapper, { children: componentList ? componentList : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ComponentList, { id: "all" }) });
|
78895
78599
|
};
|
78896
78600
|
init_react_import2();
|
78897
|
-
var
|
78898
|
-
var import_auto_frame_component = __toESM2(require_dist());
|
78601
|
+
var import_react23 = require("react");
|
78899
78602
|
init_react_import2();
|
78900
|
-
var
|
78603
|
+
var import_react222 = __toESM2(require("react"));
|
78604
|
+
var import_react_frame_component = __toESM2(require_lib());
|
78605
|
+
var import_object_hash = __toESM2(require_object_hash());
|
78901
78606
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
78607
|
+
var styleSelector = 'style, link[rel="stylesheet"]';
|
78608
|
+
var collectStyles = (doc) => {
|
78609
|
+
const collected = [];
|
78610
|
+
doc.head.querySelectorAll(styleSelector).forEach((style2) => {
|
78611
|
+
collected.push(style2);
|
78612
|
+
});
|
78613
|
+
return collected;
|
78614
|
+
};
|
78615
|
+
var getStyleSheet = (el) => {
|
78616
|
+
return Array.from(document.styleSheets).find((ss) => {
|
78617
|
+
const ownerNode = ss.ownerNode;
|
78618
|
+
return ownerNode.href === el.href;
|
78619
|
+
});
|
78620
|
+
};
|
78621
|
+
var getStyles2 = (styleSheet) => {
|
78622
|
+
if (styleSheet) {
|
78623
|
+
try {
|
78624
|
+
return [...styleSheet.cssRules].map((rule) => rule.cssText).join("");
|
78625
|
+
} catch (e2) {
|
78626
|
+
console.warn(
|
78627
|
+
"Access to stylesheet %s is denied. Ignoring\u2026",
|
78628
|
+
styleSheet.href
|
78629
|
+
);
|
78630
|
+
}
|
78631
|
+
}
|
78632
|
+
return "";
|
78633
|
+
};
|
78634
|
+
var defer = (fn) => setTimeout(fn, 0);
|
78635
|
+
var CopyHostStyles = ({
|
78636
|
+
children,
|
78637
|
+
debug = false,
|
78638
|
+
onStylesLoaded = () => null
|
78639
|
+
}) => {
|
78640
|
+
const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
|
78641
|
+
(0, import_react222.useEffect)(() => {
|
78642
|
+
if (!win || !doc) {
|
78643
|
+
return () => {
|
78644
|
+
};
|
78645
|
+
}
|
78646
|
+
let elements = [];
|
78647
|
+
const hashes = {};
|
78648
|
+
const lookupEl = (el) => elements.findIndex((elementMap) => elementMap.original === el);
|
78649
|
+
const mirrorEl = (el, inlineStyles = false) => __async2(void 0, null, function* () {
|
78650
|
+
let mirror;
|
78651
|
+
if (el.nodeName === "LINK" && inlineStyles) {
|
78652
|
+
mirror = document.createElement("style");
|
78653
|
+
mirror.type = "text/css";
|
78654
|
+
let styleSheet = getStyleSheet(el);
|
78655
|
+
if (!styleSheet) {
|
78656
|
+
yield new Promise((resolve) => {
|
78657
|
+
const fn = () => {
|
78658
|
+
resolve();
|
78659
|
+
el.removeEventListener("load", fn);
|
78660
|
+
};
|
78661
|
+
el.addEventListener("load", fn);
|
78662
|
+
});
|
78663
|
+
styleSheet = getStyleSheet(el);
|
78664
|
+
}
|
78665
|
+
const styles = getStyles2(styleSheet);
|
78666
|
+
if (!styles) {
|
78667
|
+
if (debug) {
|
78668
|
+
console.warn(
|
78669
|
+
`Tried to load styles for link element, but couldn't find them. Skipping...`
|
78670
|
+
);
|
78671
|
+
}
|
78672
|
+
return;
|
78673
|
+
}
|
78674
|
+
mirror.innerHTML = styles;
|
78675
|
+
mirror.setAttribute("data-href", el.getAttribute("href"));
|
78676
|
+
} else {
|
78677
|
+
mirror = el.cloneNode(true);
|
78678
|
+
}
|
78679
|
+
return mirror;
|
78680
|
+
});
|
78681
|
+
const addEl = (el) => __async2(void 0, null, function* () {
|
78682
|
+
const index = lookupEl(el);
|
78683
|
+
if (index > -1) {
|
78684
|
+
if (debug)
|
78685
|
+
console.log(
|
78686
|
+
`Tried to add an element that was already mirrored. Updating instead...`
|
78687
|
+
);
|
78688
|
+
elements[index].mirror.innerText = el.innerText;
|
78689
|
+
return;
|
78690
|
+
}
|
78691
|
+
const mirror = yield mirrorEl(el);
|
78692
|
+
if (!mirror) {
|
78693
|
+
return;
|
78694
|
+
}
|
78695
|
+
const elHash = (0, import_object_hash.default)(mirror.outerHTML);
|
78696
|
+
if (hashes[elHash]) {
|
78697
|
+
if (debug)
|
78698
|
+
console.log(
|
78699
|
+
`iframe already contains element that is being mirrored. Skipping...`
|
78700
|
+
);
|
78701
|
+
return;
|
78702
|
+
}
|
78703
|
+
hashes[elHash] = true;
|
78704
|
+
doc.head.append(mirror);
|
78705
|
+
elements.push({ original: el, mirror });
|
78706
|
+
if (debug)
|
78707
|
+
console.log(`Added style node ${el.outerHTML}`);
|
78708
|
+
});
|
78709
|
+
const removeEl = (el) => {
|
78710
|
+
var _a3, _b;
|
78711
|
+
const index = lookupEl(el);
|
78712
|
+
if (index === -1) {
|
78713
|
+
if (debug)
|
78714
|
+
console.log(
|
78715
|
+
`Tried to remove an element that did not exist. Skipping...`
|
78716
|
+
);
|
78717
|
+
return;
|
78718
|
+
}
|
78719
|
+
const elHash = (0, import_object_hash.default)(el.outerHTML);
|
78720
|
+
(_b = (_a3 = elements[index]) == null ? void 0 : _a3.mirror) == null ? void 0 : _b.remove();
|
78721
|
+
delete hashes[elHash];
|
78722
|
+
if (debug)
|
78723
|
+
console.log(`Removed style node ${el.outerHTML}`);
|
78724
|
+
};
|
78725
|
+
const observer = new MutationObserver((mutations) => {
|
78726
|
+
mutations.forEach((mutation) => {
|
78727
|
+
if (mutation.type === "childList") {
|
78728
|
+
mutation.addedNodes.forEach((node) => {
|
78729
|
+
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
78730
|
+
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
78731
|
+
if (el && el.matches(styleSelector)) {
|
78732
|
+
defer(() => addEl(el));
|
78733
|
+
}
|
78734
|
+
}
|
78735
|
+
});
|
78736
|
+
mutation.removedNodes.forEach((node) => {
|
78737
|
+
if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
|
78738
|
+
const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
78739
|
+
if (el && el.matches(styleSelector)) {
|
78740
|
+
defer(() => removeEl(el));
|
78741
|
+
}
|
78742
|
+
}
|
78743
|
+
});
|
78744
|
+
}
|
78745
|
+
});
|
78746
|
+
});
|
78747
|
+
const parentDocument = win.parent.document;
|
78748
|
+
const collectedStyles = collectStyles(parentDocument);
|
78749
|
+
const hrefs = [];
|
78750
|
+
let stylesLoaded = 0;
|
78751
|
+
Promise.all(
|
78752
|
+
collectedStyles.map((styleNode, i2) => __async2(void 0, null, function* () {
|
78753
|
+
if (styleNode.nodeName === "LINK") {
|
78754
|
+
const linkHref = styleNode.href;
|
78755
|
+
if (hrefs.indexOf(linkHref) > -1) {
|
78756
|
+
return;
|
78757
|
+
}
|
78758
|
+
hrefs.push(linkHref);
|
78759
|
+
}
|
78760
|
+
const mirror = yield mirrorEl(styleNode);
|
78761
|
+
if (!mirror)
|
78762
|
+
return;
|
78763
|
+
elements.push({ original: styleNode, mirror });
|
78764
|
+
return mirror;
|
78765
|
+
}))
|
78766
|
+
).then((mirrorStyles) => {
|
78767
|
+
const filtered = mirrorStyles.filter(
|
78768
|
+
(el) => typeof el !== "undefined"
|
78769
|
+
);
|
78770
|
+
filtered.forEach((mirror) => {
|
78771
|
+
mirror.onload = () => {
|
78772
|
+
stylesLoaded = stylesLoaded + 1;
|
78773
|
+
if (stylesLoaded >= elements.length) {
|
78774
|
+
onStylesLoaded();
|
78775
|
+
}
|
78776
|
+
};
|
78777
|
+
});
|
78778
|
+
doc.head.innerHTML = "";
|
78779
|
+
doc.head.append(...filtered);
|
78780
|
+
observer.observe(parentDocument.head, { childList: true, subtree: true });
|
78781
|
+
filtered.forEach((el) => {
|
78782
|
+
const elHash = (0, import_object_hash.default)(el.outerHTML);
|
78783
|
+
hashes[elHash] = true;
|
78784
|
+
});
|
78785
|
+
});
|
78786
|
+
return () => {
|
78787
|
+
observer.disconnect();
|
78788
|
+
};
|
78789
|
+
}, []);
|
78790
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_jsx_runtime29.Fragment, { children });
|
78791
|
+
};
|
78792
|
+
var AutoFrameComponent = import_react222.default.forwardRef(
|
78793
|
+
function(_a3, ref2) {
|
78794
|
+
var _b = _a3, { children, debug, onStylesLoaded } = _b, props = __objRest2(_b, ["children", "debug", "onStylesLoaded"]);
|
78795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_frame_component.default, __spreadProps2(__spreadValues2({}, props), { ref: ref2, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(CopyHostStyles, { debug, onStylesLoaded, children }) }));
|
78796
|
+
}
|
78797
|
+
);
|
78798
|
+
AutoFrameComponent.displayName = "AutoFrameComponent";
|
78799
|
+
var AutoFrame_default = AutoFrameComponent;
|
78800
|
+
init_react_import2();
|
78801
|
+
var styles_module_default16 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
|
78802
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
78902
78803
|
var getClassName21 = get_class_name_factory_default2("PuckPreview", styles_module_default16);
|
78903
78804
|
var Preview = ({ id = "puck-preview" }) => {
|
78904
78805
|
const { config, dispatch, state, setStatus, iframe } = useAppContext2();
|
78905
|
-
const Page = (0,
|
78806
|
+
const Page = (0, import_react23.useCallback)(
|
78906
78807
|
(pageProps) => {
|
78907
78808
|
var _a3, _b;
|
78908
78809
|
return ((_a3 = config.root) == null ? void 0 : _a3.render) ? (_b = config.root) == null ? void 0 : _b.render(__spreadProps2(__spreadValues2({
|
@@ -78910,13 +78811,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
78910
78811
|
}, pageProps), {
|
78911
78812
|
editMode: true,
|
78912
78813
|
puck: { renderDropZone: DropZone }
|
78913
|
-
})) : /* @__PURE__ */ (0,
|
78814
|
+
})) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children: pageProps.children });
|
78914
78815
|
},
|
78915
78816
|
[config.root]
|
78916
78817
|
);
|
78917
78818
|
const rootProps = state.data.root.props || state.data.root;
|
78918
|
-
const ref2 = (0,
|
78919
|
-
return /* @__PURE__ */ (0,
|
78819
|
+
const ref2 = (0, import_react23.useRef)(null);
|
78820
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
78920
78821
|
"div",
|
78921
78822
|
{
|
78922
78823
|
className: getClassName21(),
|
@@ -78924,8 +78825,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
78924
78825
|
onClick: () => {
|
78925
78826
|
dispatch({ type: "setUi", ui: __spreadProps2(__spreadValues2({}, state.ui), { itemSelector: null }) });
|
78926
78827
|
},
|
78927
|
-
children: iframe.enabled ? /* @__PURE__ */ (0,
|
78928
|
-
|
78828
|
+
children: iframe.enabled ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
78829
|
+
AutoFrame_default,
|
78929
78830
|
{
|
78930
78831
|
id: "preview-frame",
|
78931
78832
|
className: getClassName21("frame"),
|
@@ -78934,9 +78835,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
78934
78835
|
onStylesLoaded: () => {
|
78935
78836
|
setStatus("READY");
|
78936
78837
|
},
|
78937
|
-
children: /* @__PURE__ */ (0,
|
78838
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId2 }) }))
|
78938
78839
|
}
|
78939
|
-
) : /* @__PURE__ */ (0,
|
78840
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { id: "preview-frame", className: getClassName21("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DropZone, { zone: rootDroppableId2 }) })) })
|
78940
78841
|
}
|
78941
78842
|
);
|
78942
78843
|
};
|
@@ -78968,7 +78869,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
78968
78869
|
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
78969
78870
|
}
|
78970
78871
|
};
|
78971
|
-
var
|
78872
|
+
var import_react24 = require("react");
|
78972
78873
|
init_react_import2();
|
78973
78874
|
var isChildOfZone = (item, maybeChild, ctx) => {
|
78974
78875
|
var _a3;
|
@@ -78978,7 +78879,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
78978
78879
|
return area === item.props.id;
|
78979
78880
|
})) : false;
|
78980
78881
|
};
|
78981
|
-
var
|
78882
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
78982
78883
|
var getClassName222 = get_class_name_factory_default2("LayerTree", styles_module_default17);
|
78983
78884
|
var getClassNameLayer = get_class_name_factory_default2("Layer", styles_module_default17);
|
78984
78885
|
var LayerTree = ({
|
@@ -78991,15 +78892,15 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
78991
78892
|
label
|
78992
78893
|
}) => {
|
78993
78894
|
const zones = data.zones || {};
|
78994
|
-
const ctx = (0,
|
78995
|
-
return /* @__PURE__ */ (0,
|
78996
|
-
label && /* @__PURE__ */ (0,
|
78997
|
-
/* @__PURE__ */ (0,
|
78895
|
+
const ctx = (0, import_react24.useContext)(dropZoneContext2);
|
78896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
78897
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: getClassName222("zoneTitle"), children: [
|
78898
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassName222("zoneIcon"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Layers, { size: "16" }) }),
|
78998
78899
|
" ",
|
78999
78900
|
label
|
79000
78901
|
] }),
|
79001
|
-
/* @__PURE__ */ (0,
|
79002
|
-
zoneContent.length === 0 && /* @__PURE__ */ (0,
|
78902
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("ul", { className: getClassName222(), children: [
|
78903
|
+
zoneContent.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassName222("helper"), children: "No items" }),
|
79003
78904
|
zoneContent.map((item, i2) => {
|
79004
78905
|
var _a3;
|
79005
78906
|
const isSelected = (itemSelector == null ? void 0 : itemSelector.index) === i2 && (itemSelector.zone === zone || itemSelector.zone === rootDroppableId2 && !zone);
|
@@ -79015,7 +78916,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79015
78916
|
const selectedItem = itemSelector && data ? getItem2(itemSelector, data) : null;
|
79016
78917
|
const isHovering = hoveringComponent === item.props.id;
|
79017
78918
|
const childIsSelected = isChildOfZone(item, selectedItem, ctx);
|
79018
|
-
return /* @__PURE__ */ (0,
|
78919
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
79019
78920
|
"li",
|
79020
78921
|
{
|
79021
78922
|
className: getClassNameLayer({
|
@@ -79025,7 +78926,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79025
78926
|
childIsSelected
|
79026
78927
|
}),
|
79027
78928
|
children: [
|
79028
|
-
/* @__PURE__ */ (0,
|
78929
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("inner"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
79029
78930
|
"button",
|
79030
78931
|
{
|
79031
78932
|
className: getClassNameLayer("clickable"),
|
@@ -79057,22 +78958,22 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79057
78958
|
setHoveringComponent(null);
|
79058
78959
|
},
|
79059
78960
|
children: [
|
79060
|
-
containsZone && /* @__PURE__ */ (0,
|
78961
|
+
containsZone && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
79061
78962
|
"div",
|
79062
78963
|
{
|
79063
78964
|
className: getClassNameLayer("chevron"),
|
79064
78965
|
title: isSelected ? "Collapse" : "Expand",
|
79065
|
-
children: /* @__PURE__ */ (0,
|
78966
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ChevronDown, { size: "12" })
|
79066
78967
|
}
|
79067
78968
|
),
|
79068
|
-
/* @__PURE__ */ (0,
|
79069
|
-
/* @__PURE__ */ (0,
|
79070
|
-
/* @__PURE__ */ (0,
|
78969
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: getClassNameLayer("title"), children: [
|
78970
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("icon"), children: item.type === "Text" || item.type === "Heading" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Type, { size: "16" }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(LayoutGrid, { size: "16" }) }),
|
78971
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("name"), children: (_a3 = config.components[item.type]["label"]) != null ? _a3 : item.type })
|
79071
78972
|
] })
|
79072
78973
|
]
|
79073
78974
|
}
|
79074
78975
|
) }),
|
79075
|
-
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0,
|
78976
|
+
containsZone && Object.keys(zonesForItem).map((zoneKey, idx) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: getClassNameLayer("zones"), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
79076
78977
|
LayerTree,
|
79077
78978
|
{
|
79078
78979
|
config,
|
@@ -79092,13 +78993,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79092
78993
|
] })
|
79093
78994
|
] });
|
79094
78995
|
};
|
79095
|
-
var
|
79096
|
-
var
|
78996
|
+
var import_react25 = require("react");
|
78997
|
+
var import_jsx_runtime322 = require("react/jsx-runtime");
|
79097
78998
|
var Outline = () => {
|
79098
78999
|
const { dispatch, state, overrides, config } = useAppContext2();
|
79099
79000
|
const { data, ui } = state;
|
79100
79001
|
const { itemSelector } = ui;
|
79101
|
-
const setItemSelector = (0,
|
79002
|
+
const setItemSelector = (0, import_react25.useCallback)(
|
79102
79003
|
(newItemSelector) => {
|
79103
79004
|
dispatch({
|
79104
79005
|
type: "setUi",
|
@@ -79107,9 +79008,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79107
79008
|
},
|
79108
79009
|
[]
|
79109
79010
|
);
|
79110
|
-
const Wrapper = (0,
|
79111
|
-
return /* @__PURE__ */ (0,
|
79112
|
-
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId2]) && /* @__PURE__ */ (0,
|
79011
|
+
const Wrapper = (0, import_react25.useMemo)(() => overrides.outline || "div", [overrides]);
|
79012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(Wrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(dropZoneContext2.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(import_jsx_runtime322.Fragment, { children: [
|
79013
|
+
(ctx == null ? void 0 : ctx.activeZones) && (ctx == null ? void 0 : ctx.activeZones[rootDroppableId2]) && /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
|
79113
79014
|
LayerTree,
|
79114
79015
|
{
|
79115
79016
|
config,
|
@@ -79122,7 +79023,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79122
79023
|
),
|
79123
79024
|
Object.entries(findZonesForArea(data, "root")).map(
|
79124
79025
|
([zoneKey, zone]) => {
|
79125
|
-
return /* @__PURE__ */ (0,
|
79026
|
+
return /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
|
79126
79027
|
LayerTree,
|
79127
79028
|
{
|
79128
79029
|
config,
|
@@ -79201,12 +79102,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79201
79102
|
};
|
79202
79103
|
}
|
79203
79104
|
init_react_import2();
|
79204
|
-
var
|
79105
|
+
var import_react26 = require("react");
|
79205
79106
|
var import_use_debounce3 = (init_index_module(), __toCommonJS(index_module_exports));
|
79206
79107
|
var EMPTY_HISTORY_INDEX = -1;
|
79207
79108
|
function useHistoryStore() {
|
79208
|
-
const [histories, setHistories] = (0,
|
79209
|
-
const [index, setIndex] = (0,
|
79109
|
+
const [histories, setHistories] = (0, import_react26.useState)([]);
|
79110
|
+
const [index, setIndex] = (0, import_react26.useState)(EMPTY_HISTORY_INDEX);
|
79210
79111
|
const hasPast = index > EMPTY_HISTORY_INDEX;
|
79211
79112
|
const hasFuture = index < histories.length - 1;
|
79212
79113
|
const currentHistory = histories[index];
|
@@ -79356,16 +79257,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79356
79257
|
var styles = window.getComputedStyle(el);
|
79357
79258
|
return calculateBox3(borderBox, styles);
|
79358
79259
|
};
|
79359
|
-
var
|
79260
|
+
var import_react28 = require("react");
|
79360
79261
|
init_react_import2();
|
79361
|
-
var
|
79262
|
+
var import_react27 = require("react");
|
79362
79263
|
init_react_import2();
|
79363
79264
|
var styles_module_default18 = { "ViewportControls": "_ViewportControls_3zdvn_1", "ViewportControls-divider": "_ViewportControls-divider_3zdvn_15", "ViewportControls-zoomSelect": "_ViewportControls-zoomSelect_3zdvn_21", "ViewportButton--isActive": "_ViewportButton--isActive_3zdvn_33", "ViewportButton-inner": "_ViewportButton-inner_3zdvn_33" };
|
79364
|
-
var
|
79265
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
79365
79266
|
var icons = {
|
79366
|
-
Smartphone: /* @__PURE__ */ (0,
|
79367
|
-
Tablet: /* @__PURE__ */ (0,
|
79368
|
-
Monitor: /* @__PURE__ */ (0,
|
79267
|
+
Smartphone: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Smartphone, { size: 16 }),
|
79268
|
+
Tablet: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Tablet, { size: 16 }),
|
79269
|
+
Monitor: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Monitor, { size: 16 })
|
79369
79270
|
};
|
79370
79271
|
var getClassName23 = get_class_name_factory_default2("ViewportControls", styles_module_default18);
|
79371
79272
|
var getClassNameButton = get_class_name_factory_default2("ViewportButton", styles_module_default18);
|
@@ -79377,11 +79278,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79377
79278
|
onClick
|
79378
79279
|
}) => {
|
79379
79280
|
const { state } = useAppContext2();
|
79380
|
-
const [isActive2, setIsActive] = (0,
|
79381
|
-
(0,
|
79281
|
+
const [isActive2, setIsActive] = (0, import_react27.useState)(false);
|
79282
|
+
(0, import_react27.useEffect)(() => {
|
79382
79283
|
setIsActive(width === state.ui.viewports.current.width);
|
79383
79284
|
}, [width, state.ui.viewports.current.width]);
|
79384
|
-
return /* @__PURE__ */ (0,
|
79285
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: getClassNameButton({ isActive: isActive2 }), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
79385
79286
|
IconButton,
|
79386
79287
|
{
|
79387
79288
|
title,
|
@@ -79390,7 +79291,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79390
79291
|
e2.stopPropagation();
|
79391
79292
|
onClick({ width, height });
|
79392
79293
|
},
|
79393
|
-
children: /* @__PURE__ */ (0,
|
79294
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: getClassNameButton("inner"), children })
|
79394
79295
|
}
|
79395
79296
|
) });
|
79396
79297
|
};
|
@@ -79414,7 +79315,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79414
79315
|
const defaultsContainAutoZoom = defaultZoomOptions.find(
|
79415
79316
|
(option) => option.value === autoZoom
|
79416
79317
|
);
|
79417
|
-
const zoomOptions = (0,
|
79318
|
+
const zoomOptions = (0, import_react27.useMemo)(
|
79418
79319
|
() => [
|
79419
79320
|
...defaultZoomOptions,
|
79420
79321
|
...defaultsContainAutoZoom ? [] : [
|
@@ -79426,8 +79327,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79426
79327
|
].filter((a2) => a2.value <= autoZoom).sort((a2, b) => a2.value > b.value ? 1 : -1),
|
79427
79328
|
[autoZoom]
|
79428
79329
|
);
|
79429
|
-
return /* @__PURE__ */ (0,
|
79430
|
-
viewports.map((viewport, i2) => /* @__PURE__ */ (0,
|
79330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: getClassName23(), children: [
|
79331
|
+
viewports.map((viewport, i2) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
79431
79332
|
ViewportButton,
|
79432
79333
|
{
|
79433
79334
|
height: viewport.height,
|
@@ -79438,8 +79339,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79438
79339
|
},
|
79439
79340
|
i2
|
79440
79341
|
)),
|
79441
|
-
/* @__PURE__ */ (0,
|
79442
|
-
/* @__PURE__ */ (0,
|
79342
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName23("divider") }),
|
79343
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
79443
79344
|
IconButton,
|
79444
79345
|
{
|
79445
79346
|
title: "Zoom viewport out",
|
@@ -79453,10 +79354,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79453
79354
|
)].value
|
79454
79355
|
);
|
79455
79356
|
},
|
79456
|
-
children: /* @__PURE__ */ (0,
|
79357
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ZoomOut, { size: 16 })
|
79457
79358
|
}
|
79458
79359
|
),
|
79459
|
-
/* @__PURE__ */ (0,
|
79360
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
79460
79361
|
IconButton,
|
79461
79362
|
{
|
79462
79363
|
title: "Zoom viewport in",
|
@@ -79470,11 +79371,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79470
79371
|
)].value
|
79471
79372
|
);
|
79472
79373
|
},
|
79473
|
-
children: /* @__PURE__ */ (0,
|
79374
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ZoomIn, { size: 16 })
|
79474
79375
|
}
|
79475
79376
|
),
|
79476
|
-
/* @__PURE__ */ (0,
|
79477
|
-
/* @__PURE__ */ (0,
|
79377
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: getClassName23("divider") }),
|
79378
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
79478
79379
|
"select",
|
79479
79380
|
{
|
79480
79381
|
className: getClassName23("zoomSelect"),
|
@@ -79482,7 +79383,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79482
79383
|
onChange: (e2) => {
|
79483
79384
|
onZoom(parseFloat(e2.currentTarget.value));
|
79484
79385
|
},
|
79485
|
-
children: zoomOptions.map((option) => /* @__PURE__ */ (0,
|
79386
|
+
children: zoomOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
79486
79387
|
"option",
|
79487
79388
|
{
|
79488
79389
|
value: option.value,
|
@@ -79524,24 +79425,24 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79524
79425
|
}
|
79525
79426
|
return { autoZoom, rootHeight, zoom };
|
79526
79427
|
};
|
79527
|
-
var
|
79428
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
79528
79429
|
var getClassName24 = get_class_name_factory_default2("PuckCanvas", styles_module_default19);
|
79529
79430
|
var ZOOM_ON_CHANGE = true;
|
79530
79431
|
var Canvas = () => {
|
79531
79432
|
const { status, iframe } = useAppContext2();
|
79532
79433
|
const { dispatch, state, overrides, setUi, zoomConfig, setZoomConfig } = useAppContext2();
|
79533
79434
|
const { ui } = state;
|
79534
|
-
const frameRef = (0,
|
79535
|
-
const [showTransition, setShowTransition] = (0,
|
79536
|
-
const defaultRender = (0,
|
79537
|
-
const PuckDefault = ({ children }) => /* @__PURE__ */ (0,
|
79435
|
+
const frameRef = (0, import_react28.useRef)(null);
|
79436
|
+
const [showTransition, setShowTransition] = (0, import_react28.useState)(false);
|
79437
|
+
const defaultRender = (0, import_react28.useMemo)(() => {
|
79438
|
+
const PuckDefault = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children });
|
79538
79439
|
return PuckDefault;
|
79539
79440
|
}, []);
|
79540
|
-
const CustomPreview = (0,
|
79441
|
+
const CustomPreview = (0, import_react28.useMemo)(
|
79541
79442
|
() => overrides.preview || defaultRender,
|
79542
79443
|
[overrides]
|
79543
79444
|
);
|
79544
|
-
const getFrameDimensions = (0,
|
79445
|
+
const getFrameDimensions = (0, import_react28.useCallback)(() => {
|
79545
79446
|
if (frameRef.current) {
|
79546
79447
|
const frame = frameRef.current;
|
79547
79448
|
const box = getBox3(frame);
|
@@ -79549,7 +79450,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79549
79450
|
}
|
79550
79451
|
return { width: 0, height: 0 };
|
79551
79452
|
}, [frameRef]);
|
79552
|
-
const resetAutoZoom = (0,
|
79453
|
+
const resetAutoZoom = (0, import_react28.useCallback)(
|
79553
79454
|
(ui2 = state.ui) => {
|
79554
79455
|
if (frameRef.current) {
|
79555
79456
|
setZoomConfig(
|
@@ -79559,11 +79460,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79559
79460
|
},
|
79560
79461
|
[frameRef, zoomConfig, state.ui]
|
79561
79462
|
);
|
79562
|
-
(0,
|
79463
|
+
(0, import_react28.useEffect)(() => {
|
79563
79464
|
setShowTransition(false);
|
79564
79465
|
resetAutoZoom();
|
79565
79466
|
}, [frameRef, ui.leftSideBarVisible, ui.rightSideBarVisible]);
|
79566
|
-
(0,
|
79467
|
+
(0, import_react28.useEffect)(() => {
|
79567
79468
|
const { height: frameHeight } = getFrameDimensions();
|
79568
79469
|
if (ui.viewports.current.height === "auto") {
|
79569
79470
|
setZoomConfig(__spreadProps2(__spreadValues2({}, zoomConfig), {
|
@@ -79571,7 +79472,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79571
79472
|
}));
|
79572
79473
|
}
|
79573
79474
|
}, [zoomConfig.zoom]);
|
79574
|
-
(0,
|
79475
|
+
(0, import_react28.useEffect)(() => {
|
79575
79476
|
const observer = new ResizeObserver(() => {
|
79576
79477
|
setShowTransition(false);
|
79577
79478
|
resetAutoZoom();
|
@@ -79583,7 +79484,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79583
79484
|
observer.disconnect();
|
79584
79485
|
};
|
79585
79486
|
}, []);
|
79586
|
-
return /* @__PURE__ */ (0,
|
79487
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
79587
79488
|
"div",
|
79588
79489
|
{
|
79589
79490
|
className: getClassName24({
|
@@ -79595,7 +79496,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79595
79496
|
recordHistory: true
|
79596
79497
|
}),
|
79597
79498
|
children: [
|
79598
|
-
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0,
|
79499
|
+
ui.viewports.controlsVisible && iframe.enabled && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("controls"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
79599
79500
|
ViewportControls,
|
79600
79501
|
{
|
79601
79502
|
autoZoom: zoomConfig.autoZoom,
|
@@ -79620,7 +79521,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79620
79521
|
}
|
79621
79522
|
}
|
79622
79523
|
) }),
|
79623
|
-
/* @__PURE__ */ (0,
|
79524
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName24("inner"), ref: frameRef, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
79624
79525
|
"div",
|
79625
79526
|
{
|
79626
79527
|
className: getClassName24("root"),
|
@@ -79632,19 +79533,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79632
79533
|
overflow: iframe.enabled ? void 0 : "auto"
|
79633
79534
|
},
|
79634
79535
|
suppressHydrationWarning: true,
|
79635
|
-
children: /* @__PURE__ */ (0,
|
79536
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CustomPreview, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Preview, {}) })
|
79636
79537
|
}
|
79637
79538
|
) })
|
79638
79539
|
]
|
79639
79540
|
}
|
79640
79541
|
);
|
79641
79542
|
};
|
79642
|
-
var
|
79543
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
79643
79544
|
var getClassName25 = get_class_name_factory_default2("Puck", styles_module_default8);
|
79644
79545
|
function Puck({
|
79645
79546
|
children,
|
79646
79547
|
config,
|
79647
|
-
data: initialData = { content: [], root: {
|
79548
|
+
data: initialData = { content: [], root: {} },
|
79648
79549
|
ui: initialUi,
|
79649
79550
|
onChange,
|
79650
79551
|
onPublish,
|
@@ -79662,11 +79563,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79662
79563
|
}) {
|
79663
79564
|
var _a3;
|
79664
79565
|
const historyStore = useHistoryStore();
|
79665
|
-
const [reducer2] = (0,
|
79566
|
+
const [reducer2] = (0, import_react29.useState)(
|
79666
79567
|
() => createReducer({ config, record: historyStore.record })
|
79667
79568
|
);
|
79668
|
-
const [initialAppState] = (0,
|
79669
|
-
var _a22, _b, _c, _d;
|
79569
|
+
const [initialAppState] = (0, import_react29.useState)(() => {
|
79570
|
+
var _a22, _b, _c, _d, _e, _f;
|
79670
79571
|
const initial = __spreadValues2(__spreadValues2({}, defaultAppState2.ui), initialUi);
|
79671
79572
|
let clientUiState = {};
|
79672
79573
|
if (typeof window !== "undefined") {
|
@@ -79693,8 +79594,13 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79693
79594
|
};
|
79694
79595
|
}
|
79695
79596
|
}
|
79597
|
+
const rootProps2 = ((_e = initialData == null ? void 0 : initialData.root) == null ? void 0 : _e.props) || initialData.root || {};
|
79598
|
+
const defaultedRootProps = __spreadValues2(__spreadValues2({}, (_f = config.root) == null ? void 0 : _f.defaultProps), rootProps2);
|
79696
79599
|
return __spreadProps2(__spreadValues2({}, defaultAppState2), {
|
79697
|
-
data: initialData,
|
79600
|
+
data: __spreadProps2(__spreadValues2({}, initialData), {
|
79601
|
+
root: defaultedRootProps,
|
79602
|
+
content: initialData.content || []
|
79603
|
+
}),
|
79698
79604
|
ui: __spreadProps2(__spreadValues2(__spreadValues2({}, initial), clientUiState), {
|
79699
79605
|
// Store categories under componentList on state to allow render functions and plugins to modify
|
79700
79606
|
componentList: config.categories ? Object.entries(config.categories).reduce(
|
@@ -79713,7 +79619,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79713
79619
|
})
|
79714
79620
|
});
|
79715
79621
|
});
|
79716
|
-
const [appState, dispatch] = (0,
|
79622
|
+
const [appState, dispatch] = (0, import_react29.useReducer)(
|
79717
79623
|
reducer2,
|
79718
79624
|
flushZones(initialAppState)
|
79719
79625
|
);
|
@@ -79724,9 +79630,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79724
79630
|
config,
|
79725
79631
|
dispatch
|
79726
79632
|
);
|
79727
|
-
const [menuOpen, setMenuOpen] = (0,
|
79633
|
+
const [menuOpen, setMenuOpen] = (0, import_react29.useState)(false);
|
79728
79634
|
const { itemSelector, leftSideBarVisible, rightSideBarVisible } = ui;
|
79729
|
-
const setItemSelector = (0,
|
79635
|
+
const setItemSelector = (0, import_react29.useCallback)(
|
79730
79636
|
(newItemSelector) => {
|
79731
79637
|
if (newItemSelector === itemSelector)
|
79732
79638
|
return;
|
@@ -79739,21 +79645,21 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79739
79645
|
[itemSelector]
|
79740
79646
|
);
|
79741
79647
|
const selectedItem = itemSelector ? getItem2(itemSelector, data) : null;
|
79742
|
-
(0,
|
79648
|
+
(0, import_react29.useEffect)(() => {
|
79743
79649
|
if (onChange)
|
79744
79650
|
onChange(data);
|
79745
79651
|
}, [data]);
|
79746
79652
|
const { onDragStartOrUpdate, placeholderStyle } = usePlaceholderStyle();
|
79747
|
-
const [draggedItem, setDraggedItem] = (0,
|
79653
|
+
const [draggedItem, setDraggedItem] = (0, import_react29.useState)();
|
79748
79654
|
const rootProps = data.root.props || data.root;
|
79749
|
-
(0,
|
79655
|
+
(0, import_react29.useEffect)(() => {
|
79750
79656
|
if (Object.keys(data.root).length > 0 && !data.root.props) {
|
79751
79657
|
console.error(
|
79752
79658
|
"Warning: Defining props on `root` is deprecated. Please use `root.props`. This will be a breaking change in a future release."
|
79753
79659
|
);
|
79754
79660
|
}
|
79755
79661
|
}, []);
|
79756
|
-
const toggleSidebars = (0,
|
79662
|
+
const toggleSidebars = (0, import_react29.useCallback)(
|
79757
79663
|
(sidebar) => {
|
79758
79664
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
79759
79665
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
@@ -79767,7 +79673,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79767
79673
|
},
|
79768
79674
|
[dispatch, leftSideBarVisible, rightSideBarVisible]
|
79769
79675
|
);
|
79770
|
-
(0,
|
79676
|
+
(0, import_react29.useEffect)(() => {
|
79771
79677
|
if (!window.matchMedia("(min-width: 638px)").matches) {
|
79772
79678
|
dispatch({
|
79773
79679
|
type: "setUi",
|
@@ -79790,11 +79696,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79790
79696
|
window.removeEventListener("resize", handleResize);
|
79791
79697
|
};
|
79792
79698
|
}, []);
|
79793
|
-
const defaultRender = (0,
|
79794
|
-
const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0,
|
79699
|
+
const defaultRender = (0, import_react29.useMemo)(() => {
|
79700
|
+
const PuckDefault = ({ children: children2 }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: children2 });
|
79795
79701
|
return PuckDefault;
|
79796
79702
|
}, []);
|
79797
|
-
const defaultHeaderRender = (0,
|
79703
|
+
const defaultHeaderRender = (0, import_react29.useMemo)(() => {
|
79798
79704
|
if (renderHeader) {
|
79799
79705
|
console.warn(
|
79800
79706
|
"`renderHeader` is deprecated. Please use `overrides.header` and the `usePuck` hook instead"
|
@@ -79802,45 +79708,45 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79802
79708
|
const RenderHeader = (_a22) => {
|
79803
79709
|
var _b = _a22, { actions } = _b, props = __objRest2(_b, ["actions"]);
|
79804
79710
|
const Comp = renderHeader;
|
79805
|
-
return /* @__PURE__ */ (0,
|
79711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState, children: actions }));
|
79806
79712
|
};
|
79807
79713
|
return RenderHeader;
|
79808
79714
|
}
|
79809
79715
|
return defaultRender;
|
79810
79716
|
}, [renderHeader]);
|
79811
|
-
const defaultHeaderActionsRender = (0,
|
79717
|
+
const defaultHeaderActionsRender = (0, import_react29.useMemo)(() => {
|
79812
79718
|
if (renderHeaderActions) {
|
79813
79719
|
console.warn(
|
79814
79720
|
"`renderHeaderActions` is deprecated. Please use `overrides.headerActions` and the `usePuck` hook instead."
|
79815
79721
|
);
|
79816
79722
|
const RenderHeader = (props) => {
|
79817
79723
|
const Comp = renderHeaderActions;
|
79818
|
-
return /* @__PURE__ */ (0,
|
79724
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Comp, __spreadProps2(__spreadValues2({}, props), { dispatch, state: appState }));
|
79819
79725
|
};
|
79820
79726
|
return RenderHeader;
|
79821
79727
|
}
|
79822
79728
|
return defaultRender;
|
79823
79729
|
}, [renderHeader]);
|
79824
|
-
const loadedOverrides = (0,
|
79730
|
+
const loadedOverrides = (0, import_react29.useMemo)(() => {
|
79825
79731
|
return loadOverrides({ overrides, plugins });
|
79826
79732
|
}, [plugins]);
|
79827
|
-
const CustomPuck = (0,
|
79733
|
+
const CustomPuck = (0, import_react29.useMemo)(
|
79828
79734
|
() => loadedOverrides.puck || defaultRender,
|
79829
79735
|
[loadedOverrides]
|
79830
79736
|
);
|
79831
|
-
const CustomHeader = (0,
|
79737
|
+
const CustomHeader = (0, import_react29.useMemo)(
|
79832
79738
|
() => loadedOverrides.header || defaultHeaderRender,
|
79833
79739
|
[loadedOverrides]
|
79834
79740
|
);
|
79835
|
-
const CustomHeaderActions = (0,
|
79741
|
+
const CustomHeaderActions = (0, import_react29.useMemo)(
|
79836
79742
|
() => loadedOverrides.headerActions || defaultHeaderActionsRender,
|
79837
79743
|
[loadedOverrides]
|
79838
79744
|
);
|
79839
|
-
const [mounted, setMounted] = (0,
|
79840
|
-
(0,
|
79745
|
+
const [mounted, setMounted] = (0, import_react29.useState)(false);
|
79746
|
+
(0, import_react29.useEffect)(() => {
|
79841
79747
|
setMounted(true);
|
79842
79748
|
}, []);
|
79843
|
-
return /* @__PURE__ */ (0,
|
79749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "Puck", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79844
79750
|
AppProvider,
|
79845
79751
|
{
|
79846
79752
|
value: {
|
@@ -79855,7 +79761,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79855
79761
|
viewports,
|
79856
79762
|
iframe
|
79857
79763
|
},
|
79858
|
-
children: /* @__PURE__ */ (0,
|
79764
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79859
79765
|
DragDropContext2,
|
79860
79766
|
{
|
79861
79767
|
autoScrollerOptions: { disabled: dnd == null ? void 0 : dnd.disableAutoScroll },
|
@@ -79911,7 +79817,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79911
79817
|
});
|
79912
79818
|
}
|
79913
79819
|
},
|
79914
|
-
children: /* @__PURE__ */ (0,
|
79820
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79915
79821
|
DropZoneProvider,
|
79916
79822
|
{
|
79917
79823
|
value: {
|
@@ -79925,7 +79831,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79925
79831
|
mode: "edit",
|
79926
79832
|
areaId: "root"
|
79927
79833
|
},
|
79928
|
-
children: /* @__PURE__ */ (0,
|
79834
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomPuck, { children: children || /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
79929
79835
|
"div",
|
79930
79836
|
{
|
79931
79837
|
className: getClassName25({
|
@@ -79935,65 +79841,62 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
79935
79841
|
rightSideBarVisible
|
79936
79842
|
}),
|
79937
79843
|
children: [
|
79938
|
-
/* @__PURE__ */ (0,
|
79939
|
-
/* @__PURE__ */ (0,
|
79844
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("layout"), children: [
|
79845
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79940
79846
|
CustomHeader,
|
79941
79847
|
{
|
79942
|
-
actions: /* @__PURE__ */ (0,
|
79943
|
-
|
79944
|
-
|
79945
|
-
|
79946
|
-
|
79947
|
-
|
79948
|
-
|
79949
|
-
|
79950
|
-
|
79951
|
-
|
79952
|
-
|
79953
|
-
)
|
79954
|
-
|
79955
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerInner"), children: [
|
79956
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: getClassName25("headerToggle"), children: [
|
79957
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
79848
|
+
actions: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79849
|
+
Button,
|
79850
|
+
{
|
79851
|
+
onClick: () => {
|
79852
|
+
onPublish && onPublish(data);
|
79853
|
+
},
|
79854
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Globe, { size: "14px" }),
|
79855
|
+
children: "Publish"
|
79856
|
+
}
|
79857
|
+
) }) }),
|
79858
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("header", { className: getClassName25("header"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("headerInner"), children: [
|
79859
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("headerToggle"), children: [
|
79860
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("leftSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79958
79861
|
IconButton,
|
79959
79862
|
{
|
79960
79863
|
onClick: () => {
|
79961
79864
|
toggleSidebars("left");
|
79962
79865
|
},
|
79963
79866
|
title: "Toggle left sidebar",
|
79964
|
-
children: /* @__PURE__ */ (0,
|
79867
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PanelLeft, { focusable: "false" })
|
79965
79868
|
}
|
79966
79869
|
) }),
|
79967
|
-
/* @__PURE__ */ (0,
|
79870
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("rightSideBarToggle"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79968
79871
|
IconButton,
|
79969
79872
|
{
|
79970
79873
|
onClick: () => {
|
79971
79874
|
toggleSidebars("right");
|
79972
79875
|
},
|
79973
79876
|
title: "Toggle right sidebar",
|
79974
|
-
children: /* @__PURE__ */ (0,
|
79877
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PanelRight, { focusable: "false" })
|
79975
79878
|
}
|
79976
79879
|
) })
|
79977
79880
|
] }),
|
79978
|
-
/* @__PURE__ */ (0,
|
79881
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("headerTitle"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Heading2, { rank: 2, size: "xs", children: [
|
79979
79882
|
headerTitle || rootProps.title || "Page",
|
79980
|
-
headerPath && /* @__PURE__ */ (0,
|
79883
|
+
headerPath && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
79981
79884
|
" ",
|
79982
|
-
/* @__PURE__ */ (0,
|
79885
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("code", { className: getClassName25("headerPath"), children: headerPath })
|
79983
79886
|
] })
|
79984
79887
|
] }) }),
|
79985
|
-
/* @__PURE__ */ (0,
|
79986
|
-
/* @__PURE__ */ (0,
|
79888
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("headerTools"), children: [
|
79889
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("menuButton"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79987
79890
|
IconButton,
|
79988
79891
|
{
|
79989
79892
|
onClick: () => {
|
79990
79893
|
return setMenuOpen(!menuOpen);
|
79991
79894
|
},
|
79992
79895
|
title: "Toggle menu bar",
|
79993
|
-
children: menuOpen ? /* @__PURE__ */ (0,
|
79896
|
+
children: menuOpen ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronUp, { focusable: "false" }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronDown, { focusable: "false" })
|
79994
79897
|
}
|
79995
79898
|
) }),
|
79996
|
-
/* @__PURE__ */ (0,
|
79899
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79997
79900
|
MenuBar,
|
79998
79901
|
{
|
79999
79902
|
appState,
|
@@ -80001,7 +79904,16 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80001
79904
|
dispatch,
|
80002
79905
|
onPublish,
|
80003
79906
|
menuOpen,
|
80004
|
-
renderHeaderActions: () => /* @__PURE__ */ (0,
|
79907
|
+
renderHeaderActions: () => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CustomHeaderActions, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
79908
|
+
Button,
|
79909
|
+
{
|
79910
|
+
onClick: () => {
|
79911
|
+
onPublish && onPublish(data);
|
79912
|
+
},
|
79913
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Globe, { size: "14px" }),
|
79914
|
+
children: "Publish"
|
79915
|
+
}
|
79916
|
+
) }),
|
80005
79917
|
setMenuOpen
|
80006
79918
|
}
|
80007
79919
|
)
|
@@ -80009,23 +79921,23 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80009
79921
|
] }) })
|
80010
79922
|
}
|
80011
79923
|
),
|
80012
|
-
/* @__PURE__ */ (0,
|
80013
|
-
/* @__PURE__ */ (0,
|
80014
|
-
/* @__PURE__ */ (0,
|
79924
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: getClassName25("leftSideBar"), children: [
|
79925
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SidebarSection2, { title: "Components", noBorderTop: true, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Components, {}) }),
|
79926
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SidebarSection2, { title: "Outline", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Outline, {}) })
|
80015
79927
|
] }),
|
80016
|
-
/* @__PURE__ */ (0,
|
80017
|
-
/* @__PURE__ */ (0,
|
79928
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Canvas, {}),
|
79929
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: getClassName25("rightSideBar"), children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
80018
79930
|
SidebarSection2,
|
80019
79931
|
{
|
80020
79932
|
noPadding: true,
|
80021
79933
|
noBorderTop: true,
|
80022
79934
|
showBreadcrumbs: true,
|
80023
79935
|
title: selectedItem ? (_a3 = config.components[selectedItem.type]["label"]) != null ? _a3 : selectedItem.type : "Page",
|
80024
|
-
children: /* @__PURE__ */ (0,
|
79936
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Fields, {})
|
80025
79937
|
}
|
80026
79938
|
) })
|
80027
79939
|
] }),
|
80028
|
-
/* @__PURE__ */ (0,
|
79940
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
80029
79941
|
"div",
|
80030
79942
|
{
|
80031
79943
|
id: "puck-portal-root",
|
@@ -80047,16 +79959,20 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80047
79959
|
Puck.Outline = Outline;
|
80048
79960
|
Puck.Preview = Preview;
|
80049
79961
|
init_react_import2();
|
80050
|
-
var
|
79962
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
80051
79963
|
function Render({
|
80052
79964
|
config,
|
80053
79965
|
data
|
80054
79966
|
}) {
|
80055
79967
|
var _a3;
|
80056
|
-
const
|
79968
|
+
const defaultedData = __spreadProps2(__spreadValues2({}, data), {
|
79969
|
+
root: data.root || {},
|
79970
|
+
content: data.content || []
|
79971
|
+
});
|
79972
|
+
const rootProps = defaultedData.root.props || defaultedData.root;
|
80057
79973
|
const title = (rootProps == null ? void 0 : rootProps.title) || "";
|
80058
79974
|
if ((_a3 = config.root) == null ? void 0 : _a3.render) {
|
80059
|
-
return /* @__PURE__ */ (0,
|
79975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
80060
79976
|
config.root.render,
|
80061
79977
|
__spreadProps2(__spreadValues2({}, rootProps), {
|
80062
79978
|
puck: {
|
@@ -80065,11 +79981,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80065
79981
|
title,
|
80066
79982
|
editMode: false,
|
80067
79983
|
id: "puck-root",
|
80068
|
-
children: /* @__PURE__ */ (0,
|
79984
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZone, { zone: rootDroppableId2 })
|
80069
79985
|
})
|
80070
79986
|
) });
|
80071
79987
|
}
|
80072
|
-
return /* @__PURE__ */ (0,
|
79988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZoneProvider, { value: { data: defaultedData, config, mode: "render" }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DropZone, { zone: rootDroppableId2 }) });
|
80073
79989
|
}
|
80074
79990
|
init_react_import2();
|
80075
79991
|
var migrations = [
|
@@ -80093,6 +80009,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80093
80009
|
return migrations == null ? void 0 : migrations.reduce((acc, migration) => migration(acc), data);
|
80094
80010
|
}
|
80095
80011
|
init_react_import2();
|
80012
|
+
init_react_import2();
|
80013
|
+
var defaultData = (data) => __spreadProps2(__spreadValues2({}, data), {
|
80014
|
+
root: data.root || {},
|
80015
|
+
content: data.content || []
|
80016
|
+
});
|
80096
80017
|
function transformProps(data, propTransforms) {
|
80097
80018
|
const mapItem = (item) => {
|
80098
80019
|
if (propTransforms[item.type]) {
|
@@ -80102,18 +80023,19 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80102
80023
|
}
|
80103
80024
|
return item;
|
80104
80025
|
};
|
80105
|
-
const
|
80106
|
-
|
80026
|
+
const defaultedData = defaultData(data);
|
80027
|
+
const rootProps = defaultedData.root.props || defaultedData.root;
|
80028
|
+
let newRoot = __spreadValues2({}, defaultedData.root);
|
80107
80029
|
if (propTransforms["root"]) {
|
80108
|
-
if (
|
80030
|
+
if (defaultedData.root.props) {
|
80109
80031
|
newRoot.props = propTransforms["root"](rootProps);
|
80110
80032
|
} else {
|
80111
80033
|
newRoot = propTransforms["root"](rootProps);
|
80112
80034
|
}
|
80113
80035
|
}
|
80114
|
-
const afterPropTransforms = __spreadProps2(__spreadValues2({},
|
80036
|
+
const afterPropTransforms = __spreadProps2(__spreadValues2({}, defaultedData), {
|
80115
80037
|
root: newRoot,
|
80116
|
-
content:
|
80038
|
+
content: defaultedData.content.map(mapItem),
|
80117
80039
|
zones: Object.keys(data.zones || {}).reduce(
|
80118
80040
|
(acc, zoneKey) => __spreadProps2(__spreadValues2({}, acc), {
|
80119
80041
|
[zoneKey]: data.zones[zoneKey].map(mapItem)
|
@@ -80126,7 +80048,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80126
80048
|
init_react_import2();
|
80127
80049
|
function resolveAllData(data, config, onResolveStart, onResolveEnd) {
|
80128
80050
|
return __async2(this, null, function* () {
|
80129
|
-
const
|
80051
|
+
const defaultedData = defaultData(data);
|
80052
|
+
const dynamicRoot = yield resolveRootData(defaultedData, config);
|
80130
80053
|
const { zones = {} } = data;
|
80131
80054
|
const zoneKeys = Object.keys(zones);
|
80132
80055
|
const resolvedZones = {};
|
@@ -80139,10 +80062,10 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
|
|
80139
80062
|
onResolveEnd
|
80140
80063
|
);
|
80141
80064
|
}
|
80142
|
-
return __spreadProps2(__spreadValues2({},
|
80065
|
+
return __spreadProps2(__spreadValues2({}, defaultedData), {
|
80143
80066
|
root: dynamicRoot,
|
80144
80067
|
content: yield resolveAllComponentData(
|
80145
|
-
|
80068
|
+
defaultedData.content,
|
80146
80069
|
config,
|
80147
80070
|
onResolveStart,
|
80148
80071
|
onResolveEnd
|
@@ -80234,7 +80157,7 @@ init_react_import();
|
|
80234
80157
|
// src/HeadingAnalyzer.tsx
|
80235
80158
|
init_react_import();
|
80236
80159
|
var import_react12 = require("react");
|
80237
|
-
var import_puck = __toESM(
|
80160
|
+
var import_puck = __toESM(require_dist());
|
80238
80161
|
|
80239
80162
|
// ../core/components/SidebarSection/index.tsx
|
80240
80163
|
init_react_import();
|
@@ -80422,7 +80345,7 @@ var defaultViewports = [
|
|
80422
80345
|
var import_ua_parser_js = __toESM(require_ua_parser());
|
80423
80346
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
80424
80347
|
var defaultAppState = {
|
80425
|
-
data: { content: [], root: { props: {
|
80348
|
+
data: { content: [], root: { props: {} } },
|
80426
80349
|
ui: {
|
80427
80350
|
leftSideBarVisible: true,
|
80428
80351
|
rightSideBarVisible: true,
|