@measured/puck-plugin-heading-analyzer 0.21.0-canary.e310a175 → 0.21.0-canary.e491598a
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 +64 -45
- package/dist/index.d.ts +64 -45
- package/dist/index.js +115 -303
- package/dist/index.mjs +109 -297
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -268,30 +268,30 @@ var require_flat = __commonJS({
|
|
|
268
268
|
});
|
|
269
269
|
|
|
270
270
|
// index.ts
|
|
271
|
-
var
|
|
272
|
-
__export(
|
|
271
|
+
var index_exports = {};
|
|
272
|
+
__export(index_exports, {
|
|
273
273
|
default: () => HeadingAnalyzer_default
|
|
274
274
|
});
|
|
275
|
-
module.exports = __toCommonJS(
|
|
275
|
+
module.exports = __toCommonJS(index_exports);
|
|
276
276
|
init_react_import();
|
|
277
277
|
|
|
278
278
|
// src/HeadingAnalyzer.tsx
|
|
279
279
|
init_react_import();
|
|
280
|
-
var
|
|
280
|
+
var import_react10 = require("react");
|
|
281
281
|
|
|
282
282
|
// css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css#css-module
|
|
283
283
|
init_react_import();
|
|
284
|
-
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "
|
|
284
|
+
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "_HeadingAnalyzer_yg0s7_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_yg0s7_6", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_yg0s7_10", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_yg0s7_14" };
|
|
285
285
|
|
|
286
286
|
// src/HeadingAnalyzer.tsx
|
|
287
287
|
var import_puck = require("@measured/puck");
|
|
288
288
|
|
|
289
|
-
// ../core/components/
|
|
289
|
+
// ../core/components/OutlineList/index.tsx
|
|
290
290
|
init_react_import();
|
|
291
291
|
|
|
292
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/
|
|
292
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
293
293
|
init_react_import();
|
|
294
|
-
var styles_module_default = { "
|
|
294
|
+
var styles_module_default = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
295
295
|
|
|
296
296
|
// ../core/lib/get-class-name-factory.ts
|
|
297
297
|
init_react_import();
|
|
@@ -320,29 +320,50 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
|
320
320
|
};
|
|
321
321
|
var get_class_name_factory_default = getClassNameFactory;
|
|
322
322
|
|
|
323
|
-
// ../core/components/
|
|
324
|
-
init_react_import();
|
|
325
|
-
|
|
326
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
|
|
327
|
-
init_react_import();
|
|
328
|
-
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" };
|
|
329
|
-
|
|
330
|
-
// ../core/components/Heading/index.tsx
|
|
323
|
+
// ../core/components/OutlineList/index.tsx
|
|
331
324
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
332
|
-
var getClassName = get_class_name_factory_default("
|
|
333
|
-
var
|
|
334
|
-
|
|
325
|
+
var getClassName = get_class_name_factory_default("OutlineList", styles_module_default);
|
|
326
|
+
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default);
|
|
327
|
+
var OutlineList = ({ children }) => {
|
|
328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { className: getClassName(), children });
|
|
329
|
+
};
|
|
330
|
+
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassNameItem({ clickable: true }), children });
|
|
331
|
+
OutlineList.Item = ({
|
|
332
|
+
children,
|
|
333
|
+
onClick
|
|
334
|
+
}) => {
|
|
335
335
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
336
|
-
|
|
336
|
+
"li",
|
|
337
337
|
{
|
|
338
|
-
className:
|
|
339
|
-
|
|
340
|
-
}),
|
|
338
|
+
className: getClassNameItem({ clickable: !!onClick }),
|
|
339
|
+
onClick,
|
|
341
340
|
children
|
|
342
341
|
}
|
|
343
342
|
);
|
|
344
343
|
};
|
|
345
344
|
|
|
345
|
+
// ../core/lib/scroll-into-view.ts
|
|
346
|
+
init_react_import();
|
|
347
|
+
var scrollIntoView = (el) => {
|
|
348
|
+
const oldStyle = __spreadValues({}, el.style);
|
|
349
|
+
el.style.scrollMargin = "256px";
|
|
350
|
+
if (el) {
|
|
351
|
+
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
352
|
+
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
// ../core/lib/get-frame.ts
|
|
357
|
+
init_react_import();
|
|
358
|
+
var getFrame = () => {
|
|
359
|
+
if (typeof window === "undefined") return;
|
|
360
|
+
let frameEl = document.querySelector("#preview-frame");
|
|
361
|
+
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
362
|
+
return frameEl.contentDocument || document;
|
|
363
|
+
}
|
|
364
|
+
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
365
|
+
};
|
|
366
|
+
|
|
346
367
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
347
368
|
init_react_import();
|
|
348
369
|
|
|
@@ -430,15 +451,29 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
|
430
451
|
return Component;
|
|
431
452
|
};
|
|
432
453
|
|
|
433
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
|
454
|
+
// ../../node_modules/lucide-react/dist/esm/icons/heading-1.js
|
|
434
455
|
init_react_import();
|
|
435
|
-
var
|
|
436
|
-
["path", { d: "
|
|
456
|
+
var Heading1 = createLucideIcon("Heading1", [
|
|
457
|
+
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
458
|
+
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
459
|
+
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
460
|
+
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
|
437
461
|
]);
|
|
438
462
|
|
|
439
|
-
// ../core/lib/
|
|
463
|
+
// ../core/lib/index.ts
|
|
464
|
+
init_react_import();
|
|
465
|
+
|
|
466
|
+
// ../core/lib/filter.ts
|
|
467
|
+
init_react_import();
|
|
468
|
+
|
|
469
|
+
// ../core/lib/data/reorder.ts
|
|
470
|
+
init_react_import();
|
|
471
|
+
|
|
472
|
+
// ../core/lib/data/replace.ts
|
|
473
|
+
init_react_import();
|
|
474
|
+
|
|
475
|
+
// ../core/lib/use-reset-auto-zoom.ts
|
|
440
476
|
init_react_import();
|
|
441
|
-
var import_react10 = require("react");
|
|
442
477
|
|
|
443
478
|
// ../core/store/index.ts
|
|
444
479
|
init_react_import();
|
|
@@ -818,10 +853,10 @@ var insert = (list, index, item) => {
|
|
|
818
853
|
// ../core/lib/generate-id.ts
|
|
819
854
|
init_react_import();
|
|
820
855
|
|
|
821
|
-
//
|
|
856
|
+
// ../core/node_modules/uuid/dist/esm-node/index.js
|
|
822
857
|
init_react_import();
|
|
823
858
|
|
|
824
|
-
//
|
|
859
|
+
// ../core/node_modules/uuid/dist/esm-node/rng.js
|
|
825
860
|
init_react_import();
|
|
826
861
|
var import_crypto = __toESM(require("crypto"));
|
|
827
862
|
var rnds8Pool = new Uint8Array(256);
|
|
@@ -834,7 +869,7 @@ function rng() {
|
|
|
834
869
|
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
835
870
|
}
|
|
836
871
|
|
|
837
|
-
//
|
|
872
|
+
// ../core/node_modules/uuid/dist/esm-node/stringify.js
|
|
838
873
|
init_react_import();
|
|
839
874
|
var byteToHex = [];
|
|
840
875
|
for (let i = 0; i < 256; ++i) {
|
|
@@ -844,17 +879,17 @@ function unsafeStringify(arr, offset = 0) {
|
|
|
844
879
|
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]];
|
|
845
880
|
}
|
|
846
881
|
|
|
847
|
-
//
|
|
882
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
848
883
|
init_react_import();
|
|
849
884
|
|
|
850
|
-
//
|
|
885
|
+
// ../core/node_modules/uuid/dist/esm-node/native.js
|
|
851
886
|
init_react_import();
|
|
852
887
|
var import_crypto2 = __toESM(require("crypto"));
|
|
853
888
|
var native_default = {
|
|
854
889
|
randomUUID: import_crypto2.default.randomUUID
|
|
855
890
|
};
|
|
856
891
|
|
|
857
|
-
//
|
|
892
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
858
893
|
function v4(options, buf, offset) {
|
|
859
894
|
if (native_default.randomUUID && !buf && !options) {
|
|
860
895
|
return native_default.randomUUID();
|
|
@@ -1408,7 +1443,8 @@ init_react_import();
|
|
|
1408
1443
|
var defaultViewports = [
|
|
1409
1444
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1410
1445
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1411
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1446
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" },
|
|
1447
|
+
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1412
1448
|
];
|
|
1413
1449
|
|
|
1414
1450
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -1434,7 +1470,7 @@ var createStoreImpl = (createState) => {
|
|
|
1434
1470
|
const initialState = state = createState(setState, getState, api);
|
|
1435
1471
|
return api;
|
|
1436
1472
|
};
|
|
1437
|
-
var createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
|
|
1473
|
+
var createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
|
|
1438
1474
|
|
|
1439
1475
|
// ../../node_modules/zustand/esm/react.mjs
|
|
1440
1476
|
init_react_import();
|
|
@@ -1443,8 +1479,8 @@ var identity = (arg) => arg;
|
|
|
1443
1479
|
function useStore(api, selector = identity) {
|
|
1444
1480
|
const slice = import_react4.default.useSyncExternalStore(
|
|
1445
1481
|
api.subscribe,
|
|
1446
|
-
() => selector(api.getState()),
|
|
1447
|
-
() => selector(api.getInitialState())
|
|
1482
|
+
import_react4.default.useCallback(() => selector(api.getState()), [api, selector]),
|
|
1483
|
+
import_react4.default.useCallback(() => selector(api.getInitialState()), [api, selector])
|
|
1448
1484
|
);
|
|
1449
1485
|
import_react4.default.useDebugValue(slice);
|
|
1450
1486
|
return slice;
|
|
@@ -1455,13 +1491,13 @@ var createImpl = (createState) => {
|
|
|
1455
1491
|
Object.assign(useBoundStore, api);
|
|
1456
1492
|
return useBoundStore;
|
|
1457
1493
|
};
|
|
1458
|
-
var create = (createState) => createState ? createImpl(createState) : createImpl;
|
|
1494
|
+
var create = ((createState) => createState ? createImpl(createState) : createImpl);
|
|
1459
1495
|
|
|
1460
1496
|
// ../../node_modules/zustand/esm/middleware.mjs
|
|
1461
1497
|
init_react_import();
|
|
1462
1498
|
var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
1463
1499
|
const origSubscribe = api.subscribe;
|
|
1464
|
-
api.subscribe = (selector, optListener, options) => {
|
|
1500
|
+
api.subscribe = ((selector, optListener, options) => {
|
|
1465
1501
|
let listener = selector;
|
|
1466
1502
|
if (optListener) {
|
|
1467
1503
|
const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;
|
|
@@ -1478,7 +1514,7 @@ var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
|
1478
1514
|
}
|
|
1479
1515
|
}
|
|
1480
1516
|
return origSubscribe(listener);
|
|
1481
|
-
};
|
|
1517
|
+
});
|
|
1482
1518
|
const initialState = fn(set, get, api);
|
|
1483
1519
|
return initialState;
|
|
1484
1520
|
};
|
|
@@ -1695,9 +1731,9 @@ function createIsCircular(areItemsEqual) {
|
|
|
1695
1731
|
function getStrictProperties(object) {
|
|
1696
1732
|
return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));
|
|
1697
1733
|
}
|
|
1698
|
-
var hasOwn = Object.hasOwn || function(object, property) {
|
|
1734
|
+
var hasOwn = Object.hasOwn || (function(object, property) {
|
|
1699
1735
|
return hasOwnProperty.call(object, property);
|
|
1700
|
-
};
|
|
1736
|
+
});
|
|
1701
1737
|
function sameValueZeroEqual(a, b) {
|
|
1702
1738
|
return a === b || !a && !b && a !== a && b !== b;
|
|
1703
1739
|
}
|
|
@@ -2087,10 +2123,10 @@ var getChanged = (newItem, oldItem) => {
|
|
|
2087
2123
|
|
|
2088
2124
|
// ../core/store/slices/permissions.ts
|
|
2089
2125
|
var createPermissionsSlice = (set, get) => {
|
|
2090
|
-
const resolvePermissions = (..._0) => __async(
|
|
2126
|
+
const resolvePermissions = (..._0) => __async(null, [..._0], function* (params = {}, force) {
|
|
2091
2127
|
const { state, permissions, config } = get();
|
|
2092
2128
|
const { cache: cache2, globalPermissions } = permissions;
|
|
2093
|
-
const resolveDataForItem = (item2, force2 = false) => __async(
|
|
2129
|
+
const resolveDataForItem = (item2, force2 = false) => __async(null, null, function* () {
|
|
2094
2130
|
var _a, _b, _c;
|
|
2095
2131
|
const { config: config2, state: appState, setComponentLoading } = get();
|
|
2096
2132
|
const componentConfig = item2.type === "root" ? config2.root : config2.components[item2.type];
|
|
@@ -2145,13 +2181,13 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2145
2181
|
if (item) {
|
|
2146
2182
|
yield resolveDataForItem(item, force);
|
|
2147
2183
|
} else if (type) {
|
|
2148
|
-
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(
|
|
2184
|
+
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(null, null, function* () {
|
|
2149
2185
|
yield resolveDataForItem(item2, force);
|
|
2150
2186
|
}));
|
|
2151
2187
|
} else if (root) {
|
|
2152
2188
|
resolveDataForRoot(force);
|
|
2153
2189
|
} else {
|
|
2154
|
-
flattenData(state, config).map((item2) => __async(
|
|
2190
|
+
flattenData(state, config).map((item2) => __async(null, null, function* () {
|
|
2155
2191
|
yield resolveDataForItem(item2, force);
|
|
2156
2192
|
}));
|
|
2157
2193
|
}
|
|
@@ -2206,7 +2242,7 @@ var createFieldsSlice = (_set, _get) => {
|
|
|
2206
2242
|
// ../core/lib/resolve-component-data.ts
|
|
2207
2243
|
init_react_import();
|
|
2208
2244
|
var cache = { lastChange: {} };
|
|
2209
|
-
var resolveComponentData = (_0, _1, ..._2) => __async(
|
|
2245
|
+
var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
|
|
2210
2246
|
const configForItem = "type" in item && item.type !== "root" ? config.components[item.type] : config.root;
|
|
2211
2247
|
const resolvedItem = __spreadValues({}, item);
|
|
2212
2248
|
const shouldRunResolver = (configForItem == null ? void 0 : configForItem.resolveData) && item.props;
|
|
@@ -2234,11 +2270,11 @@ var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], f
|
|
|
2234
2270
|
let itemWithResolvedChildren = yield mapFields(
|
|
2235
2271
|
resolvedItem,
|
|
2236
2272
|
{
|
|
2237
|
-
slot: (_02) => __async(
|
|
2273
|
+
slot: (_02) => __async(null, [_02], function* ({ value }) {
|
|
2238
2274
|
const content = value;
|
|
2239
2275
|
return yield Promise.all(
|
|
2240
2276
|
content.map(
|
|
2241
|
-
(childItem) => __async(
|
|
2277
|
+
(childItem) => __async(null, null, function* () {
|
|
2242
2278
|
return (yield resolveComponentData(
|
|
2243
2279
|
childItem,
|
|
2244
2280
|
config,
|
|
@@ -2304,7 +2340,8 @@ var defaultAppState = {
|
|
|
2304
2340
|
options: [],
|
|
2305
2341
|
controlsVisible: true
|
|
2306
2342
|
},
|
|
2307
|
-
field: { focus: null }
|
|
2343
|
+
field: { focus: null },
|
|
2344
|
+
plugin: { current: null }
|
|
2308
2345
|
},
|
|
2309
2346
|
indexes: {
|
|
2310
2347
|
nodes: {},
|
|
@@ -2320,6 +2357,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2320
2357
|
subscribeWithSelector((set, get) => {
|
|
2321
2358
|
var _a, _b;
|
|
2322
2359
|
return __spreadProps(__spreadValues({
|
|
2360
|
+
instanceId: generateId(),
|
|
2323
2361
|
state: defaultAppState,
|
|
2324
2362
|
config: { components: {} },
|
|
2325
2363
|
componentState: {},
|
|
@@ -2428,7 +2466,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2428
2466
|
const selectedItem = state.ui.itemSelector ? getItem(state.ui.itemSelector, state) : null;
|
|
2429
2467
|
return __spreadProps(__spreadValues({}, s), { state, selectedItem });
|
|
2430
2468
|
}),
|
|
2431
|
-
resolveComponentData: (componentData, trigger) => __async(
|
|
2469
|
+
resolveComponentData: (componentData, trigger) => __async(null, null, function* () {
|
|
2432
2470
|
const { config, metadata, setComponentLoading, permissions } = get();
|
|
2433
2471
|
const timeouts = {};
|
|
2434
2472
|
return yield resolveComponentData(
|
|
@@ -2439,7 +2477,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2439
2477
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2440
2478
|
timeouts[id] = setComponentLoading(id, true, 50);
|
|
2441
2479
|
},
|
|
2442
|
-
(item) => __async(
|
|
2480
|
+
(item) => __async(null, null, function* () {
|
|
2443
2481
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2444
2482
|
if ("type" in item) {
|
|
2445
2483
|
yield permissions.refreshPermissions({ item });
|
|
@@ -2451,7 +2489,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2451
2489
|
trigger
|
|
2452
2490
|
);
|
|
2453
2491
|
}),
|
|
2454
|
-
resolveAndCommitData: () => __async(
|
|
2492
|
+
resolveAndCommitData: () => __async(null, null, function* () {
|
|
2455
2493
|
const { config, state, dispatch, resolveComponentData: resolveComponentData2 } = get();
|
|
2456
2494
|
walkAppState(
|
|
2457
2495
|
state,
|
|
@@ -2490,203 +2528,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2490
2528
|
})
|
|
2491
2529
|
);
|
|
2492
2530
|
var appStoreContext = (0, import_react9.createContext)(createAppStore());
|
|
2493
|
-
function useAppStore(selector) {
|
|
2494
|
-
const context = (0, import_react9.useContext)(appStoreContext);
|
|
2495
|
-
return useStore(context, selector);
|
|
2496
|
-
}
|
|
2497
|
-
function useAppStoreApi() {
|
|
2498
|
-
return (0, import_react9.useContext)(appStoreContext);
|
|
2499
|
-
}
|
|
2500
|
-
|
|
2501
|
-
// ../core/lib/use-breadcrumbs.ts
|
|
2502
|
-
var useBreadcrumbs = (renderCount) => {
|
|
2503
|
-
const selectedId = useAppStore((s) => {
|
|
2504
|
-
var _a;
|
|
2505
|
-
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
|
2506
|
-
});
|
|
2507
|
-
const config = useAppStore((s) => s.config);
|
|
2508
|
-
const path = useAppStore((s) => {
|
|
2509
|
-
var _a;
|
|
2510
|
-
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
|
2511
|
-
});
|
|
2512
|
-
const appStore = useAppStoreApi();
|
|
2513
|
-
return (0, import_react10.useMemo)(() => {
|
|
2514
|
-
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
|
2515
|
-
var _a, _b, _c;
|
|
2516
|
-
const [componentId] = zoneCompound.split(":");
|
|
2517
|
-
if (componentId === "root") {
|
|
2518
|
-
return {
|
|
2519
|
-
label: "Page",
|
|
2520
|
-
selector: null
|
|
2521
|
-
};
|
|
2522
|
-
}
|
|
2523
|
-
const node = appStore.getState().state.indexes.nodes[componentId];
|
|
2524
|
-
const parentId = node.path[node.path.length - 1];
|
|
2525
|
-
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
|
2526
|
-
const index = contentIds.indexOf(componentId);
|
|
2527
|
-
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
|
2528
|
-
return {
|
|
2529
|
-
label,
|
|
2530
|
-
selector: node ? {
|
|
2531
|
-
index,
|
|
2532
|
-
zone: node.path[node.path.length - 1]
|
|
2533
|
-
} : null
|
|
2534
|
-
};
|
|
2535
|
-
})) || [];
|
|
2536
|
-
if (renderCount) {
|
|
2537
|
-
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
|
2538
|
-
}
|
|
2539
|
-
return breadcrumbs;
|
|
2540
|
-
}, [path, renderCount]);
|
|
2541
|
-
};
|
|
2542
|
-
|
|
2543
|
-
// ../core/components/Loader/index.tsx
|
|
2544
|
-
init_react_import();
|
|
2545
|
-
|
|
2546
|
-
// ../core/lib/index.ts
|
|
2547
|
-
init_react_import();
|
|
2548
|
-
|
|
2549
|
-
// ../core/lib/filter.ts
|
|
2550
|
-
init_react_import();
|
|
2551
|
-
|
|
2552
|
-
// ../core/lib/data/reorder.ts
|
|
2553
|
-
init_react_import();
|
|
2554
|
-
|
|
2555
|
-
// ../core/lib/data/replace.ts
|
|
2556
|
-
init_react_import();
|
|
2557
|
-
|
|
2558
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
|
2559
|
-
init_react_import();
|
|
2560
2531
|
|
|
2561
2532
|
// ../core/lib/get-zoom-config.ts
|
|
2562
2533
|
init_react_import();
|
|
2563
2534
|
|
|
2564
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
|
2565
|
-
init_react_import();
|
|
2566
|
-
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
|
2567
|
-
|
|
2568
|
-
// ../core/components/Loader/index.tsx
|
|
2569
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2570
|
-
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
|
2571
|
-
var Loader = (_a) => {
|
|
2572
|
-
var _b = _a, {
|
|
2573
|
-
color,
|
|
2574
|
-
size = 16
|
|
2575
|
-
} = _b, props = __objRest(_b, [
|
|
2576
|
-
"color",
|
|
2577
|
-
"size"
|
|
2578
|
-
]);
|
|
2579
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2580
|
-
"span",
|
|
2581
|
-
__spreadValues({
|
|
2582
|
-
className: getClassName2(),
|
|
2583
|
-
style: {
|
|
2584
|
-
width: size,
|
|
2585
|
-
height: size,
|
|
2586
|
-
color
|
|
2587
|
-
},
|
|
2588
|
-
"aria-label": "loading"
|
|
2589
|
-
}, props)
|
|
2590
|
-
);
|
|
2591
|
-
};
|
|
2592
|
-
|
|
2593
|
-
// ../core/components/SidebarSection/index.tsx
|
|
2594
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
2595
|
-
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
|
2596
|
-
var SidebarSection = ({
|
|
2597
|
-
children,
|
|
2598
|
-
title,
|
|
2599
|
-
background,
|
|
2600
|
-
showBreadcrumbs,
|
|
2601
|
-
noBorderTop,
|
|
2602
|
-
noPadding,
|
|
2603
|
-
isLoading
|
|
2604
|
-
}) => {
|
|
2605
|
-
const setUi = useAppStore((s) => s.setUi);
|
|
2606
|
-
const breadcrumbs = useBreadcrumbs(1);
|
|
2607
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
2608
|
-
"div",
|
|
2609
|
-
{
|
|
2610
|
-
className: getClassName3({ noBorderTop, noPadding }),
|
|
2611
|
-
style: { background },
|
|
2612
|
-
children: [
|
|
2613
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("title"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumbs"), children: [
|
|
2614
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumb"), children: [
|
|
2615
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2616
|
-
"button",
|
|
2617
|
-
{
|
|
2618
|
-
type: "button",
|
|
2619
|
-
className: getClassName3("breadcrumbLabel"),
|
|
2620
|
-
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
|
2621
|
-
children: breadcrumb.label
|
|
2622
|
-
}
|
|
2623
|
-
),
|
|
2624
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChevronRight, { size: 16 })
|
|
2625
|
-
] }, i)) : null,
|
|
2626
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Heading, { rank: "2", size: "xs", children: title }) })
|
|
2627
|
-
] }) }),
|
|
2628
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("content"), children }),
|
|
2629
|
-
isLoading && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Loader, { size: 32 }) })
|
|
2630
|
-
]
|
|
2631
|
-
}
|
|
2632
|
-
);
|
|
2633
|
-
};
|
|
2634
|
-
|
|
2635
|
-
// ../core/components/OutlineList/index.tsx
|
|
2636
|
-
init_react_import();
|
|
2637
|
-
|
|
2638
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
2639
|
-
init_react_import();
|
|
2640
|
-
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
2641
|
-
|
|
2642
|
-
// ../core/components/OutlineList/index.tsx
|
|
2643
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
2644
|
-
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
|
2645
|
-
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
|
2646
|
-
var OutlineList = ({ children }) => {
|
|
2647
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("ul", { className: getClassName4(), children });
|
|
2648
|
-
};
|
|
2649
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem({ clickable: true }), children });
|
|
2650
|
-
OutlineList.Item = ({
|
|
2651
|
-
children,
|
|
2652
|
-
onClick
|
|
2653
|
-
}) => {
|
|
2654
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2655
|
-
"li",
|
|
2656
|
-
{
|
|
2657
|
-
className: getClassNameItem({ clickable: !!onClick }),
|
|
2658
|
-
onClick,
|
|
2659
|
-
children
|
|
2660
|
-
}
|
|
2661
|
-
);
|
|
2662
|
-
};
|
|
2663
|
-
|
|
2664
|
-
// ../core/lib/scroll-into-view.ts
|
|
2665
|
-
init_react_import();
|
|
2666
|
-
var scrollIntoView = (el) => {
|
|
2667
|
-
const oldStyle = __spreadValues({}, el.style);
|
|
2668
|
-
el.style.scrollMargin = "256px";
|
|
2669
|
-
if (el) {
|
|
2670
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
2671
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
2672
|
-
}
|
|
2673
|
-
};
|
|
2674
|
-
|
|
2675
|
-
// ../core/lib/get-frame.ts
|
|
2676
|
-
init_react_import();
|
|
2677
|
-
var getFrame = () => {
|
|
2678
|
-
if (typeof window === "undefined") return;
|
|
2679
|
-
let frameEl = document.querySelector("#preview-frame");
|
|
2680
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
2681
|
-
return frameEl.contentDocument || document;
|
|
2682
|
-
}
|
|
2683
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
2684
|
-
};
|
|
2685
|
-
|
|
2686
2535
|
// src/HeadingAnalyzer.tsx
|
|
2687
2536
|
var import_react_from_json = __toESM(require("react-from-json"));
|
|
2688
|
-
var
|
|
2689
|
-
var
|
|
2537
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2538
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2690
2539
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2691
2540
|
var ReactFromJSON = import_react_from_json.default.default || import_react_from_json.default;
|
|
2692
2541
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2741,8 +2590,8 @@ function buildHierarchy(frame) {
|
|
|
2741
2590
|
var usePuck = (0, import_puck.createUsePuck)();
|
|
2742
2591
|
var HeadingAnalyzer = () => {
|
|
2743
2592
|
const data = usePuck((s) => s.appState.data);
|
|
2744
|
-
const [hierarchy, setHierarchy] = (0,
|
|
2745
|
-
(0,
|
|
2593
|
+
const [hierarchy, setHierarchy] = (0, import_react10.useState)([]);
|
|
2594
|
+
(0, import_react10.useEffect)(() => {
|
|
2746
2595
|
const frame = getFrame();
|
|
2747
2596
|
let entry = frame == null ? void 0 : frame.querySelector(`[data-puck-entry]`);
|
|
2748
2597
|
const createHierarchy = () => {
|
|
@@ -2777,11 +2626,11 @@ var HeadingAnalyzer = () => {
|
|
|
2777
2626
|
frameObserver.disconnect();
|
|
2778
2627
|
};
|
|
2779
2628
|
}, [data]);
|
|
2780
|
-
return /* @__PURE__ */ (0,
|
|
2781
|
-
/* @__PURE__ */ (0,
|
|
2629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: getClassName2(), children: [
|
|
2630
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
2782
2631
|
"small",
|
|
2783
2632
|
{
|
|
2784
|
-
className:
|
|
2633
|
+
className: getClassName2("cssWarning"),
|
|
2785
2634
|
style: {
|
|
2786
2635
|
color: "var(--puck-color-red-04)",
|
|
2787
2636
|
display: "block",
|
|
@@ -2790,19 +2639,19 @@ var HeadingAnalyzer = () => {
|
|
|
2790
2639
|
children: [
|
|
2791
2640
|
"Heading analyzer styles not loaded. Please review the",
|
|
2792
2641
|
" ",
|
|
2793
|
-
/* @__PURE__ */ (0,
|
|
2642
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2794
2643
|
"."
|
|
2795
2644
|
]
|
|
2796
2645
|
}
|
|
2797
2646
|
),
|
|
2798
|
-
hierarchy.length === 0 && /* @__PURE__ */ (0,
|
|
2799
|
-
/* @__PURE__ */ (0,
|
|
2647
|
+
hierarchy.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: "No headings." }),
|
|
2648
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2800
2649
|
ReactFromJSON,
|
|
2801
2650
|
{
|
|
2802
2651
|
mapping: {
|
|
2803
|
-
Root: (props) => /* @__PURE__ */ (0,
|
|
2804
|
-
OutlineListItem: (props) => /* @__PURE__ */ (0,
|
|
2805
|
-
/* @__PURE__ */ (0,
|
|
2652
|
+
Root: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: props.children }),
|
|
2653
|
+
OutlineListItem: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(OutlineList.Item, { children: [
|
|
2654
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList.Clickable, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2806
2655
|
"small",
|
|
2807
2656
|
{
|
|
2808
2657
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2820,14 +2669,14 @@ var HeadingAnalyzer = () => {
|
|
|
2820
2669
|
}, 2e3);
|
|
2821
2670
|
}
|
|
2822
2671
|
},
|
|
2823
|
-
children: props.missing ? /* @__PURE__ */ (0,
|
|
2824
|
-
/* @__PURE__ */ (0,
|
|
2672
|
+
children: props.missing ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2673
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2825
2674
|
"H",
|
|
2826
2675
|
props.rank
|
|
2827
2676
|
] }),
|
|
2828
2677
|
": Missing"
|
|
2829
|
-
] }) : /* @__PURE__ */ (0,
|
|
2830
|
-
/* @__PURE__ */ (0,
|
|
2678
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2679
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2831
2680
|
"H",
|
|
2832
2681
|
props.rank
|
|
2833
2682
|
] }),
|
|
@@ -2836,7 +2685,7 @@ var HeadingAnalyzer = () => {
|
|
|
2836
2685
|
] })
|
|
2837
2686
|
}
|
|
2838
2687
|
) }),
|
|
2839
|
-
/* @__PURE__ */ (0,
|
|
2688
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: props.children })
|
|
2840
2689
|
] })
|
|
2841
2690
|
},
|
|
2842
2691
|
entry: {
|
|
@@ -2857,12 +2706,10 @@ var HeadingAnalyzer = () => {
|
|
|
2857
2706
|
] });
|
|
2858
2707
|
};
|
|
2859
2708
|
var headingAnalyzer = {
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
] })
|
|
2865
|
-
}
|
|
2709
|
+
name: "heading-analyzer",
|
|
2710
|
+
label: "Audit",
|
|
2711
|
+
render: HeadingAnalyzer,
|
|
2712
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Heading1, {})
|
|
2866
2713
|
};
|
|
2867
2714
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2868
2715
|
/*! Bundled license information:
|
|
@@ -2875,45 +2722,10 @@ classnames/index.js:
|
|
|
2875
2722
|
*)
|
|
2876
2723
|
|
|
2877
2724
|
lucide-react/dist/esm/shared/src/utils.js:
|
|
2878
|
-
(**
|
|
2879
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2880
|
-
*
|
|
2881
|
-
* This source code is licensed under the ISC license.
|
|
2882
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2883
|
-
*)
|
|
2884
|
-
|
|
2885
2725
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2886
|
-
(**
|
|
2887
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2888
|
-
*
|
|
2889
|
-
* This source code is licensed under the ISC license.
|
|
2890
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2891
|
-
*)
|
|
2892
|
-
|
|
2893
2726
|
lucide-react/dist/esm/Icon.js:
|
|
2894
|
-
(**
|
|
2895
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2896
|
-
*
|
|
2897
|
-
* This source code is licensed under the ISC license.
|
|
2898
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2899
|
-
*)
|
|
2900
|
-
|
|
2901
2727
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2902
|
-
|
|
2903
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2904
|
-
*
|
|
2905
|
-
* This source code is licensed under the ISC license.
|
|
2906
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2907
|
-
*)
|
|
2908
|
-
|
|
2909
|
-
lucide-react/dist/esm/icons/chevron-right.js:
|
|
2910
|
-
(**
|
|
2911
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2912
|
-
*
|
|
2913
|
-
* This source code is licensed under the ISC license.
|
|
2914
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2915
|
-
*)
|
|
2916
|
-
|
|
2728
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
|
2917
2729
|
lucide-react/dist/esm/lucide-react.js:
|
|
2918
2730
|
(**
|
|
2919
2731
|
* @license lucide-react v0.468.0 - ISC
|