@measured/puck-plugin-heading-analyzer 0.16.0-canary.cad95b8 → 0.16.0-canary.d08a794

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.d.ts CHANGED
@@ -199,6 +199,10 @@ type Overrides = OverridesGeneric<{
199
199
  children: ReactNode;
200
200
  name: string;
201
201
  }>;
202
+ iframe: RenderFunc<{
203
+ children: ReactNode;
204
+ document?: Document;
205
+ }>;
202
206
  outline: RenderFunc;
203
207
  puck: RenderFunc;
204
208
  }>;
package/dist/index.js CHANGED
@@ -74258,18 +74258,71 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74258
74258
  }, [plugins, overrides]);
74259
74259
  };
74260
74260
  init_react_import2();
74261
+ init_react_import2();
74262
+ var getChanged = (newItem, oldItem) => {
74263
+ return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
74264
+ const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
74265
+ const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
74266
+ return __spreadProps2(__spreadValues2({}, acc), {
74267
+ [item]: oldItemProps[item] !== newItemProps[item]
74268
+ });
74269
+ }, {}) : {};
74270
+ };
74271
+ init_react_import2();
74272
+ var resolvePermissions = ({
74273
+ selectedItem,
74274
+ config,
74275
+ changed,
74276
+ lastPermissions,
74277
+ initialPermissions,
74278
+ appState
74279
+ }) => {
74280
+ const componentConfig = selectedItem ? config.components[selectedItem.type] : null;
74281
+ if (selectedItem && (componentConfig == null ? void 0 : componentConfig.resolvePermissions)) {
74282
+ return componentConfig.resolvePermissions(selectedItem, {
74283
+ changed,
74284
+ lastPermissions,
74285
+ initialPermissions,
74286
+ appState
74287
+ });
74288
+ }
74289
+ return {};
74290
+ };
74291
+ var cache = { lastPermissions: {}, lastSelected: {} };
74261
74292
  var getPermissions = ({
74262
74293
  selectedItem,
74263
74294
  type,
74264
74295
  globalPermissions,
74265
- config
74296
+ config,
74297
+ appState
74266
74298
  }) => {
74267
74299
  const componentType = type || selectedItem && selectedItem.type || "";
74300
+ const componentId = selectedItem && selectedItem.props.id || "";
74268
74301
  let componentPermissions = getInitialPermissions({
74269
74302
  componentType,
74270
74303
  config,
74271
74304
  globalPermissions
74272
74305
  });
74306
+ const changed = getChanged(selectedItem, cache.lastSelected);
74307
+ if (Object.values(changed).some((el) => el === true)) {
74308
+ const resolvedPermissions = resolvePermissions({
74309
+ selectedItem,
74310
+ config,
74311
+ changed,
74312
+ lastPermissions: cache.lastPermissions[componentId] || componentPermissions,
74313
+ initialPermissions: componentPermissions,
74314
+ appState
74315
+ });
74316
+ if (resolvedPermissions !== void 0) {
74317
+ componentPermissions = __spreadValues2(__spreadValues2({}, componentPermissions), resolvedPermissions);
74318
+ }
74319
+ cache.lastSelected = selectedItem;
74320
+ cache.lastPermissions[componentId] = componentPermissions;
74321
+ return componentPermissions;
74322
+ }
74323
+ if (Object.keys(componentId && cache.lastPermissions[componentId]).length !== 0) {
74324
+ componentPermissions = cache.lastPermissions[componentId];
74325
+ }
74273
74326
  return componentPermissions;
74274
74327
  };
74275
74328
  var getInitialPermissions = ({
@@ -74319,7 +74372,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74319
74372
  plugins,
74320
74373
  selectedItem,
74321
74374
  config,
74322
- globalPermissions
74375
+ globalPermissions,
74376
+ state
74323
74377
  } = useAppContext2();
74324
74378
  const isModifierHeld = useModifierHeld("Alt");
74325
74379
  const El = status !== "LOADING" ? import_dnd4.Draggable : DefaultDraggable;
@@ -74341,7 +74395,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74341
74395
  const permissions = selectedItem && getPermissions({
74342
74396
  selectedItem,
74343
74397
  globalPermissions: globalPermissions || {},
74344
- config
74398
+ config,
74399
+ appState: state
74345
74400
  });
74346
74401
  return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
74347
74402
  El,
@@ -74686,7 +74741,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
74686
74741
  appContext22.state.data
74687
74742
  ),
