@measured/puck 0.14.2-canary.2b2ef32 → 0.14.2-canary.3e5599e
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 +1 -1
- package/dist/index.css +44 -41
- package/dist/index.d.ts +1 -0
- package/dist/index.js +39 -8
- 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.d.ts
CHANGED
@@ -227,6 +227,7 @@ type Plugin = {
|
|
227
227
|
|
228
228
|
type IframeConfig = {
|
229
229
|
enabled?: boolean;
|
230
|
+
disableAutoScroll?: boolean;
|
230
231
|
};
|
231
232
|
|
232
233
|
declare function Puck<UserConfig extends Config = Config>({ children, config, data: initialData, ui: initialUi, onChange, onPublish, plugins, overrides, renderHeader, renderHeaderActions, headerTitle, headerPath, viewports, iframe, }: {
|
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), {
|
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
|
}
|
@@ -32031,7 +32061,7 @@ var RadioField = ({
|
|
32031
32061
|
onChange(e.currentTarget.value);
|
32032
32062
|
},
|
32033
32063
|
disabled: readOnly,
|
32034
|
-
|
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(
|
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");
|
@@ -33616,6 +33646,7 @@ function Puck({
|
|
33616
33646
|
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
33617
33647
|
DragDropContext,
|
33618
33648
|
{
|
33649
|
+
autoScrollerOptions: { disabled: iframe.disableAutoScroll },
|
33619
33650
|
onDragUpdate: (update) => {
|
33620
33651
|
setDraggedItem(__spreadValues(__spreadValues({}, draggedItem), update));
|
33621
33652
|
onDragStartOrUpdate(update);
|
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.3e5599e",
|
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.6-canary.ad6452f",
|
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
|
},
|