@measured/puck-plugin-heading-analyzer 0.21.0-canary.5333fc7e → 0.21.0-canary.56be3202
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 +5 -149
- package/dist/index.d.mts +275 -51
- package/dist/index.d.ts +275 -51
- package/dist/index.js +145 -317
- package/dist/index.mjs +139 -311
- 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_yg0s7_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_yg0s7_6", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_yg0s7_10", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_yg0s7_14" };
|
|
273
273
|
|
|
274
274
|
// src/HeadingAnalyzer.tsx
|
|
275
275
|
import { createUsePuck } from "@measured/puck";
|
|
276
276
|
|
|
277
|
-
// ../core/components/
|
|
277
|
+
// ../core/components/OutlineList/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/OutlineList/styles.module.css#css-module
|
|
281
281
|
init_react_import();
|
|
282
|
-
var styles_module_default = { "
|
|
282
|
+
var styles_module_default = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
283
283
|
|
|
284
284
|
// ../core/lib/get-class-name-factory.ts
|
|
285
285
|
init_react_import();
|
|
@@ -308,29 +308,50 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
|
308
308
|
};
|
|
309
309
|
var get_class_name_factory_default = getClassNameFactory;
|
|
310
310
|
|
|
311
|
-
// ../core/components/
|
|
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
|
|
311
|
+
// ../core/components/OutlineList/index.tsx
|
|
319
312
|
import { jsx } from "react/jsx-runtime";
|
|
320
|
-
var getClassName = get_class_name_factory_default("
|
|
321
|
-
var
|
|
322
|
-
|
|
313
|
+
var getClassName = get_class_name_factory_default("OutlineList", styles_module_default);
|
|
314
|
+
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default);
|
|
315
|
+
var OutlineList = ({ children }) => {
|
|
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
|
+
}) => {
|
|
323
323
|
return /* @__PURE__ */ jsx(
|
|
324
|
-
|
|
324
|
+
"li",
|
|
325
325
|
{
|
|
326
|
-
className:
|
|
327
|
-
|
|
328
|
-
}),
|
|
326
|
+
className: getClassNameItem({ clickable: !!onClick }),
|
|
327
|
+
onClick,
|
|
329
328
|
children
|
|
330
329
|
}
|
|
331
330
|
);
|
|
332
331
|
};
|
|
333
332
|
|
|
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
|
+
|
|
334
355
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
335
356
|
init_react_import();
|
|
336
357
|
|
|
@@ -418,15 +439,29 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
|
418
439
|
return Component;
|
|
419
440
|
};
|
|
420
441
|
|
|
421
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
|
442
|
+
// ../../node_modules/lucide-react/dist/esm/icons/heading-1.js
|
|
422
443
|
init_react_import();
|
|
423
|
-
var
|
|
424
|
-
["path", { d: "
|
|
444
|
+
var Heading1 = createLucideIcon("Heading1", [
|
|
445
|
+
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
446
|
+
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
447
|
+
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
448
|
+
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
|
425
449
|
]);
|
|
426
450
|
|
|
427
|
-
// ../core/lib/
|
|
451
|
+
// ../core/lib/index.ts
|
|
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
|
|
428
464
|
init_react_import();
|
|
429
|
-
import { useMemo } from "react";
|
|
430
465
|
|
|
431
466
|
// ../core/store/index.ts
|
|
432
467
|
init_react_import();
|
|
@@ -806,10 +841,10 @@ var insert = (list, index, item) => {
|
|
|
806
841
|
// ../core/lib/generate-id.ts
|
|
807
842
|
init_react_import();
|
|
808
843
|
|
|
809
|
-
//
|
|
844
|
+
// ../core/node_modules/uuid/dist/esm-node/index.js
|
|
810
845
|
init_react_import();
|
|
811
846
|
|
|
812
|
-
//
|
|
847
|
+
// ../core/node_modules/uuid/dist/esm-node/rng.js
|
|
813
848
|
init_react_import();
|
|
814
849
|
import crypto from "crypto";
|
|
815
850
|
var rnds8Pool = new Uint8Array(256);
|
|
@@ -822,7 +857,7 @@ function rng() {
|
|
|
822
857
|
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
823
858
|
}
|
|
824
859
|
|
|
825
|
-
//
|
|
860
|
+
// ../core/node_modules/uuid/dist/esm-node/stringify.js
|
|
826
861
|
init_react_import();
|
|
827
862
|
var byteToHex = [];
|
|
828
863
|
for (let i = 0; i < 256; ++i) {
|
|
@@ -832,17 +867,17 @@ function unsafeStringify(arr, offset = 0) {
|
|
|
832
867
|
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]];
|
|
833
868
|
}
|
|
834
869
|
|
|
835
|
-
//
|
|
870
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
836
871
|
init_react_import();
|
|
837
872
|
|
|
838
|
-
//
|
|
873
|
+
// ../core/node_modules/uuid/dist/esm-node/native.js
|
|
839
874
|
init_react_import();
|
|
840
875
|
import crypto2 from "crypto";
|
|
841
876
|
var native_default = {
|
|
842
877
|
randomUUID: crypto2.randomUUID
|
|
843
878
|
};
|
|
844
879
|
|
|
845
|
-
//
|
|
880
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
846
881
|
function v4(options, buf, offset) {
|
|
847
882
|
if (native_default.randomUUID && !buf && !options) {
|
|
848
883
|
return native_default.randomUUID();
|
|
@@ -994,7 +1029,9 @@ var replaceAction = (state, action, appStore) => {
|
|
|
994
1029
|
});
|
|
995
1030
|
});
|
|
996
1031
|
});
|
|
997
|
-
const stateWithDeepSlotsRemoved = __spreadValues({}, state)
|
|
1032
|
+
const stateWithDeepSlotsRemoved = __spreadProps(__spreadValues({}, state), {
|
|
1033
|
+
ui: __spreadValues(__spreadValues({}, state.ui), action.ui)
|
|
1034
|
+
});
|
|
998
1035
|
Object.keys(state.indexes.zones).forEach((zoneCompound) => {
|
|
999
1036
|
const id = zoneCompound.split(":")[0];
|
|
1000
1037
|
if (id === originalId) {
|
|
@@ -1396,7 +1433,8 @@ init_react_import();
|
|
|
1396
1433
|
var defaultViewports = [
|
|
1397
1434
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1398
1435
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1399
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1436
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" },
|
|
1437
|
+
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1400
1438
|
];
|
|
1401
1439
|
|
|
1402
1440
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -1422,7 +1460,7 @@ var createStoreImpl = (createState) => {
|
|
|
1422
1460
|
const initialState = state = createState(setState, getState, api);
|
|
1423
1461
|
return api;
|
|
1424
1462
|
};
|
|
1425
|
-
var createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
|
|
1463
|
+
var createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
|
|
1426
1464
|
|
|
1427
1465
|
// ../../node_modules/zustand/esm/react.mjs
|
|
1428
1466
|
init_react_import();
|
|
@@ -1431,8 +1469,8 @@ var identity = (arg) => arg;
|
|
|
1431
1469
|
function useStore(api, selector = identity) {
|
|
1432
1470
|
const slice = React2.useSyncExternalStore(
|
|
1433
1471
|
api.subscribe,
|
|
1434
|
-
() => selector(api.getState()),
|
|
1435
|
-
() => selector(api.getInitialState())
|
|
1472
|
+
React2.useCallback(() => selector(api.getState()), [api, selector]),
|
|
1473
|
+
React2.useCallback(() => selector(api.getInitialState()), [api, selector])
|
|
1436
1474
|
);
|
|
1437
1475
|
React2.useDebugValue(slice);
|
|
1438
1476
|
return slice;
|
|
@@ -1443,13 +1481,13 @@ var createImpl = (createState) => {
|
|
|
1443
1481
|
Object.assign(useBoundStore, api);
|
|
1444
1482
|
return useBoundStore;
|
|
1445
1483
|
};
|
|
1446
|
-
var create = (createState) => createState ? createImpl(createState) : createImpl;
|
|
1484
|
+
var create = ((createState) => createState ? createImpl(createState) : createImpl);
|
|
1447
1485
|
|
|
1448
1486
|
// ../../node_modules/zustand/esm/middleware.mjs
|
|
1449
1487
|
init_react_import();
|
|
1450
1488
|
var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
1451
1489
|
const origSubscribe = api.subscribe;
|
|
1452
|
-
api.subscribe = (selector, optListener, options) => {
|
|
1490
|
+
api.subscribe = ((selector, optListener, options) => {
|
|
1453
1491
|
let listener = selector;
|
|
1454
1492
|
if (optListener) {
|
|
1455
1493
|
const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;
|
|
@@ -1466,7 +1504,7 @@ var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
|
1466
1504
|
}
|
|
1467
1505
|
}
|
|
1468
1506
|
return origSubscribe(listener);
|
|
1469
|
-
};
|
|
1507
|
+
});
|
|
1470
1508
|
const initialState = fn(set, get, api);
|
|
1471
1509
|
return initialState;
|
|
1472
1510
|
};
|
|
@@ -1506,9 +1544,9 @@ function debounce(func, timeout = 300) {
|
|
|
1506
1544
|
var tidyState = (state) => {
|
|
1507
1545
|
return __spreadProps(__spreadValues({}, state), {
|
|
1508
1546
|
ui: __spreadProps(__spreadValues({}, state.ui), {
|
|
1509
|
-
field: {
|
|
1547
|
+
field: __spreadProps(__spreadValues({}, state.ui.field), {
|
|
1510
1548
|
focus: null
|
|
1511
|
-
}
|
|
1549
|
+
})
|
|
1512
1550
|
})
|
|
1513
1551
|
});
|
|
1514
1552
|
};
|
|
@@ -1683,9 +1721,9 @@ function createIsCircular(areItemsEqual) {
|
|
|
1683
1721
|
function getStrictProperties(object) {
|
|
1684
1722
|
return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));
|
|
1685
1723
|
}
|
|
1686
|
-
var hasOwn = Object.hasOwn || function(object, property) {
|
|
1724
|
+
var hasOwn = Object.hasOwn || (function(object, property) {
|
|
1687
1725
|
return hasOwnProperty.call(object, property);
|
|
1688
|
-
};
|
|
1726
|
+
});
|
|
1689
1727
|
function sameValueZeroEqual(a, b) {
|
|
1690
1728
|
return a === b || !a && !b && a !== a && b !== b;
|
|
1691
1729
|
}
|
|
@@ -2075,29 +2113,37 @@ var getChanged = (newItem, oldItem) => {
|
|
|
2075
2113
|
|
|
2076
2114
|
// ../core/store/slices/permissions.ts
|
|
2077
2115
|
var createPermissionsSlice = (set, get) => {
|
|
2078
|
-
const resolvePermissions = (..._0) => __async(
|
|
2116
|
+
const resolvePermissions = (..._0) => __async(null, [..._0], function* (params = {}, force) {
|
|
2079
2117
|
const { state, permissions, config } = get();
|
|
2080
2118
|
const { cache: cache2, globalPermissions } = permissions;
|
|
2081
|
-
const
|
|
2082
|
-
var _a, _b
|
|
2119
|
+
const resolvePermissionsForItem = (item2, force2 = false) => __async(null, null, function* () {
|
|
2120
|
+
var _a, _b;
|
|
2083
2121
|
const { config: config2, state: appState, setComponentLoading } = get();
|
|
2122
|
+
const itemCache = cache2[item2.props.id];
|
|
2123
|
+
const nodes = appState.indexes.nodes;
|
|
2124
|
+
const parentId = (_a = nodes[item2.props.id]) == null ? void 0 : _a.parentId;
|
|
2125
|
+
const parentNode = parentId ? nodes[parentId] : null;
|
|
2126
|
+
const parentData = (_b = parentNode == null ? void 0 : parentNode.data) != null ? _b : null;
|
|
2084
2127
|
const componentConfig = item2.type === "root" ? config2.root : config2.components[item2.type];
|
|
2085
2128
|
if (!componentConfig) {
|
|
2086
2129
|
return;
|
|
2087
2130
|
}
|
|
2088
2131
|
const initialPermissions = __spreadValues(__spreadValues({}, globalPermissions), componentConfig.permissions);
|
|
2089
2132
|
if (componentConfig.resolvePermissions) {
|
|
2090
|
-
const changed = getChanged(item2,
|
|
2091
|
-
|
|
2133
|
+
const changed = getChanged(item2, itemCache == null ? void 0 : itemCache.lastData);
|
|
2134
|
+
const propsChanged = Object.values(changed).some((el) => el === true);
|
|
2135
|
+
const parentChanged = (itemCache == null ? void 0 : itemCache.lastParentId) !== parentId;
|
|
2136
|
+
if (propsChanged || parentChanged || force2) {
|
|
2092
2137
|
const clearTimeout2 = setComponentLoading(item2.props.id, true, 50);
|
|
2093
2138
|
const resolvedPermissions = yield componentConfig.resolvePermissions(
|
|
2094
2139
|
item2,
|
|
2095
2140
|
{
|
|
2096
2141
|
changed,
|
|
2097
|
-
lastPermissions: (
|
|
2142
|
+
lastPermissions: (itemCache == null ? void 0 : itemCache.lastPermissions) || null,
|
|
2098
2143
|
permissions: initialPermissions,
|
|
2099
2144
|
appState: makeStatePublic(appState),
|
|
2100
|
-
lastData: (
|
|
2145
|
+
lastData: (itemCache == null ? void 0 : itemCache.lastData) || null,
|
|
2146
|
+
parent: parentData
|
|
2101
2147
|
}
|
|
2102
2148
|
);
|
|
2103
2149
|
const latest = get().permissions;
|
|
@@ -2105,6 +2151,7 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2105
2151
|
permissions: __spreadProps(__spreadValues({}, latest), {
|
|
2106
2152
|
cache: __spreadProps(__spreadValues({}, latest.cache), {
|
|
2107
2153
|
[item2.props.id]: {
|
|
2154
|
+
lastParentId: parentId,
|
|
2108
2155
|
lastData: item2,
|
|
2109
2156
|
lastPermissions: resolvedPermissions
|
|
2110
2157
|
}
|
|
@@ -2118,9 +2165,9 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2118
2165
|
}
|
|
2119
2166
|
}
|
|
2120
2167
|
});
|
|
2121
|
-
const
|
|
2168
|
+
const resolvePermissionsForRoot = (force2 = false) => {
|
|
2122
2169
|
const { state: appState } = get();
|
|
2123
|
-
|
|
2170
|
+
resolvePermissionsForItem(
|
|
2124
2171
|
// Shim the root data in by conforming to component data shape
|
|
2125
2172
|
{
|
|
2126
2173
|
type: "root",
|
|
@@ -2131,16 +2178,16 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2131
2178
|
};
|
|
2132
2179
|
const { item, type, root } = params;
|
|
2133
2180
|
if (item) {
|
|
2134
|
-
yield
|
|
2181
|
+
yield resolvePermissionsForItem(item, force);
|
|
2135
2182
|
} else if (type) {
|
|
2136
|
-
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(
|
|
2137
|
-
yield
|
|
2183
|
+
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(null, null, function* () {
|
|
2184
|
+
yield resolvePermissionsForItem(item2, force);
|
|
2138
2185
|
}));
|
|
2139
2186
|
} else if (root) {
|
|
2140
|
-
|
|
2187
|
+
resolvePermissionsForRoot(force);
|
|
2141
2188
|
} else {
|
|
2142
|
-
flattenData(state, config).map((item2) => __async(
|
|
2143
|
-
yield
|
|
2189
|
+
flattenData(state, config).map((item2) => __async(null, null, function* () {
|
|
2190
|
+
yield resolvePermissionsForItem(item2, force);
|
|
2144
2191
|
}));
|
|
2145
2192
|
}
|
|
2146
2193
|
});
|
|
@@ -2194,7 +2241,7 @@ var createFieldsSlice = (_set, _get) => {
|
|
|
2194
2241
|
// ../core/lib/resolve-component-data.ts
|
|
2195
2242
|
init_react_import();
|
|
2196
2243
|
var cache = { lastChange: {} };
|
|
2197
|
-
var resolveComponentData = (_0, _1, ..._2) => __async(
|
|
2244
|
+
var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
|
|
2198
2245
|
const configForItem = "type" in item && item.type !== "root" ? config.components[item.type] : config.root;
|
|
2199
2246
|
const resolvedItem = __spreadValues({}, item);
|
|
2200
2247
|
const shouldRunResolver = (configForItem == null ? void 0 : configForItem.resolveData) && item.props;
|
|
@@ -2222,11 +2269,11 @@ var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], f
|
|
|
2222
2269
|
let itemWithResolvedChildren = yield mapFields(
|
|
2223
2270
|
resolvedItem,
|
|
2224
2271
|
{
|
|
2225
|
-
slot: (_02) => __async(
|
|
2272
|
+
slot: (_02) => __async(null, [_02], function* ({ value }) {
|
|
2226
2273
|
const content = value;
|
|
2227
2274
|
return yield Promise.all(
|
|
2228
2275
|
content.map(
|
|
2229
|
-
(childItem) => __async(
|
|
2276
|
+
(childItem) => __async(null, null, function* () {
|
|
2230
2277
|
return (yield resolveComponentData(
|
|
2231
2278
|
childItem,
|
|
2232
2279
|
config,
|
|
@@ -2292,7 +2339,8 @@ var defaultAppState = {
|
|
|
2292
2339
|
options: [],
|
|
2293
2340
|
controlsVisible: true
|
|
2294
2341
|
},
|
|
2295
|
-
field: { focus: null }
|
|
2342
|
+
field: { focus: null },
|
|
2343
|
+
plugin: { current: null }
|
|
2296
2344
|
},
|
|
2297
2345
|
indexes: {
|
|
2298
2346
|
nodes: {},
|
|
@@ -2308,6 +2356,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2308
2356
|
subscribeWithSelector((set, get) => {
|
|
2309
2357
|
var _a, _b;
|
|
2310
2358
|
return __spreadProps(__spreadValues({
|
|
2359
|
+
instanceId: generateId(),
|
|
2311
2360
|
state: defaultAppState,
|
|
2312
2361
|
config: { components: {} },
|
|
2313
2362
|
componentState: {},
|
|
@@ -2328,6 +2377,11 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2328
2377
|
history: createHistorySlice(set, get),
|
|
2329
2378
|
nodes: createNodesSlice(set, get),
|
|
2330
2379
|
permissions: createPermissionsSlice(set, get),
|
|
2380
|
+
getCurrentData: () => {
|
|
2381
|
+
var _a2;
|
|
2382
|
+
const s = get();
|
|
2383
|
+
return (_a2 = s.selectedItem) != null ? _a2 : s.state.data.root;
|
|
2384
|
+
},
|
|
2331
2385
|
getComponentConfig: (type) => {
|
|
2332
2386
|
var _a2;
|
|
2333
2387
|
const { config, selectedItem } = get();
|
|
@@ -2416,7 +2470,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2416
2470
|
const selectedItem = state.ui.itemSelector ? getItem(state.ui.itemSelector, state) : null;
|
|
2417
2471
|
return __spreadProps(__spreadValues({}, s), { state, selectedItem });
|
|
2418
2472
|
}),
|
|
2419
|
-
resolveComponentData: (componentData, trigger) => __async(
|
|
2473
|
+
resolveComponentData: (componentData, trigger) => __async(null, null, function* () {
|
|
2420
2474
|
const { config, metadata, setComponentLoading, permissions } = get();
|
|
2421
2475
|
const timeouts = {};
|
|
2422
2476
|
return yield resolveComponentData(
|
|
@@ -2427,7 +2481,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2427
2481
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2428
2482
|
timeouts[id] = setComponentLoading(id, true, 50);
|
|
2429
2483
|
},
|
|
2430
|
-
(item) => __async(
|
|
2484
|
+
(item) => __async(null, null, function* () {
|
|
2431
2485
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2432
2486
|
if ("type" in item) {
|
|
2433
2487
|
yield permissions.refreshPermissions({ item });
|
|
@@ -2439,7 +2493,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2439
2493
|
trigger
|
|
2440
2494
|
);
|
|
2441
2495
|
}),
|
|
2442
|
-
resolveAndCommitData: () => __async(
|
|
2496
|
+
resolveAndCommitData: () => __async(null, null, function* () {
|
|
2443
2497
|
const { config, state, dispatch, resolveComponentData: resolveComponentData2 } = get();
|
|
2444
2498
|
walkAppState(
|
|
2445
2499
|
state,
|
|
@@ -2478,203 +2532,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2478
2532
|
})
|
|
2479
2533
|
);
|
|
2480
2534
|
var appStoreContext = createContext(createAppStore());
|
|
2481
|
-
function useAppStore(selector) {
|
|
2482
|
-
const context = useContext(appStoreContext);
|
|
2483
|
-
return useStore(context, selector);
|
|
2484
|
-
}
|
|
2485
|
-
function useAppStoreApi() {
|
|
2486
|
-
return useContext(appStoreContext);
|
|
2487
|
-
}
|
|
2488
|
-
|
|
2489
|
-
// ../core/lib/use-breadcrumbs.ts
|
|
2490
|
-
var useBreadcrumbs = (renderCount) => {
|
|
2491
|
-
const selectedId = useAppStore((s) => {
|
|
2492
|
-
var _a;
|
|
2493
|
-
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
|
2494
|
-
});
|
|
2495
|
-
const config = useAppStore((s) => s.config);
|
|
2496
|
-
const path = useAppStore((s) => {
|
|
2497
|
-
var _a;
|
|
2498
|
-
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
|
2499
|
-
});
|
|
2500
|
-
const appStore = useAppStoreApi();
|
|
2501
|
-
return useMemo(() => {
|
|
2502
|
-
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
|
2503
|
-
var _a, _b, _c;
|
|
2504
|
-
const [componentId] = zoneCompound.split(":");
|
|
2505
|
-
if (componentId === "root") {
|
|
2506
|
-
return {
|
|
2507
|
-
label: "Page",
|
|
2508
|
-
selector: null
|
|
2509
|
-
};
|
|
2510
|
-
}
|
|
2511
|
-
const node = appStore.getState().state.indexes.nodes[componentId];
|
|
2512
|
-
const parentId = node.path[node.path.length - 1];
|
|
2513
|
-
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
|
2514
|
-
const index = contentIds.indexOf(componentId);
|
|
2515
|
-
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
|
2516
|
-
return {
|
|
2517
|
-
label,
|
|
2518
|
-
selector: node ? {
|
|
2519
|
-
index,
|
|
2520
|
-
zone: node.path[node.path.length - 1]
|
|
2521
|
-
} : null
|
|
2522
|
-
};
|
|
2523
|
-
})) || [];
|
|
2524
|
-
if (renderCount) {
|
|
2525
|
-
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
|
2526
|
-
}
|
|
2527
|
-
return breadcrumbs;
|
|
2528
|
-
}, [path, renderCount]);
|
|
2529
|
-
};
|
|
2530
|
-
|
|
2531
|
-
// ../core/components/Loader/index.tsx
|
|
2532
|
-
init_react_import();
|
|
2533
|
-
|
|
2534
|
-
// ../core/lib/index.ts
|
|
2535
|
-
init_react_import();
|
|
2536
|
-
|
|
2537
|
-
// ../core/lib/filter.ts
|
|
2538
|
-
init_react_import();
|
|
2539
|
-
|
|
2540
|
-
// ../core/lib/data/reorder.ts
|
|
2541
|
-
init_react_import();
|
|
2542
|
-
|
|
2543
|
-
// ../core/lib/data/replace.ts
|
|
2544
|
-
init_react_import();
|
|
2545
|
-
|
|
2546
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
|
2547
|
-
init_react_import();
|
|
2548
2535
|
|
|
2549
2536
|
// ../core/lib/get-zoom-config.ts
|
|
2550
2537
|
init_react_import();
|
|
2551
2538
|
|
|
2552
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
|
2553
|
-
init_react_import();
|
|
2554
|
-
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
|
2555
|
-
|
|
2556
|
-
// ../core/components/Loader/index.tsx
|
|
2557
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
2558
|
-
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
|
2559
|
-
var Loader = (_a) => {
|
|
2560
|
-
var _b = _a, {
|
|
2561
|
-
color,
|
|
2562
|
-
size = 16
|
|
2563
|
-
} = _b, props = __objRest(_b, [
|
|
2564
|
-
"color",
|
|
2565
|
-
"size"
|
|
2566
|
-
]);
|
|
2567
|
-
return /* @__PURE__ */ jsx2(
|
|
2568
|
-
"span",
|
|
2569
|
-
__spreadValues({
|
|
2570
|
-
className: getClassName2(),
|
|
2571
|
-
style: {
|
|
2572
|
-
width: size,
|
|
2573
|
-
height: size,
|
|
2574
|
-
color
|
|
2575
|
-
},
|
|
2576
|
-
"aria-label": "loading"
|
|
2577
|
-
}, props)
|
|
2578
|
-
);
|
|
2579
|
-
};
|
|
2580
|
-
|
|
2581
|
-
// ../core/components/SidebarSection/index.tsx
|
|
2582
|
-
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
2583
|
-
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
|
2584
|
-
var SidebarSection = ({
|
|
2585
|
-
children,
|
|
2586
|
-
title,
|
|
2587
|
-
background,
|
|
2588
|
-
showBreadcrumbs,
|
|
2589
|
-
noBorderTop,
|
|
2590
|
-
noPadding,
|
|
2591
|
-
isLoading
|
|
2592
|
-
}) => {
|
|
2593
|
-
const setUi = useAppStore((s) => s.setUi);
|
|
2594
|
-
const breadcrumbs = useBreadcrumbs(1);
|
|
2595
|
-
return /* @__PURE__ */ jsxs(
|
|
2596
|
-
"div",
|
|
2597
|
-
{
|
|
2598
|
-
className: getClassName3({ noBorderTop, noPadding }),
|
|
2599
|
-
style: { background },
|
|
2600
|
-
children: [
|
|
2601
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("title"), children: /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumbs"), children: [
|
|
2602
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumb"), children: [
|
|
2603
|
-
/* @__PURE__ */ jsx3(
|
|
2604
|
-
"button",
|
|
2605
|
-
{
|
|
2606
|
-
type: "button",
|
|
2607
|
-
className: getClassName3("breadcrumbLabel"),
|
|
2608
|
-
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
|
2609
|
-
children: breadcrumb.label
|
|
2610
|
-
}
|
|
2611
|
-
),
|
|
2612
|
-
/* @__PURE__ */ jsx3(ChevronRight, { size: 16 })
|
|
2613
|
-
] }, i)) : null,
|
|
2614
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("heading"), children: /* @__PURE__ */ jsx3(Heading, { rank: "2", size: "xs", children: title }) })
|
|
2615
|
-
] }) }),
|
|
2616
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("content"), children }),
|
|
2617
|
-
isLoading && /* @__PURE__ */ jsx3("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ jsx3(Loader, { size: 32 }) })
|
|
2618
|
-
]
|
|
2619
|
-
}
|
|
2620
|
-
);
|
|
2621
|
-
};
|
|
2622
|
-
|
|
2623
|
-
// ../core/components/OutlineList/index.tsx
|
|
2624
|
-
init_react_import();
|
|
2625
|
-
|
|
2626
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
2627
|
-
init_react_import();
|
|
2628
|
-
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
2629
|
-
|
|
2630
|
-
// ../core/components/OutlineList/index.tsx
|
|
2631
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
2632
|
-
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
|
2633
|
-
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
|
2634
|
-
var OutlineList = ({ children }) => {
|
|
2635
|
-
return /* @__PURE__ */ jsx4("ul", { className: getClassName4(), children });
|
|
2636
|
-
};
|
|
2637
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ jsx4("div", { className: getClassNameItem({ clickable: true }), children });
|
|
2638
|
-
OutlineList.Item = ({
|
|
2639
|
-
children,
|
|
2640
|
-
onClick
|
|
2641
|
-
}) => {
|
|
2642
|
-
return /* @__PURE__ */ jsx4(
|
|
2643
|
-
"li",
|
|
2644
|
-
{
|
|
2645
|
-
className: getClassNameItem({ clickable: !!onClick }),
|
|
2646
|
-
onClick,
|
|
2647
|
-
children
|
|
2648
|
-
}
|
|
2649
|
-
);
|
|
2650
|
-
};
|
|
2651
|
-
|
|
2652
|
-
// ../core/lib/scroll-into-view.ts
|
|
2653
|
-
init_react_import();
|
|
2654
|
-
var scrollIntoView = (el) => {
|
|
2655
|
-
const oldStyle = __spreadValues({}, el.style);
|
|
2656
|
-
el.style.scrollMargin = "256px";
|
|
2657
|
-
if (el) {
|
|
2658
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
2659
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
2660
|
-
}
|
|
2661
|
-
};
|
|
2662
|
-
|
|
2663
|
-
// ../core/lib/get-frame.ts
|
|
2664
|
-
init_react_import();
|
|
2665
|
-
var getFrame = () => {
|
|
2666
|
-
if (typeof window === "undefined") return;
|
|
2667
|
-
let frameEl = document.querySelector("#preview-frame");
|
|
2668
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
2669
|
-
return frameEl.contentDocument || document;
|
|
2670
|
-
}
|
|
2671
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
2672
|
-
};
|
|
2673
|
-
|
|
2674
2539
|
// src/HeadingAnalyzer.tsx
|
|
2675
2540
|
import ReactFromJSONModule from "react-from-json";
|
|
2676
|
-
import { Fragment, jsx as
|
|
2677
|
-
var
|
|
2541
|
+
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
2542
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2678
2543
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2679
2544
|
var ReactFromJSON = ReactFromJSONModule.default || ReactFromJSONModule;
|
|
2680
2545
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2765,11 +2630,11 @@ var HeadingAnalyzer = () => {
|
|
|
2765
2630
|
frameObserver.disconnect();
|
|
2766
2631
|
};
|
|
2767
2632
|
}, [data]);
|
|
2768
|
-
return /* @__PURE__ */
|
|
2769
|
-
/* @__PURE__ */
|
|
2633
|
+
return /* @__PURE__ */ jsxs("div", { className: getClassName2(), children: [
|
|
2634
|
+
/* @__PURE__ */ jsxs(
|
|
2770
2635
|
"small",
|
|
2771
2636
|
{
|
|
2772
|
-
className:
|
|
2637
|
+
className: getClassName2("cssWarning"),
|
|
2773
2638
|
style: {
|
|
2774
2639
|
color: "var(--puck-color-red-04)",
|
|
2775
2640
|
display: "block",
|
|
@@ -2778,19 +2643,19 @@ var HeadingAnalyzer = () => {
|
|
|
2778
2643
|
children: [
|
|
2779
2644
|
"Heading analyzer styles not loaded. Please review the",
|
|
2780
2645
|
" ",
|
|
2781
|
-
/* @__PURE__ */
|
|
2646
|
+
/* @__PURE__ */ jsx2("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2782
2647
|
"."
|
|
2783
2648
|
]
|
|
2784
2649
|
}
|
|
2785
2650
|
),
|
|
2786
|
-
hierarchy.length === 0 && /* @__PURE__ */
|
|
2787
|
-
/* @__PURE__ */
|
|
2651
|
+
hierarchy.length === 0 && /* @__PURE__ */ jsx2("div", { children: "No headings." }),
|
|
2652
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: /* @__PURE__ */ jsx2(
|
|
2788
2653
|
ReactFromJSON,
|
|
2789
2654
|
{
|
|
2790
2655
|
mapping: {
|
|
2791
|
-
Root: (props) => /* @__PURE__ */
|
|
2792
|
-
OutlineListItem: (props) => /* @__PURE__ */
|
|
2793
|
-
/* @__PURE__ */
|
|
2656
|
+
Root: (props) => /* @__PURE__ */ jsx2(Fragment, { children: props.children }),
|
|
2657
|
+
OutlineListItem: (props) => /* @__PURE__ */ jsxs(OutlineList.Item, { children: [
|
|
2658
|
+
/* @__PURE__ */ jsx2(OutlineList.Clickable, { children: /* @__PURE__ */ jsx2(
|
|
2794
2659
|
"small",
|
|
2795
2660
|
{
|
|
2796
2661
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2808,14 +2673,14 @@ var HeadingAnalyzer = () => {
|
|
|
2808
2673
|
}, 2e3);
|
|
2809
2674
|
}
|
|
2810
2675
|
},
|
|
2811
|
-
children: props.missing ? /* @__PURE__ */
|
|
2812
|
-
/* @__PURE__ */
|
|
2676
|
+
children: props.missing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2677
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
2813
2678
|
"H",
|
|
2814
2679
|
props.rank
|
|
2815
2680
|
] }),
|
|
2816
2681
|
": Missing"
|
|
2817
|
-
] }) : /* @__PURE__ */
|
|
2818
|
-
/* @__PURE__ */
|
|
2682
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2683
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
2819
2684
|
"H",
|
|
2820
2685
|
props.rank
|
|
2821
2686
|
] }),
|
|
@@ -2824,7 +2689,7 @@ var HeadingAnalyzer = () => {
|
|
|
2824
2689
|
] })
|
|
2825
2690
|
}
|
|
2826
2691
|
) }),
|
|
2827
|
-
/* @__PURE__ */
|
|
2692
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: props.children })
|
|
2828
2693
|
] })
|
|
2829
2694
|
},
|
|
2830
2695
|
entry: {
|
|
@@ -2845,12 +2710,10 @@ var HeadingAnalyzer = () => {
|
|
|
2845
2710
|
] });
|
|
2846
2711
|
};
|
|
2847
2712
|
var headingAnalyzer = {
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
] })
|
|
2853
|
-
}
|
|
2713
|
+
name: "heading-analyzer",
|
|
2714
|
+
label: "Audit",
|
|
2715
|
+
render: HeadingAnalyzer,
|
|
2716
|
+
icon: /* @__PURE__ */ jsx2(Heading1, {})
|
|
2854
2717
|
};
|
|
2855
2718
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2856
2719
|
export {
|
|
@@ -2866,45 +2729,10 @@ classnames/index.js:
|
|
|
2866
2729
|
*)
|
|
2867
2730
|
|
|
2868
2731
|
lucide-react/dist/esm/shared/src/utils.js:
|
|
2869
|
-
(**
|
|
2870
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2871
|
-
*
|
|
2872
|
-
* This source code is licensed under the ISC license.
|
|
2873
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2874
|
-
*)
|
|
2875
|
-
|
|
2876
2732
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2877
|
-
(**
|
|
2878
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2879
|
-
*
|
|
2880
|
-
* This source code is licensed under the ISC license.
|
|
2881
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2882
|
-
*)
|
|
2883
|
-
|
|
2884
2733
|
lucide-react/dist/esm/Icon.js:
|
|
2885
|
-
(**
|
|
2886
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2887
|
-
*
|
|
2888
|
-
* This source code is licensed under the ISC license.
|
|
2889
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2890
|
-
*)
|
|
2891
|
-
|
|
2892
2734
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2893
|
-
|
|
2894
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2895
|
-
*
|
|
2896
|
-
* This source code is licensed under the ISC license.
|
|
2897
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2898
|
-
*)
|
|
2899
|
-
|
|
2900
|
-
lucide-react/dist/esm/icons/chevron-right.js:
|
|
2901
|
-
(**
|
|
2902
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2903
|
-
*
|
|
2904
|
-
* This source code is licensed under the ISC license.
|
|
2905
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2906
|
-
*)
|
|
2907
|
-
|
|
2735
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
|
2908
2736
|
lucide-react/dist/esm/lucide-react.js:
|
|
2909
2737
|
(**
|
|
2910
2738
|
* @license lucide-react v0.468.0 - ISC
|