@measured/puck-plugin-heading-analyzer 0.21.0-canary.77444503 → 0.21.0-canary.7c2f9283
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 +21 -9
- package/dist/index.d.ts +21 -9
- package/dist/index.js +152 -252
- package/dist/index.mjs +149 -249
- 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
|
|
@@ -2216,15 +2271,34 @@ var createFieldsSlice = (_set, _get) => {
|
|
|
2216
2271
|
|
|
2217
2272
|
// ../core/lib/resolve-component-data.ts
|
|
2218
2273
|
init_react_import();
|
|
2274
|
+
|
|
2275
|
+
// ../core/lib/data/to-component.ts
|
|
2276
|
+
init_react_import();
|
|
2277
|
+
var toComponent = (item) => {
|
|
2278
|
+
return "type" in item ? item : __spreadProps(__spreadValues({}, item), {
|
|
2279
|
+
props: __spreadProps(__spreadValues({}, item.props), { id: "root" }),
|
|
2280
|
+
type: "root"
|
|
2281
|
+
});
|
|
2282
|
+
};
|
|
2283
|
+
|
|
2284
|
+
// ../core/lib/resolve-component-data.ts
|
|
2219
2285
|
var cache = { lastChange: {} };
|
|
2220
|
-
var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
|
|
2286
|
+
var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace", parent = null) {
|
|
2221
2287
|
const configForItem = "type" in item && item.type !== "root" ? config.components[item.type] : config.root;
|
|
2222
2288
|
const resolvedItem = __spreadValues({}, item);
|
|
2223
2289
|
const shouldRunResolver = (configForItem == null ? void 0 : configForItem.resolveData) && item.props;
|
|
2224
2290
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2225
2291
|
if (shouldRunResolver) {
|
|
2226
|
-
const {
|
|
2227
|
-
|
|
2292
|
+
const {
|
|
2293
|
+
item: oldItem = null,
|
|
2294
|
+
resolved = {},
|
|
2295
|
+
parentId: oldParentId = null
|
|
2296
|
+
} = cache.lastChange[id] || {};
|
|
2297
|
+
const isRootOrInserted = oldParentId === null;
|
|
2298
|
+
const parentChanged = !isRootOrInserted && (parent == null ? void 0 : parent.props.id) !== oldParentId;
|
|
2299
|
+
const dataChanged = item && !deepEqual(item, oldItem);
|
|
2300
|
+
const shouldSkip = trigger === "move" && !parentChanged || trigger !== "move" && trigger !== "force" && !dataChanged;
|
|
2301
|
+
if (shouldSkip) {
|
|
2228
2302
|
return { node: resolved, didChange: false };
|
|
2229
2303
|
}
|
|
2230
2304
|
const changed = getChanged(item, oldItem);
|
|
@@ -2235,13 +2309,15 @@ var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], fun
|
|
|
2235
2309
|
changed,
|
|
2236
2310
|
lastData: oldItem,
|
|
2237
2311
|
metadata: __spreadValues(__spreadValues({}, metadata), configForItem.metadata),
|
|
2238
|
-
trigger
|
|
2312
|
+
trigger,
|
|
2313
|
+
parent
|
|
2239
2314
|
});
|
|
2240
2315
|
resolvedItem.props = __spreadValues(__spreadValues({}, item.props), resolvedProps);
|
|
2241
2316
|
if (Object.keys(readOnly).length) {
|
|
2242
2317
|
resolvedItem.readOnly = readOnly;
|
|
2243
2318
|
}
|
|
2244
2319
|
}
|
|
2320
|
+
const itemAsComponentData = toComponent(resolvedItem);
|
|
2245
2321
|
let itemWithResolvedChildren = yield mapFields(
|
|
2246
2322
|
resolvedItem,
|
|
2247
2323
|
{
|
|
@@ -2256,7 +2332,8 @@ var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], fun
|
|
|
2256
2332
|
metadata,
|
|
2257
2333
|
onResolveStart,
|
|
2258
2334
|
onResolveEnd,
|
|
2259
|
-
trigger
|
|
2335
|
+
trigger,
|
|
2336
|
+
itemAsComponentData
|
|
2260
2337
|
)).node;
|
|
2261
2338
|
})
|
|
2262
2339
|
)
|
|
@@ -2270,7 +2347,8 @@ var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], fun
|
|
|
2270
2347
|
}
|
|
2271
2348
|
cache.lastChange[id] = {
|
|
2272
2349
|
item,
|
|
2273
|
-
resolved: itemWithResolvedChildren
|
|
2350
|
+
resolved: itemWithResolvedChildren,
|
|
2351
|
+
parentId: parent == null ? void 0 : parent.props.id
|
|
2274
2352
|
};
|
|
2275
2353
|
return {
|
|
2276
2354
|
node: itemWithResolvedChildren,
|
|
@@ -2315,7 +2393,8 @@ var defaultAppState = {
|
|
|
2315
2393
|
options: [],
|
|
2316
2394
|
controlsVisible: true
|
|
2317
2395
|
},
|
|
2318
|
-
field: { focus: null }
|
|
2396
|
+
field: { focus: null },
|
|
2397
|
+
plugin: { current: null }
|
|
2319
2398
|
},
|
|
2320
2399
|
indexes: {
|
|
2321
2400
|
nodes: {},
|
|
@@ -2331,6 +2410,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2331
2410
|
subscribeWithSelector((set, get) => {
|
|
2332
2411
|
var _a, _b;
|
|
2333
2412
|
return __spreadProps(__spreadValues({
|
|
2413
|
+
instanceId: generateId(),
|
|
2334
2414
|
state: defaultAppState,
|
|
2335
2415
|
config: { components: {} },
|
|
2336
2416
|
componentState: {},
|
|
@@ -2351,6 +2431,11 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2351
2431
|
history: createHistorySlice(set, get),
|
|
2352
2432
|
nodes: createNodesSlice(set, get),
|
|
2353
2433
|
permissions: createPermissionsSlice(set, get),
|
|
2434
|
+
getCurrentData: () => {
|
|
2435
|
+
var _a2;
|
|
2436
|
+
const s = get();
|
|
2437
|
+
return (_a2 = s.selectedItem) != null ? _a2 : s.state.data.root;
|
|
2438
|
+
},
|
|
2354
2439
|
getComponentConfig: (type) => {
|
|
2355
2440
|
var _a2;
|
|
2356
2441
|
const { config, selectedItem } = get();
|
|
@@ -2440,7 +2525,12 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2440
2525
|
return __spreadProps(__spreadValues({}, s), { state, selectedItem });
|
|
2441
2526
|
}),
|
|
2442
2527
|
resolveComponentData: (componentData, trigger) => __async(null, null, function* () {
|
|
2443
|
-
|
|
2528
|
+
var _a2, _b2;
|
|
2529
|
+
const { config, metadata, setComponentLoading, permissions, state } = get();
|
|
2530
|
+
const componentId = "id" in componentData.props ? componentData.props.id : "root";
|
|
2531
|
+
const parentId = (_a2 = state.indexes.nodes[componentId]) == null ? void 0 : _a2.parentId;
|
|
2532
|
+
const parentNode = parentId ? state.indexes.nodes[parentId] : null;
|
|
2533
|
+
const parentData = (_b2 = parentNode == null ? void 0 : parentNode.data) != null ? _b2 : null;
|
|
2444
2534
|
const timeouts = {};
|
|
2445
2535
|
return yield resolveComponentData(
|
|
2446
2536
|
componentData,
|
|
@@ -2459,7 +2549,8 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2459
2549
|
}
|
|
2460
2550
|
timeouts[id]();
|
|
2461
2551
|
}),
|
|
2462
|
-
trigger
|
|
2552
|
+
trigger,
|
|
2553
|
+
parentData
|
|
2463
2554
|
);
|
|
2464
2555
|
}),
|
|
2465
2556
|
resolveAndCommitData: () => __async(null, null, function* () {
|
|
@@ -2501,203 +2592,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2501
2592
|
})
|
|
2502
2593
|
);
|
|
2503
2594
|
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
2595
|
|
|
2572
2596
|
// ../core/lib/get-zoom-config.ts
|
|
2573
2597
|
init_react_import();
|
|
2574
2598
|
|
|
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
2599
|
// src/HeadingAnalyzer.tsx
|
|
2698
2600
|
var import_react_from_json = __toESM(require("react-from-json"));
|
|
2699
|
-
var
|
|
2700
|
-
var
|
|
2601
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2602
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2701
2603
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2702
2604
|
var ReactFromJSON = import_react_from_json.default.default || import_react_from_json.default;
|
|
2703
2605
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2752,8 +2654,8 @@ function buildHierarchy(frame) {
|
|
|
2752
2654
|
var usePuck = (0, import_puck.createUsePuck)();
|
|
2753
2655
|
var HeadingAnalyzer = () => {
|
|
2754
2656
|
const data = usePuck((s) => s.appState.data);
|
|
2755
|
-
const [hierarchy, setHierarchy] = (0,
|
|
2756
|
-
(0,
|
|
2657
|
+
const [hierarchy, setHierarchy] = (0, import_react10.useState)([]);
|
|
2658
|
+
(0, import_react10.useEffect)(() => {
|
|
2757
2659
|
const frame = getFrame();
|
|
2758
2660
|
let entry = frame == null ? void 0 : frame.querySelector(`[data-puck-entry]`);
|
|
2759
2661
|
const createHierarchy = () => {
|
|
@@ -2788,11 +2690,11 @@ var HeadingAnalyzer = () => {
|
|
|
2788
2690
|
frameObserver.disconnect();
|
|
2789
2691
|
};
|
|
2790
2692
|
}, [data]);
|
|
2791
|
-
return /* @__PURE__ */ (0,
|
|
2792
|
-
/* @__PURE__ */ (0,
|
|
2693
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: getClassName2(), children: [
|
|
2694
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
2793
2695
|
"small",
|
|
2794
2696
|
{
|
|
2795
|
-
className:
|
|
2697
|
+
className: getClassName2("cssWarning"),
|
|
2796
2698
|
style: {
|
|
2797
2699
|
color: "var(--puck-color-red-04)",
|
|
2798
2700
|
display: "block",
|
|
@@ -2801,19 +2703,19 @@ var HeadingAnalyzer = () => {
|
|
|
2801
2703
|
children: [
|
|
2802
2704
|
"Heading analyzer styles not loaded. Please review the",
|
|
2803
2705
|
" ",
|
|
2804
|
-
/* @__PURE__ */ (0,
|
|
2706
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2805
2707
|
"."
|
|
2806
2708
|
]
|
|
2807
2709
|
}
|
|
2808
2710
|
),
|
|
2809
|
-
hierarchy.length === 0 && /* @__PURE__ */ (0,
|
|
2810
|
-
/* @__PURE__ */ (0,
|
|
2711
|
+
hierarchy.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: "No headings." }),
|
|
2712
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2811
2713
|
ReactFromJSON,
|
|
2812
2714
|
{
|
|
2813
2715
|
mapping: {
|
|
2814
|
-
Root: (props) => /* @__PURE__ */ (0,
|
|
2815
|
-
OutlineListItem: (props) => /* @__PURE__ */ (0,
|
|
2816
|
-
/* @__PURE__ */ (0,
|
|
2716
|
+
Root: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: props.children }),
|
|
2717
|
+
OutlineListItem: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(OutlineList.Item, { children: [
|
|
2718
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList.Clickable, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2817
2719
|
"small",
|
|
2818
2720
|
{
|
|
2819
2721
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2831,14 +2733,14 @@ var HeadingAnalyzer = () => {
|
|
|
2831
2733
|
}, 2e3);
|
|
2832
2734
|
}
|
|
2833
2735
|
},
|
|
2834
|
-
children: props.missing ? /* @__PURE__ */ (0,
|
|
2835
|
-
/* @__PURE__ */ (0,
|
|
2736
|
+
children: props.missing ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2737
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2836
2738
|
"H",
|
|
2837
2739
|
props.rank
|
|
2838
2740
|
] }),
|
|
2839
2741
|
": Missing"
|
|
2840
|
-
] }) : /* @__PURE__ */ (0,
|
|
2841
|
-
/* @__PURE__ */ (0,
|
|
2742
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2743
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2842
2744
|
"H",
|
|
2843
2745
|
props.rank
|
|
2844
2746
|
] }),
|
|
@@ -2847,7 +2749,7 @@ var HeadingAnalyzer = () => {
|
|
|
2847
2749
|
] })
|
|
2848
2750
|
}
|
|
2849
2751
|
) }),
|
|
2850
|
-
/* @__PURE__ */ (0,
|
|
2752
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: props.children })
|
|
2851
2753
|
] })
|
|
2852
2754
|
},
|
|
2853
2755
|
entry: {
|
|
@@ -2868,12 +2770,10 @@ var HeadingAnalyzer = () => {
|
|
|
2868
2770
|
] });
|
|
2869
2771
|
};
|
|
2870
2772
|
var headingAnalyzer = {
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
] })
|
|
2876
|
-
}
|
|
2773
|
+
name: "heading-analyzer",
|
|
2774
|
+
label: "Audit",
|
|
2775
|
+
render: HeadingAnalyzer,
|
|
2776
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Heading1, {})
|
|
2877
2777
|
};
|
|
2878
2778
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2879
2779
|
/*! Bundled license information:
|
|
@@ -2889,7 +2789,7 @@ lucide-react/dist/esm/shared/src/utils.js:
|
|
|
2889
2789
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2890
2790
|
lucide-react/dist/esm/Icon.js:
|
|
2891
2791
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2892
|
-
lucide-react/dist/esm/icons/
|
|
2792
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
|
2893
2793
|
lucide-react/dist/esm/lucide-react.js:
|
|
2894
2794
|
(**
|
|
2895
2795
|
* @license lucide-react v0.468.0 - ISC
|