@measured/puck-plugin-heading-analyzer 0.21.0-canary.e9d5c0ea → 0.21.0-canary.ec77dd9f
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 +149 -5
- package/dist/index.d.mts +8 -17
- package/dist/index.d.ts +8 -17
- package/dist/index.js +268 -150
- package/dist/index.mjs +262 -144
- 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_react11 = 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_116v6_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_116v6_5", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_116v6_9", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_116v6_13" };
|
|
285
285
|
|
|
286
286
|
// src/HeadingAnalyzer.tsx
|
|
287
287
|
var import_puck = require("@measured/puck");
|
|
288
288
|
|
|
289
|
-
// ../core/components/
|
|
289
|
+
// ../core/components/SidebarSection/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/SidebarSection/styles.module.css#css-module
|
|
293
293
|
init_react_import();
|
|
294
|
-
var styles_module_default = { "
|
|
294
|
+
var styles_module_default = { "SidebarSection": "_SidebarSection_8boj8_1", "SidebarSection-title": "_SidebarSection-title_8boj8_12", "SidebarSection--noBorderTop": "_SidebarSection--noBorderTop_8boj8_20", "SidebarSection-content": "_SidebarSection-content_8boj8_24", "SidebarSection--noPadding": "_SidebarSection--noPadding_8boj8_28", "SidebarSection-breadcrumbLabel": "_SidebarSection-breadcrumbLabel_8boj8_41", "SidebarSection-breadcrumbs": "_SidebarSection-breadcrumbs_8boj8_70", "SidebarSection-breadcrumb": "_SidebarSection-breadcrumb_8boj8_41", "SidebarSection-heading": "_SidebarSection-heading_8boj8_82", "SidebarSection-loadingOverlay": "_SidebarSection-loadingOverlay_8boj8_86" };
|
|
295
295
|
|
|
296
296
|
// ../core/lib/get-class-name-factory.ts
|
|
297
297
|
init_react_import();
|
|
@@ -320,50 +320,29 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
|
320
320
|
};
|
|
321
321
|
var get_class_name_factory_default = getClassNameFactory;
|
|
322
322
|
|
|
323
|
-
// ../core/components/
|
|
323
|
+
// ../core/components/Heading/index.tsx
|
|
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
|
|
324
331
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
325
|
-
var getClassName = get_class_name_factory_default("
|
|
326
|
-
var
|
|
327
|
-
|
|
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
|
-
}) => {
|
|
332
|
+
var getClassName = get_class_name_factory_default("Heading", styles_module_default2);
|
|
333
|
+
var Heading = ({ children, rank, size = "m" }) => {
|
|
334
|
+
const Tag = rank ? `h${rank}` : "span";
|
|
335
335
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
336
|
-
|
|
336
|
+
Tag,
|
|
337
337
|
{
|
|
338
|
-
className:
|
|
339
|
-
|
|
338
|
+
className: getClassName({
|
|
339
|
+
[size]: true
|
|
340
|
+
}),
|
|
340
341
|
children
|
|
341
342
|
}
|
|
342
343
|
);
|
|
343
344
|
};
|
|
344
345
|
|
|
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
|
-
|
|
367
346
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
368
347
|
init_react_import();
|
|
369
348
|
|
|
@@ -451,29 +430,15 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
|
451
430
|
return Component;
|
|
452
431
|
};
|
|
453
432
|
|
|
454
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
|
433
|
+
// ../../node_modules/lucide-react/dist/esm/icons/chevron-right.js
|
|
455
434
|
init_react_import();
|
|
456
|
-
var
|
|
457
|
-
["path", { d: "
|
|
458
|
-
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
459
|
-
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
460
|
-
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
|
435
|
+
var ChevronRight = createLucideIcon("ChevronRight", [
|
|
436
|
+
["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
|
|
461
437
|
]);
|
|
462
438
|
|
|
463
|
-
// ../core/lib/
|
|
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
|
|
439
|
+
// ../core/lib/use-breadcrumbs.ts
|
|
476
440
|
init_react_import();
|
|
441
|
+
var import_react10 = require("react");
|
|
477
442
|
|
|
478
443
|
// ../core/store/index.ts
|
|
479
444
|
init_react_import();
|
|
@@ -853,10 +818,10 @@ var insert = (list, index, item) => {
|
|
|
853
818
|
// ../core/lib/generate-id.ts
|
|
854
819
|
init_react_import();
|
|
855
820
|
|
|
856
|
-
//
|
|
821
|
+
// ../core/node_modules/uuid/dist/esm-node/index.js
|
|
857
822
|
init_react_import();
|
|
858
823
|
|
|
859
|
-
//
|
|
824
|
+
// ../core/node_modules/uuid/dist/esm-node/rng.js
|
|
860
825
|
init_react_import();
|
|
861
826
|
var import_crypto = __toESM(require("crypto"));
|
|
862
827
|
var rnds8Pool = new Uint8Array(256);
|
|
@@ -869,7 +834,7 @@ function rng() {
|
|
|
869
834
|
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
870
835
|
}
|
|
871
836
|
|
|
872
|
-
//
|
|
837
|
+
// ../core/node_modules/uuid/dist/esm-node/stringify.js
|
|
873
838
|
init_react_import();
|
|
874
839
|
var byteToHex = [];
|
|
875
840
|
for (let i = 0; i < 256; ++i) {
|
|
@@ -879,17 +844,17 @@ function unsafeStringify(arr, offset = 0) {
|
|
|
879
844
|
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]];
|
|
880
845
|
}
|
|
881
846
|
|
|
882
|
-
//
|
|
847
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
883
848
|
init_react_import();
|
|
884
849
|
|
|
885
|
-
//
|
|
850
|
+
// ../core/node_modules/uuid/dist/esm-node/native.js
|
|
886
851
|
init_react_import();
|
|
887
852
|
var import_crypto2 = __toESM(require("crypto"));
|
|
888
853
|
var native_default = {
|
|
889
854
|
randomUUID: import_crypto2.default.randomUUID
|
|
890
855
|
};
|
|
891
856
|
|
|
892
|
-
//
|
|
857
|
+
// ../core/node_modules/uuid/dist/esm-node/v4.js
|
|
893
858
|
function v4(options, buf, offset) {
|
|
894
859
|
if (native_default.randomUUID && !buf && !options) {
|
|
895
860
|
return native_default.randomUUID();
|
|
@@ -1443,8 +1408,7 @@ init_react_import();
|
|
|
1443
1408
|
var defaultViewports = [
|
|
1444
1409
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1445
1410
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1446
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1447
|
-
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1411
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1448
1412
|
];
|
|
1449
1413
|
|
|
1450
1414
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -1470,7 +1434,7 @@ var createStoreImpl = (createState) => {
|
|
|
1470
1434
|
const initialState = state = createState(setState, getState, api);
|
|
1471
1435
|
return api;
|
|
1472
1436
|
};
|
|
1473
|
-
var createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
|
|
1437
|
+
var createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
|
|
1474
1438
|
|
|
1475
1439
|
// ../../node_modules/zustand/esm/react.mjs
|
|
1476
1440
|
init_react_import();
|
|
@@ -1479,8 +1443,8 @@ var identity = (arg) => arg;
|
|
|
1479
1443
|
function useStore(api, selector = identity) {
|
|
1480
1444
|
const slice = import_react4.default.useSyncExternalStore(
|
|
1481
1445
|
api.subscribe,
|
|
1482
|
-
() => selector(api.getState()),
|
|
1483
|
-
() => selector(api.getInitialState())
|
|
1446
|
+
import_react4.default.useCallback(() => selector(api.getState()), [api, selector]),
|
|
1447
|
+
import_react4.default.useCallback(() => selector(api.getInitialState()), [api, selector])
|
|
1484
1448
|
);
|
|
1485
1449
|
import_react4.default.useDebugValue(slice);
|
|
1486
1450
|
return slice;
|
|
@@ -1491,13 +1455,13 @@ var createImpl = (createState) => {
|
|
|
1491
1455
|
Object.assign(useBoundStore, api);
|
|
1492
1456
|
return useBoundStore;
|
|
1493
1457
|
};
|
|
1494
|
-
var create = (createState) => createState ? createImpl(createState) : createImpl;
|
|
1458
|
+
var create = ((createState) => createState ? createImpl(createState) : createImpl);
|
|
1495
1459
|
|
|
1496
1460
|
// ../../node_modules/zustand/esm/middleware.mjs
|
|
1497
1461
|
init_react_import();
|
|
1498
1462
|
var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
1499
1463
|
const origSubscribe = api.subscribe;
|
|
1500
|
-
api.subscribe = (selector, optListener, options) => {
|
|
1464
|
+
api.subscribe = ((selector, optListener, options) => {
|
|
1501
1465
|
let listener = selector;
|
|
1502
1466
|
if (optListener) {
|
|
1503
1467
|
const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;
|
|
@@ -1514,7 +1478,7 @@ var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
|
|
|
1514
1478
|
}
|
|
1515
1479
|
}
|
|
1516
1480
|
return origSubscribe(listener);
|
|
1517
|
-
};
|
|
1481
|
+
});
|
|
1518
1482
|
const initialState = fn(set, get, api);
|
|
1519
1483
|
return initialState;
|
|
1520
1484
|
};
|
|
@@ -1731,9 +1695,9 @@ function createIsCircular(areItemsEqual) {
|
|
|
1731
1695
|
function getStrictProperties(object) {
|
|
1732
1696
|
return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));
|
|
1733
1697
|
}
|
|
1734
|
-
var hasOwn = Object.hasOwn || function(object, property) {
|
|
1698
|
+
var hasOwn = Object.hasOwn || (function(object, property) {
|
|
1735
1699
|
return hasOwnProperty.call(object, property);
|
|
1736
|
-
};
|
|
1700
|
+
});
|
|
1737
1701
|
function sameValueZeroEqual(a, b) {
|
|
1738
1702
|
return a === b || !a && !b && a !== a && b !== b;
|
|
1739
1703
|
}
|
|
@@ -2123,10 +2087,10 @@ var getChanged = (newItem, oldItem) => {
|
|
|
2123
2087
|
|
|
2124
2088
|
// ../core/store/slices/permissions.ts
|
|
2125
2089
|
var createPermissionsSlice = (set, get) => {
|
|
2126
|
-
const resolvePermissions = (..._0) => __async(
|
|
2090
|
+
const resolvePermissions = (..._0) => __async(null, [..._0], function* (params = {}, force) {
|
|
2127
2091
|
const { state, permissions, config } = get();
|
|
2128
2092
|
const { cache: cache2, globalPermissions } = permissions;
|
|
2129
|
-
const resolveDataForItem = (item2, force2 = false) => __async(
|
|
2093
|
+
const resolveDataForItem = (item2, force2 = false) => __async(null, null, function* () {
|
|
2130
2094
|
var _a, _b, _c;
|
|
2131
2095
|
const { config: config2, state: appState, setComponentLoading } = get();
|
|
2132
2096
|
const componentConfig = item2.type === "root" ? config2.root : config2.components[item2.type];
|
|
@@ -2181,13 +2145,13 @@ var createPermissionsSlice = (set, get) => {
|
|
|
2181
2145
|
if (item) {
|
|
2182
2146
|
yield resolveDataForItem(item, force);
|
|
2183
2147
|
} else if (type) {
|
|
2184
|
-
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(
|
|
2148
|
+
flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(null, null, function* () {
|
|
2185
2149
|
yield resolveDataForItem(item2, force);
|
|
2186
2150
|
}));
|
|
2187
2151
|
} else if (root) {
|
|
2188
2152
|
resolveDataForRoot(force);
|
|
2189
2153
|
} else {
|
|
2190
|
-
flattenData(state, config).map((item2) => __async(
|
|
2154
|
+
flattenData(state, config).map((item2) => __async(null, null, function* () {
|
|
2191
2155
|
yield resolveDataForItem(item2, force);
|
|
2192
2156
|
}));
|
|
2193
2157
|
}
|
|
@@ -2242,7 +2206,7 @@ var createFieldsSlice = (_set, _get) => {
|
|
|
2242
2206
|
// ../core/lib/resolve-component-data.ts
|
|
2243
2207
|
init_react_import();
|
|
2244
2208
|
var cache = { lastChange: {} };
|
|
2245
|
-
var resolveComponentData = (_0, _1, ..._2) => __async(
|
|
2209
|
+
var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
|
|
2246
2210
|
const configForItem = "type" in item && item.type !== "root" ? config.components[item.type] : config.root;
|
|
2247
2211
|
const resolvedItem = __spreadValues({}, item);
|
|
2248
2212
|
const shouldRunResolver = (configForItem == null ? void 0 : configForItem.resolveData) && item.props;
|
|
@@ -2270,11 +2234,11 @@ var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], f
|
|
|
2270
2234
|
let itemWithResolvedChildren = yield mapFields(
|
|
2271
2235
|
resolvedItem,
|
|
2272
2236
|
{
|
|
2273
|
-
slot: (_02) => __async(
|
|
2237
|
+
slot: (_02) => __async(null, [_02], function* ({ value }) {
|
|
2274
2238
|
const content = value;
|
|
2275
2239
|
return yield Promise.all(
|
|
2276
2240
|
content.map(
|
|
2277
|
-
(childItem) => __async(
|
|
2241
|
+
(childItem) => __async(null, null, function* () {
|
|
2278
2242
|
return (yield resolveComponentData(
|
|
2279
2243
|
childItem,
|
|
2280
2244
|
config,
|
|
@@ -2340,8 +2304,7 @@ var defaultAppState = {
|
|
|
2340
2304
|
options: [],
|
|
2341
2305
|
controlsVisible: true
|
|
2342
2306
|
},
|
|
2343
|
-
field: { focus: null }
|
|
2344
|
-
plugin: { current: null }
|
|
2307
|
+
field: { focus: null }
|
|
2345
2308
|
},
|
|
2346
2309
|
indexes: {
|
|
2347
2310
|
nodes: {},
|
|
@@ -2357,7 +2320,6 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2357
2320
|
subscribeWithSelector((set, get) => {
|
|
2358
2321
|
var _a, _b;
|
|
2359
2322
|
return __spreadProps(__spreadValues({
|
|
2360
|
-
instanceId: generateId(),
|
|
2361
2323
|
state: defaultAppState,
|
|
2362
2324
|
config: { components: {} },
|
|
2363
2325
|
componentState: {},
|
|
@@ -2466,7 +2428,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2466
2428
|
const selectedItem = state.ui.itemSelector ? getItem(state.ui.itemSelector, state) : null;
|
|
2467
2429
|
return __spreadProps(__spreadValues({}, s), { state, selectedItem });
|
|
2468
2430
|
}),
|
|
2469
|
-
resolveComponentData: (componentData, trigger) => __async(
|
|
2431
|
+
resolveComponentData: (componentData, trigger) => __async(null, null, function* () {
|
|
2470
2432
|
const { config, metadata, setComponentLoading, permissions } = get();
|
|
2471
2433
|
const timeouts = {};
|
|
2472
2434
|
return yield resolveComponentData(
|
|
@@ -2477,7 +2439,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2477
2439
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2478
2440
|
timeouts[id] = setComponentLoading(id, true, 50);
|
|
2479
2441
|
},
|
|
2480
|
-
(item) => __async(
|
|
2442
|
+
(item) => __async(null, null, function* () {
|
|
2481
2443
|
const id = "id" in item.props ? item.props.id : "root";
|
|
2482
2444
|
if ("type" in item) {
|
|
2483
2445
|
yield permissions.refreshPermissions({ item });
|
|
@@ -2489,7 +2451,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2489
2451
|
trigger
|
|
2490
2452
|
);
|
|
2491
2453
|
}),
|
|
2492
|
-
resolveAndCommitData: () => __async(
|
|
2454
|
+
resolveAndCommitData: () => __async(null, null, function* () {
|
|
2493
2455
|
const { config, state, dispatch, resolveComponentData: resolveComponentData2 } = get();
|
|
2494
2456
|
walkAppState(
|
|
2495
2457
|
state,
|
|
@@ -2528,14 +2490,203 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2528
2490
|
})
|
|
2529
2491
|
);
|
|
2530
2492
|
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();
|
|
2531
2560
|
|
|
2532
2561
|
// ../core/lib/get-zoom-config.ts
|
|
2533
2562
|
init_react_import();
|
|
2534
2563
|
|
|
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
|
+
|
|
2535
2686
|
// src/HeadingAnalyzer.tsx
|
|
2536
2687
|
var import_react_from_json = __toESM(require("react-from-json"));
|
|
2537
|
-
var
|
|
2538
|
-
var
|
|
2688
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
2689
|
+
var getClassName5 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2539
2690
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2540
2691
|
var ReactFromJSON = import_react_from_json.default.default || import_react_from_json.default;
|
|
2541
2692
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2590,8 +2741,8 @@ function buildHierarchy(frame) {
|
|
|
2590
2741
|
var usePuck = (0, import_puck.createUsePuck)();
|
|
2591
2742
|
var HeadingAnalyzer = () => {
|
|
2592
2743
|
const data = usePuck((s) => s.appState.data);
|
|
2593
|
-
const [hierarchy, setHierarchy] = (0,
|
|
2594
|
-
(0,
|
|
2744
|
+
const [hierarchy, setHierarchy] = (0, import_react11.useState)([]);
|
|
2745
|
+
(0, import_react11.useEffect)(() => {
|
|
2595
2746
|
const frame = getFrame();
|
|
2596
2747
|
let entry = frame == null ? void 0 : frame.querySelector(`[data-puck-entry]`);
|
|
2597
2748
|
const createHierarchy = () => {
|
|
@@ -2626,11 +2777,11 @@ var HeadingAnalyzer = () => {
|
|
|
2626
2777
|
frameObserver.disconnect();
|
|
2627
2778
|
};
|
|
2628
2779
|
}, [data]);
|
|
2629
|
-
return /* @__PURE__ */ (0,
|
|
2630
|
-
/* @__PURE__ */ (0,
|
|
2780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: getClassName5(), children: [
|
|
2781
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
2631
2782
|
"small",
|
|
2632
2783
|
{
|
|
2633
|
-
className:
|
|
2784
|
+
className: getClassName5("cssWarning"),
|
|
2634
2785
|
style: {
|
|
2635
2786
|
color: "var(--puck-color-red-04)",
|
|
2636
2787
|
display: "block",
|
|
@@ -2639,19 +2790,19 @@ var HeadingAnalyzer = () => {
|
|
|
2639
2790
|
children: [
|
|
2640
2791
|
"Heading analyzer styles not loaded. Please review the",
|
|
2641
2792
|
" ",
|
|
2642
|
-
/* @__PURE__ */ (0,
|
|
2793
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2643
2794
|
"."
|
|
2644
2795
|
]
|
|
2645
2796
|
}
|
|
2646
2797
|
),
|
|
2647
|
-
hierarchy.length === 0 && /* @__PURE__ */ (0,
|
|
2648
|
-
/* @__PURE__ */ (0,
|
|
2798
|
+
hierarchy.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { children: "No headings." }),
|
|
2799
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(OutlineList, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
2649
2800
|
ReactFromJSON,
|
|
2650
2801
|
{
|
|
2651
2802
|
mapping: {
|
|
2652
|
-
Root: (props) => /* @__PURE__ */ (0,
|
|
2653
|
-
OutlineListItem: (props) => /* @__PURE__ */ (0,
|
|
2654
|
-
/* @__PURE__ */ (0,
|
|
2803
|
+
Root: (props) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: props.children }),
|
|
2804
|
+
OutlineListItem: (props) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(OutlineList.Item, { children: [
|
|
2805
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(OutlineList.Clickable, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
2655
2806
|
"small",
|
|
2656
2807
|
{
|
|
2657
2808
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2669,14 +2820,14 @@ var HeadingAnalyzer = () => {
|
|
|
2669
2820
|
}, 2e3);
|
|
2670
2821
|
}
|
|
2671
2822
|
},
|
|
2672
|
-
children: props.missing ? /* @__PURE__ */ (0,
|
|
2673
|
-
/* @__PURE__ */ (0,
|
|
2823
|
+
children: props.missing ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
|
|
2824
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("b", { children: [
|
|
2674
2825
|
"H",
|
|
2675
2826
|
props.rank
|
|
2676
2827
|
] }),
|
|
2677
2828
|
": Missing"
|
|
2678
|
-
] }) : /* @__PURE__ */ (0,
|
|
2679
|
-
/* @__PURE__ */ (0,
|
|
2829
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
|
|
2830
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("b", { children: [
|
|
2680
2831
|
"H",
|
|
2681
2832
|
props.rank
|
|
2682
2833
|
] }),
|
|
@@ -2685,7 +2836,7 @@ var HeadingAnalyzer = () => {
|
|
|
2685
2836
|
] })
|
|
2686
2837
|
}
|
|
2687
2838
|
) }),
|
|
2688
|
-
/* @__PURE__ */ (0,
|
|
2839
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(OutlineList, { children: props.children })
|
|
2689
2840
|
] })
|
|
2690
2841
|
},
|
|
2691
2842
|
entry: {
|
|
@@ -2706,10 +2857,12 @@ var HeadingAnalyzer = () => {
|
|
|
2706
2857
|
] });
|
|
2707
2858
|
};
|
|
2708
2859
|
var headingAnalyzer = {
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2860
|
+
overrides: {
|
|
2861
|
+
fields: ({ children, itemSelector }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
|
|
2862
|
+
children,
|
|
2863
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { style: { display: itemSelector ? "none" : "block" }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SidebarSection, { title: "Heading Outline", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(HeadingAnalyzer, {}) }) })
|
|
2864
|
+
] })
|
|
2865
|
+
}
|
|
2713
2866
|
};
|
|
2714
2867
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2715
2868
|
/*! Bundled license information:
|
|
@@ -2722,45 +2875,10 @@ classnames/index.js:
|
|
|
2722
2875
|
*)
|
|
2723
2876
|
|
|
2724
2877
|
lucide-react/dist/esm/shared/src/utils.js:
|
|
2725
|
-
(**
|
|
2726
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2727
|
-
*
|
|
2728
|
-
* This source code is licensed under the ISC license.
|
|
2729
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2730
|
-
*)
|
|
2731
|
-
|
|
2732
2878
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2733
|
-
(**
|
|
2734
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2735
|
-
*
|
|
2736
|
-
* This source code is licensed under the ISC license.
|
|
2737
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2738
|
-
*)
|
|
2739
|
-
|
|
2740
2879
|
lucide-react/dist/esm/Icon.js:
|
|
2741
|
-
(**
|
|
2742
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2743
|
-
*
|
|
2744
|
-
* This source code is licensed under the ISC license.
|
|
2745
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2746
|
-
*)
|
|
2747
|
-
|
|
2748
2880
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2749
|
-
|
|
2750
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2751
|
-
*
|
|
2752
|
-
* This source code is licensed under the ISC license.
|
|
2753
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2754
|
-
*)
|
|
2755
|
-
|
|
2756
|
-
lucide-react/dist/esm/icons/heading-1.js:
|
|
2757
|
-
(**
|
|
2758
|
-
* @license lucide-react v0.468.0 - ISC
|
|
2759
|
-
*
|
|
2760
|
-
* This source code is licensed under the ISC license.
|
|
2761
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2762
|
-
*)
|
|
2763
|
-
|
|
2881
|
+
lucide-react/dist/esm/icons/chevron-right.js:
|
|
2764
2882
|
lucide-react/dist/esm/lucide-react.js:
|
|
2765
2883
|
(**
|
|
2766
2884
|
* @license lucide-react v0.468.0 - ISC
|