@measured/puck 0.14.2-canary.9008b70 → 0.14.2-canary.9a7066f

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/README.md CHANGED
@@ -108,7 +108,7 @@ Available recipes include:
108
108
 
109
109
  Puck is developed and maintained by **Measured**, a small group of industry veterans with decades of experience helping companies solve hard UI problems. We offer consultancy and development services for scale-ups, SMEs and enterprises.
110
110
 
111
- If you need support integrating Puck or creating a beautiful component library, please reach out via [our website](https://measured.co).
111
+ If you need support integrating Puck or creating a beautiful component library, please reach out via the [Measured](https://measured.co) website.
112
112
 
113
113
  ## License
114
114
 
package/dist/index.css CHANGED
@@ -135,6 +135,9 @@
135
135
  }
136
136
 
137
137
  /* styles.css */
138
+ .Puck {
139
+ min-height: 100%;
140
+ }
138
141
 
139
142
  /* css-module:/home/runner/work/puck/puck/packages/core/components/Button/Button.module.css/#css-module-data */
140
143
  ._Button_1t64k_1 {
@@ -421,44 +424,44 @@
421
424
  }
422
425
 
423
426
  /* css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css/#css-module-data */
424
- ._DropZone_1fmd4_1 {
427
+ ._DropZone_djoti_1 {
425
428
  margin-left: auto;
426
429
  margin-right: auto;
427
430
  position: relative;
428
- height: 100%;
431
+ min-height: 100%;
429
432
  outline-offset: -2px;
430
433
  width: 100%;
431
434
  }
432
- ._DropZone-content_1fmd4_10 {
435
+ ._DropZone-content_djoti_10 {
433
436
  min-height: 128px;
434
437
  height: 100%;
435
438
  }
436
- ._DropZone--userIsDragging_1fmd4_15 ._DropZone-content_1fmd4_10 {
439
+ ._DropZone--userIsDragging_djoti_15 ._DropZone-content_djoti_10 {
437
440
  pointer-events: all;
438
441
  }
439
- ._DropZone--userIsDragging_1fmd4_15:not(._DropZone--draggingOverArea_1fmd4_19):not(._DropZone--draggingNewComponent_1fmd4_20) > ._DropZone-content_1fmd4_10 {
442
+ ._DropZone--userIsDragging_djoti_15:not(._DropZone--draggingOverArea_djoti_19):not(._DropZone--draggingNewComponent_djoti_20) > ._DropZone-content_djoti_10 {
440
443
  pointer-events: none;
441
444
  }
442
- ._DropZone--isAreaSelected_1fmd4_26,
443
- ._DropZone--draggingOverArea_1fmd4_19:not(:has(._DropZone--hoveringOverArea_1fmd4_27)),
444
- ._DropZone--hoveringOverArea_1fmd4_27:not(._DropZone--isDisabled_1fmd4_28):not(._DropZone--isRootZone_1fmd4_29):not(._DropZone--hasChildren_1fmd4_30) {
445
+ ._DropZone--isAreaSelected_djoti_26,
446
+ ._DropZone--draggingOverArea_djoti_19:not(:has(._DropZone--hoveringOverArea_djoti_27)),
447
+ ._DropZone--hoveringOverArea_djoti_27:not(._DropZone--isDisabled_djoti_28):not(._DropZone--isRootZone_djoti_29):not(._DropZone--hasChildren_djoti_30) {
445
448
  background: color-mix(in srgb, var(--puck-color-azure-09) 30%, transparent);
446
449
  outline: 2px dashed var(--puck-color-azure-08);
447
450
  }
448
- ._DropZone_1fmd4_1:not(._DropZone--hasChildren_1fmd4_30) {
451
+ ._DropZone_djoti_1:not(._DropZone--hasChildren_djoti_30) {
449
452
  background: color-mix(in srgb, var(--puck-color-azure-09) 30%, transparent);
450
453
  outline: 2px dashed var(--puck-color-azure-08);
451
454
  }
452
- ._DropZone--isDestination_1fmd4_40 {
455
+ ._DropZone--isDestination_djoti_40 {
453
456
  outline: 2px dashed var(--puck-color-azure-04) !important;
454
457
  }
455
- ._DropZone--isDestination_1fmd4_40:not(._DropZone--isRootZone_1fmd4_29) {
458
+ ._DropZone--isDestination_djoti_40:not(._DropZone--isRootZone_djoti_29) {
456
459
  background: color-mix(in srgb, var(--puck-color-azure-09) 30%, transparent) !important;
457
460
  }
458
- ._DropZone-item_1fmd4_52 {
461
+ ._DropZone-item_djoti_52 {
459
462
  position: relative;
460
463
  }
461
- ._DropZone-hitbox_1fmd4_56 {
464
+ ._DropZone-hitbox_djoti_56 {
462
465
  position: absolute;
463
466
  bottom: -12px;
464
467
  height: 24px;
@@ -1531,12 +1534,12 @@ textarea._Input-input_1qi5b_46 {
1531
1534
  }
1532
1535
 
1533
1536
  /* css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Preview/styles.module.css/#css-module-data */
1534
- ._PuckPreview_1mia0_1 {
1537
+ ._PuckPreview_rxwlr_1 {
1535
1538
  height: 100%;
1536
1539
  }
1537
- ._PuckPreview-frame_1mia0_5 {
1540
+ ._PuckPreview-frame_rxwlr_5 {
1538
1541
  border: none;
1539
- height: 100%;
1542
+ min-height: 100%;
1540
1543
  width: 100%;
1541
1544
  }
1542
1545
 
package/dist/index.js CHANGED
@@ -29311,6 +29311,7 @@ var defaultViewports = [
29311
29311
  ];
29312
29312
 
29313
29313
  // components/Puck/context.tsx
29314
+ var import_ua_parser_js = require("ua-parser-js");
29314
29315
  var import_jsx_runtime2 = require("react/jsx-runtime");
29315
29316
  var defaultAppState = {
29316
29317
  data: { content: [], root: { props: { title: "" } } },
@@ -29350,7 +29351,8 @@ var defaultContext = {
29350
29351
  setZoomConfig: () => null,
29351
29352
  status: "LOADING",
29352
29353
  setStatus: () => null,
29353
- iframe: {}
29354
+ iframe: {},
29355
+ safariFallbackMode: false
29354
29356
  };
29355
29357
  var appContext = (0, import_react3.createContext)(defaultContext);
29356
29358
  var AppProvider = ({
@@ -29362,10 +29364,34 @@ var AppProvider = ({
29362
29364
  (0, import_react3.useEffect)(() => {
29363
29365
  setStatus("MOUNTED");
29364
29366
  }, []);
29367
+ const [safariFallbackMode, setSafariFallbackMode] = (0, import_react3.useState)(false);
29368
+ (0, import_react3.useEffect)(() => {
29369
+ var _a, _b, _c;
29370
+ const ua = new import_ua_parser_js.UAParser(navigator.userAgent);
29371
+ const { browser } = ua.getResult();
29372
+ if (browser.name === "Safari" && (((_a = browser.version) == null ? void 0 : _a.indexOf("17.2.")) || ((_b = browser.version) == null ? void 0 : _b.indexOf("17.3.")) || ((_c = browser.version) == null ? void 0 : _c.indexOf("17.4.")))) {
29373
+ if (process.env.NODE_ENV !== "production" && value.iframe.enabled) {
29374
+ console.warn(
29375
+ `Detected Safari ${browser.version}, which contains a bug that prevents Puck DropZones from detecting a mouseover event within an iframe. This affects Safari versions 17.2, 17.3 and 17.4.
29376
+
29377
+ Running in compatibility mode, which may have some DropZone side-effects. Alternatively, consider disabling iframes: https://puckeditor.com/docs/integrating-puck/viewports#opting-out-of-iframes.
29378
+
29379
+ See https://github.com/measuredco/puck/issues/411 for more information. This message will not show in production.`
29380
+ );
29381
+ }
29382
+ setSafariFallbackMode(true);
29383
+ }
29384
+ }, []);
29365
29385
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
29366
29386
  appContext.Provider,
29367
29387
  {
29368
- value: __spreadProps(__spreadValues({}, value), { zoomConfig, setZoomConfig, status, setStatus }),
29388
+ value: __spreadProps(__spreadValues({}, value), {
29389
+ zoomConfig,
29390
+ setZoomConfig,
29391
+ status,
29392
+ setStatus,
29393
+ safariFallbackMode
29394
+ }),
29369
29395
  children
29370
29396
  }
29371
29397
  );
@@ -30000,7 +30026,7 @@ var DraggableComponent = ({
30000
30026
 
30001
30027
  // css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css#css-module
30002
30028
  init_react_import();
30003
- var styles_module_default4 = { "DropZone": "_DropZone_1fmd4_1", "DropZone-content": "_DropZone-content_1fmd4_10", "DropZone--userIsDragging": "_DropZone--userIsDragging_1fmd4_15", "DropZone--draggingOverArea": "_DropZone--draggingOverArea_1fmd4_19", "DropZone--draggingNewComponent": "_DropZone--draggingNewComponent_1fmd4_20", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_1fmd4_26", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_1fmd4_27", "DropZone--isDisabled": "_DropZone--isDisabled_1fmd4_28", "DropZone--isRootZone": "_DropZone--isRootZone_1fmd4_29", "DropZone--hasChildren": "_DropZone--hasChildren_1fmd4_30", "DropZone--isDestination": "_DropZone--isDestination_1fmd4_40", "DropZone-item": "_DropZone-item_1fmd4_52", "DropZone-hitbox": "_DropZone-hitbox_1fmd4_56" };
30029
+ var styles_module_default4 = { "DropZone": "_DropZone_djoti_1", "DropZone-content": "_DropZone-content_djoti_10", "DropZone--userIsDragging": "_DropZone--userIsDragging_djoti_15", "DropZone--draggingOverArea": "_DropZone--draggingOverArea_djoti_19", "DropZone--draggingNewComponent": "_DropZone--draggingNewComponent_djoti_20", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_djoti_26", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_djoti_27", "DropZone--isDisabled": "_DropZone--isDisabled_djoti_28", "DropZone--isRootZone": "_DropZone--isRootZone_djoti_29", "DropZone--hasChildren": "_DropZone--hasChildren_djoti_30", "DropZone--isDestination": "_DropZone--isDestination_djoti_40", "DropZone-item": "_DropZone-item_djoti_52", "DropZone-hitbox": "_DropZone-hitbox_djoti_56" };
30004
30030
 
30005
30031
  // components/DropZone/context.tsx
30006
30032
  init_react_import();
@@ -30193,7 +30219,11 @@ function DropZoneEdit({ zone, allow, disallow, style }) {
30193
30219
  let isEnabled = userWillDrag;
30194
30220
  if (userIsDragging) {
30195
30221
  if (draggingNewComponent) {
30196
- isEnabled = hoveringOverArea;
30222
+ if (appContext2.safariFallbackMode) {
30223
+ isEnabled = true;
30224
+ } else {
30225
+ isEnabled = hoveringOverArea;
30226
+ }
30197
30227
  } else {
30198
30228
  isEnabled = draggingOverArea && hoveringOverZone;
30199
30229
  }
@@ -32031,7 +32061,7 @@ var RadioField = ({
32031
32061
  onChange(e.currentTarget.value);
32032
32062
  },
32033
32063
  disabled: readOnly,
32034
- defaultChecked: value === option.value
32064
+ checked: value === option.value
32035
32065
  }
32036
32066
  ),
32037
32067
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: getClassName14("radioInner"), children: option.label || option.value })
@@ -32073,7 +32103,7 @@ var SelectField = ({
32073
32103
  disabled: readOnly,
32074
32104
  onChange: (e) => {
32075
32105
  if (e.currentTarget.value === "true" || e.currentTarget.value === "false") {
32076
- onChange(Boolean(e.currentTarget.value));
32106
+ onChange(JSON.parse(e.currentTarget.value));
32077
32107
  return;
32078
32108
  }
32079
32109
  onChange(e.currentTarget.value);
@@ -32602,7 +32632,7 @@ var import_auto_frame_component = __toESM(require("@measured/auto-frame-componen
32602
32632
 
32603
32633
  // css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Preview/styles.module.css#css-module
32604
32634
  init_react_import();
32605
- var styles_module_default16 = { "PuckPreview": "_PuckPreview_1mia0_1", "PuckPreview-frame": "_PuckPreview-frame_1mia0_5" };
32635
+ var styles_module_default16 = { "PuckPreview": "_PuckPreview_rxwlr_1", "PuckPreview-frame": "_PuckPreview-frame_rxwlr_5" };
32606
32636
 
32607
32637
  // components/Puck/components/Preview/index.tsx
32608
32638
  var import_jsx_runtime29 = require("react/jsx-runtime");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measured/puck",
3
- "version": "0.14.2-canary.9008b70",
3
+ "version": "0.14.2-canary.9a7066f",
4
4
  "author": "Measured Corporation Ltd <hello@measured.co>",
5
5
  "repository": "measuredco/puck",
6
6
  "bugs": "https://github.com/measuredco/puck/issues",
@@ -46,6 +46,7 @@
46
46
  "@types/jest": "^29.5.4",
47
47
  "@types/react": "^18.2.0",
48
48
  "@types/react-dom": "^18.2.0",
49
+ "@types/ua-parser-js": "^0.7.39",
49
50
  "css-box-model": "^1.2.1",
50
51
  "eslint": "^7.32.0",
51
52
  "eslint-config-custom": "*",
@@ -59,11 +60,12 @@
59
60
  "typescript": "^4.5.2"
60
61
  },
61
62
  "dependencies": {
62
- "@measured/auto-frame-component": "0.1.1",
63
- "@measured/dnd": "16.6.0-canary.f472135",
63
+ "@measured/auto-frame-component": "0.1.5",
64
+ "@measured/dnd": "16.6.0-canary.4cba1d1",
64
65
  "deep-diff": "^1.0.2",
65
66
  "react-hotkeys-hook": "^4.4.1",
66
67
  "react-spinners": "^0.13.8",
68
+ "ua-parser-js": "^1.0.37",
67
69
  "use-debounce": "^9.0.4",
68
70
  "uuid": "^9.0.1"
69
71
  },