@measured/puck-plugin-heading-analyzer 0.21.0-canary.e9d5c0ea → 0.21.0-canary.eb8ea5ce
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.css +149 -5
- package/dist/index.d.mts +214 -23
- package/dist/index.d.ts +214 -23
- package/dist/index.js +293 -164
- package/dist/index.mjs +287 -158
- package/package.json +3 -2
package/dist/index.mjs
CHANGED
|
@@ -269,17 +269,17 @@ import { useEffect as useEffect5, useState } from "react";
|
|
|
269
269
|
|
|
270
270
|
// css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css#css-module
|
|
271
271
|
init_react_import();
|
|
272
|
-
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "
|
|
272
|
+
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "_HeadingAnalyzer_116v6_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_116v6_5", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_116v6_9", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_116v6_13" };
|
|
273
273
|
|
|
274
274
|
// src/HeadingAnalyzer.tsx
|
|
275
275
|
import { createUsePuck } from "@measured/puck";
|
|
276
276
|
|
|
277
|
-
// ../core/components/
|
|
277
|
+
// ../core/components/SidebarSection/index.tsx
|
|
278
278
|
init_react_import();
|
|
279
279
|
|
|
280
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/
|
|
280
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css#css-module
|
|
281
281
|
init_react_import();
|
|
282
|
-
var styles_module_default = { "
|
|
282
|
+
var styles_module_default = { "SidebarSection": "_SidebarSection_8boj8_1", "SidebarSection-title": "_SidebarSection-title_8boj8_12", "SidebarSection--noBorderTop": "_SidebarSection--noBorderTop_8boj8_20", "SidebarSection-content": "_SidebarSection-content_8boj8_24", "SidebarSection--noPadding": "_SidebarSection--noPadding_8boj8_28", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_8boj8_41", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_8boj8_70", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_8boj8_41", "SidebarSection-heading": "_SidebarSection-heading_8boj8_82", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_8boj8_86" };
|
|
283
283
|
|
|
284
284
|
// ../core/lib/get-class-name-factory.ts
|
|
285
285
|
init_react_import();
|
|
@@ -308,50 +308,29 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
|
308
308
|
};
|
|
309
309
|
var get_class_name_factory_default = getClassNameFactory;
|
|
310
310
|
|
|
311
|
-
// ../core/components/
|
|
311
|
+
// ../core/components/Heading/index.tsx
|
|
312
|
+
init_react_import();
|
|
313
|
+
|
|
314
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
|
|
315
|
+
init_react_import();
|
|
316
|
+
var styles_module_default2 = { "Heading": "_Heading_qxrry_1", "Heading--xxxxl": "_Heading--xxxxl_qxrry_12", "Heading--xxxl": "_Heading--xxxl_qxrry_18", "Heading--xxl": "_Heading--xxl_qxrry_22", "Heading--xl": "_Heading--xl_qxrry_26", "Heading--l": "_Heading--l_qxrry_30", "Heading--m": "_Heading--m_qxrry_34", "Heading--s": "_Heading--s_qxrry_38", "Heading--xs": "_Heading--xs_qxrry_42" };
|
|
317
|
+
|
|
318
|
+
// ../core/components/Heading/index.tsx
|
|
312
319
|
import { jsx } from "react/jsx-runtime";
|
|
313
|
-
var getClassName = get_class_name_factory_default("
|
|
314
|
-
var
|
|
315
|
-
|
|
316
|
-
return /* @__PURE__ */ jsx("ul", { className: getClassName(), children });
|
|
317
|
-
};
|
|
318
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ jsx("div", { className: getClassNameItem({ clickable: true }), children });
|
|
319
|
-
OutlineList.Item = ({
|
|
320
|
-
children,
|
|
321
|
-
onClick
|
|
322
|
-
}) => {
|
|
320
|
+
var getClassName = get_class_name_factory_default("Heading", styles_module_default2);
|
|
321
|
+
var Heading = ({ children, rank, size = "m" }) => {
|
|
322
|
+
const Tag = rank ? `h${rank}` : "span";
|
|
323
323
|
return /* @__PURE__ */ jsx(
|
|
324
|
-
|
|
324
|
+
Tag,
|
|
325
325
|
{
|
|
326
|
-
className:
|
|
327
|
-
|
|
326
|
+
className: getClassName({
|
|
327
|
+
[size]: true
|
|
328
|
+
}),
|
|
328
329
|
children
|
|
329
330
|
}
|
|
330
331
|
);
|
|
331
332
|
};
|
|
332
333
|
|
|
333
|
-
// ../core/lib/scroll-into-view.ts
|
|
334
|
-
init_react_import();
|
|
335
|
-
var scrollIntoView = (el) => {
|
|
336
|
-
const oldStyle = __spreadValues({}, el.style);
|
|
337
|
-
el.style.scrollMargin = "256px";
|
|
338
|
-
if (el) {
|
|
339
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
340
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
341
|
-
}
|
|
342
|
-
};
|
|
343
|
-
|
|
344
|
-
// ../core/lib/get-frame.ts
|
|
345
|
-
init_react_import();
|
|
346
|
-
var getFrame = () => {
|
|
347
|
-
if (typeof window === "undefined") return;
|
|
348
|
-
let frameEl = document.querySelector("#preview-frame");
|
|
349
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
350
|
-
return frameEl.contentDocument || document;
|
|
351
|
-
}
|
|
352
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
353
|
-
};
|
|
354
|
-
|
|
355
334
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
356
335
|
init_react_import();
|
|
357
336
|
|
|
@@ -439,29 +418,15 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
|
439
418
|
return Component;
|
|
440
419
|
};
|
|
441
420
|
|
|
442
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
|
421
|
+
// ../../node_modules/lucide-react/dist/esm/icons/chevron-right.js
|
|
443
422
|
init_react_import();
|
|
444
|
-
var
|
|
445
|
-
["path", { d: "
|
|
446
|
-
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
447
|
-
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
448
|
-
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
|
423
|
+
var ChevronRight = createLucideIcon("ChevronRight", [
|
|
424
|
+
["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
|
|
449
425
|
]);
|
|
450
426
|
|
|
451
|
-
// ../core/lib/
|
|
452
|
-
init_react_import();
|
|
453
|
-
|
|
454
|
-
// ../core/lib/filter.ts
|
|
455
|
-
init_react_import();
|
|
456
|
-
|
|
457
|
-
// ../core/lib/data/reorder.ts
|
|
458
|
-
init_react_import();
|
|
459
|
-
|
|
460
|
-
// ../core/lib/data/replace.ts
|
|
461
|
-
init_react_import();
|
|
462
|
-
|
|
463
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
|
427
|
+
// ../core/lib/use-breadcrumbs.ts
|
|
464
428
|
init_react_import();
|
|
429
|
+
import { useMemo } from "react";
|
|
465
430
|
|
|
466
431
|
// ../core/store/index.ts
|
|
467
432
|
init_react_import();
|
|
@@ -841,10 +806,10 @@ var insert = (list, index, item) => {
|
|
|
841
806
|
// ../core/lib/generate-id.ts
|
|
842
807
|
init_react_import();
|
|
843
808
|
|
|
844
|
-
//
|
|
809
|
+
// ../core/node_modules/uuid/dist/esm-node/index.js
|
|
845
810
|
init_react_import();
|
|
846
811
|
|
|
847
|
-
//
|
|
812
|
+
// ../core/node_modules/uuid/dist/esm-node/rng.js
|
|
848
813
|
init_react_import();
|
|
849
814
|
import crypto from "crypto";
|
|
850
815
|
var rnds8Pool = new Uint8Array(256);
|
|
@@ -857,7 +822,7 @@ function rng() {
|
|
|
857
822
|
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
858
823
|
}
|
|
859
824
|
|
|
860
|
-
//
|
|
825
|
+
// ../core/node_modules/uuid/dist/esm-node/stringify.js
|
|
861
826
|
init_react_import();
|
|
862
827
|
var byteToHex = [];
|
|
863
828
|
for (let i = 0; i < 256; ++i) {
|
|
@@ -867,17 +832,17 @@ function unsafeStringify(arr, offset = 0) {
|
|
|
867
832
|
return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
|
|
868
833
|
}
|
|
869
834
|
|
|
870
|
-
//
|
|
835
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
871
836
|
init_react_import();
|
|
872
837
|
|
|
873
|
-
//
|
|
838
|
+
// ../core/node_modules/uuid/dist/esm-node/native.js
|
|
874
839
|
init_react_import();
|
|
875
840
|
import crypto2 from "crypto";
|
|
876
841
|
var native_default = {
|
|
877
842
|
randomUUID: crypto2.randomUUID
|
|
878
843
|
};
|
|
879
844
|
|
|
880
|
-
//
|
|
845
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
881
846
|
function v4(options, buf, offset) {
|
|
882
847
|
if (native_default.randomUUID && !buf && !options) {
|
|
883
848
|
return native_default.randomUUID();
|
|
@@ -1029,7 +994,9 @@ var replaceAction = (state, action, appStore) => {
|
|
|
1029
994
|
});
|
|
1030
995
|
});
|
|
1031
996
|
});
|
|
1032
|
-
const stateWithDeepSlotsRemoved = __spreadValues({}, state)
|
|
997
|
+
const stateWithDeepSlotsRemoved = __spreadProps(__spreadValues({}, state), {
|
|
998
|
+
ui: __spreadValues(__spreadValues({}, state.ui), action.ui)
|
|
999
|
+
});
|
|
1033
1000
|
Object.keys(state.indexes.zones).forEach((zoneCompound) => {
|
|
1034
1001
|
const id = zoneCompound.split(":")[0];
|
|
1035
1002
|
if (id === originalId) {
|
|
@@ -1431,8 +1398,7 @@ init_react_import();
|
|
|
1431
1398
|
var defaultViewports = [
|
|
1432
1399
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1433
1400
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1434
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1435
|
-
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1401
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1436
1402
|
];
|
|
1437
1403
|
|
|
1438
1404
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -1458,7 +1424,7 @@ var createStoreImpl = (createState) => {
|
|
|
1458
1424
|
const initialState = state = createState(setState, getState, api);
|
|
1459
1425
|
return api;
|
|
1460
1426
|
};
|
|
1461
|
-
var createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
|
|
1427
|
+
var createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
|
|
1462
1428
|
|
|
1463
1429
|
// ../../node_modules/zustand/esm/react.mjs
|
|
1464
1430
|
init_react_import();
|
|
@@ -1467,8 +1433,8 @@ var identity = (arg) => arg;
|
|
|
1467
1433
|
function useStore(api, selector = identity) {
|
|
1468
1434
|
const slice = React2.useSyncExternalStore(
|
|
1469
1435
|
api.subscribe,
|
|
1470
|
-
() => selector(api.getState()),
|
|
1471
|
-
() => selector(api.getInitialState())
|
|
1436
|
+
React2.useCallback(() => selector(api.getState()), [api, selector]),
|
|
1437
|
+
React2.useCallback(() => selector(api.getInitialState()), [api, selector])
|
|
1472
1438
|
);
|
|
1473
1439
|
React2.useDebugValue(slice);
|
|
1474
1440
|
return slice;
|
|
@@ -1479,13 +1445,13 @@ var createImpl = (createState) => {
|
|
|
1479
1445
|
Object.assign(useBoundStore, api);
|
|
1480
1446
|
return useBoundStore;
|
|
1481
1447
|
};
|
|
1482
|
-
var create = (createState) => createState ? createImpl(createState) : createImpl;
|
|
1448
|
+
var create = ((createState) => createState ? createImpl(createState) : createImpl);
|
|
1483
1449
|
|
|
1484
1450
|
// ../../node_modules/zustand/esm/middleware.mjs
|
|
1485
1451
|
init_react_import();
|
|
1486
1452
|
var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
1487
1453
|
const origSubscribe = api.subscribe;
|
|
1488
|
-
api.subscribe = (selector, optListener, options) => {
|
|
1454
|
+
api.subscribe = ((selector, optListener, options) => {
|
|
1489
1455
|
let listener = selector;
|
|
1490
1456
|
if (optListener) {
|
|
1491
1457
|
const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;
|
|
@@ -1502,7 +1468,7 @@ var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
|
1502
1468
|
}
|
|
1503
1469
|
}
|
|
1504
1470
|
return origSubscribe(listener);
|
|
1505
|
-
};
|
|
1471
|
+
});
|
|
1506
1472
|
const initialState = fn(set, get, api);
|
|
1507
1473
|
return initialState;
|
|
1508
1474
|
};
|
|
@@ -1542,9 +1508,9 @@ function debounce(func, timeout = 300) {
|
|
|
1542
1508
|
var tidyState = (state) => {
|
|
1543
1509
|
return __spreadProps(__spreadValues({}, state), {
|
|
1544
1510
|
ui: __spreadProps(__spreadValues({}, state.ui), {
|
|
1545
|
-
field: {
|
|
1511
|
+
field: __spreadProps(__spreadValues({}, state.ui.field), {
|
|
1546
1512
|
focus: null
|
|
1547
|
-
}
|
|
1513
|
+
})
|
|
1548
1514
|
})
|
|
1549
1515
|
});
|
|
1550
1516
|
};
|
|
@@ -1719,9 +1685,9 @@ function createIsCircular(areItemsEqual) {
|
|
|
1719
1685
|
function getStrictProperties(object) {
|
|
1720
1686
|
return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));
|
|
1721
1687
|
}
|
|
1722
|
-
var hasOwn = Object.hasOwn || function(object, property) {
|
|
1688
|
+
var hasOwn = Object.hasOwn || (function(object, property) {
|
|
1723
1689
|
return hasOwnProperty.call(object, property);
|
|
1724
|
-
};
|
|
1690
|
+
});
|
|
1725
1691
|
function sameValueZeroEqual(a, b) {
|
|
1726
1692
|
return a === b || !a && !b && a !== a && b !== b;
|
|
1727
1693
|
}
|
|
@@ -2111,29 +2077,37 @@ var getChanged = (newItem, oldItem) => {
|
|
|
2111
2077
|
|
|
2112
2078
|
// ../core/store/slices/permissions.ts
|
|
2113
2079
|
var createPermissionsSlice = (set, get) => {
|
|
2114
|
-
const resolvePermissions = (..._0) => __async(
|
|
2080
|
+
const resolvePermissions = (..._0) => __async(null, [..._0], function* (params = {}, force) {
|
|
2115
2081
|
const { state, permissions, config } = get();
|
|
2116
2082
|
const { cache: cache2, globalPermissions } = permissions;
|
|
2117
|
-
const
|
|
2118
|
-
var _a, _b
|
|
2083
|
+
const resolvePermissionsForItem = (item2, force2 = false) => __async(null, null, function* () {
|
|
2084
|
+
var _a, _b;
|
|
2119
2085
|
const { config: config2, state: appState, setComponentLoading } = get();
|
|
2086
|
+
const itemCache = cache2[item2.props.id];
|
|
2087
|
+
const nodes = appState.indexes.nodes;
|
|
2088
|
+
const parentId = (_a = nodes[item2.props.id]) == null ? void 0 : _a.parentId;
|
|
2089
|
+
const parentNode = parentId ? nodes[parentId] : null;
|
|
2090
|
+
const parentData = (_b = parentNode == null ? void 0 : parentNode.data) != null ? _b : null;
|
|
2120
2091
|
const componentConfig = item2.type === "root" ? config2.root : config2.components[item2.type];
|
|
2121
2092
|
if (!componentConfig) {
|
|
2122
2093
|
return;
|
|
2123
2094
|
}
|
|
2124
2095
|
const initialPermissions = __spreadValues(__spreadValues({}, globalPermissions), componentConfig.permissions);
|
|
2125
2096
|
if (componentConfig.resolvePermissions) {
|
|
2126
|
-
const changed = getChanged(item2,
|
|
2127
|
-
|
|
2097
|
+
const changed = getChanged(item2, itemCache == null ? void 0 : itemCache.lastData);
|
|
2098
|
+
const propsChanged = Object.values(changed).some((el) => el === true);
|
|
2099
|
+
const parentChanged = (itemCache == null ? void 0 : itemCache.lastParentId) !== parentId;
|
|
2100
|
+
if (propsChanged || parentChanged || force2) {
|
|
2128
2101
|
const clearTimeout2 = setComponentLoading(item2.props.id, true, 50);
|
|
2129
2102
|
const resolvedPermissions = yield componentConfig.resolvePermissions(
|
|
2130
2103
|
item2,
|
|
2131
2104
|
{
|
|
2132
2105
|
changed,
|
|
2133
|
-
lastPermissions: (
|
|
2106
|
+
lastPermissions: (itemCache == null ? void 0 : itemCache.lastPermissions) || null,
|
|
2134
2107
|
permissions: initialPermissions,
|
|
2135
2108
|
appState: makeStatePublic(appState),
|
|
2136
|
-
lastData: (
|
|
2109
|
+
lastData: (itemCache == null ? void 0 : itemCache.lastData) || null,
|
|
2110
|
+
parent: parentData
|
|
2137
2111
|
}
|
|
2138
2112
|
);
|
|
2139
2113
|
const latest = get().permissions;
|
|
@@ -2141,6 +2115,7 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2141
2115
|
permissions: __spreadProps(__spreadValues({}, latest), {
|
|
2142
2116
|
cache: __spreadProps(__spreadValues({}, latest.cache), {
|
|
2143
2117
|
[item2.props.id]: {
|
|
2118
|
+
lastParentId: parentId,
|
|
2144
2119
|
lastData: item2,
|
|
2145
2120
|
lastPermissions: resolvedPermissions
|
|
2146
2121
|
}
|
|
@@ -2154,9 +2129,9 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2154
2129
|
}
|
|
2155
2130
|
}
|
|
2156
2131
|
});
|
|
2157
|
-
const
|
|
2132
|
+
const resolvePermissionsForRoot = (force2 = false) => {
|
|
2158
2133
|
const { state: appState } = get();
|
|
2159
|
-
|
|
2134
|
+
resolvePermissionsForItem(
|
|
2160
2135
|
// Shim the root data in by conforming to component data shape
|
|
2161
2136
|
{
|
|
2162
2137
|
type: "root",
|
|
@@ -2167,16 +2142,16 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2167
2142
|
};
|
|
2168
2143
|
const { item, type, root } = params;
|
|
2169
2144
|
if (item) {
|
|
2170
|
-
yield
|
|
2145
|
+
yield resolvePermissionsForItem(item, force);
|
|
2171
2146
|
} else if (type) {
|
|
2172
|
-
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(
|
|
2173
|
-
yield
|
|
2147
|
+
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(null, null, function* () {
|
|
2148
|
+
yield resolvePermissionsForItem(item2, force);
|
|
2174
2149
|
}));
|
|
2175
2150
|
} else if (root) {
|
|
2176
|
-
|
|
2151
|
+
resolvePermissionsForRoot(force);
|
|
2177
2152
|
} else {
|
|
2178
|
-
flattenData(state, config).map((item2) => __async(
|
|
2179
|
-
yield
|
|
2153
|
+
flattenData(state, config).map((item2) => __async(null, null, function* () {
|
|
2154
|
+
yield resolvePermissionsForItem(item2, force);
|
|
2180
2155
|
}));
|
|
2181
2156
|
}
|
|
2182
2157
|
});
|
|
@@ -2230,7 +2205,7 @@ var createFieldsSlice = (_set, _get) => {
|
|
|
2230
2205
|
// ../core/lib/resolve-component-data.ts
|
|
2231
2206
|
init_react_import();
|
|
2232
2207
|
var cache = { lastChange: {} };
|
|
2233
|
-
var resolveComponentData = (_0, _1, ..._2) => __async(
|
|
2208
|
+
var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
|
|
2234
2209
|
const configForItem = "type" in item && item.type !== "root" ? config.components[item.type] : config.root;
|
|
2235
2210
|
const resolvedItem = __spreadValues({}, item);
|
|
2236
2211
|
const shouldRunResolver = (configForItem == null ? void 0 : configForItem.resolveData) && item.props;
|
|
@@ -2258,11 +2233,11 @@ var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], f
|
|
|
2258
2233
|
let itemWithResolvedChildren = yield mapFields(
|
|
2259
2234
|
resolvedItem,
|
|
2260
2235
|
{
|
|
2261
|
-
slot: (_02) => __async(
|
|
2236
|
+
slot: (_02) => __async(null, [_02], function* ({ value }) {
|
|
2262
2237
|
const content = value;
|
|
2263
2238
|
return yield Promise.all(
|
|
2264
2239
|
content.map(
|
|
2265
|
-
(childItem) => __async(
|
|
2240
|
+
(childItem) => __async(null, null, function* () {
|
|
2266
2241
|
return (yield resolveComponentData(
|
|
2267
2242
|
childItem,
|
|
2268
2243
|
config,
|
|
@@ -2328,8 +2303,7 @@ var defaultAppState = {
|
|
|
2328
2303
|
options: [],
|
|
2329
2304
|
controlsVisible: true
|
|
2330
2305
|
},
|
|
2331
|
-
field: { focus: null }
|
|
2332
|
-
plugin: { current: null }
|
|
2306
|
+
field: { focus: null }
|
|
2333
2307
|
},
|
|
2334
2308
|
indexes: {
|
|
2335
2309
|
nodes: {},
|
|
@@ -2345,7 +2319,6 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2345
2319
|
subscribeWithSelector((set, get) => {
|
|
2346
2320
|
var _a, _b;
|
|
2347
2321
|
return __spreadProps(__spreadValues({
|
|
2348
|
-
instanceId: generateId(),
|
|
2349
2322
|
state: defaultAppState,
|
|
2350
2323
|
config: { components: {} },
|
|
2351
2324
|
componentState: {},
|
|
@@ -2454,7 +2427,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2454
2427
|
const selectedItem = state.ui.itemSelector ? getItem(state.ui.itemSelector, state) : null;
|
|
2455
2428
|
return __spreadProps(__spreadValues({}, s), { state, selectedItem });
|
|
2456
2429
|
}),
|
|
2457
|
-
resolveComponentData: (componentData, trigger) => __async(
|
|
2430
|
+
resolveComponentData: (componentData, trigger) => __async(null, null, function* () {
|
|
2458
2431
|
const { config, metadata, setComponentLoading, permissions } = get();
|
|
2459
2432
|
const timeouts = {};
|
|
2460
2433
|
return yield resolveComponentData(
|
|
@@ -2465,7 +2438,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2465
2438
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2466
2439
|
timeouts[id] = setComponentLoading(id, true, 50);
|
|
2467
2440
|
},
|
|
2468
|
-
(item) => __async(
|
|
2441
|
+
(item) => __async(null, null, function* () {
|
|
2469
2442
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2470
2443
|
if ("type" in item) {
|
|
2471
2444
|
yield permissions.refreshPermissions({ item });
|
|
@@ -2477,7 +2450,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2477
2450
|
trigger
|
|
2478
2451
|
);
|
|
2479
2452
|
}),
|
|
2480
|
-
resolveAndCommitData: () => __async(
|
|
2453
|
+
resolveAndCommitData: () => __async(null, null, function* () {
|
|
2481
2454
|
const { config, state, dispatch, resolveComponentData: resolveComponentData2 } = get();
|
|
2482
2455
|
walkAppState(
|
|
2483
2456
|
state,
|
|
@@ -2516,14 +2489,203 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2516
2489
|
})
|
|
2517
2490
|
);
|
|
2518
2491
|
var appStoreContext = createContext(createAppStore());
|
|
2492
|
+
function useAppStore(selector) {
|
|
2493
|
+
const context = useContext(appStoreContext);
|
|
2494
|
+
return useStore(context, selector);
|
|
2495
|
+
}
|
|
2496
|
+
function useAppStoreApi() {
|
|
2497
|
+
return useContext(appStoreContext);
|
|
2498
|
+
}
|
|
2499
|
+
|
|
2500
|
+
// ../core/lib/use-breadcrumbs.ts
|
|
2501
|
+
var useBreadcrumbs = (renderCount) => {
|
|
2502
|
+
const selectedId = useAppStore((s) => {
|
|
2503
|
+
var _a;
|
|
2504
|
+
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
|
2505
|
+
});
|
|
2506
|
+
const config = useAppStore((s) => s.config);
|
|
2507
|
+
const path = useAppStore((s) => {
|
|
2508
|
+
var _a;
|
|
2509
|
+
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
|
2510
|
+
});
|
|
2511
|
+
const appStore = useAppStoreApi();
|
|
2512
|
+
return useMemo(() => {
|
|
2513
|
+
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
|
2514
|
+
var _a, _b, _c;
|
|
2515
|
+
const [componentId] = zoneCompound.split(":");
|
|
2516
|
+
if (componentId === "root") {
|
|
2517
|
+
return {
|
|
2518
|
+
label: "Page",
|
|
2519
|
+
selector: null
|
|
2520
|
+
};
|
|
2521
|
+
}
|
|
2522
|
+
const node = appStore.getState().state.indexes.nodes[componentId];
|
|
2523
|
+
const parentId = node.path[node.path.length - 1];
|
|
2524
|
+
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
|
2525
|
+
const index = contentIds.indexOf(componentId);
|
|
2526
|
+
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
|
2527
|
+
return {
|
|
2528
|
+
label,
|
|
2529
|
+
selector: node ? {
|
|
2530
|
+
index,
|
|
2531
|
+
zone: node.path[node.path.length - 1]
|
|
2532
|
+
} : null
|
|
2533
|
+
};
|
|
2534
|
+
})) || [];
|
|
2535
|
+
if (renderCount) {
|
|
2536
|
+
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
|
2537
|
+
}
|
|
2538
|
+
return breadcrumbs;
|
|
2539
|
+
}, [path, renderCount]);
|
|
2540
|
+
};
|
|
2541
|
+
|
|
2542
|
+
// ../core/components/Loader/index.tsx
|
|
2543
|
+
init_react_import();
|
|
2544
|
+
|
|
2545
|
+
// ../core/lib/index.ts
|
|
2546
|
+
init_react_import();
|
|
2547
|
+
|
|
2548
|
+
// ../core/lib/filter.ts
|
|
2549
|
+
init_react_import();
|
|
2550
|
+
|
|
2551
|
+
// ../core/lib/data/reorder.ts
|
|
2552
|
+
init_react_import();
|
|
2553
|
+
|
|
2554
|
+
// ../core/lib/data/replace.ts
|
|
2555
|
+
init_react_import();
|
|
2556
|
+
|
|
2557
|
+
// ../core/lib/use-reset-auto-zoom.ts
|
|
2558
|
+
init_react_import();
|
|
2519
2559
|
|
|
2520
2560
|
// ../core/lib/get-zoom-config.ts
|
|
2521
2561
|
init_react_import();
|
|
2522
2562
|
|
|
2563
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
|
2564
|
+
init_react_import();
|
|
2565
|
+
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
|
2566
|
+
|
|
2567
|
+
// ../core/components/Loader/index.tsx
|
|
2568
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
2569
|
+
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
|
2570
|
+
var Loader = (_a) => {
|
|
2571
|
+
var _b = _a, {
|
|
2572
|
+
color,
|
|
2573
|
+
size = 16
|
|
2574
|
+
} = _b, props = __objRest(_b, [
|
|
2575
|
+
"color",
|
|
2576
|
+
"size"
|
|
2577
|
+
]);
|
|
2578
|
+
return /* @__PURE__ */ jsx2(
|
|
2579
|
+
"span",
|
|
2580
|
+
__spreadValues({
|
|
2581
|
+
className: getClassName2(),
|
|
2582
|
+
style: {
|
|
2583
|
+
width: size,
|
|
2584
|
+
height: size,
|
|
2585
|
+
color
|
|
2586
|
+
},
|
|
2587
|
+
"aria-label": "loading"
|
|
2588
|
+
}, props)
|
|
2589
|
+
);
|
|
2590
|
+
};
|
|
2591
|
+
|
|
2592
|
+
// ../core/components/SidebarSection/index.tsx
|
|
2593
|
+
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
2594
|
+
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
|
2595
|
+
var SidebarSection = ({
|
|
2596
|
+
children,
|
|
2597
|
+
title,
|
|
2598
|
+
background,
|
|
2599
|
+
showBreadcrumbs,
|
|
2600
|
+
noBorderTop,
|
|
2601
|
+
noPadding,
|
|
2602
|
+
isLoading
|
|
2603
|
+
}) => {
|
|
2604
|
+
const setUi = useAppStore((s) => s.setUi);
|
|
2605
|
+
const breadcrumbs = useBreadcrumbs(1);
|
|
2606
|
+
return /* @__PURE__ */ jsxs(
|
|
2607
|
+
"div",
|
|
2608
|
+
{
|
|
2609
|
+
className: getClassName3({ noBorderTop, noPadding }),
|
|
2610
|
+
style: { background },
|
|
2611
|
+
children: [
|
|
2612
|
+
/* @__PURE__ */ jsx3("div", { className: getClassName3("title"), children: /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumbs"), children: [
|
|
2613
|
+
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumb"), children: [
|
|
2614
|
+
/* @__PURE__ */ jsx3(
|
|
2615
|
+
"button",
|
|
2616
|
+
{
|
|
2617
|
+
type: "button",
|
|
2618
|
+
className: getClassName3("breadcrumbLabel"),
|
|
2619
|
+
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
|
2620
|
+
children: breadcrumb.label
|
|
2621
|
+
}
|
|
2622
|
+
),
|
|
2623
|
+
/* @__PURE__ */ jsx3(ChevronRight, { size: 16 })
|
|
2624
|
+
] }, i)) : null,
|
|
2625
|
+
/* @__PURE__ */ jsx3("div", { className: getClassName3("heading"), children: /* @__PURE__ */ jsx3(Heading, { rank: "2", size: "xs", children: title }) })
|
|
2626
|
+
] }) }),
|
|
2627
|
+
/* @__PURE__ */ jsx3("div", { className: getClassName3("content"), children }),
|
|
2628
|
+
isLoading && /* @__PURE__ */ jsx3("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ jsx3(Loader, { size: 32 }) })
|
|
2629
|
+
]
|
|
2630
|
+
}
|
|
2631
|
+
);
|
|
2632
|
+
};
|
|
2633
|
+
|
|
2634
|
+
// ../core/components/OutlineList/index.tsx
|
|
2635
|
+
init_react_import();
|
|
2636
|
+
|
|
2637
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
2638
|
+
init_react_import();
|
|
2639
|
+
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
2640
|
+
|
|
2641
|
+
// ../core/components/OutlineList/index.tsx
|
|
2642
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
2643
|
+
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
|
2644
|
+
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
|
2645
|
+
var OutlineList = ({ children }) => {
|
|
2646
|
+
return /* @__PURE__ */ jsx4("ul", { className: getClassName4(), children });
|
|
2647
|
+
};
|
|
2648
|
+
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ jsx4("div", { className: getClassNameItem({ clickable: true }), children });
|
|
2649
|
+
OutlineList.Item = ({
|
|
2650
|
+
children,
|
|
2651
|
+
onClick
|
|
2652
|
+
}) => {
|
|
2653
|
+
return /* @__PURE__ */ jsx4(
|
|
2654
|
+
"li",
|
|
2655
|
+
{
|
|
2656
|
+
className: getClassNameItem({ clickable: !!onClick }),
|
|
2657
|
+
onClick,
|
|
2658
|
+
children
|
|
2659
|
+
}
|
|
2660
|
+
);
|
|
2661
|
+
};
|
|
2662
|
+
|
|
2663
|
+
// ../core/lib/scroll-into-view.ts
|
|
2664
|
+
init_react_import();
|
|
2665
|
+
var scrollIntoView = (el) => {
|
|
2666
|
+
const oldStyle = __spreadValues({}, el.style);
|
|
2667
|
+
el.style.scrollMargin = "256px";
|
|
2668
|
+
if (el) {
|
|
2669
|
+
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
2670
|
+
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
2671
|
+
}
|
|
2672
|
+
};
|
|
2673
|
+
|
|
2674
|
+
// ../core/lib/get-frame.ts
|
|
2675
|
+
init_react_import();
|
|
2676
|
+
var getFrame = () => {
|
|
2677
|
+
if (typeof window === "undefined") return;
|
|
2678
|
+
let frameEl = document.querySelector("#preview-frame");
|
|
2679
|
+
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
2680
|
+
return frameEl.contentDocument || document;
|
|
2681
|
+
}
|
|
2682
|
+
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
2683
|
+
};
|
|
2684
|
+
|
|
2523
2685
|
// src/HeadingAnalyzer.tsx
|
|
2524
2686
|
import ReactFromJSONModule from "react-from-json";
|
|
2525
|
-
import { Fragment, jsx as
|
|
2526
|
-
var
|
|
2687
|
+
import { Fragment, jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
2688
|
+
var getClassName5 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2527
2689
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2528
2690
|
var ReactFromJSON = ReactFromJSONModule.default || ReactFromJSONModule;
|
|
2529
2691
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2614,11 +2776,11 @@ var HeadingAnalyzer = () => {
|
|
|
2614
2776
|
frameObserver.disconnect();
|
|
2615
2777
|
};
|
|
2616
2778
|
}, [data]);
|
|
2617
|
-
return /* @__PURE__ */
|
|
2618
|
-
/* @__PURE__ */
|
|
2779
|
+
return /* @__PURE__ */ jsxs2("div", { className: getClassName5(), children: [
|
|
2780
|
+
/* @__PURE__ */ jsxs2(
|
|
2619
2781
|
"small",
|
|
2620
2782
|
{
|
|
2621
|
-
className:
|
|
2783
|
+
className: getClassName5("cssWarning"),
|
|
2622
2784
|
style: {
|
|
2623
2785
|
color: "var(--puck-color-red-04)",
|
|
2624
2786
|
display: "block",
|
|
@@ -2627,19 +2789,19 @@ var HeadingAnalyzer = () => {
|
|
|
2627
2789
|
children: [
|
|
2628
2790
|
"Heading analyzer styles not loaded. Please review the",
|
|
2629
2791
|
" ",
|
|
2630
|
-
/* @__PURE__ */
|
|
2792
|
+
/* @__PURE__ */ jsx5("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2631
2793
|
"."
|
|
2632
2794
|
]
|
|
2633
2795
|
}
|
|
2634
2796
|
),
|
|
2635
|
-
hierarchy.length === 0 && /* @__PURE__ */
|
|
2636
|
-
/* @__PURE__ */
|
|
2797
|
+
hierarchy.length === 0 && /* @__PURE__ */ jsx5("div", { children: "No headings." }),
|
|
2798
|
+
/* @__PURE__ */ jsx5(OutlineList, { children: /* @__PURE__ */ jsx5(
|
|
2637
2799
|
ReactFromJSON,
|
|
2638
2800
|
{
|
|
2639
2801
|
mapping: {
|
|
2640
|
-
Root: (props) => /* @__PURE__ */
|
|
2641
|
-
OutlineListItem: (props) => /* @__PURE__ */
|
|
2642
|
-
/* @__PURE__ */
|
|
2802
|
+
Root: (props) => /* @__PURE__ */ jsx5(Fragment, { children: props.children }),
|
|
2803
|
+
OutlineListItem: (props) => /* @__PURE__ */ jsxs2(OutlineList.Item, { children: [
|
|
2804
|
+
/* @__PURE__ */ jsx5(OutlineList.Clickable, { children: /* @__PURE__ */ jsx5(
|
|
2643
2805
|
"small",
|
|
2644
2806
|
{
|
|
2645
2807
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2657,14 +2819,14 @@ var HeadingAnalyzer = () => {
|
|
|
2657
2819
|
}, 2e3);
|
|
2658
2820
|
}
|
|
2659
2821
|
},
|
|
2660
|
-
children: props.missing ? /* @__PURE__ */
|
|
2661
|
-
/* @__PURE__ */
|
|
2822
|
+
children: props.missing ? /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
2823
|
+
/* @__PURE__ */ jsxs2("b", { children: [
|
|
2662
2824
|
"H",
|
|
2663
2825
|
props.rank
|
|
2664
2826
|
] }),
|
|
2665
2827
|
": Missing"
|
|
2666
|
-
] }) : /* @__PURE__ */
|
|
2667
|
-
/* @__PURE__ */
|
|
2828
|
+
] }) : /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
2829
|
+
/* @__PURE__ */ jsxs2("b", { children: [
|
|
2668
2830
|
"H",
|
|
2669
2831
|
props.rank
|
|
2670
2832
|
] }),
|
|
@@ -2673,7 +2835,7 @@ var HeadingAnalyzer = () => {
|
|
|
2673
2835
|
] })
|
|
2674
2836
|
}
|
|
2675
2837
|
) }),
|
|
2676
|
-
/* @__PURE__ */
|
|
2838
|
+
/* @__PURE__ */ jsx5(OutlineList, { children: props.children })
|
|
2677
2839
|
] })
|
|
2678
2840
|
},
|
|
2679
2841
|
entry: {
|
|
@@ -2694,10 +2856,12 @@ var HeadingAnalyzer = () => {
|
|
|
2694
2856
|
] });
|
|
2695
2857
|
};
|
|
2696
2858
|
var headingAnalyzer = {
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2859
|
+
overrides: {
|
|
2860
|
+
fields: ({ children, itemSelector }) => /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
2861
|
+
children,
|
|
2862
|
+
/* @__PURE__ */ jsx5("div", { style: { display: itemSelector ? "none" : "block" }, children: /* @__PURE__ */ jsx5(SidebarSection, { title: "Heading Outline", children: /* @__PURE__ */ jsx5(HeadingAnalyzer, {}) }) })
|
|
2863
|
+
] })
|
|
2864
|
+
}
|
|
2701
2865
|
};
|
|
2702
2866
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2703
2867
|
export {
|
|
@@ -2713,45 +2877,10 @@ classnames/index.js:
|
|
|
2713
2877
|
*)
|
|
2714
2878
|
|
|
2715
2879
|
lucide-react/dist/esm/shared/src/utils.js:
|
|
2716
|
-
(**
|
|
2717
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2718
|
-
*
|
|
2719
|
-
* This source code is licensed under the ISC license.
|
|
2720
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2721
|
-
*)
|
|
2722
|
-
|
|
2723
2880
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2724
|
-
(**
|
|
2725
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2726
|
-
*
|
|
2727
|
-
* This source code is licensed under the ISC license.
|
|
2728
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2729
|
-
*)
|
|
2730
|
-
|
|
2731
2881
|
lucide-react/dist/esm/Icon.js:
|
|
2732
|
-
(**
|
|
2733
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2734
|
-
*
|
|
2735
|
-
* This source code is licensed under the ISC license.
|
|
2736
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2737
|
-
*)
|
|
2738
|
-
|
|
2739
2882
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2740
|
-
|
|
2741
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2742
|
-
*
|
|
2743
|
-
* This source code is licensed under the ISC license.
|
|
2744
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2745
|
-
*)
|
|
2746
|
-
|
|
2747
|
-
lucide-react/dist/esm/icons/heading-1.js:
|
|
2748
|
-
(**
|
|
2749
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2750
|
-
*
|
|
2751
|
-
* This source code is licensed under the ISC license.
|
|
2752
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2753
|
-
*)
|
|
2754
|
-
|
|
2883
|
+
lucide-react/dist/esm/icons/chevron-right.js:
|
|
2755
2884
|
lucide-react/dist/esm/lucide-react.js:
|
|
2756
2885
|
(**
|
|
2757
2886
|
* @license lucide-react v0.468.0 - ISC
|