@measured/puck-plugin-heading-analyzer 0.21.0-canary.a62292fd → 0.21.0-canary.a7a65997
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 +19 -8
- package/dist/index.d.ts +19 -8
- package/dist/index.js +115 -244
- package/dist/index.mjs +112 -241
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -277,21 +277,21 @@ 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();
|
|
@@ -621,12 +656,12 @@ var walkObject = ({
|
|
|
621
656
|
}
|
|
622
657
|
return flatten(newProps);
|
|
623
658
|
};
|
|
624
|
-
function mapFields(item, mappers, config, recurseSlots = false) {
|
|
659
|
+
function mapFields(item, mappers, config, recurseSlots = false, shouldDefaultSlots = true) {
|
|
625
660
|
var _a, _b, _c, _d, _e;
|
|
626
661
|
const itemType = "type" in item ? item.type : "root";
|
|
627
662
|
const componentConfig = itemType === "root" ? config.root : (_a = config.components) == null ? void 0 : _a[itemType];
|
|
628
663
|
const newProps = walkObject({
|
|
629
|
-
value: defaultSlots((_b = item.props) != null ? _b : {}, (_c = componentConfig == null ? void 0 : componentConfig.fields) != null ? _c : {}),
|
|
664
|
+
value: shouldDefaultSlots ? defaultSlots((_b = item.props) != null ? _b : {}, (_c = componentConfig == null ? void 0 : componentConfig.fields) != null ? _c : {}) : item.props,
|
|
630
665
|
fields: (_d = componentConfig == null ? void 0 : componentConfig.fields) != null ? _d : {},
|
|
631
666
|
mappers,
|
|
632
667
|
id: item.props ? (_e = item.props.id) != null ? _e : "root" : "root",
|
|
@@ -656,9 +691,28 @@ var stripSlots = (data, config) => {
|
|
|
656
691
|
|
|
657
692
|
// ../core/lib/data/flatten-node.ts
|
|
658
693
|
var { flatten: flatten2, unflatten } = import_flat.default;
|
|
694
|
+
function isEmptyArrayOrObject(val) {
|
|
695
|
+
if (Array.isArray(val)) {
|
|
696
|
+
return val.length === 0;
|
|
697
|
+
}
|
|
698
|
+
if (val != null && Object.prototype.toString.call(val) === "[object Object]") {
|
|
699
|
+
return Object.keys(val).length === 0;
|
|
700
|
+
}
|
|
701
|
+
return false;
|
|
702
|
+
}
|
|
703
|
+
function stripEmptyObjects(props) {
|
|
704
|
+
const result = {};
|
|
705
|
+
for (const key in props) {
|
|
706
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) continue;
|
|
707
|
+
const val = props[key];
|
|
708
|
+
if (isEmptyArrayOrObject(val)) continue;
|
|
709
|
+
result[key] = val;
|
|
710
|
+
}
|
|
711
|
+
return result;
|
|
712
|
+
}
|
|
659
713
|
var flattenNode = (node, config) => {
|
|
660
714
|
return __spreadProps(__spreadValues({}, node), {
|
|
661
|
-
props: flatten2(stripSlots(node, config).props)
|
|
715
|
+
props: stripEmptyObjects(flatten2(stripSlots(node, config).props))
|
|
662
716
|
});
|
|
663
717
|
};
|
|
664
718
|
|
|
@@ -1410,7 +1464,8 @@ init_react_import();
|
|
|
1410
1464
|
var defaultViewports = [
|
|
1411
1465
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1412
1466
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1413
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1467
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" },
|
|
1468
|
+
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1414
1469
|
];
|
|
1415
1470
|
|
|
1416
1471
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -2315,7 +2370,8 @@ var defaultAppState = {
|
|
|
2315
2370
|
options: [],
|
|
2316
2371
|
controlsVisible: true
|
|
2317
2372
|
},
|
|
2318
|
-
field: { focus: null }
|
|
2373
|
+
field: { focus: null },
|
|
2374
|
+
plugin: { current: null }
|
|
2319
2375
|
},
|
|
2320
2376
|
indexes: {
|
|
2321
2377
|
nodes: {},
|
|
@@ -2331,6 +2387,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2331
2387
|
subscribeWithSelector((set, get) => {
|
|
2332
2388
|
var _a, _b;
|
|
2333
2389
|
return __spreadProps(__spreadValues({
|
|
2390
|
+
instanceId: generateId(),
|
|
2334
2391
|
state: defaultAppState,
|
|
2335
2392
|
config: { components: {} },
|
|
2336
2393
|
componentState: {},
|
|
@@ -2351,6 +2408,11 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2351
2408
|
history: createHistorySlice(set, get),
|
|
2352
2409
|
nodes: createNodesSlice(set, get),
|
|
2353
2410
|
permissions: createPermissionsSlice(set, get),
|
|
2411
|
+
getCurrentData: () => {
|
|
2412
|
+
var _a2;
|
|
2413
|
+
const s = get();
|
|
2414
|
+
return (_a2 = s.selectedItem) != null ? _a2 : s.state.data.root;
|
|
2415
|
+
},
|
|
2354
2416
|
getComponentConfig: (type) => {
|
|
2355
2417
|
var _a2;
|
|
2356
2418
|
const { config, selectedItem } = get();
|
|
@@ -2501,203 +2563,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2501
2563
|
})
|
|
2502
2564
|
);
|
|
2503
2565
|
var appStoreContext = (0, import_react9.createContext)(createAppStore());
|
|
2504
|
-
function useAppStore(selector) {
|
|
2505
|
-
const context = (0, import_react9.useContext)(appStoreContext);
|
|
2506
|
-
return useStore(context, selector);
|
|
2507
|
-
}
|
|
2508
|
-
function useAppStoreApi() {
|
|
2509
|
-
return (0, import_react9.useContext)(appStoreContext);
|
|
2510
|
-
}
|
|
2511
|
-
|
|
2512
|
-
// ../core/lib/use-breadcrumbs.ts
|
|
2513
|
-
var useBreadcrumbs = (renderCount) => {
|
|
2514
|
-
const selectedId = useAppStore((s) => {
|
|
2515
|
-
var _a;
|
|
2516
|
-
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
|
2517
|
-
});
|
|
2518
|
-
const config = useAppStore((s) => s.config);
|
|
2519
|
-
const path = useAppStore((s) => {
|
|
2520
|
-
var _a;
|
|
2521
|
-
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
|
2522
|
-
});
|
|
2523
|
-
const appStore = useAppStoreApi();
|
|
2524
|
-
return (0, import_react10.useMemo)(() => {
|
|
2525
|
-
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
|
2526
|
-
var _a, _b, _c;
|
|
2527
|
-
const [componentId] = zoneCompound.split(":");
|
|
2528
|
-
if (componentId === "root") {
|
|
2529
|
-
return {
|
|
2530
|
-
label: "Page",
|
|
2531
|
-
selector: null
|
|
2532
|
-
};
|
|
2533
|
-
}
|
|
2534
|
-
const node = appStore.getState().state.indexes.nodes[componentId];
|
|
2535
|
-
const parentId = node.path[node.path.length - 1];
|
|
2536
|
-
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
|
2537
|
-
const index = contentIds.indexOf(componentId);
|
|
2538
|
-
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
|
2539
|
-
return {
|
|
2540
|
-
label,
|
|
2541
|
-
selector: node ? {
|
|
2542
|
-
index,
|
|
2543
|
-
zone: node.path[node.path.length - 1]
|
|
2544
|
-
} : null
|
|
2545
|
-
};
|
|
2546
|
-
})) || [];
|
|
2547
|
-
if (renderCount) {
|
|
2548
|
-
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
|
2549
|
-
}
|
|
2550
|
-
return breadcrumbs;
|
|
2551
|
-
}, [path, renderCount]);
|
|
2552
|
-
};
|
|
2553
|
-
|
|
2554
|
-
// ../core/components/Loader/index.tsx
|
|
2555
|
-
init_react_import();
|
|
2556
|
-
|
|
2557
|
-
// ../core/lib/index.ts
|
|
2558
|
-
init_react_import();
|
|
2559
|
-
|
|
2560
|
-
// ../core/lib/filter.ts
|
|
2561
|
-
init_react_import();
|
|
2562
|
-
|
|
2563
|
-
// ../core/lib/data/reorder.ts
|
|
2564
|
-
init_react_import();
|
|
2565
|
-
|
|
2566
|
-
// ../core/lib/data/replace.ts
|
|
2567
|
-
init_react_import();
|
|
2568
|
-
|
|
2569
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
|
2570
|
-
init_react_import();
|
|
2571
2566
|
|
|
2572
2567
|
// ../core/lib/get-zoom-config.ts
|
|
2573
2568
|
init_react_import();
|
|
2574
2569
|
|
|
2575
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
|
2576
|
-
init_react_import();
|
|
2577
|
-
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
|
2578
|
-
|
|
2579
|
-
// ../core/components/Loader/index.tsx
|
|
2580
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2581
|
-
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
|
2582
|
-
var Loader = (_a) => {
|
|
2583
|
-
var _b = _a, {
|
|
2584
|
-
color,
|
|
2585
|
-
size = 16
|
|
2586
|
-
} = _b, props = __objRest(_b, [
|
|
2587
|
-
"color",
|
|
2588
|
-
"size"
|
|
2589
|
-
]);
|
|
2590
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2591
|
-
"span",
|
|
2592
|
-
__spreadValues({
|
|
2593
|
-
className: getClassName2(),
|
|
2594
|
-
style: {
|
|
2595
|
-
width: size,
|
|
2596
|
-
height: size,
|
|
2597
|
-
color
|
|
2598
|
-
},
|
|
2599
|
-
"aria-label": "loading"
|
|
2600
|
-
}, props)
|
|
2601
|
-
);
|
|
2602
|
-
};
|
|
2603
|
-
|
|
2604
|
-
// ../core/components/SidebarSection/index.tsx
|
|
2605
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
2606
|
-
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
|
2607
|
-
var SidebarSection = ({
|
|
2608
|
-
children,
|
|
2609
|
-
title,
|
|
2610
|
-
background,
|
|
2611
|
-
showBreadcrumbs,
|
|
2612
|
-
noBorderTop,
|
|
2613
|
-
noPadding,
|
|
2614
|
-
isLoading
|
|
2615
|
-
}) => {
|
|
2616
|
-
const setUi = useAppStore((s) => s.setUi);
|
|
2617
|
-
const breadcrumbs = useBreadcrumbs(1);
|
|
2618
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
2619
|
-
"div",
|
|
2620
|
-
{
|
|
2621
|
-
className: getClassName3({ noBorderTop, noPadding }),
|
|
2622
|
-
style: { background },
|
|
2623
|
-
children: [
|
|
2624
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("title"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumbs"), children: [
|
|
2625
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumb"), children: [
|
|
2626
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2627
|
-
"button",
|
|
2628
|
-
{
|
|
2629
|
-
type: "button",
|
|
2630
|
-
className: getClassName3("breadcrumbLabel"),
|
|
2631
|
-
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
|
2632
|
-
children: breadcrumb.label
|
|
2633
|
-
}
|
|
2634
|
-
),
|
|
2635
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChevronRight, { size: 16 })
|
|
2636
|
-
] }, i)) : null,
|
|
2637
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Heading, { rank: "2", size: "xs", children: title }) })
|
|
2638
|
-
] }) }),
|
|
2639
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("content"), children }),
|
|
2640
|
-
isLoading && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Loader, { size: 32 }) })
|
|
2641
|
-
]
|
|
2642
|
-
}
|
|
2643
|
-
);
|
|
2644
|
-
};
|
|
2645
|
-
|
|
2646
|
-
// ../core/components/OutlineList/index.tsx
|
|
2647
|
-
init_react_import();
|
|
2648
|
-
|
|
2649
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
2650
|
-
init_react_import();
|
|
2651
|
-
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
2652
|
-
|
|
2653
|
-
// ../core/components/OutlineList/index.tsx
|
|
2654
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
2655
|
-
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
|
2656
|
-
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
|
2657
|
-
var OutlineList = ({ children }) => {
|
|
2658
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("ul", { className: getClassName4(), children });
|
|
2659
|
-
};
|
|
2660
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem({ clickable: true }), children });
|
|
2661
|
-
OutlineList.Item = ({
|
|
2662
|
-
children,
|
|
2663
|
-
onClick
|
|
2664
|
-
}) => {
|
|
2665
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2666
|
-
"li",
|
|
2667
|
-
{
|
|
2668
|
-
className: getClassNameItem({ clickable: !!onClick }),
|
|
2669
|
-
onClick,
|
|
2670
|
-
children
|
|
2671
|
-
}
|
|
2672
|
-
);
|
|
2673
|
-
};
|
|
2674
|
-
|
|
2675
|
-
// ../core/lib/scroll-into-view.ts
|
|
2676
|
-
init_react_import();
|
|
2677
|
-
var scrollIntoView = (el) => {
|
|
2678
|
-
const oldStyle = __spreadValues({}, el.style);
|
|
2679
|
-
el.style.scrollMargin = "256px";
|
|
2680
|
-
if (el) {
|
|
2681
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
2682
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
2683
|
-
}
|
|
2684
|
-
};
|
|
2685
|
-
|
|
2686
|
-
// ../core/lib/get-frame.ts
|
|
2687
|
-
init_react_import();
|
|
2688
|
-
var getFrame = () => {
|
|
2689
|
-
if (typeof window === "undefined") return;
|
|
2690
|
-
let frameEl = document.querySelector("#preview-frame");
|
|
2691
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
2692
|
-
return frameEl.contentDocument || document;
|
|
2693
|
-
}
|
|
2694
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
2695
|
-
};
|
|
2696
|
-
|
|
2697
2570
|
// src/HeadingAnalyzer.tsx
|
|
2698
2571
|
var import_react_from_json = __toESM(require("react-from-json"));
|
|
2699
|
-
var
|
|
2700
|
-
var
|
|
2572
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2573
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2701
2574
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2702
2575
|
var ReactFromJSON = import_react_from_json.default.default || import_react_from_json.default;
|
|
2703
2576
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2752,8 +2625,8 @@ function buildHierarchy(frame) {
|
|
|
2752
2625
|
var usePuck = (0, import_puck.createUsePuck)();
|
|
2753
2626
|
var HeadingAnalyzer = () => {
|
|
2754
2627
|
const data = usePuck((s) => s.appState.data);
|
|
2755
|
-
const [hierarchy, setHierarchy] = (0,
|
|
2756
|
-
(0,
|
|
2628
|
+
const [hierarchy, setHierarchy] = (0, import_react10.useState)([]);
|
|
2629
|
+
(0, import_react10.useEffect)(() => {
|
|
2757
2630
|
const frame = getFrame();
|
|
2758
2631
|
let entry = frame == null ? void 0 : frame.querySelector(`[data-puck-entry]`);
|
|
2759
2632
|
const createHierarchy = () => {
|
|
@@ -2788,11 +2661,11 @@ var HeadingAnalyzer = () => {
|
|
|
2788
2661
|
frameObserver.disconnect();
|
|
2789
2662
|
};
|
|
2790
2663
|
}, [data]);
|
|
2791
|
-
return /* @__PURE__ */ (0,
|
|
2792
|
-
/* @__PURE__ */ (0,
|
|
2664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: getClassName2(), children: [
|
|
2665
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
2793
2666
|
"small",
|
|
2794
2667
|
{
|
|
2795
|
-
className:
|
|
2668
|
+
className: getClassName2("cssWarning"),
|
|
2796
2669
|
style: {
|
|
2797
2670
|
color: "var(--puck-color-red-04)",
|
|
2798
2671
|
display: "block",
|
|
@@ -2801,19 +2674,19 @@ var HeadingAnalyzer = () => {
|
|
|
2801
2674
|
children: [
|
|
2802
2675
|
"Heading analyzer styles not loaded. Please review the",
|
|
2803
2676
|
" ",
|
|
2804
|
-
/* @__PURE__ */ (0,
|
|
2677
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2805
2678
|
"."
|
|
2806
2679
|
]
|
|
2807
2680
|
}
|
|
2808
2681
|
),
|
|
2809
|
-
hierarchy.length === 0 && /* @__PURE__ */ (0,
|
|
2810
|
-
/* @__PURE__ */ (0,
|
|
2682
|
+
hierarchy.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: "No headings." }),
|
|
2683
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2811
2684
|
ReactFromJSON,
|
|
2812
2685
|
{
|
|
2813
2686
|
mapping: {
|
|
2814
|
-
Root: (props) => /* @__PURE__ */ (0,
|
|
2815
|
-
OutlineListItem: (props) => /* @__PURE__ */ (0,
|
|
2816
|
-
/* @__PURE__ */ (0,
|
|
2687
|
+
Root: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: props.children }),
|
|
2688
|
+
OutlineListItem: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(OutlineList.Item, { children: [
|
|
2689
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList.Clickable, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2817
2690
|
"small",
|
|
2818
2691
|
{
|
|
2819
2692
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2831,14 +2704,14 @@ var HeadingAnalyzer = () => {
|
|
|
2831
2704
|
}, 2e3);
|
|
2832
2705
|
}
|
|
2833
2706
|
},
|
|
2834
|
-
children: props.missing ? /* @__PURE__ */ (0,
|
|
2835
|
-
/* @__PURE__ */ (0,
|
|
2707
|
+
children: props.missing ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2708
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2836
2709
|
"H",
|
|
2837
2710
|
props.rank
|
|
2838
2711
|
] }),
|
|
2839
2712
|
": Missing"
|
|
2840
|
-
] }) : /* @__PURE__ */ (0,
|
|
2841
|
-
/* @__PURE__ */ (0,
|
|
2713
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2714
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2842
2715
|
"H",
|
|
2843
2716
|
props.rank
|
|
2844
2717
|
] }),
|
|
@@ -2847,7 +2720,7 @@ var HeadingAnalyzer = () => {
|
|
|
2847
2720
|
] })
|
|
2848
2721
|
}
|
|
2849
2722
|
) }),
|
|
2850
|
-
/* @__PURE__ */ (0,
|
|
2723
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: props.children })
|
|
2851
2724
|
] })
|
|
2852
2725
|
},
|
|
2853
2726
|
entry: {
|
|
@@ -2868,12 +2741,10 @@ var HeadingAnalyzer = () => {
|
|
|
2868
2741
|
] });
|
|
2869
2742
|
};
|
|
2870
2743
|
var headingAnalyzer = {
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
] })
|
|
2876
|
-
}
|
|
2744
|
+
name: "heading-analyzer",
|
|
2745
|
+
label: "Audit",
|
|
2746
|
+
render: HeadingAnalyzer,
|
|
2747
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Heading1, {})
|
|
2877
2748
|
};
|
|
2878
2749
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2879
2750
|
/*! Bundled license information:
|
|
@@ -2889,7 +2760,7 @@ lucide-react/dist/esm/shared/src/utils.js:
|
|
|
2889
2760
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2890
2761
|
lucide-react/dist/esm/Icon.js:
|
|
2891
2762
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2892
|
-
lucide-react/dist/esm/icons/
|
|
2763
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
|
2893
2764
|
lucide-react/dist/esm/lucide-react.js:
|
|
2894
2765
|
(**
|
|
2895
2766
|
* @license lucide-react v0.468.0 - ISC
|