74688
74743
  config: appContext22.config,
74689
- globalPermissions: appContext22.globalPermissions || {}
74744
+ globalPermissions: appContext22.globalPermissions || {},
74745
+ appState: appContext22.state
74690
74746
  }).drag;
74691
74747
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
74692
74748
  "div",
@@ -75356,17 +75412,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75356
75412
  init_react_import2();
75357
75413
  var import_react20 = require("react");
75358
75414
  init_react_import2();
75359
- init_react_import2();
75360
- var getChanged = (newItem, oldItem) => {
75361
- return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
75362
- const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
75363
- const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
75364
- return __spreadProps2(__spreadValues2({}, acc), {
75365
- [item]: oldItemProps[item] !== newItemProps[item]
75366
- });
75367
- }, {}) : {};
75368
- };
75369
- var cache = { lastChange: {} };
75415
+ var cache2 = { lastChange: {} };
75370
75416
  var resolveAllComponentData = (content, config, onResolveStart, onResolveEnd) => __async2(void 0, null, function* () {
75371
75417
  return yield Promise.all(
75372
75418
  content.map((item) => __async2(void 0, null, function* () {
@@ -75382,7 +75428,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75382
75428
  var resolveComponentData = (item, config, onResolveStart, onResolveEnd) => __async2(void 0, null, function* () {
75383
75429
  const configForItem = config.components[item.type];
75384
75430
  if (configForItem.resolveData) {
75385
- const { item: oldItem = {}, resolved = {} } = cache.lastChange[item.props.id] || {};
75431
+ const { item: oldItem = {}, resolved = {} } = cache2.lastChange[item.props.id] || {};
75386
75432
  if (item && item === oldItem) {
75387
75433
  return resolved;
75388
75434
  }
@@ -75399,7 +75445,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75399
75445
  if (Object.keys(newReadOnly).length) {
75400
75446
  resolvedItem.readOnly = newReadOnly;
75401
75447
  }
75402
- cache.lastChange[item.props.id] = {
75448
+ cache2.lastChange[item.props.id] = {
75403
75449
  item,
75404
75450
  resolved: resolvedItem
75405
75451
  };
@@ -75427,20 +75473,20 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75427
75473
  });
75428
75474
  };
75429
75475
  init_react_import2();
75430
- var cache2 = {};
75476
+ var cache3 = {};
75431
75477
  var resolveRootData = (data, config) => __async2(void 0, null, function* () {
75432
75478
  var _a3, _b2, _c, _d, _e;
75433
75479
  if (((_a3 = config.root) == null ? void 0 : _a3.resolveData) && data.root.props) {
75434
- if (((_b2 = cache2.lastChange) == null ? void 0 : _b2.original) === data.root) {
75435
- return cache2.lastChange.resolved;
75480
+ if (((_b2 = cache3.lastChange) == null ? void 0 : _b2.original) === data.root) {
75481
+ return cache3.lastChange.resolved;
75436
75482
  }
75437
- const changed = getChanged(data.root, (_c = cache2.lastChange) == null ? void 0 : _c.original);
75483
+ const changed = getChanged(data.root, (_c = cache3.lastChange) == null ? void 0 : _c.original);
75438
75484
  const rootWithProps = data.root;
75439
75485
  const resolvedRoot = yield (_e = config.root) == null ? void 0 : _e.resolveData(rootWithProps, {
75440
75486
  changed,
75441
- lastData: ((_d = cache2.lastChange) == null ? void 0 : _d.original) || {}
75487
+ lastData: ((_d = cache3.lastChange) == null ? void 0 : _d.original) || {}
75442
75488
  });
75443
- cache2.lastChange = {
75489
+ cache3.lastChange = {
75444
75490
  original: data.root,
75445
75491
  resolved: resolvedRoot
75446
75492
  };
@@ -75759,7 +75805,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75759
75805
  const { edit } = getPermissions({
75760
75806
  selectedItem,
75761
75807
  config,
75762
- globalPermissions: globalPermissions || {}
75808
+ globalPermissions: globalPermissions || {},
75809
+ appState: state
75763
75810
  });
75764
75811
  return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
75765
75812
  AutoFieldPrivate,
@@ -75807,11 +75854,12 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
75807
75854
  label,
75808
75855
  index
75809
75856
  }) => {
75810
- const { overrides, config, globalPermissions } = useAppContext2();
75857
+ const { overrides, config, globalPermissions, state } = useAppContext2();
75811
75858
  const canInsert = getPermissions({
75812
75859
  type: name,
75813
75860
  config,
75814
- globalPermissions: globalPermissions || {}
75861
+ globalPermissions: globalPermissions || {},
75862
+ appState: state
75815
75863
  }).insert;
75816
75864
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
75817
75865
  Drawer.Item,
@@ -76161,10 +76209,11 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76161
76209
  var AutoFrame_default = AutoFrameComponent;
76162
76210
  init_react_import2();
76163
76211
  var styles_module_default18 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
76212
+ var import_react_frame_component2 = require_lib();
76164
76213
  var import_jsx_runtime33 = require("react/jsx-runtime");
76165
76214
  var getClassName23 = get_class_name_factory_default2("PuckPreview", styles_module_default18);
76166
76215
  var Preview = ({ id = "puck-preview" }) => {
76167
- const { config, dispatch, state, setStatus, iframe } = useAppContext2();
76216
+ const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext2();
76168
76217
  const Page = (0, import_react25.useCallback)(
76169
76218
  (pageProps) => {
76170
76219
  var _a3, _b2;
@@ -76178,6 +76227,7 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76178
76227
  },
76179
76228
  [config.root]
76180
76229
  );
76230
+ const Frame2 = (0, import_react25.useMemo)(() => overrides.iframe || "div", [overrides]);
76181
76231
  const rootProps = state.data.root.props || state.data.root;
76182
76232
  const ref2 = (0, import_react25.useRef)(null);
76183
76233
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
@@ -76198,7 +76248,9 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
76198
76248
  onStylesLoaded: () => {
76199
76249
  setStatus("READY");
76200
76250
  },
76201
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId2 }) }))
76251
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_frame_component2.FrameContextConsumer, { children: ({ document: document2 }) => {
76252
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Frame2, { document: document2, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId2 }) })) });
76253
+ } })
76202
76254
  }
