@measured/puck-plugin-heading-analyzer 0.21.0-canary.e4131567 → 0.21.0-canary.e491598a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.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": "_HeadingAnalyzer_116v6_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_116v6_5", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_116v6_9", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_116v6_13" };
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/SidebarSection/index.tsx
277
+ // ../core/components/OutlineList/index.tsx
278
278
  init_react_import();
279
279
 
280
- // css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css#css-module
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 = { "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" };
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/Heading/index.tsx
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("Heading", styles_module_default2);
321
- var Heading = ({ children, rank, size = "m" }) => {
322
- const Tag = rank ? `h${rank}` : "span";
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
- Tag,
324
+ "li",
325
325
  {
326
- className: getClassName({
327
- [size]: true
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/chevron-right.js
442
+ // ../../node_modules/lucide-react/dist/esm/icons/heading-1.js
422
443
  init_react_import();
423
- var ChevronRight = createLucideIcon("ChevronRight", [
424
- ["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
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/use-breadcrumbs.ts
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();
@@ -806,10 +841,10 @@ var insert = (list, index, item) => {
806
841
  // ../core/lib/generate-id.ts
807
842
  init_react_import();
808
843
 
809
- // ../../node_modules/uuid/dist/esm-node/index.js
844
+ // ../core/node_modules/uuid/dist/esm-node/index.js
810
845
  init_react_import();
811
846
 
812
- // ../../node_modules/uuid/dist/esm-node/rng.js
847
+ // ../core/node_modules/uuid/dist/esm-node/rng.js
813
848
  init_react_import();
814
849
  import crypto from "crypto";
815
850
  var rnds8Pool = new Uint8Array(256);
@@ -822,7 +857,7 @@ function rng() {
822
857
  return rnds8Pool.slice(poolPtr, poolPtr += 16);
823
858
  }
824
859
 
825
- // ../../node_modules/uuid/dist/esm-node/stringify.js
860
+ // ../core/node_modules/uuid/dist/esm-node/stringify.js
826
861
  init_react_import();
827
862
  var byteToHex = [];
828
863
  for (let i = 0; i < 256; ++i) {
@@ -832,17 +867,17 @@ function unsafeStringify(arr, offset = 0) {
832
867
  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]];
833
868
  }
834
869
 
835
- // ../../node_modules/uuid/dist/esm-node/v4.js
870
+ // ../core/node_modules/uuid/dist/esm-node/v4.js
836
871
  init_react_import();
837
872
 
838
- // ../../node_modules/uuid/dist/esm-node/native.js
873
+ // ../core/node_modules/uuid/dist/esm-node/native.js
839
874
  init_react_import();
840
875
  import crypto2 from "crypto";
841
876
  var native_default = {
842
877
  randomUUID: crypto2.randomUUID
843
878
  };
844
879
 
845
- // ../../node_modules/uuid/dist/esm-node/v4.js
880
+ // ../core/node_modules/uuid/dist/esm-node/v4.js
846
881
  function v4(options, buf, offset) {
847
882
  if (native_default.randomUUID && !buf && !options) {
848
883
  return native_default.randomUUID();
@@ -1396,7 +1431,8 @@ init_react_import();
1396
1431
  var defaultViewports = [
1397
1432
  { width: 360, height: "auto", icon: "Smartphone", label: "Small" },
1398
1433
  { width: 768, height: "auto", icon: "Tablet", label: "Medium" },
1399
- { width: 1280, height: "auto", icon: "Monitor", label: "Large" }
1434
+ { width: 1280, height: "auto", icon: "Monitor", label: "Large" },
1435
+ { width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
1400
1436
  ];
1401
1437
 
1402
1438
  // ../../node_modules/zustand/esm/vanilla.mjs
@@ -1422,7 +1458,7 @@ var createStoreImpl = (createState) => {
1422
1458
  const initialState = state = createState(setState, getState, api);
1423
1459
  return api;
1424
1460
  };
1425
- var createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
1461
+ var createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
1426
1462
 
1427
1463
  // ../../node_modules/zustand/esm/react.mjs
1428
1464
  init_react_import();
@@ -1431,8 +1467,8 @@ var identity = (arg) => arg;
1431
1467
  function useStore(api, selector = identity) {
1432
1468
  const slice = React2.useSyncExternalStore(
1433
1469
  api.subscribe,
1434
- () => selector(api.getState()),
1435
- () => selector(api.getInitialState())
1470
+ React2.useCallback(() => selector(api.getState()), [api, selector]),
1471
+ React2.useCallback(() => selector(api.getInitialState()), [api, selector])
1436
1472
  );
1437
1473
  React2.useDebugValue(slice);
1438
1474
  return slice;
@@ -1443,13 +1479,13 @@ var createImpl = (createState) => {
1443
1479
  Object.assign(useBoundStore, api);
1444
1480
  return useBoundStore;
1445
1481
  };
1446
- var create = (createState) => createState ? createImpl(createState) : createImpl;
1482
+ var create = ((createState) => createState ? createImpl(createState) : createImpl);
1447
1483
 
1448
1484
  // ../../node_modules/zustand/esm/middleware.mjs
1449
1485
  init_react_import();
1450
1486
  var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
1451
1487
  const origSubscribe = api.subscribe;
1452
- api.subscribe = (selector, optListener, options) => {
1488
+ api.subscribe = ((selector, optListener, options) => {
1453
1489
  let listener = selector;
1454
1490
  if (optListener) {
1455
1491
  const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;
@@ -1466,7 +1502,7 @@ var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
1466
1502
  }
1467
1503
  }
1468
1504
  return origSubscribe(listener);
1469
- };
1505
+ });
1470
1506
  const initialState = fn(set, get, api);
1471
1507
  return initialState;
1472
1508
  };
@@ -1683,9 +1719,9 @@ function createIsCircular(areItemsEqual) {
1683
1719
  function getStrictProperties(object) {
1684
1720
  return getOwnPropertyNames(object).concat(getOwnPropertySymbols(object));
1685
1721
  }
1686
- var hasOwn = Object.hasOwn || function(object, property) {
1722
+ var hasOwn = Object.hasOwn || (function(object, property) {
1687
1723
  return hasOwnProperty.call(object, property);
1688
- };
1724
+ });
1689
1725
  function sameValueZeroEqual(a, b) {
1690
1726
  return a === b || !a && !b && a !== a && b !== b;
1691
1727
  }
@@ -2075,10 +2111,10 @@ var getChanged = (newItem, oldItem) => {
2075
2111
 
2076
2112
  // ../core/store/slices/permissions.ts
2077
2113
  var createPermissionsSlice = (set, get) => {
2078
- const resolvePermissions = (..._0) => __async(void 0, [..._0], function* (params = {}, force) {
2114
+ const resolvePermissions = (..._0) => __async(null, [..._0], function* (params = {}, force) {
2079
2115
  const { state, permissions, config } = get();
2080
2116
  const { cache: cache2, globalPermissions } = permissions;
2081
- const resolveDataForItem = (item2, force2 = false) => __async(void 0, null, function* () {
2117
+ const resolveDataForItem = (item2, force2 = false) => __async(null, null, function* () {
2082
2118
  var _a, _b, _c;
2083
2119
  const { config: config2, state: appState, setComponentLoading } = get();
2084
2120
  const componentConfig = item2.type === "root" ? config2.root : config2.components[item2.type];
@@ -2133,13 +2169,13 @@ var createPermissionsSlice = (set, get) => {
2133
2169
  if (item) {
2134
2170
  yield resolveDataForItem(item, force);
2135
2171
  } else if (type) {
2136
- flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(void 0, null, function* () {
2172
+ flattenData(state, config).filter((item2) => item2.type === type).map((item2) => __async(null, null, function* () {
2137
2173
  yield resolveDataForItem(item2, force);
2138
2174
  }));
2139
2175
  } else if (root) {
2140
2176
  resolveDataForRoot(force);
2141
2177
  } else {
2142
- flattenData(state, config).map((item2) => __async(void 0, null, function* () {
2178
+ flattenData(state, config).map((item2) => __async(null, null, function* () {
2143
2179
  yield resolveDataForItem(item2, force);
2144
2180
  }));
2145
2181
  }
@@ -2194,7 +2230,7 @@ var createFieldsSlice = (_set, _get) => {
2194
2230
  // ../core/lib/resolve-component-data.ts
2195
2231
  init_react_import();
2196
2232
  var cache = { lastChange: {} };
2197
- var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
2233
+ var resolveComponentData = (_0, _1, ..._2) => __async(null, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
2198
2234
  const configForItem = "type" in item && item.type !== "root" ? config.components[item.type] : config.root;
2199
2235
  const resolvedItem = __spreadValues({}, item);
2200
2236
  const shouldRunResolver = (configForItem == null ? void 0 : configForItem.resolveData) && item.props;
@@ -2222,11 +2258,11 @@ var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], f
2222
2258
  let itemWithResolvedChildren = yield mapFields(
2223
2259
  resolvedItem,
2224
2260
  {
2225
- slot: (_02) => __async(void 0, [_02], function* ({ value }) {
2261
+ slot: (_02) => __async(null, [_02], function* ({ value }) {
2226
2262
  const content = value;
2227
2263
  return yield Promise.all(
2228
2264
  content.map(
2229
- (childItem) => __async(void 0, null, function* () {
2265
+ (childItem) => __async(null, null, function* () {
2230
2266
  return (yield resolveComponentData(
2231
2267
  childItem,
2232
2268
  config,
@@ -2292,7 +2328,8 @@ var defaultAppState = {
2292
2328
  options: [],
2293
2329
  controlsVisible: true
2294
2330
  },
2295
- field: { focus: null }
2331
+ field: { focus: null },
2332
+ plugin: { current: null }
2296
2333
  },
2297
2334
  indexes: {
2298
2335
  nodes: {},
@@ -2308,6 +2345,7 @@ var createAppStore = (initialAppStore) => create()(
2308
2345
  subscribeWithSelector((set, get) => {
2309
2346
  var _a, _b;
2310
2347
  return __spreadProps(__spreadValues({
2348
+ instanceId: generateId(),
2311
2349
  state: defaultAppState,
2312
2350
  config: { components: {} },
2313
2351
  componentState: {},
@@ -2416,7 +2454,7 @@ var createAppStore = (initialAppStore) => create()(
2416
2454
  const selectedItem = state.ui.itemSelector ? getItem(state.ui.itemSelector, state) : null;
2417
2455
  return __spreadProps(__spreadValues({}, s), { state, selectedItem });
2418
2456
  }),
2419
- resolveComponentData: (componentData, trigger) => __async(void 0, null, function* () {
2457
+ resolveComponentData: (componentData, trigger) => __async(null, null, function* () {
2420
2458
  const { config, metadata, setComponentLoading, permissions } = get();
2421
2459
  const timeouts = {};
2422
2460
  return yield resolveComponentData(
@@ -2427,7 +2465,7 @@ var createAppStore = (initialAppStore) => create()(
2427
2465
  const id = "id" in item.props ? item.props.id : "root";
2428
2466
  timeouts[id] = setComponentLoading(id, true, 50);
2429
2467
  },
2430
- (item) => __async(void 0, null, function* () {
2468
+ (item) => __async(null, null, function* () {
2431
2469
  const id = "id" in item.props ? item.props.id : "root";
2432
2470
  if ("type" in item) {
2433
2471
  yield permissions.refreshPermissions({ item });
@@ -2439,7 +2477,7 @@ var createAppStore = (initialAppStore) => create()(
2439
2477
  trigger
2440
2478
  );
2441
2479
  }),
2442
- resolveAndCommitData: () => __async(void 0, null, function* () {
2480
+ resolveAndCommitData: () => __async(null, null, function* () {
2443
2481
  const { config, state, dispatch, resolveComponentData: resolveComponentData2 } = get();
2444
2482
  walkAppState(
2445
2483
  state,
@@ -2478,203 +2516,14 @@ var createAppStore = (initialAppStore) => create()(
2478
2516
  })
2479
2517
  );
2480
2518
  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
2519
 
2549
2520
  // ../core/lib/get-zoom-config.ts
2550
2521
  init_react_import();
2551
2522
 
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
2523
  // src/HeadingAnalyzer.tsx
2675
2524
  import ReactFromJSONModule from "react-from-json";
2676
- import { Fragment, jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
2677
- var getClassName5 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
2525
+ import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
2526
+ var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
2678
2527
  var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
2679
2528
  var ReactFromJSON = ReactFromJSONModule.default || ReactFromJSONModule;
2680
2529
  var getOutline = ({ frame } = {}) => {
@@ -2765,11 +2614,11 @@ var HeadingAnalyzer = () => {
2765
2614
  frameObserver.disconnect();
2766
2615
  };
2767
2616
  }, [data]);
2768
- return /* @__PURE__ */ jsxs2("div", { className: getClassName5(), children: [
2769
- /* @__PURE__ */ jsxs2(
2617
+ return /* @__PURE__ */ jsxs("div", { className: getClassName2(), children: [
2618
+ /* @__PURE__ */ jsxs(
2770
2619
  "small",
2771
2620
  {
2772
- className: getClassName5("cssWarning"),
2621
+ className: getClassName2("cssWarning"),
2773
2622
  style: {
2774
2623
  color: "var(--puck-color-red-04)",
2775
2624
  display: "block",
@@ -2778,19 +2627,19 @@ var HeadingAnalyzer = () => {
2778
2627
  children: [
2779
2628
  "Heading analyzer styles not loaded. Please review the",
2780
2629
  " ",
2781
- /* @__PURE__ */ jsx5("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
2630
+ /* @__PURE__ */ jsx2("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
2782
2631
  "."
2783
2632
  ]
2784
2633
  }
2785
2634
  ),
2786
- hierarchy.length === 0 && /* @__PURE__ */ jsx5("div", { children: "No headings." }),
2787
- /* @__PURE__ */ jsx5(OutlineList, { children: /* @__PURE__ */ jsx5(
2635
+ hierarchy.length === 0 && /* @__PURE__ */ jsx2("div", { children: "No headings." }),
2636
+ /* @__PURE__ */ jsx2(OutlineList, { children: /* @__PURE__ */ jsx2(
2788
2637
  ReactFromJSON,
2789
2638
  {
2790
2639
  mapping: {
2791
- Root: (props) => /* @__PURE__ */ jsx5(Fragment, { children: props.children }),
2792
- OutlineListItem: (props) => /* @__PURE__ */ jsxs2(OutlineList.Item, { children: [
2793
- /* @__PURE__ */ jsx5(OutlineList.Clickable, { children: /* @__PURE__ */ jsx5(
2640
+ Root: (props) => /* @__PURE__ */ jsx2(Fragment, { children: props.children }),
2641
+ OutlineListItem: (props) => /* @__PURE__ */ jsxs(OutlineList.Item, { children: [
2642
+ /* @__PURE__ */ jsx2(OutlineList.Clickable, { children: /* @__PURE__ */ jsx2(
2794
2643
  "small",
2795
2644
  {
2796
2645
  className: getClassNameItem2({ missing: props.missing }),
@@ -2808,14 +2657,14 @@ var HeadingAnalyzer = () => {
2808
2657
  }, 2e3);
2809
2658
  }
2810
2659
  },
2811
- children: props.missing ? /* @__PURE__ */ jsxs2(Fragment, { children: [
2812
- /* @__PURE__ */ jsxs2("b", { children: [
2660
+ children: props.missing ? /* @__PURE__ */ jsxs(Fragment, { children: [
2661
+ /* @__PURE__ */ jsxs("b", { children: [
2813
2662
  "H",
2814
2663
  props.rank
2815
2664
  ] }),
2816
2665
  ": Missing"
2817
- ] }) : /* @__PURE__ */ jsxs2(Fragment, { children: [
2818
- /* @__PURE__ */ jsxs2("b", { children: [
2666
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
2667
+ /* @__PURE__ */ jsxs("b", { children: [
2819
2668
  "H",
2820
2669
  props.rank
2821
2670
  ] }),
@@ -2824,7 +2673,7 @@ var HeadingAnalyzer = () => {
2824
2673
  ] })
2825
2674
  }
2826
2675
  ) }),
2827
- /* @__PURE__ */ jsx5(OutlineList, { children: props.children })
2676
+ /* @__PURE__ */ jsx2(OutlineList, { children: props.children })
2828
2677
  ] })
2829
2678
  },
2830
2679
  entry: {
@@ -2845,12 +2694,10 @@ var HeadingAnalyzer = () => {
2845
2694
  ] });
2846
2695
  };
2847
2696
  var headingAnalyzer = {
2848
- overrides: {
2849
- fields: ({ children, itemSelector }) => /* @__PURE__ */ jsxs2(Fragment, { children: [
2850
- children,
2851
- /* @__PURE__ */ jsx5("div", { style: { display: itemSelector ? "none" : "block" }, children: /* @__PURE__ */ jsx5(SidebarSection, { title: "Heading Outline", children: /* @__PURE__ */ jsx5(HeadingAnalyzer, {}) }) })
2852
- ] })
2853
- }
2697
+ name: "heading-analyzer",
2698
+ label: "Audit",
2699
+ render: HeadingAnalyzer,
2700
+ icon: /* @__PURE__ */ jsx2(Heading1, {})
2854
2701
  };
2855
2702
  var HeadingAnalyzer_default = headingAnalyzer;
2856
2703
  export {
@@ -2866,45 +2713,10 @@ classnames/index.js:
2866
2713
  *)
2867
2714
 
2868
2715
  lucide-react/dist/esm/shared/src/utils.js:
2869
- (**
2870
- * @license lucide-react v0.468.0 - ISC
2871
- *
2872
- * This source code is licensed under the ISC license.
2873
- * See the LICENSE file in the root directory of this source tree.
2874
- *)
2875
-
2876
2716
  lucide-react/dist/esm/defaultAttributes.js:
2877
- (**
2878
- * @license lucide-react v0.468.0 - ISC
2879
- *
2880
- * This source code is licensed under the ISC license.
2881
- * See the LICENSE file in the root directory of this source tree.
2882
- *)
2883
-
2884
2717
  lucide-react/dist/esm/Icon.js:
2885
- (**
2886
- * @license lucide-react v0.468.0 - ISC
2887
- *
2888
- * This source code is licensed under the ISC license.
2889
- * See the LICENSE file in the root directory of this source tree.
2890
- *)
2891
-
2892
2718
  lucide-react/dist/esm/createLucideIcon.js:
2893
- (**
2894
- * @license lucide-react v0.468.0 - ISC
2895
- *
2896
- * This source code is licensed under the ISC license.
2897
- * See the LICENSE file in the root directory of this source tree.
2898
- *)
2899
-
2900
- lucide-react/dist/esm/icons/chevron-right.js:
2901
- (**
2902
- * @license lucide-react v0.468.0 - ISC
2903
- *
2904
- * This source code is licensed under the ISC license.
2905
- * See the LICENSE file in the root directory of this source tree.
2906
- *)
2907
-
2719
+ lucide-react/dist/esm/icons/heading-1.js:
2908
2720
  lucide-react/dist/esm/lucide-react.js:
2909
2721
  (**
2910
2722
  * @license lucide-react v0.468.0 - ISC