@measured/puck-plugin-heading-analyzer 0.21.0-canary.5c2364c5 → 0.21.0-canary.66beb6e1
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 +225 -13
- package/dist/index.d.ts +225 -13
- package/dist/index.js +141 -259
- package/dist/index.mjs +138 -256
- package/package.json +2 -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();
|
|
@@ -609,12 +644,12 @@ var walkObject = ({
|
|
|
609
644
|
}
|
|
610
645
|
return flatten(newProps);
|
|
611
646
|
};
|
|
612
|
-
function mapFields(item, mappers, config, recurseSlots = false) {
|
|
647
|
+
function mapFields(item, mappers, config, recurseSlots = false, shouldDefaultSlots = true) {
|
|
613
648
|
var _a, _b, _c, _d, _e;
|
|
614
649
|
const itemType = "type" in item ? item.type : "root";
|
|
615
650
|
const componentConfig = itemType === "root" ? config.root : (_a = config.components) == null ? void 0 : _a[itemType];
|
|
616
651
|
const newProps = walkObject({
|
|
617
|
-
value: defaultSlots((_b = item.props) != null ? _b : {}, (_c = componentConfig == null ? void 0 : componentConfig.fields) != null ? _c : {}),
|
|
652
|
+
value: shouldDefaultSlots ? defaultSlots((_b = item.props) != null ? _b : {}, (_c = componentConfig == null ? void 0 : componentConfig.fields) != null ? _c : {}) : item.props,
|
|
618
653
|
fields: (_d = componentConfig == null ? void 0 : componentConfig.fields) != null ? _d : {},
|
|
619
654
|
mappers,
|
|
620
655
|
id: item.props ? (_e = item.props.id) != null ? _e : "root" : "root",
|
|
@@ -644,9 +679,28 @@ var stripSlots = (data, config) => {
|
|
|
644
679
|
|
|
645
680
|
// ../core/lib/data/flatten-node.ts
|
|
646
681
|
var { flatten: flatten2, unflatten } = import_flat.default;
|
|
682
|
+
function isEmptyArrayOrObject(val) {
|
|
683
|
+
if (Array.isArray(val)) {
|
|
684
|
+
return val.length === 0;
|
|
685
|
+
}
|
|
686
|
+
if (val != null && Object.prototype.toString.call(val) === "[object Object]") {
|
|
687
|
+
return Object.keys(val).length === 0;
|
|
688
|
+
}
|
|
689
|
+
return false;
|
|
690
|
+
}
|
|
691
|
+
function stripEmptyObjects(props) {
|
|
692
|
+
const result = {};
|
|
693
|
+
for (const key in props) {
|
|
694
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) continue;
|
|
695
|
+
const val = props[key];
|
|
696
|
+
if (isEmptyArrayOrObject(val)) continue;
|
|
697
|
+
result[key] = val;
|
|
698
|
+
}
|
|
699
|
+
return result;
|
|
700
|
+
}
|
|
647
701
|
var flattenNode = (node, config) => {
|
|
648
702
|
return __spreadProps(__spreadValues({}, node), {
|
|
649
|
-
props: flatten2(stripSlots(node, config).props)
|
|
703
|
+
props: stripEmptyObjects(flatten2(stripSlots(node, config).props))
|
|
650
704
|
});
|
|
651
705
|
};
|
|
652
706
|
|
|
@@ -994,7 +1048,9 @@ var replaceAction = (state, action, appStore) => {
|
|
|
994
1048
|
});
|
|
995
1049
|
});
|
|
996
1050
|
});
|
|
997
|
-
const stateWithDeepSlotsRemoved = __spreadValues({}, state)
|
|
1051
|
+
const stateWithDeepSlotsRemoved = __spreadProps(__spreadValues({}, state), {
|
|
1052
|
+
ui: __spreadValues(__spreadValues({}, state.ui), action.ui)
|
|
1053
|
+
});
|
|
998
1054
|
Object.keys(state.indexes.zones).forEach((zoneCompound) => {
|
|
999
1055
|
const id = zoneCompound.split(":")[0];
|
|
1000
1056
|
if (id === originalId) {
|
|
@@ -1396,7 +1452,8 @@ init_react_import();
|
|
|
1396
1452
|
var defaultViewports = [
|
|
1397
1453
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1398
1454
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1399
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1455
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" },
|
|
1456
|
+
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1400
1457
|
];
|
|
1401
1458
|
|
|
1402
1459
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -1506,9 +1563,9 @@ function debounce(func, timeout = 300) {
|
|
|
1506
1563
|
var tidyState = (state) => {
|
|
1507
1564
|
return __spreadProps(__spreadValues({}, state), {
|
|
1508
1565
|
ui: __spreadProps(__spreadValues({}, state.ui), {
|
|
1509
|
-
field: {
|
|
1566
|
+
field: __spreadProps(__spreadValues({}, state.ui.field), {
|
|
1510
1567
|
focus: null
|
|
1511
|
-
}
|
|
1568
|
+
})
|
|
1512
1569
|
})
|
|
1513
1570
|
});
|
|
1514
1571
|
};
|
|
@@ -2078,26 +2135,34 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2078
2135
|
const resolvePermissions = (..._0) => __async(null, [..._0], function* (params = {}, force) {
|
|
2079
2136
|
const { state, permissions, config } = get();
|
|
2080
2137
|
const { cache: cache2, globalPermissions } = permissions;
|
|
2081
|
-
const
|
|
2082
|
-
var _a, _b
|
|
2138
|
+
const resolvePermissionsForItem = (item2, force2 = false) => __async(null, null, function* () {
|
|
2139
|
+
var _a, _b;
|
|
2083
2140
|
const { config: config2, state: appState, setComponentLoading } = get();
|
|
2141
|
+
const itemCache = cache2[item2.props.id];
|
|
2142
|
+
const nodes = appState.indexes.nodes;
|
|
2143
|
+
const parentId = (_a = nodes[item2.props.id]) == null ? void 0 : _a.parentId;
|
|
2144
|
+
const parentNode = parentId ? nodes[parentId] : null;
|
|
2145
|
+
const parentData = (_b = parentNode == null ? void 0 : parentNode.data) != null ? _b : null;
|
|
2084
2146
|
const componentConfig = item2.type === "root" ? config2.root : config2.components[item2.type];
|
|
2085
2147
|
if (!componentConfig) {
|
|
2086
2148
|
return;
|
|
2087
2149
|
}
|
|
2088
2150
|
const initialPermissions = __spreadValues(__spreadValues({}, globalPermissions), componentConfig.permissions);
|
|
2089
2151
|
if (componentConfig.resolvePermissions) {
|
|
2090
|
-
const changed = getChanged(item2,
|
|
2091
|
-
|
|
2152
|
+
const changed = getChanged(item2, itemCache == null ? void 0 : itemCache.lastData);
|
|
2153
|
+
const propsChanged = Object.values(changed).some((el) => el === true);
|
|
2154
|
+
const parentChanged = (itemCache == null ? void 0 : itemCache.lastParentId) !== parentId;
|
|
2155
|
+
if (propsChanged || parentChanged || force2) {
|
|
2092
2156
|
const clearTimeout2 = setComponentLoading(item2.props.id, true, 50);
|
|
2093
2157
|
const resolvedPermissions = yield componentConfig.resolvePermissions(
|
|
2094
2158
|
item2,
|
|
2095
2159
|
{
|
|
2096
2160
|
changed,
|
|
2097
|
-
lastPermissions: (
|
|
2161
|
+
lastPermissions: (itemCache == null ? void 0 : itemCache.lastPermissions) || null,
|
|
2098
2162
|
permissions: initialPermissions,
|
|
2099
2163
|
appState: makeStatePublic(appState),
|
|
2100
|
-
lastData: (
|
|
2164
|
+
lastData: (itemCache == null ? void 0 : itemCache.lastData) || null,
|
|
2165
|
+
parent: parentData
|
|
2101
2166
|
}
|
|
2102
2167
|
);
|
|
2103
2168
|
const latest = get().permissions;
|
|
@@ -2105,6 +2170,7 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2105
2170
|
permissions: __spreadProps(__spreadValues({}, latest), {
|
|
2106
2171
|
cache: __spreadProps(__spreadValues({}, latest.cache), {
|
|
2107
2172
|
[item2.props.id]: {
|
|
2173
|
+
lastParentId: parentId,
|
|
2108
2174
|
lastData: item2,
|
|
2109
2175
|
lastPermissions: resolvedPermissions
|
|
2110
2176
|
}
|
|
@@ -2118,9 +2184,9 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2118
2184
|
}
|
|
2119
2185
|
}
|
|
2120
2186
|
});
|
|
2121
|
-
const
|
|
2187
|
+
const resolvePermissionsForRoot = (force2 = false) => {
|
|
2122
2188
|
const { state: appState } = get();
|
|
2123
|
-
|
|
2189
|
+
resolvePermissionsForItem(
|
|
2124
2190
|
// Shim the root data in by conforming to component data shape
|
|
2125
2191
|
{
|
|
2126
2192
|
type: "root",
|
|
@@ -2131,16 +2197,16 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2131
2197
|
};
|
|
2132
2198
|
const { item, type, root } = params;
|
|
2133
2199
|
if (item) {
|
|
2134
|
-
yield
|
|
2200
|
+
yield resolvePermissionsForItem(item, force);
|
|
2135
2201
|
} else if (type) {
|
|
2136
2202
|
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(null, null, function* () {
|
|
2137
|
-
yield
|
|
2203
|
+
yield resolvePermissionsForItem(item2, force);
|
|
2138
2204
|
}));
|
|
2139
2205
|
} else if (root) {
|
|
2140
|
-
|
|
2206
|
+
resolvePermissionsForRoot(force);
|
|
2141
2207
|
} else {
|
|
2142
2208
|
flattenData(state, config).map((item2) => __async(null, null, function* () {
|
|
2143
|
-
yield
|
|
2209
|
+
yield resolvePermissionsForItem(item2, force);
|
|
2144
2210
|
}));
|
|
2145
2211
|
}
|
|
2146
2212
|
});
|
|
@@ -2292,7 +2358,8 @@ var defaultAppState = {
|
|
|
2292
2358
|
options: [],
|
|
2293
2359
|
controlsVisible: true
|
|
2294
2360
|
},
|
|
2295
|
-
field: { focus: null }
|
|
2361
|
+
field: { focus: null },
|
|
2362
|
+
plugin: { current: null }
|
|
2296
2363
|
},
|
|
2297
2364
|
indexes: {
|
|
2298
2365
|
nodes: {},
|
|
@@ -2308,6 +2375,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2308
2375
|
subscribeWithSelector((set, get) => {
|
|
2309
2376
|
var _a, _b;
|
|
2310
2377
|
return __spreadProps(__spreadValues({
|
|
2378
|
+
instanceId: generateId(),
|
|
2311
2379
|
state: defaultAppState,
|
|
2312
2380
|
config: { components: {} },
|
|
2313
2381
|
componentState: {},
|
|
@@ -2328,6 +2396,11 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2328
2396
|
history: createHistorySlice(set, get),
|
|
2329
2397
|
nodes: createNodesSlice(set, get),
|
|
2330
2398
|
permissions: createPermissionsSlice(set, get),
|
|
2399
|
+
getCurrentData: () => {
|
|
2400
|
+
var _a2;
|
|
2401
|
+
const s = get();
|
|
2402
|
+
return (_a2 = s.selectedItem) != null ? _a2 : s.state.data.root;
|
|
2403
|
+
},
|
|
2331
2404
|
getComponentConfig: (type) => {
|
|
2332
2405
|
var _a2;
|
|
2333
2406
|
const { config, selectedItem } = get();
|
|
@@ -2478,203 +2551,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2478
2551
|
})
|
|
2479
2552
|
);
|
|
2480
2553
|
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
2554
|
|
|
2549
2555
|
// ../core/lib/get-zoom-config.ts
|
|
2550
2556
|
init_react_import();
|
|
2551
2557
|
|
|
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
2558
|
// src/HeadingAnalyzer.tsx
|
|
2675
2559
|
import ReactFromJSONModule from "react-from-json";
|
|
2676
|
-
import { Fragment, jsx as
|
|
2677
|
-
var
|
|
2560
|
+
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
2561
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2678
2562
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2679
2563
|
var ReactFromJSON = ReactFromJSONModule.default || ReactFromJSONModule;
|
|
2680
2564
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2765,11 +2649,11 @@ var HeadingAnalyzer = () => {
|
|
|
2765
2649
|
frameObserver.disconnect();
|
|
2766
2650
|
};
|
|
2767
2651
|
}, [data]);
|
|
2768
|
-
return /* @__PURE__ */
|
|
2769
|
-
/* @__PURE__ */
|
|
2652
|
+
return /* @__PURE__ */ jsxs("div", { className: getClassName2(), children: [
|
|
2653
|
+
/* @__PURE__ */ jsxs(
|
|
2770
2654
|
"small",
|
|
2771
2655
|
{
|
|
2772
|
-
className:
|
|
2656
|
+
className: getClassName2("cssWarning"),
|
|
2773
2657
|
style: {
|
|
2774
2658
|
color: "var(--puck-color-red-04)",
|
|
2775
2659
|
display: "block",
|
|
@@ -2778,19 +2662,19 @@ var HeadingAnalyzer = () => {
|
|
|
2778
2662
|
children: [
|
|
2779
2663
|
"Heading analyzer styles not loaded. Please review the",
|
|
2780
2664
|
" ",
|
|
2781
|
-
/* @__PURE__ */
|
|
2665
|
+
/* @__PURE__ */ jsx2("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2782
2666
|
"."
|
|
2783
2667
|
]
|
|
2784
2668
|
}
|
|
2785
2669
|
),
|
|
2786
|
-
hierarchy.length === 0 && /* @__PURE__ */
|
|
2787
|
-
/* @__PURE__ */
|
|
2670
|
+
hierarchy.length === 0 && /* @__PURE__ */ jsx2("div", { children: "No headings." }),
|
|
2671
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: /* @__PURE__ */ jsx2(
|
|
2788
2672
|
ReactFromJSON,
|
|
2789
2673
|
{
|
|
2790
2674
|
mapping: {
|
|
2791
|
-
Root: (props) => /* @__PURE__ */
|
|
2792
|
-
OutlineListItem: (props) => /* @__PURE__ */
|
|
2793
|
-
/* @__PURE__ */
|
|
2675
|
+
Root: (props) => /* @__PURE__ */ jsx2(Fragment, { children: props.children }),
|
|
2676
|
+
OutlineListItem: (props) => /* @__PURE__ */ jsxs(OutlineList.Item, { children: [
|
|
2677
|
+
/* @__PURE__ */ jsx2(OutlineList.Clickable, { children: /* @__PURE__ */ jsx2(
|
|
2794
2678
|
"small",
|
|
2795
2679
|
{
|
|
2796
2680
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2808,14 +2692,14 @@ var HeadingAnalyzer = () => {
|
|
|
2808
2692
|
}, 2e3);
|
|
2809
2693
|
}
|
|
2810
2694
|
},
|
|
2811
|
-
children: props.missing ? /* @__PURE__ */
|
|
2812
|
-
/* @__PURE__ */
|
|
2695
|
+
children: props.missing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2696
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
2813
2697
|
"H",
|
|
2814
2698
|
props.rank
|
|
2815
2699
|
] }),
|
|
2816
2700
|
": Missing"
|
|
2817
|
-
] }) : /* @__PURE__ */
|
|
2818
|
-
/* @__PURE__ */
|
|
2701
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2702
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
2819
2703
|
"H",
|
|
2820
2704
|
props.rank
|
|
2821
2705
|
] }),
|
|
@@ -2824,7 +2708,7 @@ var HeadingAnalyzer = () => {
|
|
|
2824
2708
|
] })
|
|
2825
2709
|
}
|
|
2826
2710
|
) }),
|
|
2827
|
-
/* @__PURE__ */
|
|
2711
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: props.children })
|
|
2828
2712
|
] })
|
|
2829
2713
|
},
|
|
2830
2714
|
entry: {
|
|
@@ -2845,12 +2729,10 @@ var HeadingAnalyzer = () => {
|
|
|
2845
2729
|
] });
|
|
2846
2730
|
};
|
|
2847
2731
|
var headingAnalyzer = {
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
] })
|
|
2853
|
-
}
|
|
2732
|
+
name: "heading-analyzer",
|
|
2733
|
+
label: "Audit",
|
|
2734
|
+
render: HeadingAnalyzer,
|
|
2735
|
+
icon: /* @__PURE__ */ jsx2(Heading1, {})
|
|
2854
2736
|
};
|
|
2855
2737
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2856
2738
|
export {
|
|
@@ -2869,7 +2751,7 @@ lucide-react/dist/esm/shared/src/utils.js:
|
|
|
2869
2751
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2870
2752
|
lucide-react/dist/esm/Icon.js:
|
|
2871
2753
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2872
|
-
lucide-react/dist/esm/icons/
|
|
2754
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
|
2873
2755
|
lucide-react/dist/esm/lucide-react.js:
|
|
2874
2756
|
(**
|
|
2875
2757
|
* @license lucide-react v0.468.0 - ISC
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@measured/puck-plugin-heading-analyzer",
|
|
3
|
-
"version": "0.21.0-canary.
|
|
3
|
+
"version": "0.21.0-canary.66beb6e1",
|
|
4
4
|
"author": "Chris Villa <chris@puckeditor.com>",
|
|
5
5
|
"repository": "measuredco/puck",
|
|
6
6
|
"bugs": "https://github.com/measuredco/puck/issues",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@measured/puck": "^0.21.0-canary.
|
|
28
|
+
"@measured/puck": "^0.21.0-canary.66beb6e1",
|
|
29
29
|
"@types/minimatch": "3.0.5",
|
|
30
30
|
"@types/react": "^19.0.1",
|
|
31
31
|
"@types/react-dom": "^19.0.2",
|