@measured/puck 0.14.2-canary.9008b70 → 0.14.2-canary.ba01fb0

Sign up to get free protection for your applications and to get access to all the features.
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
  }
@@ -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.ba01fb0",
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.3",
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
  },