76203
76255
  ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { id: "preview-frame", className: getClassName23("frame"), children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Page, __spreadProps2(__spreadValues2({ dispatch, state }, rootProps), { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DropZone, { zone: rootDroppableId2 }) })) })
76204
76256
  }
@@ -77508,7 +77560,8 @@ See https://github.com/measuredco/puck/issues/411 for more information. This mes
77508
77560
  selectedItem: item || currentItem,
77509
77561
  type,
77510
77562
  globalPermissions: globalPermissions || {},
77511
- config
77563
+ config,
77564
+ appState
77512
77565
  });
77513
77566
  },
77514
77567
  history: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measured/puck-plugin-heading-analyzer",
3
- "version": "0.16.0-canary.cad95b8",
3
+ "version": "0.16.0-canary.d08a794",
4
4
  "author": "Measured Corporation Ltd <hello@measured.co>",
5
5
  "repository": "measuredco/puck",
6
6
  "bugs": "https://github.com/measuredco/puck/issues",
@@ -18,7 +18,7 @@
18
18
  "dist"
19
19
  ],
20
20
  "devDependencies": {
21
- "@measured/puck": "^0.16.0-canary.cad95b8",
21
+ "@measured/puck": "^0.16.0-canary.d08a794",
22
22
  "@types/react": "^18.2.0",
23
23
  "@types/react-dom": "^18.2.0",
24
24
  "eslint": "^7.32.0",