@measured/puck 0.14.2-canary.dc93789 → 0.14.2-canary.e585f20
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- package/dist/index.css +44 -41
- package/dist/index.js +40 -10
- package/package.json +5 -3
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 [
|
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 {
|
@@ -283,25 +286,25 @@
|
|
283
286
|
}
|
284
287
|
|
285
288
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css/#css-module-data */
|
286
|
-
.
|
289
|
+
._DraggableComponent_59z7f_1 {
|
287
290
|
pointer-events: auto;
|
288
291
|
--overlay-background: color-mix( in srgb, var(--puck-color-azure-08) 30%, transparent );
|
289
292
|
}
|
290
|
-
._DraggableComponent--
|
293
|
+
._DraggableComponent--isDragging_59z7f_11 {
|
291
294
|
background: color-mix(in srgb, var(--puck-color-azure-08) 10%, transparent);
|
292
295
|
overflow: hidden;
|
293
296
|
}
|
294
|
-
._DraggableComponent-
|
297
|
+
._DraggableComponent-contents_59z7f_16 {
|
295
298
|
position: relative;
|
296
299
|
pointer-events: none;
|
297
300
|
z-index: 0;
|
298
301
|
}
|
299
|
-
._DraggableComponent-
|
300
|
-
._DraggableComponent-
|
302
|
+
._DraggableComponent-contents_59z7f_16::before,
|
303
|
+
._DraggableComponent-contents_59z7f_16::after {
|
301
304
|
content: " ";
|
302
305
|
display: table;
|
303
306
|
}
|
304
|
-
._DraggableComponent-
|
307
|
+
._DraggableComponent-overlay_59z7f_29 {
|
305
308
|
cursor: pointer;
|
306
309
|
height: 100%;
|
307
310
|
width: 100%;
|
@@ -312,13 +315,13 @@
|
|
312
315
|
box-sizing: border-box;
|
313
316
|
z-index: 1;
|
314
317
|
}
|
315
|
-
.
|
318
|
+
._DraggableComponent_59z7f_1:focus-visible > ._DraggableComponent-overlay_59z7f_29 {
|
316
319
|
outline: 1px solid var(--puck-color-azure-05);
|
317
320
|
}
|
318
|
-
._DraggableComponent--
|
319
|
-
outline:
|
321
|
+
._DraggableComponent--isDragging_59z7f_11 > ._DraggableComponent-overlay_59z7f_29 {
|
322
|
+
outline: 2px var(--puck-color-azure-09) solid !important;
|
320
323
|
}
|
321
|
-
._DraggableComponent-
|
324
|
+
._DraggableComponent-loadingOverlay_59z7f_49 {
|
322
325
|
background: var(--puck-color-white);
|
323
326
|
color: var(--puck-color-grey-03);
|
324
327
|
border-radius: 4px;
|
@@ -333,32 +336,32 @@
|
|
333
336
|
opacity: 0.8;
|
334
337
|
z-index: 1;
|
335
338
|
}
|
336
|
-
.
|
339
|
+
._DraggableComponent_59z7f_1:hover:not(._DraggableComponent--isLocked_59z7f_65) > ._DraggableComponent-overlay_59z7f_29 {
|
337
340
|
background: var(--overlay-background);
|
338
341
|
pointer-events: none;
|
339
342
|
}
|
340
|
-
._DraggableComponent--
|
343
|
+
._DraggableComponent--forceHover_59z7f_71 > ._DraggableComponent-overlay_59z7f_29 {
|
341
344
|
background: var(--overlay-background);
|
342
345
|
pointer-events: none;
|
343
346
|
}
|
344
|
-
.
|
347
|
+
._DraggableComponent_59z7f_1:not(._DraggableComponent--isSelected_59z7f_76):hover > ._DraggableComponent-overlay_59z7f_29 {
|
345
348
|
outline: 2px var(--puck-color-azure-09) solid !important;
|
346
349
|
}
|
347
|
-
._DraggableComponent--
|
350
|
+
._DraggableComponent--indicativeHover_59z7f_81 > ._DraggableComponent-overlay_59z7f_29 {
|
348
351
|
pointer-events: none;
|
349
352
|
}
|
350
|
-
.
|
353
|
+
._DraggableComponent_59z7f_1:not(._DraggableComponent--isSelected_59z7f_76):has(._DraggableComponent_59z7f_1:hover > ._DraggableComponent-overlay_59z7f_29) > ._DraggableComponent-overlay_59z7f_29 {
|
351
354
|
display: none;
|
352
355
|
}
|
353
|
-
._DraggableComponent--
|
356
|
+
._DraggableComponent--isSelected_59z7f_76 > ._DraggableComponent-overlay_59z7f_29 {
|
354
357
|
outline: 2px var(--puck-color-azure-07) solid !important;
|
355
358
|
}
|
356
|
-
._DraggableComponent--
|
359
|
+
._DraggableComponent--isSelected_59z7f_76 > ._DraggableComponent-actionsOverlay_59z7f_97 {
|
357
360
|
display: block;
|
358
361
|
position: sticky;
|
359
362
|
z-index: 2;
|
360
363
|
}
|
361
|
-
._DraggableComponent-
|
364
|
+
._DraggableComponent-actions_59z7f_97 {
|
362
365
|
position: absolute;
|
363
366
|
width: auto;
|
364
367
|
padding: 4px;
|
@@ -375,10 +378,10 @@
|
|
375
378
|
box-sizing: border-box;
|
376
379
|
transform-origin: right top;
|
377
380
|
}
|
378
|
-
._DraggableComponent--
|
381
|
+
._DraggableComponent--isSelected_59z7f_76 > ._DraggableComponent-actionsOverlay_59z7f_97 > ._DraggableComponent-actions_59z7f_97 {
|
379
382
|
display: flex;
|
380
383
|
}
|
381
|
-
._DraggableComponent-
|
384
|
+
._DraggableComponent-actionsLabel_59z7f_127 {
|
382
385
|
color: var(--puck-color-grey-08);
|
383
386
|
display: flex;
|
384
387
|
font-size: var(--puck-font-size-xxxs);
|
@@ -392,7 +395,7 @@
|
|
392
395
|
text-overflow: ellipsis;
|
393
396
|
white-space: nowrap;
|
394
397
|
}
|
395
|
-
._DraggableComponent-
|
398
|
+
._DraggableComponent-action_59z7f_97 {
|
396
399
|
background: transparent;
|
397
400
|
border: none;
|
398
401
|
color: var(--puck-color-grey-08);
|
@@ -405,60 +408,60 @@
|
|
405
408
|
justify-content: center;
|
406
409
|
transition: color 50ms ease-in;
|
407
410
|
}
|
408
|
-
._DraggableComponent-
|
411
|
+
._DraggableComponent-action_59z7f_97:focus-visible {
|
409
412
|
outline: 2px solid var(--puck-color-azure-05);
|
410
413
|
outline-offset: -2px;
|
411
414
|
}
|
412
415
|
@media (hover: hover) and (pointer: fine) {
|
413
|
-
._DraggableComponent-
|
416
|
+
._DraggableComponent-action_59z7f_97:hover {
|
414
417
|
color: var(--puck-color-azure-06);
|
415
418
|
transition: none;
|
416
419
|
}
|
417
420
|
}
|
418
|
-
._DraggableComponent-
|
421
|
+
._DraggableComponent-action_59z7f_97:active {
|
419
422
|
color: var(--puck-color-azure-07);
|
420
423
|
transition: none;
|
421
424
|
}
|
422
425
|
|
423
426
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css/#css-module-data */
|
424
|
-
.
|
427
|
+
._DropZone_djoti_1 {
|
425
428
|
margin-left: auto;
|
426
429
|
margin-right: auto;
|
427
430
|
position: relative;
|
428
|
-
height: 100%;
|
429
|
-
outline-offset: -
|
431
|
+
min-height: 100%;
|
432
|
+
outline-offset: -2px;
|
430
433
|
width: 100%;
|
431
434
|
}
|
432
|
-
._DropZone-
|
435
|
+
._DropZone-content_djoti_10 {
|
433
436
|
min-height: 128px;
|
434
437
|
height: 100%;
|
435
438
|
}
|
436
|
-
._DropZone--
|
439
|
+
._DropZone--userIsDragging_djoti_15 ._DropZone-content_djoti_10 {
|
437
440
|
pointer-events: all;
|
438
441
|
}
|
439
|
-
._DropZone--
|
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--
|
443
|
-
._DropZone--
|
444
|
-
._DropZone--
|
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
|
-
.
|
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--
|
455
|
+
._DropZone--isDestination_djoti_40 {
|
453
456
|
outline: 2px dashed var(--puck-color-azure-04) !important;
|
454
457
|
}
|
455
|
-
._DropZone--
|
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-
|
461
|
+
._DropZone-item_djoti_52 {
|
459
462
|
position: relative;
|
460
463
|
}
|
461
|
-
._DropZone-
|
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
|
-
.
|
1537
|
+
._PuckPreview_rxwlr_1 {
|
1535
1538
|
height: 100%;
|
1536
1539
|
}
|
1537
|
-
._PuckPreview-
|
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
@@ -29296,10 +29296,10 @@ var setupZone = (data, zoneKey) => {
|
|
29296
29296
|
var getItem = (selector, data, dynamicProps = {}) => {
|
29297
29297
|
if (!selector.zone || selector.zone === rootDroppableId) {
|
29298
29298
|
const item2 = data.content[selector.index];
|
29299
|
-
return __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props });
|
29299
|
+
return (item2 == null ? void 0 : item2.props) ? __spreadProps(__spreadValues({}, item2), { props: dynamicProps[item2.props.id] || item2.props }) : void 0;
|
29300
29300
|
}
|
29301
29301
|
const item = setupZone(data, selector.zone).zones[selector.zone][selector.index];
|
29302
|
-
return __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props });
|
29302
|
+
return (item == null ? void 0 : item.props) ? __spreadProps(__spreadValues({}, item), { props: dynamicProps[item.props.id] || item.props }) : void 0;
|
29303
29303
|
};
|
29304
29304
|
|
29305
29305
|
// components/ViewportControls/default-viewports.ts
|
@@ -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), {
|
29388
|
+
value: __spreadProps(__spreadValues({}, value), {
|
29389
|
+
zoomConfig,
|
29390
|
+
setZoomConfig,
|
29391
|
+
status,
|
29392
|
+
setStatus,
|
29393
|
+
safariFallbackMode
|
29394
|
+
}),
|
29369
29395
|
children
|
29370
29396
|
}
|
29371
29397
|
);
|
@@ -29589,7 +29615,7 @@ var import_dnd3 = require("@measured/dnd");
|
|
29589
29615
|
|
29590
29616
|
// css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
|
29591
29617
|
init_react_import();
|
29592
|
-
var styles_module_default3 = { "DraggableComponent": "
|
29618
|
+
var styles_module_default3 = { "DraggableComponent": "_DraggableComponent_59z7f_1", "DraggableComponent--isDragging": "_DraggableComponent--isDragging_59z7f_11", "DraggableComponent-contents": "_DraggableComponent-contents_59z7f_16", "DraggableComponent-overlay": "_DraggableComponent-overlay_59z7f_29", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_59z7f_49", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_59z7f_65", "DraggableComponent--forceHover": "_DraggableComponent--forceHover_59z7f_71", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_59z7f_76", "DraggableComponent--indicativeHover": "_DraggableComponent--indicativeHover_59z7f_81", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_59z7f_97", "DraggableComponent-actions": "_DraggableComponent-actions_59z7f_97", "DraggableComponent-actionsLabel": "_DraggableComponent-actionsLabel_59z7f_127", "DraggableComponent-action": "_DraggableComponent-action_59z7f_97" };
|
29593
29619
|
|
29594
29620
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
29595
29621
|
init_react_import();
|
@@ -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": "
|
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
|
-
|
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(
|
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": "
|
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");
|
@@ -33382,7 +33412,7 @@ var Canvas = () => {
|
|
33382
33412
|
{
|
33383
33413
|
className: getClassName24("root"),
|
33384
33414
|
style: {
|
33385
|
-
width: iframe.enabled ? ui.viewports.current.width :
|
33415
|
+
width: iframe.enabled ? ui.viewports.current.width : "100%",
|
33386
33416
|
height: zoomConfig.rootHeight,
|
33387
33417
|
transform: iframe.enabled ? `scale(${zoomConfig.zoom})` : void 0,
|
33388
33418
|
transition: showTransition ? "width 150ms ease-out, height 150ms ease-out, transform 150ms ease-out" : "",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@measured/puck",
|
3
|
-
"version": "0.14.2-canary.
|
3
|
+
"version": "0.14.2-canary.e585f20",
|
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.
|
63
|
-
"@measured/dnd": "16.6.0-canary.
|
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
|
},
|