@measured/puck-plugin-heading-analyzer 0.14.2-canary.25a7c4b → 0.14.2-canary.276d0f8

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.
Files changed (2) hide show
  1. package/dist/index.js +70 -45
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -35956,20 +35956,22 @@ function offsetPoint(x, y, win) {
35956
35956
  let offsetY = 0;
35957
35957
  if (win.parent !== win.self) {
35958
35958
  const iframe = win.frameElement;
35959
- const rect = iframe.getBoundingClientRect();
35960
- const transform = getTransform(iframe);
35961
- offsetX = rect.left;
35962
- offsetY = rect.top;
35963
- if (transform) {
35964
- const {
35965
- x: transformedX,
35966
- y: transformedY
35967
- } = applyTransformPoint(x, y, transform.matrix, transform.origin);
35968
- const point2 = {
35969
- x: transformedX + offsetX,
35970
- y: transformedY + offsetY
35971
- };
35972
- return point2;
35959
+ if (iframe) {
35960
+ const rect = iframe.getBoundingClientRect();
35961
+ const transform = getTransform(iframe);
35962
+ offsetX = rect.left;
35963
+ offsetY = rect.top;
35964
+ if (transform) {
35965
+ const {
35966
+ x: transformedX,
35967
+ y: transformedY
35968
+ } = applyTransformPoint(x, y, transform.matrix, transform.origin);
35969
+ const point2 = {
35970
+ x: transformedX + offsetX,
35971
+ y: transformedY + offsetY
35972
+ };
35973
+ return point2;
35974
+ }
35973
35975
  }
35974
35976
  }
35975
35977
  const point = {
@@ -41050,7 +41052,7 @@ var init_dnd_esm = __esm({
41050
41052
  }
41051
41053
  if (!el.parentElement) {
41052
41054
  const refWindow = el.ownerDocument.defaultView;
41053
- if (refWindow && refWindow.self !== refWindow.parent) {
41055
+ if (refWindow && refWindow.self !== refWindow.parent && refWindow.frameElement) {
41054
41056
  const iframe = refWindow.frameElement;
41055
41057
  return findNearestTransform(iframe);
41056
41058
  }
@@ -41172,7 +41174,7 @@ var init_dnd_esm = __esm({
41172
41174
  }) => {
41173
41175
  const el = querySelectorAllIframe(`[data-rfd-draggable-id="${state.critical.draggable.id}"]`)[0];
41174
41176
  const win = (el == null ? void 0 : el.ownerDocument.defaultView) || window;
41175
- const isInIframe = win !== window;
41177
+ const isInIframe = win !== window && win.frameElement;
41176
41178
  if (isInIframe) {
41177
41179
  const iframe = win.frameElement;
41178
41180
  const viewportBox = getBox(iframe);
@@ -45920,31 +45922,23 @@ var require_dist = __commonJS({
45920
45922
  }
45921
45923
  return "";
45922
45924
  };
45925
+ var defer = (fn) => setTimeout(fn, 0);
45923
45926
  var CopyHostStyles = ({
45924
45927
  children,
45925
45928
  debug = false,
45926
45929
  onStylesLoaded = () => null
45927
45930
  }) => {
45928
45931
  const { document: doc, window: win } = (0, import_react_frame_component.useFrame)();
45929
- (0, import_react22.useLayoutEffect)(() => {
45932
+ (0, import_react22.useEffect)(() => {
45930
45933
  if (!win || !doc) {
45931
45934
  return () => {
45932
45935
  };
45933
45936
  }
45934
- const elements = [];
45937
+ let elements = [];
45938
+ const hashes = {};
45935
45939
  const lookupEl = (el) => elements.findIndex((elementMap) => elementMap.original === el);
45936
- const addEl = (el, onLoad = () => {
45940
+ const mirrorEl = (el, onLoad = () => {
45937
45941
  }) => __async2(void 0, null, function* () {
45938
- const index = lookupEl(el);
45939
- if (index > -1) {
45940
- if (debug)
45941
- console.log(
45942
- `Tried to add an element that was already mirrored. Updating instead...`
45943
- );
45944
- elements[index].mirror.innerText = el.innerText;
45945
- onLoad();
45946
- return;
45947
- }
45948
45942
  let mirror;
45949
45943
  if (el.nodeName === "LINK") {
45950
45944
  mirror = document.createElement("style");
@@ -45961,7 +45955,6 @@ var require_dist = __commonJS({
45961
45955
  `Tried to load styles for link element, but couldn't find them. Skipping...`
45962
45956
  );
45963
45957
  }
45964
- onLoad();
45965
45958
  return;
45966
45959
  }
45967
45960
  mirror.innerHTML = styles;
@@ -45969,11 +45962,28 @@ var require_dist = __commonJS({
45969
45962
  } else {
45970
45963
  mirror = el.cloneNode(true);
45971
45964
  }
45965
+ mirror.onload = onLoad;
45966
+ return mirror;
45967
+ });
45968
+ const addEl = (el, onLoad = () => {
45969
+ }) => __async2(void 0, null, function* () {
45970
+ const index = lookupEl(el);
45971
+ if (index > -1) {
45972
+ if (debug)
45973
+ console.log(
45974
+ `Tried to add an element that was already mirrored. Updating instead...`
45975
+ );
45976
+ elements[index].mirror.innerText = el.innerText;
45977
+ onLoad();
45978
+ return;
45979
+ }
45980
+ const mirror = yield mirrorEl(el, onLoad);
45981
+ if (!mirror) {
45982
+ onLoad();
45983
+ return;
45984
+ }
45972
45985
  const elHash = (0, import_object_hash.default)(mirror.outerHTML);
45973
- const existingHashes = collectStyles(doc).map(
45974
- (existingStyle) => existingStyle !== mirror && (0, import_object_hash.default)(existingStyle.outerHTML)
45975
- ).filter(Boolean);
45976
- if (existingHashes.indexOf(elHash) > -1) {
45986
+ if (hashes[elHash]) {
45977
45987
  if (debug)
45978
45988
  console.log(
45979
45989
  `iframe already contains element that is being mirrored. Skipping...`
@@ -45981,6 +45991,7 @@ var require_dist = __commonJS({
45981
45991
  onLoad();
45982
45992
  return;
45983
45993
  }
45994
+ hashes[elHash] = true;
45984
45995
  mirror.onload = onLoad;
45985
45996
  doc.head.append(mirror);
45986
45997
  elements.push({ original: el, mirror });
@@ -45988,6 +45999,7 @@ var require_dist = __commonJS({
45988
45999
  console.log(`Added style node ${el.outerHTML}`);
45989
46000
  });
45990
46001
  const removeEl = (el) => {
46002
+ var _a3, _b;
45991
46003
  const index = lookupEl(el);
45992
46004
  if (index === -1) {
45993
46005
  if (debug)
@@ -45996,7 +46008,9 @@ var require_dist = __commonJS({
45996
46008
  );
45997
46009
  return;
45998
46010
  }
45999
- elements[index].mirror.remove();
46011
+ const elHash = (0, import_object_hash.default)(el.outerHTML);
46012
+ (_b = (_a3 = elements[index]) == null ? void 0 : _a3.mirror) == null ? void 0 : _b.remove();
46013
+ delete hashes[elHash];
46000
46014
  if (debug)
46001
46015
  console.log(`Removed style node ${el.outerHTML}`);
46002
46016
  };
@@ -46007,7 +46021,7 @@ var require_dist = __commonJS({
46007
46021
  if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
46008
46022
  const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
46009
46023
  if (el && el.matches(styleSelector)) {
46010
- addEl(el);
46024
+ defer(() => addEl(el));
46011
46025
  }
46012
46026
  }
46013
46027
  });
@@ -46015,7 +46029,7 @@ var require_dist = __commonJS({
46015
46029
  if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
46016
46030
  const el = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
46017
46031
  if (el && el.matches(styleSelector)) {
46018
- removeEl(el);
46032
+ defer(() => removeEl(el));
46019
46033
  }
46020
46034
  }
46021
46035
  });
@@ -46024,16 +46038,27 @@ var require_dist = __commonJS({
46024
46038
  });
46025
46039
  const parentDocument = win.parent.document;
46026
46040
  const collectedStyles = collectStyles(parentDocument);
46027
- let mountedCounter = 0;
46028
- collectedStyles.forEach((styleNode) => {
46029
- addEl(styleNode, () => {
46030
- mountedCounter += 1;
46031
- if (mountedCounter === collectedStyles.length) {
46032
- onStylesLoaded();
46033
- }
46041
+ Promise.all(
46042
+ collectedStyles.map((styleNode) => __async2(void 0, null, function* () {
46043
+ const mirror = yield mirrorEl(styleNode);
46044
+ if (!mirror)
46045
+ return;
46046
+ elements.push({ original: styleNode, mirror });
46047
+ return mirror;
46048
+ }))
46049
+ ).then((mirrorStyles) => {
46050
+ const filtered = mirrorStyles.filter(
46051
+ (el) => typeof el !== "undefined"
46052
+ );
46053
+ doc.head.innerHTML = "";
46054
+ doc.head.append(...filtered);
46055
+ observer.observe(parentDocument.head, { childList: true, subtree: true });
46056
+ filtered.forEach((el) => {
46057
+ const elHash = (0, import_object_hash.default)(el.outerHTML);
46058
+ hashes[elHash] = true;
46034
46059
  });
46060
+ onStylesLoaded();
46035
46061
  });
46036
- observer.observe(parentDocument.head, { childList: true, subtree: true });
46037
46062
  return () => {
46038
46063
  observer.disconnect();
46039
46064
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measured/puck-plugin-heading-analyzer",
3
- "version": "0.14.2-canary.25a7c4b",
3
+ "version": "0.14.2-canary.276d0f8",
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.14.2-canary.25a7c4b",
21
+ "@measured/puck": "^0.14.2-canary.276d0f8",
22
22
  "@types/react": "^18.2.0",
23
23
  "@types/react-dom": "^18.2.0",
24
24
  "eslint": "^7.32.0",