@measured/puck 0.17.0-canary.9de5e5e → 0.17.0-canary.bda6153
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{chunk-7IH6SUIT.mjs → chunk-EXKSBUY5.mjs} +10 -0
- package/dist/index.css +53 -46
- package/dist/index.js +527 -115
- package/dist/index.mjs +517 -102
- package/dist/rsc.mjs +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -2,6 +2,9 @@ import {
|
|
2
2
|
__async,
|
3
3
|
__commonJS,
|
4
4
|
__objRest,
|
5
|
+
__privateAdd,
|
6
|
+
__privateGet,
|
7
|
+
__privateSet,
|
5
8
|
__spreadProps,
|
6
9
|
__spreadValues,
|
7
10
|
__toESM,
|
@@ -13,7 +16,7 @@ import {
|
|
13
16
|
resolveRootData,
|
14
17
|
rootDroppableId,
|
15
18
|
setupZone
|
16
|
-
} from "./chunk-
|
19
|
+
} from "./chunk-EXKSBUY5.mjs";
|
17
20
|
|
18
21
|
// ../../node_modules/classnames/index.js
|
19
22
|
var require_classnames = __commonJS({
|
@@ -2229,7 +2232,7 @@ init_react_import();
|
|
2229
2232
|
|
2230
2233
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Drawer/styles.module.css#css-module
|
2231
2234
|
init_react_import();
|
2232
|
-
var styles_module_default10 = { "Drawer": "
|
2235
|
+
var styles_module_default10 = { "Drawer": "_Drawer_1ob9x_1", "DrawerItem-draggable": "_DrawerItem-draggable_1ob9x_8", "DrawerItem--disabled": "_DrawerItem--disabled_1ob9x_21", "DrawerItem": "_DrawerItem_1ob9x_8", "Drawer--isDraggingFrom": "_Drawer--isDraggingFrom_1ob9x_31", "DrawerItem-name": "_DrawerItem-name_1ob9x_49" };
|
2233
2236
|
|
2234
2237
|
// components/Drawer/index.tsx
|
2235
2238
|
import { useMemo as useMemo5, useState as useState16 } from "react";
|
@@ -2271,7 +2274,7 @@ import {
|
|
2271
2274
|
|
2272
2275
|
// css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css#css-module
|
2273
2276
|
init_react_import();
|
2274
|
-
var styles_module_default11 = { "DraggableComponent": "
|
2277
|
+
var styles_module_default11 = { "DraggableComponent": "_DraggableComponent_1uqah_1", "DraggableComponent-overlay": "_DraggableComponent-overlay_1uqah_12", "DraggableComponent-loadingOverlay": "_DraggableComponent-loadingOverlay_1uqah_29", "DraggableComponent--hover": "_DraggableComponent--hover_1uqah_45", "DraggableComponent--isLocked": "_DraggableComponent--isLocked_1uqah_45", "DraggableComponent--isSelected": "_DraggableComponent--isSelected_1uqah_54", "DraggableComponent-actionsOverlay": "_DraggableComponent-actionsOverlay_1uqah_66", "DraggableComponent-actions": "_DraggableComponent-actions_1uqah_66" };
|
2275
2278
|
|
2276
2279
|
// lib/use-modifier-held.ts
|
2277
2280
|
init_react_import();
|
@@ -2716,6 +2719,7 @@ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.
|
|
2716
2719
|
var __typeError = (msg) => {
|
2717
2720
|
throw TypeError(msg);
|
2718
2721
|
};
|
2722
|
+
var __pow = Math.pow;
|
2719
2723
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
2720
2724
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
2721
2725
|
var __decoratorStart = (base) => {
|
@@ -2735,17 +2739,17 @@ var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
2735
2739
|
var j = k > 3 ? array.length + 1 : k ? s2 ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
2736
2740
|
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
2737
2741
|
var desc = k && (!p2 && !s2 && (target = target.prototype), k < 5 && (k > 3 || !p2) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
2738
|
-
return
|
2742
|
+
return __privateGet2(this, extra);
|
2739
2743
|
}, set [name](x) {
|
2740
|
-
return
|
2744
|
+
return __privateSet2(this, extra, x);
|
2741
2745
|
} }, name));
|
2742
2746
|
k ? p2 && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
2743
2747
|
for (var i2 = decorators.length - 1; i2 >= 0; i2--) {
|
2744
2748
|
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
2745
2749
|
if (k) {
|
2746
2750
|
ctx.static = s2, ctx.private = p2, access = ctx.access = { has: p2 ? (x) => __privateIn(target, x) : (x) => name in x };
|
2747
|
-
if (k ^ 3) access.get = p2 ? (x) => (k ^ 1 ?
|
2748
|
-
if (k > 2) access.set = p2 ? (x, y2) =>
|
2751
|
+
if (k ^ 3) access.get = p2 ? (x) => (k ^ 1 ? __privateGet2 : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
2752
|
+
if (k > 2) access.set = p2 ? (x, y2) => __privateSet2(x, target, y2, k ^ 4 ? extra : desc.set) : (x, y2) => x[name] = y2;
|
2749
2753
|
}
|
2750
2754
|
it = (0, decorators[i2])(k ? k < 4 ? p2 ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
2751
2755
|
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p2 ? extra = it : desc[key] = it : target = it);
|
@@ -2756,9 +2760,9 @@ var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
2756
2760
|
};
|
2757
2761
|
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
2758
2762
|
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
2759
|
-
var
|
2760
|
-
var
|
2761
|
-
var
|
2763
|
+
var __privateGet2 = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
2764
|
+
var __privateAdd2 = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
2765
|
+
var __privateSet2 = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
2762
2766
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
2763
2767
|
var Point = class _Point {
|
2764
2768
|
/**
|
@@ -2817,14 +2821,14 @@ _velocity_dec = [reactive], _initial_dec = [reactive], _previous_dec = [reactive
|
|
2817
2821
|
var Position = class {
|
2818
2822
|
constructor(initialValue) {
|
2819
2823
|
__runInitializers(_init, 5, this);
|
2820
|
-
|
2821
|
-
|
2824
|
+
__privateAdd2(this, _timestamp, 0);
|
2825
|
+
__privateAdd2(this, _velocity, __runInitializers(_init, 8, this, {
|
2822
2826
|
x: 0,
|
2823
2827
|
y: 0
|
2824
2828
|
})), __runInitializers(_init, 11, this);
|
2825
|
-
|
2826
|
-
|
2827
|
-
|
2829
|
+
__privateAdd2(this, _initial, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
|
2830
|
+
__privateAdd2(this, _previous, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
|
2831
|
+
__privateAdd2(this, _current, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
|
2828
2832
|
const point = Point.from(initialValue);
|
2829
2833
|
this.initial = point;
|
2830
2834
|
this.current = point;
|
@@ -2849,7 +2853,7 @@ var Position = class {
|
|
2849
2853
|
reset(coordinates) {
|
2850
2854
|
const point = Point.from(coordinates);
|
2851
2855
|
o(() => {
|
2852
|
-
|
2856
|
+
__privateSet2(this, _timestamp, 0);
|
2853
2857
|
this.velocity = { x: 0, y: 0 };
|
2854
2858
|
this.current = point;
|
2855
2859
|
this.previous = point;
|
@@ -2867,12 +2871,12 @@ var Position = class {
|
|
2867
2871
|
y: point.y - current.y
|
2868
2872
|
};
|
2869
2873
|
const timestamp = Date.now();
|
2870
|
-
const timeDelta = timestamp -
|
2874
|
+
const timeDelta = timestamp - __privateGet2(this, _timestamp);
|
2871
2875
|
const velocity = (delta2) => Math.round(delta2 / timeDelta * 100);
|
2872
2876
|
if (Math.abs(delta.x) < SENSITIVITY || Math.abs(delta.y) < SENSITIVITY) {
|
2873
2877
|
this.previous = current;
|
2874
2878
|
}
|
2875
|
-
|
2879
|
+
__privateSet2(this, _timestamp, timestamp);
|
2876
2880
|
this.velocity = {
|
2877
2881
|
x: velocity(delta.x),
|
2878
2882
|
y: velocity(delta.y)
|
@@ -2893,6 +2897,23 @@ __decorateElement(_init, 4, "current", _current_dec, Position, _current);
|
|
2893
2897
|
__decorateElement(_init, 2, "delta", _delta_dec, Position);
|
2894
2898
|
__decorateElement(_init, 2, "direction", _direction_dec, Position);
|
2895
2899
|
__decoratorMetadata(_init, Position);
|
2900
|
+
function exceedsDistance({ x, y: y2 }, distance) {
|
2901
|
+
const dx = Math.abs(x);
|
2902
|
+
const dy = Math.abs(y2);
|
2903
|
+
if (typeof distance === "number") {
|
2904
|
+
return Math.sqrt(__pow(dx, 2) + __pow(dy, 2)) > distance;
|
2905
|
+
}
|
2906
|
+
if ("x" in distance && "y" in distance) {
|
2907
|
+
return dx > distance.x && dy > distance.y;
|
2908
|
+
}
|
2909
|
+
if ("x" in distance) {
|
2910
|
+
return dx > distance.x;
|
2911
|
+
}
|
2912
|
+
if ("y" in distance) {
|
2913
|
+
return dy > distance.y;
|
2914
|
+
}
|
2915
|
+
return false;
|
2916
|
+
}
|
2896
2917
|
var Axis = /* @__PURE__ */ ((Axis2) => {
|
2897
2918
|
Axis2["Horizontal"] = "x";
|
2898
2919
|
Axis2["Vertical"] = "y";
|
@@ -2942,17 +2963,17 @@ var __decorateElement2 = (array, flags, name, decorators, target, extra) => {
|
|
2942
2963
|
var j = k > 3 ? array.length + 1 : k ? s2 ? 1 : 2 : 0, key = __decoratorStrings2[k + 5];
|
2943
2964
|
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
2944
2965
|
var desc = k && (!p2 && !s2 && (target = target.prototype), k < 5 && (k > 3 || !p2) && __getOwnPropDesc2(k < 4 ? target : { get [name]() {
|
2945
|
-
return
|
2966
|
+
return __privateGet3(this, extra);
|
2946
2967
|
}, set [name](x) {
|
2947
|
-
return
|
2968
|
+
return __privateSet3(this, extra, x);
|
2948
2969
|
} }, name));
|
2949
2970
|
k ? p2 && k < 4 && __name2(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name2(target, name);
|
2950
2971
|
for (var i2 = decorators.length - 1; i2 >= 0; i2--) {
|
2951
2972
|
ctx = __decoratorContext2(k, name, done = {}, array[3], extraInitializers);
|
2952
2973
|
if (k) {
|
2953
2974
|
ctx.static = s2, ctx.private = p2, access = ctx.access = { has: p2 ? (x) => __privateIn2(target, x) : (x) => name in x };
|
2954
|
-
if (k ^ 3) access.get = p2 ? (x) => (k ^ 1 ?
|
2955
|
-
if (k > 2) access.set = p2 ? (x, y2) =>
|
2975
|
+
if (k ^ 3) access.get = p2 ? (x) => (k ^ 1 ? __privateGet3 : __privateMethod2)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
2976
|
+
if (k > 2) access.set = p2 ? (x, y2) => __privateSet3(x, target, y2, k ^ 4 ? extra : desc.set) : (x, y2) => x[name] = y2;
|
2956
2977
|
}
|
2957
2978
|
it = (0, decorators[i2])(k ? k < 4 ? p2 ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
2958
2979
|
if (k ^ 4 || it === void 0) __expectFn2(it) && (k > 4 ? initializers.unshift(it) : k ? p2 ? extra = it : desc[key] = it : target = it);
|
@@ -2963,9 +2984,9 @@ var __decorateElement2 = (array, flags, name, decorators, target, extra) => {
|
|
2963
2984
|
};
|
2964
2985
|
var __accessCheck2 = (obj, member, msg) => member.has(obj) || __typeError2("Cannot " + msg);
|
2965
2986
|
var __privateIn2 = (member, obj) => Object(obj) !== obj ? __typeError2('Cannot use the "in" operator on this value') : member.has(obj);
|
2966
|
-
var
|
2967
|
-
var
|
2968
|
-
var
|
2987
|
+
var __privateGet3 = (obj, member, getter) => (__accessCheck2(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
2988
|
+
var __privateAdd3 = (obj, member, value) => member.has(obj) ? __typeError2("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
2989
|
+
var __privateSet3 = (obj, member, value, setter) => (__accessCheck2(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
2969
2990
|
var __privateMethod2 = (obj, member, method) => (__accessCheck2(obj, member, "access private method"), method);
|
2970
2991
|
function configure(plugin, options) {
|
2971
2992
|
return {
|
@@ -2973,6 +2994,11 @@ function configure(plugin, options) {
|
|
2973
2994
|
options
|
2974
2995
|
};
|
2975
2996
|
}
|
2997
|
+
function configurator(plugin) {
|
2998
|
+
return (options) => {
|
2999
|
+
return configure(plugin, options);
|
3000
|
+
};
|
3001
|
+
}
|
2976
3002
|
var _disabled_dec;
|
2977
3003
|
var _init2;
|
2978
3004
|
var _disabled;
|
@@ -2981,7 +3007,7 @@ var Plugin = class {
|
|
2981
3007
|
constructor(manager, options) {
|
2982
3008
|
this.manager = manager;
|
2983
3009
|
this.options = options;
|
2984
|
-
|
3010
|
+
__privateAdd3(this, _disabled, __runInitializers2(_init2, 8, this, false)), __runInitializers2(_init2, 11, this);
|
2985
3011
|
}
|
2986
3012
|
/**
|
2987
3013
|
* Enable a disabled plugin instance.
|
@@ -3068,10 +3094,10 @@ var Entity = class {
|
|
3068
3094
|
* @param manager - The manager that controls the drag and drop operations.
|
3069
3095
|
*/
|
3070
3096
|
constructor(input, manager) {
|
3071
|
-
|
3072
|
-
|
3073
|
-
|
3074
|
-
|
3097
|
+
__privateAdd3(this, _manager, __runInitializers2(_init22, 8, this)), __runInitializers2(_init22, 11, this);
|
3098
|
+
__privateAdd3(this, _id, __runInitializers2(_init22, 12, this)), __runInitializers2(_init22, 15, this);
|
3099
|
+
__privateAdd3(this, _data, __runInitializers2(_init22, 16, this)), __runInitializers2(_init22, 19, this);
|
3100
|
+
__privateAdd3(this, _disabled2, __runInitializers2(_init22, 20, this)), __runInitializers2(_init22, 23, this);
|
3075
3101
|
this.effects = void 0;
|
3076
3102
|
const { effects: effects5, id, data = {}, disabled = false } = input;
|
3077
3103
|
let previousId = id;
|
@@ -3151,9 +3177,9 @@ var Draggable2 = class extends (_c = Entity, _modifiers_dec = [reactive], _type_
|
|
3151
3177
|
super(input, manager);
|
3152
3178
|
__runInitializers2(_init3, 5, this);
|
3153
3179
|
this.sensors = void 0;
|
3154
|
-
|
3155
|
-
|
3156
|
-
|
3180
|
+
__privateAdd3(this, _modifiers, __runInitializers2(_init3, 8, this)), __runInitializers2(_init3, 11, this);
|
3181
|
+
__privateAdd3(this, _type, __runInitializers2(_init3, 12, this)), __runInitializers2(_init3, 15, this);
|
3182
|
+
__privateAdd3(this, _status, __runInitializers2(_init3, 16, this, "idle")), __runInitializers2(_init3, 19, this);
|
3157
3183
|
this.type = type;
|
3158
3184
|
this.sensors = sensors;
|
3159
3185
|
this.modifiers = modifiers;
|
@@ -3190,11 +3216,11 @@ var Droppable2 = class extends (_c2 = Entity, _accept_dec = [reactive], _type_de
|
|
3190
3216
|
var _b = _a, { accept, collisionDetector, collisionPriority, type } = _b, input = __objRest2(_b, ["accept", "collisionDetector", "collisionPriority", "type"]);
|
3191
3217
|
super(input, manager);
|
3192
3218
|
__runInitializers2(_init4, 5, this);
|
3193
|
-
|
3194
|
-
|
3195
|
-
|
3196
|
-
|
3197
|
-
|
3219
|
+
__privateAdd3(this, _accept, __runInitializers2(_init4, 8, this)), __runInitializers2(_init4, 11, this);
|
3220
|
+
__privateAdd3(this, _type2, __runInitializers2(_init4, 12, this)), __runInitializers2(_init4, 15, this);
|
3221
|
+
__privateAdd3(this, _collisionDetector, __runInitializers2(_init4, 16, this)), __runInitializers2(_init4, 19, this);
|
3222
|
+
__privateAdd3(this, _collisionPriority, __runInitializers2(_init4, 20, this)), __runInitializers2(_init4, 23, this);
|
3223
|
+
__privateAdd3(this, _shape, __runInitializers2(_init4, 24, this)), __runInitializers2(_init4, 27, this);
|
3198
3224
|
this.accept = accept;
|
3199
3225
|
this.collisionDetector = collisionDetector;
|
3200
3226
|
this.collisionPriority = collisionPriority;
|
@@ -3240,6 +3266,13 @@ __decorateElement2(_init4, 4, "collisionPriority", _collisionPriority_dec, Dropp
|
|
3240
3266
|
__decorateElement2(_init4, 4, "shape", _shape_dec, Droppable2, _shape);
|
3241
3267
|
__decorateElement2(_init4, 2, "isDropTarget", _isDropTarget_dec, Droppable2);
|
3242
3268
|
__decoratorMetadata2(_init4, Droppable2);
|
3269
|
+
var Sensor = class extends Plugin {
|
3270
|
+
constructor(manager, options) {
|
3271
|
+
super(manager, options);
|
3272
|
+
this.manager = manager;
|
3273
|
+
this.options = options;
|
3274
|
+
}
|
3275
|
+
};
|
3243
3276
|
|
3244
3277
|
// components/DraggableComponent/collision/directional/index.ts
|
3245
3278
|
init_react_import();
|
@@ -3579,6 +3612,25 @@ function useSortableSafe(input) {
|
|
3579
3612
|
return useSortable(input);
|
3580
3613
|
}
|
3581
3614
|
|
3615
|
+
// lib/get-deep-scroll-position.ts
|
3616
|
+
init_react_import();
|
3617
|
+
function getDeepScrollPosition(element) {
|
3618
|
+
let totalScroll = {
|
3619
|
+
x: 0,
|
3620
|
+
y: 0
|
3621
|
+
};
|
3622
|
+
let current = element;
|
3623
|
+
while (current && current !== document.documentElement) {
|
3624
|
+
const parent = current.parentElement;
|
3625
|
+
if (parent) {
|
3626
|
+
totalScroll.x += parent.scrollLeft;
|
3627
|
+
totalScroll.y += parent.scrollTop;
|
3628
|
+
}
|
3629
|
+
current = parent;
|
3630
|
+
}
|
3631
|
+
return totalScroll;
|
3632
|
+
}
|
3633
|
+
|
3582
3634
|
// components/DraggableComponent/index.tsx
|
3583
3635
|
import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
|
3584
3636
|
var getClassName16 = get_class_name_factory_default("DraggableComponent", styles_module_default11);
|
@@ -3586,7 +3638,7 @@ var DEBUG2 = false;
|
|
3586
3638
|
var space = 8;
|
3587
3639
|
var actionsOverlayTop = space * 6.5;
|
3588
3640
|
var actionsTop = -(actionsOverlayTop - 8);
|
3589
|
-
var
|
3641
|
+
var actionsSide = space;
|
3590
3642
|
var DefaultActionBar = ({
|
3591
3643
|
label,
|
3592
3644
|
children
|
@@ -3618,7 +3670,6 @@ var DraggableComponent = ({
|
|
3618
3670
|
} = useAppContext();
|
3619
3671
|
const isModifierHeld = useModifierHeld("Alt");
|
3620
3672
|
const ctx = useContext2(dropZoneContext);
|
3621
|
-
const overlayRef = useRef3(null);
|
3622
3673
|
const [localZones, setLocalZones] = useState12({});
|
3623
3674
|
const registerLocalZone = useCallback6(
|
3624
3675
|
(zoneCompound2, active) => {
|
@@ -3688,24 +3739,31 @@ var DraggableComponent = ({
|
|
3688
3739
|
(_b = iframe.enabled ? (_a = ref.current) == null ? void 0 : _a.ownerDocument.body : document.getElementById("puck-preview")) != null ? _b : document.body
|
3689
3740
|
);
|
3690
3741
|
}, [iframe.enabled]);
|
3691
|
-
const
|
3742
|
+
const portalContainerRect = useMemo3(() => {
|
3743
|
+
const portalContainerEl = iframe.enabled ? null : document.getElementById("puck-preview");
|
3744
|
+
return portalContainerEl == null ? void 0 : portalContainerEl.getBoundingClientRect();
|
3745
|
+
}, [iframe.enabled]);
|
3746
|
+
const getStyle = useCallback6(() => {
|
3692
3747
|
var _a, _b;
|
3693
|
-
if (!ref.current
|
3748
|
+
if (!ref.current) return;
|
3694
3749
|
const rect = ref.current.getBoundingClientRect();
|
3695
|
-
const
|
3696
|
-
const view = doc.defaultView;
|
3697
|
-
const portalContainerEl = iframe.enabled ? null : document.getElementById("puck-preview");
|
3698
|
-
const portalContainerRect = portalContainerEl == null ? void 0 : portalContainerEl.getBoundingClientRect();
|
3750
|
+
const deepScrollPosition = getDeepScrollPosition(ref.current);
|
3699
3751
|
const scroll = {
|
3700
|
-
x:
|
3701
|
-
y:
|
3752
|
+
x: deepScrollPosition.x - ((_a = portalContainerRect == null ? void 0 : portalContainerRect.left) != null ? _a : 0),
|
3753
|
+
y: deepScrollPosition.y - ((_b = portalContainerRect == null ? void 0 : portalContainerRect.top) != null ? _b : 0)
|
3754
|
+
};
|
3755
|
+
const style2 = {
|
3756
|
+
left: `${rect.left + scroll.x}px`,
|
3757
|
+
top: `${rect.top + scroll.y}px`,
|
3758
|
+
height: `${rect.height}px`,
|
3759
|
+
width: `${rect.width}px`
|
3702
3760
|
};
|
3703
|
-
|
3704
|
-
|
3705
|
-
|
3706
|
-
|
3707
|
-
|
3708
|
-
}, [ref,
|
3761
|
+
return style2;
|
3762
|
+
}, [ref, portalContainerRect]);
|
3763
|
+
const [style, setStyle] = useState12();
|
3764
|
+
const sync = useCallback6(() => {
|
3765
|
+
setStyle(getStyle());
|
3766
|
+
}, [ref, iframe]);
|
3709
3767
|
useEffect11(() => {
|
3710
3768
|
ctx == null ? void 0 : ctx.registerPath({
|
3711
3769
|
index,
|
@@ -3787,6 +3845,7 @@ var DraggableComponent = ({
|
|
3787
3845
|
el.removeAttribute("data-puck-dragging");
|
3788
3846
|
}
|
3789
3847
|
return () => {
|
3848
|
+
el.removeAttribute("data-puck-component");
|
3790
3849
|
el.removeEventListener("click", onClick);
|
3791
3850
|
el.removeEventListener("mouseover", _onMouseOver);
|
3792
3851
|
el.removeEventListener("mouseout", _onMouseOut);
|
@@ -3794,7 +3853,6 @@ var DraggableComponent = ({
|
|
3794
3853
|
};
|
3795
3854
|
}, [
|
3796
3855
|
ref,
|
3797
|
-
overlayRef,
|
3798
3856
|
onClick,
|
3799
3857
|
containsActiveZone,
|
3800
3858
|
zoneCompound,
|
@@ -3812,20 +3870,35 @@ var DraggableComponent = ({
|
|
3812
3870
|
};
|
3813
3871
|
}
|
3814
3872
|
}, [disabled, ref]);
|
3815
|
-
const isVisible =
|
3816
|
-
|
3817
|
-
|
3818
|
-
|
3819
|
-
|
3820
|
-
|
3821
|
-
|
3873
|
+
const [isVisible, setIsVisible] = useState12(false);
|
3874
|
+
useEffect11(() => {
|
3875
|
+
sync();
|
3876
|
+
if ((isSelected || hover || indicativeHover) && !userIsDragging) {
|
3877
|
+
setIsVisible(true);
|
3878
|
+
} else {
|
3879
|
+
setIsVisible(false);
|
3822
3880
|
}
|
3823
|
-
}, []);
|
3824
|
-
|
3825
|
-
|
3826
|
-
|
3827
|
-
|
3828
|
-
|
3881
|
+
}, [isSelected, hover, indicativeHover, iframe, state.data, userIsDragging]);
|
3882
|
+
const syncActionsPosition = useCallback6(
|
3883
|
+
(el) => {
|
3884
|
+
if (el) {
|
3885
|
+
const view = el.ownerDocument.defaultView;
|
3886
|
+
if (view) {
|
3887
|
+
const rect = el.getBoundingClientRect();
|
3888
|
+
const diffLeft = rect.x;
|
3889
|
+
const exceedsBoundsLeft = diffLeft < 0;
|
3890
|
+
if (exceedsBoundsLeft) {
|
3891
|
+
el.style.transformOrigin = "left top";
|
3892
|
+
el.style.left = "0px";
|
3893
|
+
} else {
|
3894
|
+
el.style.transformOrigin = "right top";
|
3895
|
+
el.style.left = "";
|
3896
|
+
}
|
3897
|
+
}
|
3898
|
+
}
|
3899
|
+
},
|
3900
|
+
[zoomConfig]
|
3901
|
+
);
|
3829
3902
|
useEffect11(() => {
|
3830
3903
|
if (userDragAxis) {
|
3831
3904
|
setDragAxis(userDragAxis);
|
@@ -3840,7 +3913,6 @@ var DraggableComponent = ({
|
|
3840
3913
|
}
|
3841
3914
|
setDragAxis(autoDragAxis);
|
3842
3915
|
}, [ref, userDragAxis, autoDragAxis]);
|
3843
|
-
useEffect11(sync, [ref, overlayRef, isVisible, hover, iframe, state.data]);
|
3844
3916
|
return /* @__PURE__ */ jsxs10(
|
3845
3917
|
DropZoneProvider,
|
3846
3918
|
{
|
@@ -3863,7 +3935,7 @@ var DraggableComponent = ({
|
|
3863
3935
|
isModifierHeld,
|
3864
3936
|
hover: hover || indicativeHover
|
3865
3937
|
}),
|
3866
|
-
|
3938
|
+
style: __spreadValues({}, style),
|
3867
3939
|
children: [
|
3868
3940
|
debug,
|
3869
3941
|
isLoading && /* @__PURE__ */ jsx21("div", { className: getClassName16("loadingOverlay"), children: /* @__PURE__ */ jsx21(Loader, {}) }),
|
@@ -3872,9 +3944,7 @@ var DraggableComponent = ({
|
|
3872
3944
|
{
|
3873
3945
|
className: getClassName16("actionsOverlay"),
|
3874
3946
|
style: {
|
3875
|
-
top: actionsOverlayTop / zoomConfig.zoom
|
3876
|
-
// Offset against left of frame
|
3877
|
-
minWidth: actionsWidth + 2 * actionsRight
|
3947
|
+
top: actionsOverlayTop / zoomConfig.zoom
|
3878
3948
|
},
|
3879
3949
|
children: /* @__PURE__ */ jsx21(
|
3880
3950
|
"div",
|
@@ -3883,9 +3953,11 @@ var DraggableComponent = ({
|
|
3883
3953
|
style: {
|
3884
3954
|
transform: `scale(${1 / zoomConfig.zoom}`,
|
3885
3955
|
top: actionsTop / zoomConfig.zoom,
|
3886
|
-
right:
|
3956
|
+
right: 0,
|
3957
|
+
paddingLeft: actionsSide,
|
3958
|
+
paddingRight: actionsSide
|
3887
3959
|
},
|
3888
|
-
ref:
|
3960
|
+
ref: syncActionsPosition,
|
3889
3961
|
children: /* @__PURE__ */ jsxs10(CustomActionBar, { label: DEBUG2 ? id : label, children: [
|
3890
3962
|
permissions.duplicate && /* @__PURE__ */ jsx21(ActionBar.Action, { onClick: onDuplicate, label: "Duplicate", children: /* @__PURE__ */ jsx21(Copy, { size: 16 }) }),
|
3891
3963
|
permissions.delete && /* @__PURE__ */ jsx21(ActionBar.Action, { onClick: onDelete, label: "Delete", children: /* @__PURE__ */ jsx21(Trash, { size: 16 }) })
|
@@ -3908,7 +3980,7 @@ var DraggableComponent = ({
|
|
3908
3980
|
|
3909
3981
|
// css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css#css-module
|
3910
3982
|
init_react_import();
|
3911
|
-
var styles_module_default12 = { "DropZone": "
|
3983
|
+
var styles_module_default12 = { "DropZone": "_DropZone_74ebh_1", "DropZone--hasChildren": "_DropZone--hasChildren_74ebh_12", "DropZone--userIsDragging": "_DropZone--userIsDragging_74ebh_20", "DropZone--isAreaSelected": "_DropZone--isAreaSelected_74ebh_29", "DropZone--hoveringOverArea": "_DropZone--hoveringOverArea_74ebh_30", "DropZone--isRootZone": "_DropZone--isRootZone_74ebh_30", "DropZone--isDestination": "_DropZone--isDestination_74ebh_40", "DropZone-item": "_DropZone-item_74ebh_52", "DropZone-hitbox": "_DropZone-hitbox_74ebh_56", "DropZone--isEnabled": "_DropZone--isEnabled_74ebh_64" };
|
3912
3984
|
|
3913
3985
|
// components/DropZone/context.tsx
|
3914
3986
|
init_react_import();
|
@@ -4122,7 +4194,7 @@ function DropZoneEdit({
|
|
4122
4194
|
const [dragAxis, setDragAxis] = useState14(
|
4123
4195
|
collisionAxis || DEFAULT_DRAG_AXIS
|
4124
4196
|
);
|
4125
|
-
|
4197
|
+
const calculateDragAxis = useCallback8(() => {
|
4126
4198
|
if (ref.current) {
|
4127
4199
|
const computedStyle = window.getComputedStyle(ref.current);
|
4128
4200
|
if (computedStyle.display === "grid") {
|
@@ -4133,7 +4205,17 @@ function DropZoneEdit({
|
|
4133
4205
|
setDragAxis(DEFAULT_DRAG_AXIS);
|
4134
4206
|
}
|
4135
4207
|
}
|
4136
|
-
}, [ref
|
4208
|
+
}, [ref.current]);
|
4209
|
+
useEffect12(calculateDragAxis, [appContext2.status, collisionAxis]);
|
4210
|
+
useEffect12(() => {
|
4211
|
+
const onViewportChange = () => {
|
4212
|
+
calculateDragAxis();
|
4213
|
+
};
|
4214
|
+
window.addEventListener("viewportchange", onViewportChange);
|
4215
|
+
return () => {
|
4216
|
+
window.removeEventListener("viewportchange", onViewportChange);
|
4217
|
+
};
|
4218
|
+
}, []);
|
4137
4219
|
return /* @__PURE__ */ jsxs11(
|
4138
4220
|
"div",
|
4139
4221
|
{
|
@@ -4422,6 +4504,11 @@ var findDeepestCandidate = (position, manager) => {
|
|
4422
4504
|
if (candidateData2.areaId === draggedCandidateId) {
|
4423
4505
|
return false;
|
4424
4506
|
}
|
4507
|
+
} else if (candidate.type === "component") {
|
4508
|
+
const candidateData2 = candidate.data;
|
4509
|
+
if (!candidateData2.inDroppableZone) {
|
4510
|
+
return false;
|
4511
|
+
}
|
4425
4512
|
}
|
4426
4513
|
return true;
|
4427
4514
|
});
|
@@ -4459,9 +4546,14 @@ var createNestedDroppablePlugin = ({
|
|
4459
4546
|
y: event.clientY
|
4460
4547
|
});
|
4461
4548
|
};
|
4462
|
-
document.body.addEventListener("pointermove", handlePointerMove
|
4549
|
+
document.body.addEventListener("pointermove", handlePointerMove, {
|
4550
|
+
capture: true
|
4551
|
+
// dndkit's PointerSensor prevents propagation during drag
|
4552
|
+
});
|
4463
4553
|
this.destroy = () => {
|
4464
|
-
document.body.removeEventListener("pointermove", handlePointerMove
|
4554
|
+
document.body.removeEventListener("pointermove", handlePointerMove, {
|
4555
|
+
capture: true
|
4556
|
+
});
|
4465
4557
|
cleanupEffect();
|
4466
4558
|
};
|
4467
4559
|
});
|
@@ -4773,6 +4865,11 @@ var reduceUi = (ui, action) => {
|
|
4773
4865
|
}
|
4774
4866
|
return __spreadValues(__spreadValues({}, ui), action.ui(ui));
|
4775
4867
|
}
|
4868
|
+
if (action.type === "duplicate") {
|
4869
|
+
return __spreadProps(__spreadValues({}, ui), {
|
4870
|
+
itemSelector: { index: action.sourceIndex + 1, zone: action.sourceZone }
|
4871
|
+
});
|
4872
|
+
}
|
4776
4873
|
return ui;
|
4777
4874
|
};
|
4778
4875
|
|
@@ -4858,6 +4955,274 @@ var insertComponent = (componentType, zone, index, {
|
|
4858
4955
|
|
4859
4956
|
// components/DragDropContext/index.tsx
|
4860
4957
|
import { useDebouncedCallback as useDebouncedCallback2 } from "use-debounce";
|
4958
|
+
import { isElement as isElement2 } from "@dnd-kit/dom/utilities";
|
4959
|
+
|
4960
|
+
// components/DragDropContext/PointerSensor.ts
|
4961
|
+
init_react_import();
|
4962
|
+
import {
|
4963
|
+
getDocument,
|
4964
|
+
isElement,
|
4965
|
+
isHTMLElement,
|
4966
|
+
isPointerEvent,
|
4967
|
+
Listeners,
|
4968
|
+
getFrameTransform
|
4969
|
+
} from "@dnd-kit/dom/utilities";
|
4970
|
+
var _clearTimeout;
|
4971
|
+
var _PointerSensor = class _PointerSensor extends Sensor {
|
4972
|
+
constructor(manager, options) {
|
4973
|
+
super(manager);
|
4974
|
+
this.manager = manager;
|
4975
|
+
this.options = options;
|
4976
|
+
this.listeners = new Listeners();
|
4977
|
+
this.cleanup = /* @__PURE__ */ new Set();
|
4978
|
+
this.source = void 0;
|
4979
|
+
__privateAdd(this, _clearTimeout);
|
4980
|
+
this.handleCancel = this.handleCancel.bind(this);
|
4981
|
+
this.handlePointerUp = this.handlePointerUp.bind(this);
|
4982
|
+
this.handleKeyDown = this.handleKeyDown.bind(this);
|
4983
|
+
E(() => {
|
4984
|
+
const unbindGlobal = this.bindGlobal(options != null ? options : {});
|
4985
|
+
return () => {
|
4986
|
+
unbindGlobal();
|
4987
|
+
};
|
4988
|
+
});
|
4989
|
+
}
|
4990
|
+
bind(source, options = this.options) {
|
4991
|
+
const unbind = E(() => {
|
4992
|
+
var _a;
|
4993
|
+
const target = (_a = source.handle) != null ? _a : source.element;
|
4994
|
+
const listener = (event) => {
|
4995
|
+
if (isPointerEvent(event)) {
|
4996
|
+
this.handlePointerDown(event, source, options);
|
4997
|
+
}
|
4998
|
+
};
|
4999
|
+
if (target) {
|
5000
|
+
patchWindow(target.ownerDocument.defaultView);
|
5001
|
+
target.addEventListener("pointerdown", listener);
|
5002
|
+
return () => {
|
5003
|
+
target.removeEventListener("pointerdown", listener);
|
5004
|
+
};
|
5005
|
+
}
|
5006
|
+
});
|
5007
|
+
return unbind;
|
5008
|
+
}
|
5009
|
+
bindGlobal(options) {
|
5010
|
+
const documents = /* @__PURE__ */ new Set();
|
5011
|
+
for (const draggable of this.manager.registry.draggables.value) {
|
5012
|
+
if (draggable.element) {
|
5013
|
+
documents.add(getDocument(draggable.element));
|
5014
|
+
}
|
5015
|
+
}
|
5016
|
+
for (const droppable of this.manager.registry.droppables.value) {
|
5017
|
+
if (droppable.element) {
|
5018
|
+
documents.add(getDocument(droppable.element));
|
5019
|
+
}
|
5020
|
+
}
|
5021
|
+
const unbindFns = Array.from(documents).map(
|
5022
|
+
(doc) => this.listeners.bind(doc, [
|
5023
|
+
{
|
5024
|
+
type: "pointermove",
|
5025
|
+
listener: (event) => this.handlePointerMove(event, doc, options)
|
5026
|
+
},
|
5027
|
+
{
|
5028
|
+
type: "pointerup",
|
5029
|
+
listener: this.handlePointerUp,
|
5030
|
+
options: {
|
5031
|
+
capture: true
|
5032
|
+
}
|
5033
|
+
},
|
5034
|
+
{
|
5035
|
+
// Cancel activation if there is a competing Drag and Drop interaction
|
5036
|
+
type: "dragstart",
|
5037
|
+
listener: this.handleDragStart
|
5038
|
+
}
|
5039
|
+
])
|
5040
|
+
);
|
5041
|
+
return () => {
|
5042
|
+
unbindFns.forEach((unbind) => unbind());
|
5043
|
+
};
|
5044
|
+
}
|
5045
|
+
handlePointerDown(event, source, options = {}) {
|
5046
|
+
if (this.disabled || !event.isPrimary || event.button !== 0 || !isElement(event.target) || source.disabled) {
|
5047
|
+
return;
|
5048
|
+
}
|
5049
|
+
const offset = getFrameTransform(source.element);
|
5050
|
+
this.initialCoordinates = {
|
5051
|
+
x: event.clientX * offset.scaleX + offset.x,
|
5052
|
+
y: event.clientY * offset.scaleY + offset.y
|
5053
|
+
};
|
5054
|
+
this.source = source;
|
5055
|
+
const { activationConstraints } = options;
|
5056
|
+
const constraints = typeof activationConstraints === "function" ? activationConstraints(event, source) : activationConstraints;
|
5057
|
+
event.stopImmediatePropagation();
|
5058
|
+
if (!(constraints == null ? void 0 : constraints.delay) && !(constraints == null ? void 0 : constraints.distance)) {
|
5059
|
+
this.handleStart(source, event);
|
5060
|
+
} else {
|
5061
|
+
const { delay } = constraints;
|
5062
|
+
if (delay) {
|
5063
|
+
const timeout3 = setTimeout(
|
5064
|
+
() => this.handleStart(source, event),
|
5065
|
+
delay.value
|
5066
|
+
);
|
5067
|
+
__privateSet(this, _clearTimeout, () => {
|
5068
|
+
clearTimeout(timeout3);
|
5069
|
+
__privateSet(this, _clearTimeout, void 0);
|
5070
|
+
});
|
5071
|
+
}
|
5072
|
+
}
|
5073
|
+
const cleanup = () => {
|
5074
|
+
var _a;
|
5075
|
+
(_a = __privateGet(this, _clearTimeout)) == null ? void 0 : _a.call(this);
|
5076
|
+
this.initialCoordinates = void 0;
|
5077
|
+
this.source = void 0;
|
5078
|
+
};
|
5079
|
+
this.cleanup.add(cleanup);
|
5080
|
+
}
|
5081
|
+
handlePointerMove(event, doc, options) {
|
5082
|
+
if (!this.source) {
|
5083
|
+
return;
|
5084
|
+
}
|
5085
|
+
const ownerDocument = this.source.element && getDocument(this.source.element);
|
5086
|
+
if (doc !== ownerDocument) {
|
5087
|
+
return;
|
5088
|
+
}
|
5089
|
+
const coordinates = {
|
5090
|
+
x: event.clientX,
|
5091
|
+
y: event.clientY
|
5092
|
+
};
|
5093
|
+
const offset = getFrameTransform(this.source.element);
|
5094
|
+
coordinates.x = coordinates.x * offset.scaleX + offset.x;
|
5095
|
+
coordinates.y = coordinates.y * offset.scaleY + offset.y;
|
5096
|
+
if (this.manager.dragOperation.status.dragging) {
|
5097
|
+
event.preventDefault();
|
5098
|
+
event.stopPropagation();
|
5099
|
+
this.manager.actions.move({ to: coordinates });
|
5100
|
+
return;
|
5101
|
+
}
|
5102
|
+
if (!this.initialCoordinates) {
|
5103
|
+
return;
|
5104
|
+
}
|
5105
|
+
const delta = {
|
5106
|
+
x: coordinates.x - this.initialCoordinates.x,
|
5107
|
+
y: coordinates.y - this.initialCoordinates.y
|
5108
|
+
};
|
5109
|
+
const { activationConstraints } = options;
|
5110
|
+
const constraints = typeof activationConstraints === "function" ? activationConstraints(event, this.source) : activationConstraints;
|
5111
|
+
const { distance, delay } = constraints != null ? constraints : {};
|
5112
|
+
if (distance) {
|
5113
|
+
if (distance.tolerance != null && exceedsDistance(delta, distance.tolerance)) {
|
5114
|
+
return this.handleCancel();
|
5115
|
+
}
|
5116
|
+
if (exceedsDistance(delta, distance.value)) {
|
5117
|
+
return this.handleStart(this.source, event);
|
5118
|
+
}
|
5119
|
+
}
|
5120
|
+
if (delay) {
|
5121
|
+
if (exceedsDistance(delta, delay.tolerance)) {
|
5122
|
+
return this.handleCancel();
|
5123
|
+
}
|
5124
|
+
}
|
5125
|
+
}
|
5126
|
+
handlePointerUp(event) {
|
5127
|
+
event.preventDefault();
|
5128
|
+
event.stopPropagation();
|
5129
|
+
const { status } = this.manager.dragOperation;
|
5130
|
+
if (!status.idle) {
|
5131
|
+
const canceled = !status.initialized;
|
5132
|
+
this.manager.actions.stop({ canceled });
|
5133
|
+
}
|
5134
|
+
this.cleanup.forEach((cleanup) => cleanup());
|
5135
|
+
this.cleanup.clear();
|
5136
|
+
}
|
5137
|
+
handleKeyDown(event) {
|
5138
|
+
if (event.key === "Escape") {
|
5139
|
+
event.preventDefault();
|
5140
|
+
this.handleCancel();
|
5141
|
+
}
|
5142
|
+
}
|
5143
|
+
handleStart(source, event) {
|
5144
|
+
var _a;
|
5145
|
+
const { manager, initialCoordinates } = this;
|
5146
|
+
(_a = __privateGet(this, _clearTimeout)) == null ? void 0 : _a.call(this);
|
5147
|
+
if (!initialCoordinates || manager.dragOperation.status.initialized) {
|
5148
|
+
return;
|
5149
|
+
}
|
5150
|
+
if (event.defaultPrevented) {
|
5151
|
+
return;
|
5152
|
+
}
|
5153
|
+
event.preventDefault();
|
5154
|
+
o(() => {
|
5155
|
+
manager.actions.setDragSource(source.id);
|
5156
|
+
manager.actions.start({ coordinates: initialCoordinates, event });
|
5157
|
+
});
|
5158
|
+
const ownerDocument = getDocument(event.target);
|
5159
|
+
const unbind = this.listeners.bind(ownerDocument, [
|
5160
|
+
{
|
5161
|
+
// Prevent scrolling on touch devices
|
5162
|
+
type: "touchmove",
|
5163
|
+
listener: preventDefault,
|
5164
|
+
options: {
|
5165
|
+
passive: false
|
5166
|
+
}
|
5167
|
+
},
|
5168
|
+
{
|
5169
|
+
// Prevent click events
|
5170
|
+
type: "click",
|
5171
|
+
listener: preventDefault
|
5172
|
+
},
|
5173
|
+
{
|
5174
|
+
type: "keydown",
|
5175
|
+
listener: this.handleKeyDown
|
5176
|
+
}
|
5177
|
+
]);
|
5178
|
+
ownerDocument.body.setPointerCapture(event.pointerId);
|
5179
|
+
this.cleanup.add(unbind);
|
5180
|
+
}
|
5181
|
+
handleDragStart(event) {
|
5182
|
+
const { target } = event;
|
5183
|
+
if (!isElement(target)) {
|
5184
|
+
return;
|
5185
|
+
}
|
5186
|
+
const isNativeDraggable = isHTMLElement(target) && target.draggable && target.getAttribute("draggable") === "true";
|
5187
|
+
if (isNativeDraggable) {
|
5188
|
+
this.handleCancel();
|
5189
|
+
} else {
|
5190
|
+
preventDefault(event);
|
5191
|
+
}
|
5192
|
+
}
|
5193
|
+
handleCancel() {
|
5194
|
+
const { dragOperation } = this.manager;
|
5195
|
+
if (dragOperation.status.initialized) {
|
5196
|
+
this.manager.actions.stop({ canceled: true });
|
5197
|
+
}
|
5198
|
+
this.cleanup.forEach((cleanup) => cleanup());
|
5199
|
+
this.cleanup.clear();
|
5200
|
+
}
|
5201
|
+
destroy() {
|
5202
|
+
this.listeners.clear();
|
5203
|
+
}
|
5204
|
+
};
|
5205
|
+
_clearTimeout = new WeakMap();
|
5206
|
+
_PointerSensor.configure = configurator(_PointerSensor);
|
5207
|
+
var PointerSensor = _PointerSensor;
|
5208
|
+
function preventDefault(event) {
|
5209
|
+
event.preventDefault();
|
5210
|
+
}
|
5211
|
+
function noop() {
|
5212
|
+
}
|
5213
|
+
var windows = /* @__PURE__ */ new WeakSet();
|
5214
|
+
function patchWindow(window2) {
|
5215
|
+
if (!window2 || windows.has(window2)) {
|
5216
|
+
return;
|
5217
|
+
}
|
5218
|
+
window2.addEventListener("touchmove", noop, {
|
5219
|
+
capture: false,
|
5220
|
+
passive: false
|
5221
|
+
});
|
5222
|
+
windows.add(window2);
|
5223
|
+
}
|
5224
|
+
|
5225
|
+
// components/DragDropContext/index.tsx
|
4861
5226
|
import { jsx as jsx24 } from "react/jsx-runtime";
|
4862
5227
|
var dragListenerContext = createContext3({
|
4863
5228
|
dragListeners: {}
|
@@ -4873,10 +5238,11 @@ function useDragListener(type, fn, deps = []) {
|
|
4873
5238
|
}, deps);
|
4874
5239
|
}
|
4875
5240
|
var previewContext = createContext3(null);
|
4876
|
-
var AREA_CHANGE_DEBOUNCE_MS =
|
5241
|
+
var AREA_CHANGE_DEBOUNCE_MS = 100;
|
4877
5242
|
var DragDropContextClient = ({ children }) => {
|
4878
5243
|
const { state, config, dispatch, resolveData } = useAppContext();
|
4879
5244
|
const [preview, setPreview] = useState15(null);
|
5245
|
+
const previewRef = useRef5(null);
|
4880
5246
|
const { data } = state;
|
4881
5247
|
const [deepest, setDeepest] = useState15(null);
|
4882
5248
|
const [nextDeepest, setNextDeepest] = useState15(null);
|
@@ -4923,6 +5289,25 @@ var DragDropContextClient = ({ children }) => {
|
|
4923
5289
|
}
|
4924
5290
|
})
|
4925
5291
|
]);
|
5292
|
+
const [sensors] = useState15(() => [
|
5293
|
+
PointerSensor.configure({
|
5294
|
+
activationConstraints(event, source) {
|
5295
|
+
var _a;
|
5296
|
+
const { pointerType, target } = event;
|
5297
|
+
if (pointerType === "mouse" && isElement2(target) && (source.handle === target || ((_a = source.handle) == null ? void 0 : _a.contains(target)))) {
|
5298
|
+
return void 0;
|
5299
|
+
}
|
5300
|
+
const delay = { value: 200, tolerance: 10 };
|
5301
|
+
if (pointerType === "touch") {
|
5302
|
+
return { delay };
|
5303
|
+
}
|
5304
|
+
return {
|
5305
|
+
delay,
|
5306
|
+
distance: { value: 5 }
|
5307
|
+
};
|
5308
|
+
}
|
5309
|
+
})
|
5310
|
+
]);
|
4926
5311
|
const [draggedItem, setDraggedItem] = useState15();
|
4927
5312
|
const [dragListeners, setDragListeners] = useState15({});
|
4928
5313
|
const [pathData, setPathData] = useState15();
|
@@ -4961,32 +5346,34 @@ var DragDropContextClient = ({ children }) => {
|
|
4961
5346
|
DragDropProvider,
|
4962
5347
|
{
|
4963
5348
|
plugins,
|
5349
|
+
sensors,
|
4964
5350
|
onDragEnd: (event, manager) => {
|
4965
5351
|
const { source, target } = event.operation;
|
5352
|
+
deepestRef.current = null;
|
4966
5353
|
if (!source) {
|
4967
5354
|
setDraggedItem(null);
|
4968
5355
|
return;
|
4969
5356
|
}
|
4970
5357
|
const { zone, index } = source.data;
|
5358
|
+
const thisPreview = previewRef.current ? __spreadValues({}, previewRef.current) : null;
|
5359
|
+
previewRef.current = null;
|
4971
5360
|
setTimeout(() => {
|
4972
5361
|
var _a, _b;
|
4973
5362
|
setDraggedItem(null);
|
4974
5363
|
if (event.canceled || (target == null ? void 0 : target.type) === "void") {
|
4975
|
-
|
4976
|
-
setPreview(null);
|
4977
|
-
}
|
5364
|
+
setPreview(null);
|
4978
5365
|
(_a = dragListeners.dragend) == null ? void 0 : _a.forEach((fn) => {
|
4979
5366
|
fn(event, manager);
|
4980
5367
|
});
|
4981
5368
|
return;
|
4982
5369
|
}
|
4983
|
-
if (
|
5370
|
+
if (thisPreview) {
|
4984
5371
|
setPreview(null);
|
4985
|
-
if (
|
5372
|
+
if (thisPreview.type === "insert") {
|
4986
5373
|
insertComponent(
|
4987
|
-
|
4988
|
-
|
4989
|
-
|
5374
|
+
thisPreview.componentType,
|
5375
|
+
thisPreview.zone,
|
5376
|
+
thisPreview.index,
|
4990
5377
|
{ config, dispatch, resolveData, state }
|
4991
5378
|
);
|
4992
5379
|
} else if (initialSelector.current) {
|
@@ -4994,8 +5381,8 @@ var DragDropContextClient = ({ children }) => {
|
|
4994
5381
|
type: "move",
|
4995
5382
|
sourceIndex: initialSelector.current.index,
|
4996
5383
|
sourceZone: initialSelector.current.zone,
|
4997
|
-
destinationIndex:
|
4998
|
-
destinationZone:
|
5384
|
+
destinationIndex: thisPreview.index,
|
5385
|
+
destinationZone: thisPreview.zone,
|
4999
5386
|
recordHistory: false
|
5000
5387
|
});
|
5001
5388
|
}
|
@@ -5011,7 +5398,7 @@ var DragDropContextClient = ({ children }) => {
|
|
5011
5398
|
(_b = dragListeners.dragend) == null ? void 0 : _b.forEach((fn) => {
|
5012
5399
|
fn(event, manager);
|
5013
5400
|
});
|
5014
|
-
},
|
5401
|
+
}, 300);
|
5015
5402
|
},
|
5016
5403
|
onDragOver: (event, manager) => {
|
5017
5404
|
var _a, _b, _c3, _d;
|
@@ -5049,7 +5436,7 @@ var DragDropContextClient = ({ children }) => {
|
|
5049
5436
|
return;
|
5050
5437
|
}
|
5051
5438
|
if (dragMode.current === "new") {
|
5052
|
-
|
5439
|
+
previewRef.current = {
|
5053
5440
|
componentType: sourceData.componentType,
|
5054
5441
|
type: "insert",
|
5055
5442
|
index: targetIndex,
|
@@ -5057,7 +5444,8 @@ var DragDropContextClient = ({ children }) => {
|
|
5057
5444
|
props: {
|
5058
5445
|
id: source.id.toString()
|
5059
5446
|
}
|
5060
|
-
}
|
5447
|
+
};
|
5448
|
+
setPreview(previewRef.current);
|
5061
5449
|
} else {
|
5062
5450
|
if (!initialSelector.current) {
|
5063
5451
|
initialSelector.current = {
|
@@ -5067,13 +5455,14 @@ var DragDropContextClient = ({ children }) => {
|
|
5067
5455
|
}
|
5068
5456
|
const item = getItem(initialSelector.current, data);
|
5069
5457
|
if (item) {
|
5070
|
-
|
5458
|
+
previewRef.current = {
|
5071
5459
|
componentType: sourceData.componentType,
|
5072
5460
|
type: "move",
|
5073
5461
|
index: targetIndex,
|
5074
5462
|
zone: targetZone,
|
5075
5463
|
props: item.props
|
5076
|
-
}
|
5464
|
+
};
|
5465
|
+
setPreview(previewRef.current);
|
5077
5466
|
}
|
5078
5467
|
}
|
5079
5468
|
(_d = dragListeners.dragover) == null ? void 0 : _d.forEach((fn) => {
|
@@ -5240,7 +5629,9 @@ var Drawer = ({
|
|
5240
5629
|
const [id] = useState16(generateId());
|
5241
5630
|
const { ref } = useDroppableSafe({
|
5242
5631
|
id,
|
5243
|
-
type: "void"
|
5632
|
+
type: "void",
|
5633
|
+
collisionPriority: 0
|
5634
|
+
// Never collide with this, but we use it so NestedDroppablePlugin respects the Drawer
|
5244
5635
|
});
|
5245
5636
|
return /* @__PURE__ */ jsx25("div", { className: getClassName18(), ref, children });
|
5246
5637
|
};
|
@@ -6107,11 +6498,12 @@ var styles_module_default18 = { "PuckPreview": "_PuckPreview_z2rgu_1", "PuckPrev
|
|
6107
6498
|
import { Fragment as Fragment14, jsx as jsx33 } from "react/jsx-runtime";
|
6108
6499
|
var getClassName23 = get_class_name_factory_default("PuckPreview", styles_module_default18);
|
6109
6500
|
var useBubbleIframeEvents = (ref) => {
|
6501
|
+
const { status } = useAppContext();
|
6110
6502
|
useEffect17(() => {
|
6111
6503
|
var _a;
|
6112
|
-
if (ref.current) {
|
6504
|
+
if (ref.current && status === "READY") {
|
6113
6505
|
const iframe = ref.current;
|
6114
|
-
|
6506
|
+
const handlePointerMove = (event) => {
|
6115
6507
|
var _a2;
|
6116
6508
|
const rect = iframe.getBoundingClientRect();
|
6117
6509
|
const evt = new CustomEvent("pointermove", {
|
@@ -6122,9 +6514,23 @@ var useBubbleIframeEvents = (ref) => {
|
|
6122
6514
|
evt.clientX = event.clientX * scaleFactor + rect.left;
|
6123
6515
|
evt.clientY = event.clientY * scaleFactor + rect.top;
|
6124
6516
|
iframe.dispatchEvent(evt);
|
6125
|
-
}
|
6517
|
+
};
|
6518
|
+
(_a = iframe.contentDocument) == null ? void 0 : _a.addEventListener(
|
6519
|
+
"pointermove",
|
6520
|
+
handlePointerMove,
|
6521
|
+
{
|
6522
|
+
capture: true
|
6523
|
+
}
|
6524
|
+
);
|
6525
|
+
return () => {
|
6526
|
+
var _a2;
|
6527
|
+
(_a2 = iframe.contentDocument) == null ? void 0 : _a2.removeEventListener(
|
6528
|
+
"pointermove",
|
6529
|
+
handlePointerMove
|
6530
|
+
);
|
6531
|
+
};
|
6126
6532
|
}
|
6127
|
-
}, [
|
6533
|
+
}, [status]);
|
6128
6534
|
};
|
6129
6535
|
var Preview = ({ id = "puck-preview" }) => {
|
6130
6536
|
const { config, dispatch, state, setStatus, iframe, overrides } = useAppContext();
|
@@ -6851,7 +7257,7 @@ var ViewportControls = ({
|
|
6851
7257
|
|
6852
7258
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Canvas/styles.module.css#css-module
|
6853
7259
|
init_react_import();
|
6854
|
-
var styles_module_default21 = { "PuckCanvas": "
|
7260
|
+
var styles_module_default21 = { "PuckCanvas": "_PuckCanvas_18jay_1", "PuckCanvas-controls": "_PuckCanvas-controls_18jay_16", "PuckCanvas-inner": "_PuckCanvas-inner_18jay_21", "PuckCanvas-root": "_PuckCanvas-root_18jay_30", "PuckCanvas--ready": "_PuckCanvas--ready_18jay_55", "PuckCanvas-loader": "_PuckCanvas-loader_18jay_60", "PuckCanvas--showLoader": "_PuckCanvas--showLoader_18jay_70" };
|
6855
7261
|
|
6856
7262
|
// lib/get-zoom-config.ts
|
6857
7263
|
init_react_import();
|
@@ -7006,6 +7412,14 @@ var Canvas = () => {
|
|
7006
7412
|
},
|
7007
7413
|
suppressHydrationWarning: true,
|
7008
7414
|
id: "puck-canvas-root",
|
7415
|
+
onTransitionEnd: () => {
|
7416
|
+
window.dispatchEvent(
|
7417
|
+
new CustomEvent("viewportchange", {
|
7418
|
+
bubbles: true,
|
7419
|
+
cancelable: false
|
7420
|
+
})
|
7421
|
+
);
|
7422
|
+
},
|
7009
7423
|
children: /* @__PURE__ */ jsx37(CustomPreview, { children: /* @__PURE__ */ jsx37(Preview, {}) })
|
7010
7424
|
}
|
7011
7425
|
),
|
@@ -7076,6 +7490,7 @@ import { useEffect as useEffect20, useState as useState23 } from "react";
|
|
7076
7490
|
var styles = `
|
7077
7491
|
/* Prevent user from interacting with underlying component */
|
7078
7492
|
[data-puck-component] * {
|
7493
|
+
pointer-events: none;
|
7079
7494
|
user-select: none;
|
7080
7495
|
-webkit-user-select: none;
|
7081
7496
|
}
|