@measured/puck 0.21.0-canary.6dae6cb7 → 0.21.0-canary.74d9a160
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/dist/{chunk-NBNCSA43.mjs → chunk-EXX4ZSCK.mjs} +154 -30
- package/dist/{chunk-OOLYDXKW.mjs → chunk-VBJEDLUM.mjs} +6 -5
- package/dist/index.css +4 -3
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +203 -82
- package/dist/index.mjs +2 -2
- package/dist/no-external.css +4 -3
- package/dist/no-external.d.mts +1 -1
- package/dist/no-external.d.ts +1 -1
- package/dist/no-external.js +203 -82
- package/dist/no-external.mjs +2 -2
- package/dist/rsc.d.mts +2 -2
- package/dist/rsc.d.ts +2 -2
- package/dist/rsc.js +5 -5
- package/dist/rsc.mjs +1 -1
- package/dist/{walk-tree-Ctf3FZQI.d.mts → walk-tree-DkTSFbz_.d.mts} +5 -1
- package/dist/{walk-tree-Ctf3FZQI.d.ts → walk-tree-DkTSFbz_.d.ts} +5 -1
- package/package.json +2 -2
|
@@ -19,12 +19,13 @@ import {
|
|
|
19
19
|
rootDroppableId,
|
|
20
20
|
rootZone,
|
|
21
21
|
setupZone,
|
|
22
|
+
toComponent,
|
|
22
23
|
useFieldTransforms,
|
|
23
24
|
useSlots,
|
|
24
25
|
walkAppState,
|
|
25
26
|
walkField,
|
|
26
27
|
walkTree
|
|
27
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-VBJEDLUM.mjs";
|
|
28
29
|
|
|
29
30
|
// ../../node_modules/classnames/index.js
|
|
30
31
|
var require_classnames = __commonJS({
|
|
@@ -88,6 +89,42 @@ var require_classnames = __commonJS({
|
|
|
88
89
|
}
|
|
89
90
|
});
|
|
90
91
|
|
|
92
|
+
// ../../node_modules/fast-deep-equal/index.js
|
|
93
|
+
var require_fast_deep_equal = __commonJS({
|
|
94
|
+
"../../node_modules/fast-deep-equal/index.js"(exports, module) {
|
|
95
|
+
"use strict";
|
|
96
|
+
init_react_import();
|
|
97
|
+
module.exports = function equal(a, b) {
|
|
98
|
+
if (a === b) return true;
|
|
99
|
+
if (a && b && typeof a == "object" && typeof b == "object") {
|
|
100
|
+
if (a.constructor !== b.constructor) return false;
|
|
101
|
+
var length, i, keys;
|
|
102
|
+
if (Array.isArray(a)) {
|
|
103
|
+
length = a.length;
|
|
104
|
+
if (length != b.length) return false;
|
|
105
|
+
for (i = length; i-- !== 0; )
|
|
106
|
+
if (!equal(a[i], b[i])) return false;
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
|
|
110
|
+
if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
|
|
111
|
+
if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
|
|
112
|
+
keys = Object.keys(a);
|
|
113
|
+
length = keys.length;
|
|
114
|
+
if (length !== Object.keys(b).length) return false;
|
|
115
|
+
for (i = length; i-- !== 0; )
|
|
116
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
|
|
117
|
+
for (i = length; i-- !== 0; ) {
|
|
118
|
+
var key = keys[i];
|
|
119
|
+
if (!equal(a[key], b[key])) return false;
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
return a !== a && b !== b;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
|
|
91
128
|
// types/API/Overrides.ts
|
|
92
129
|
init_react_import();
|
|
93
130
|
var overrideKeys = [
|
|
@@ -768,7 +805,9 @@ var keyCodeMap = {
|
|
|
768
805
|
KeyW: "w",
|
|
769
806
|
KeyX: "x",
|
|
770
807
|
KeyY: "y",
|
|
771
|
-
KeyZ: "z"
|
|
808
|
+
KeyZ: "z",
|
|
809
|
+
Delete: "delete",
|
|
810
|
+
Backspace: "backspace"
|
|
772
811
|
};
|
|
773
812
|
var useHotkeyStore = create()(
|
|
774
813
|
subscribeWithSelector((set) => ({
|
|
@@ -792,8 +831,10 @@ var monitorHotkeys = (doc) => {
|
|
|
792
831
|
([key2, value]) => value === !!combo[key2]
|
|
793
832
|
);
|
|
794
833
|
if (conditionMet) {
|
|
795
|
-
e
|
|
796
|
-
|
|
834
|
+
const handled = cb(e);
|
|
835
|
+
if (handled !== false) {
|
|
836
|
+
e.preventDefault();
|
|
837
|
+
}
|
|
797
838
|
}
|
|
798
839
|
});
|
|
799
840
|
if (key !== "meta" && key !== "ctrl" && key !== "shift") {
|
|
@@ -816,6 +857,10 @@ var monitorHotkeys = (doc) => {
|
|
|
816
857
|
useHotkeyStore.getState().reset();
|
|
817
858
|
}
|
|
818
859
|
};
|
|
860
|
+
const onBlur = () => {
|
|
861
|
+
useHotkeyStore.getState().reset();
|
|
862
|
+
};
|
|
863
|
+
window.addEventListener("blur", onBlur);
|
|
819
864
|
doc.addEventListener("keydown", onKeyDown);
|
|
820
865
|
doc.addEventListener("keyup", onKeyUp);
|
|
821
866
|
doc.addEventListener("visibilitychange", onVisibilityChanged);
|
|
@@ -823,6 +868,7 @@ var monitorHotkeys = (doc) => {
|
|
|
823
868
|
doc.removeEventListener("keydown", onKeyDown);
|
|
824
869
|
doc.removeEventListener("keyup", onKeyUp);
|
|
825
870
|
doc.removeEventListener("visibilitychange", onVisibilityChanged);
|
|
871
|
+
window.removeEventListener("blur", onBlur);
|
|
826
872
|
};
|
|
827
873
|
};
|
|
828
874
|
var useMonitorHotkeys = () => {
|
|
@@ -1017,7 +1063,7 @@ var flattenData = (state, config) => {
|
|
|
1017
1063
|
(content) => content,
|
|
1018
1064
|
(item) => {
|
|
1019
1065
|
data.push(item);
|
|
1020
|
-
return
|
|
1066
|
+
return item;
|
|
1021
1067
|
}
|
|
1022
1068
|
);
|
|
1023
1069
|
return data;
|
|
@@ -3116,11 +3162,13 @@ var ExternalInput = ({
|
|
|
3116
3162
|
id,
|
|
3117
3163
|
readOnly
|
|
3118
3164
|
}) => {
|
|
3165
|
+
var _a;
|
|
3119
3166
|
const {
|
|
3120
3167
|
mapProp = (val) => val,
|
|
3121
3168
|
mapRow = (val) => val,
|
|
3122
3169
|
filterFields
|
|
3123
3170
|
} = field || {};
|
|
3171
|
+
const { enabled: shouldCacheData } = (_a = field.cache) != null ? _a : { enabled: true };
|
|
3124
3172
|
const [data, setData] = useState6([]);
|
|
3125
3173
|
const [isOpen, setOpen] = useState6(false);
|
|
3126
3174
|
const [isLoading, setIsLoading] = useState6(true);
|
|
@@ -3146,11 +3194,18 @@ var ExternalInput = ({
|
|
|
3146
3194
|
(query, filters2) => __async(void 0, null, function* () {
|
|
3147
3195
|
setIsLoading(true);
|
|
3148
3196
|
const cacheKey = `${id}-${query}-${JSON.stringify(filters2)}`;
|
|
3149
|
-
|
|
3197
|
+
let listData;
|
|
3198
|
+
if (shouldCacheData && dataCache[cacheKey]) {
|
|
3199
|
+
listData = dataCache[cacheKey];
|
|
3200
|
+
} else {
|
|
3201
|
+
listData = yield field.fetchList({ query, filters: filters2 });
|
|
3202
|
+
}
|
|
3150
3203
|
if (listData) {
|
|
3151
3204
|
setData(listData);
|
|
3152
3205
|
setIsLoading(false);
|
|
3153
|
-
|
|
3206
|
+
if (shouldCacheData) {
|
|
3207
|
+
dataCache[cacheKey] = listData;
|
|
3208
|
+
}
|
|
3154
3209
|
}
|
|
3155
3210
|
}),
|
|
3156
3211
|
[id, field]
|
|
@@ -3214,6 +3269,7 @@ var ExternalInput = ({
|
|
|
3214
3269
|
}),
|
|
3215
3270
|
onSubmit: (e) => {
|
|
3216
3271
|
e.preventDefault();
|
|
3272
|
+
e.stopPropagation();
|
|
3217
3273
|
search(searchQuery, filters);
|
|
3218
3274
|
},
|
|
3219
3275
|
children: [
|
|
@@ -4124,12 +4180,14 @@ var DraggableComponent = ({
|
|
|
4124
4180
|
}
|
|
4125
4181
|
return cleanup;
|
|
4126
4182
|
}, [permissions.drag, zoneCompound]);
|
|
4183
|
+
const [, setRerender] = useState10(0);
|
|
4127
4184
|
const ref = useRef2(null);
|
|
4128
4185
|
const refSetter = useCallback7(
|
|
4129
4186
|
(el) => {
|
|
4130
4187
|
sortableRef(el);
|
|
4131
|
-
if (el) {
|
|
4188
|
+
if (ref.current !== el) {
|
|
4132
4189
|
ref.current = el;
|
|
4190
|
+
setRerender((update) => update + 1);
|
|
4133
4191
|
}
|
|
4134
4192
|
},
|
|
4135
4193
|
[sortableRef]
|
|
@@ -5634,26 +5692,26 @@ var registerOverlayPortal = (el, opts = {}) => {
|
|
|
5634
5692
|
capture: true
|
|
5635
5693
|
});
|
|
5636
5694
|
};
|
|
5637
|
-
if (
|
|
5638
|
-
el.addEventListener("focus", onFocus, { capture: true });
|
|
5639
|
-
el.addEventListener("blur", onBlur, { capture: true });
|
|
5640
|
-
} else if (disableDrag) {
|
|
5695
|
+
if (disableDrag) {
|
|
5641
5696
|
el.addEventListener("pointerdown", stopPropagation, {
|
|
5642
5697
|
capture: true
|
|
5643
5698
|
});
|
|
5699
|
+
} else if (disableDragOnFocus) {
|
|
5700
|
+
el.addEventListener("focus", onFocus, { capture: true });
|
|
5701
|
+
el.addEventListener("blur", onBlur, { capture: true });
|
|
5644
5702
|
}
|
|
5645
5703
|
el.setAttribute("data-puck-overlay-portal", "true");
|
|
5646
5704
|
return () => {
|
|
5647
5705
|
el.removeEventListener("mouseover", stopPropagation, {
|
|
5648
5706
|
capture: true
|
|
5649
5707
|
});
|
|
5650
|
-
if (
|
|
5651
|
-
el.removeEventListener("focus", onFocus, { capture: true });
|
|
5652
|
-
el.removeEventListener("blur", onFocus, { capture: true });
|
|
5653
|
-
} else if (disableDrag) {
|
|
5708
|
+
if (disableDrag) {
|
|
5654
5709
|
el.removeEventListener("pointerdown", stopPropagation, {
|
|
5655
5710
|
capture: true
|
|
5656
5711
|
});
|
|
5712
|
+
} else if (disableDragOnFocus) {
|
|
5713
|
+
el.removeEventListener("focus", onFocus, { capture: true });
|
|
5714
|
+
el.removeEventListener("blur", onBlur, { capture: true });
|
|
5657
5715
|
}
|
|
5658
5716
|
el.removeAttribute("data-puck-overlay-portal");
|
|
5659
5717
|
};
|
|
@@ -5661,7 +5719,7 @@ var registerOverlayPortal = (el, opts = {}) => {
|
|
|
5661
5719
|
|
|
5662
5720
|
// css-module:/home/runner/work/puck/puck/packages/core/components/InlineTextField/styles.module.css#css-module
|
|
5663
5721
|
init_react_import();
|
|
5664
|
-
var styles_module_default13 = { "InlineTextField": "
|
|
5722
|
+
var styles_module_default13 = { "InlineTextField": "_InlineTextField_104qp_1" };
|
|
5665
5723
|
|
|
5666
5724
|
// lib/data/set-deep.ts
|
|
5667
5725
|
init_react_import();
|
|
@@ -6421,7 +6479,7 @@ function useGetPuck() {
|
|
|
6421
6479
|
init_react_import();
|
|
6422
6480
|
import {
|
|
6423
6481
|
createContext as createContext8,
|
|
6424
|
-
useCallback as
|
|
6482
|
+
useCallback as useCallback21,
|
|
6425
6483
|
useContext as useContext13,
|
|
6426
6484
|
useEffect as useEffect29,
|
|
6427
6485
|
useMemo as useMemo20,
|
|
@@ -7981,12 +8039,73 @@ var usePreviewModeHotkeys = () => {
|
|
|
7981
8039
|
useHotkey({ ctrl: true, i: true }, toggleInteractive);
|
|
7982
8040
|
};
|
|
7983
8041
|
|
|
8042
|
+
// lib/use-delete-hotkeys.ts
|
|
8043
|
+
init_react_import();
|
|
8044
|
+
import { useCallback as useCallback17 } from "react";
|
|
8045
|
+
var isElementVisible = (element) => {
|
|
8046
|
+
let current = element;
|
|
8047
|
+
while (current && current !== document.body) {
|
|
8048
|
+
const style = window.getComputedStyle(current);
|
|
8049
|
+
if (style.display === "none" || style.visibility === "hidden" || style.opacity === "0" || current.getAttribute("aria-hidden") === "true" || current.hasAttribute("hidden")) {
|
|
8050
|
+
return false;
|
|
8051
|
+
}
|
|
8052
|
+
current = current.parentElement;
|
|
8053
|
+
}
|
|
8054
|
+
return true;
|
|
8055
|
+
};
|
|
8056
|
+
var shouldBlockDeleteHotkey = (e) => {
|
|
8057
|
+
var _a;
|
|
8058
|
+
if (e == null ? void 0 : e.defaultPrevented) return true;
|
|
8059
|
+
const origin = ((_a = e == null ? void 0 : e.composedPath) == null ? void 0 : _a.call(e)[0]) || (e == null ? void 0 : e.target) || document.activeElement;
|
|
8060
|
+
if (origin instanceof HTMLElement) {
|
|
8061
|
+
const tag = origin.tagName.toLowerCase();
|
|
8062
|
+
if (tag === "input" || tag === "textarea" || tag === "select") return true;
|
|
8063
|
+
if (origin.isContentEditable) return true;
|
|
8064
|
+
const role = origin.getAttribute("role");
|
|
8065
|
+
if (role === "textbox" || role === "combobox" || role === "searchbox" || role === "listbox" || role === "grid") {
|
|
8066
|
+
return true;
|
|
8067
|
+
}
|
|
8068
|
+
}
|
|
8069
|
+
const modal = document.querySelector(
|
|
8070
|
+
'dialog[open], [aria-modal="true"], [role="dialog"], [role="alertdialog"]'
|
|
8071
|
+
);
|
|
8072
|
+
if (modal && isElementVisible(modal)) {
|
|
8073
|
+
return true;
|
|
8074
|
+
}
|
|
8075
|
+
return false;
|
|
8076
|
+
};
|
|
8077
|
+
var useDeleteHotkeys = () => {
|
|
8078
|
+
const appStore = useAppStoreApi();
|
|
8079
|
+
const deleteSelectedComponent = useCallback17(
|
|
8080
|
+
(e) => {
|
|
8081
|
+
var _a;
|
|
8082
|
+
if (shouldBlockDeleteHotkey(e)) {
|
|
8083
|
+
return false;
|
|
8084
|
+
}
|
|
8085
|
+
const { state, dispatch, permissions, selectedItem } = appStore.getState();
|
|
8086
|
+
const sel = (_a = state.ui) == null ? void 0 : _a.itemSelector;
|
|
8087
|
+
if (!(sel == null ? void 0 : sel.zone) || !selectedItem) return true;
|
|
8088
|
+
if (!permissions.getPermissions({ item: selectedItem }).delete)
|
|
8089
|
+
return true;
|
|
8090
|
+
dispatch({
|
|
8091
|
+
type: "remove",
|
|
8092
|
+
index: sel.index,
|
|
8093
|
+
zone: sel.zone
|
|
8094
|
+
});
|
|
8095
|
+
return true;
|
|
8096
|
+
},
|
|
8097
|
+
[appStore]
|
|
8098
|
+
);
|
|
8099
|
+
useHotkey({ delete: true }, deleteSelectedComponent);
|
|
8100
|
+
useHotkey({ backspace: true }, deleteSelectedComponent);
|
|
8101
|
+
};
|
|
8102
|
+
|
|
7984
8103
|
// components/Puck/index.tsx
|
|
7985
|
-
|
|
8104
|
+
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
|
|
7986
8105
|
|
|
7987
8106
|
// components/Puck/components/Header/index.tsx
|
|
7988
8107
|
init_react_import();
|
|
7989
|
-
import { memo as memo4, useCallback as
|
|
8108
|
+
import { memo as memo4, useCallback as useCallback18, useMemo as useMemo19, useState as useState23 } from "react";
|
|
7990
8109
|
|
|
7991
8110
|
// components/MenuBar/index.tsx
|
|
7992
8111
|
init_react_import();
|
|
@@ -8113,7 +8232,7 @@ var HeaderInner = () => {
|
|
|
8113
8232
|
const rightSideBarVisible = useAppStore(
|
|
8114
8233
|
(s) => s.state.ui.rightSideBarVisible
|
|
8115
8234
|
);
|
|
8116
|
-
const toggleSidebars =
|
|
8235
|
+
const toggleSidebars = useCallback18(
|
|
8117
8236
|
(sidebar) => {
|
|
8118
8237
|
const widerViewport = window.matchMedia("(min-width: 638px)").matches;
|
|
8119
8238
|
const sideBarVisible = sidebar === "left" ? leftSideBarVisible : rightSideBarVisible;
|
|
@@ -8223,7 +8342,7 @@ init_react_import();
|
|
|
8223
8342
|
|
|
8224
8343
|
// components/Puck/components/ResizeHandle/index.tsx
|
|
8225
8344
|
init_react_import();
|
|
8226
|
-
import { useCallback as
|
|
8345
|
+
import { useCallback as useCallback19, useRef as useRef10 } from "react";
|
|
8227
8346
|
|
|
8228
8347
|
// css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/ResizeHandle/styles.module.css#css-module
|
|
8229
8348
|
init_react_import();
|
|
@@ -8244,7 +8363,7 @@ var ResizeHandle = ({
|
|
|
8244
8363
|
const isDragging = useRef10(false);
|
|
8245
8364
|
const startX = useRef10(0);
|
|
8246
8365
|
const startWidth = useRef10(0);
|
|
8247
|
-
const handleMouseMove =
|
|
8366
|
+
const handleMouseMove = useCallback19(
|
|
8248
8367
|
(e) => {
|
|
8249
8368
|
if (!isDragging.current) return;
|
|
8250
8369
|
const delta = e.clientX - startX.current;
|
|
@@ -8255,7 +8374,7 @@ var ResizeHandle = ({
|
|
|
8255
8374
|
},
|
|
8256
8375
|
[onResize, position]
|
|
8257
8376
|
);
|
|
8258
|
-
const handleMouseUp =
|
|
8377
|
+
const handleMouseUp = useCallback19(() => {
|
|
8259
8378
|
var _a;
|
|
8260
8379
|
if (!isDragging.current) return;
|
|
8261
8380
|
isDragging.current = false;
|
|
@@ -8271,7 +8390,7 @@ var ResizeHandle = ({
|
|
|
8271
8390
|
onResizeEnd(finalWidth);
|
|
8272
8391
|
resetAutoZoom();
|
|
8273
8392
|
}, [onResizeEnd]);
|
|
8274
|
-
const handleMouseDown =
|
|
8393
|
+
const handleMouseDown = useCallback19(
|
|
8275
8394
|
(e) => {
|
|
8276
8395
|
var _a;
|
|
8277
8396
|
isDragging.current = true;
|
|
@@ -8331,7 +8450,7 @@ var Sidebar = ({
|
|
|
8331
8450
|
|
|
8332
8451
|
// lib/use-sidebar-resize.ts
|
|
8333
8452
|
init_react_import();
|
|
8334
|
-
import { useCallback as
|
|
8453
|
+
import { useCallback as useCallback20, useEffect as useEffect28, useRef as useRef11, useState as useState24 } from "react";
|
|
8335
8454
|
function useSidebarResize(position, dispatch) {
|
|
8336
8455
|
const [width, setWidth] = useState24(null);
|
|
8337
8456
|
const sidebarRef = useRef11(null);
|
|
@@ -8368,7 +8487,7 @@ function useSidebarResize(position, dispatch) {
|
|
|
8368
8487
|
setWidth(storeWidth);
|
|
8369
8488
|
}
|
|
8370
8489
|
}, [storeWidth]);
|
|
8371
|
-
const handleResizeEnd =
|
|
8490
|
+
const handleResizeEnd = useCallback20(
|
|
8372
8491
|
(width2) => {
|
|
8373
8492
|
dispatch({
|
|
8374
8493
|
type: "setUi",
|
|
@@ -8486,9 +8605,13 @@ function PuckProvider({ children }) {
|
|
|
8486
8605
|
}
|
|
8487
8606
|
const rootProps = ((_h = initialData == null ? void 0 : initialData.root) == null ? void 0 : _h.props) || (initialData == null ? void 0 : initialData.root) || {};
|
|
8488
8607
|
const defaultedRootProps = __spreadValues(__spreadValues({}, (_i = config.root) == null ? void 0 : _i.defaultProps), rootProps);
|
|
8608
|
+
const root = populateIds(
|
|
8609
|
+
toComponent(__spreadProps(__spreadValues({}, initialData == null ? void 0 : initialData.root), { props: defaultedRootProps })),
|
|
8610
|
+
config
|
|
8611
|
+
);
|
|
8489
8612
|
const newAppState = __spreadProps(__spreadValues({}, defaultAppState), {
|
|
8490
8613
|
data: __spreadProps(__spreadValues({}, initialData), {
|
|
8491
|
-
root: __spreadProps(__spreadValues({}, initialData == null ? void 0 : initialData.root), { props:
|
|
8614
|
+
root: __spreadProps(__spreadValues({}, initialData == null ? void 0 : initialData.root), { props: root.props }),
|
|
8492
8615
|
content: initialData.content || []
|
|
8493
8616
|
}),
|
|
8494
8617
|
ui: __spreadProps(__spreadValues(__spreadValues({}, initial), clientUiState), {
|
|
@@ -8539,7 +8662,7 @@ function PuckProvider({ children }) {
|
|
|
8539
8662
|
);
|
|
8540
8663
|
return __spreadValues(__spreadValues({}, pluginFieldTransforms), fieldTransforms);
|
|
8541
8664
|
}, [fieldTransforms, plugins]);
|
|
8542
|
-
const generateAppStore =
|
|
8665
|
+
const generateAppStore = useCallback21(
|
|
8543
8666
|
(state) => {
|
|
8544
8667
|
return {
|
|
8545
8668
|
state,
|
|
@@ -8588,7 +8711,7 @@ function PuckProvider({ children }) {
|
|
|
8588
8711
|
(s) => s.state.data,
|
|
8589
8712
|
(data) => {
|
|
8590
8713
|
if (onChange) {
|
|
8591
|
-
if (
|
|
8714
|
+
if ((0, import_fast_deep_equal.default)(data, previousData.current)) return;
|
|
8592
8715
|
onChange(data);
|
|
8593
8716
|
previousData.current = data;
|
|
8594
8717
|
}
|
|
@@ -8668,6 +8791,7 @@ function PuckLayout({ children }) {
|
|
|
8668
8791
|
}, []);
|
|
8669
8792
|
const ready = useAppStore((s) => s.status === "READY");
|
|
8670
8793
|
useMonitorHotkeys();
|
|
8794
|
+
useDeleteHotkeys();
|
|
8671
8795
|
useEffect29(() => {
|
|
8672
8796
|
if (ready && iframe.enabled) {
|
|
8673
8797
|
const frameDoc = getFrame();
|
|
@@ -681,19 +681,19 @@ init_react_import();
|
|
|
681
681
|
|
|
682
682
|
// lib/get-changed.ts
|
|
683
683
|
init_react_import();
|
|
684
|
-
import
|
|
684
|
+
import { deepEqual } from "fast-equals";
|
|
685
685
|
var getChanged = (newItem, oldItem) => {
|
|
686
686
|
return newItem ? Object.keys(newItem.props || {}).reduce((acc, item) => {
|
|
687
687
|
const newItemProps = (newItem == null ? void 0 : newItem.props) || {};
|
|
688
688
|
const oldItemProps = (oldItem == null ? void 0 : oldItem.props) || {};
|
|
689
689
|
return __spreadProps(__spreadValues({}, acc), {
|
|
690
|
-
[item]: !
|
|
690
|
+
[item]: !deepEqual(oldItemProps[item], newItemProps[item])
|
|
691
691
|
});
|
|
692
692
|
}, {}) : {};
|
|
693
693
|
};
|
|
694
694
|
|
|
695
695
|
// lib/resolve-component-data.ts
|
|
696
|
-
import
|
|
696
|
+
import { deepEqual as deepEqual2 } from "fast-equals";
|
|
697
697
|
var cache = { lastChange: {} };
|
|
698
698
|
var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], function* (item, config, metadata = {}, onResolveStart, onResolveEnd, trigger = "replace") {
|
|
699
699
|
const configForItem = "type" in item && item.type !== "root" ? config.components[item.type] : config.root;
|
|
@@ -702,7 +702,7 @@ var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], f
|
|
|
702
702
|
const id = "id" in item.props ? item.props.id : "root";
|
|
703
703
|
if (shouldRunResolver) {
|
|
704
704
|
const { item: oldItem = null, resolved = {} } = cache.lastChange[id] || {};
|
|
705
|
-
if (trigger !== "force" && item &&
|
|
705
|
+
if (trigger !== "force" && item && deepEqual2(item, oldItem)) {
|
|
706
706
|
return { node: resolved, didChange: false };
|
|
707
707
|
}
|
|
708
708
|
const changed = getChanged(item, oldItem);
|
|
@@ -752,7 +752,7 @@ var resolveComponentData = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], f
|
|
|
752
752
|
};
|
|
753
753
|
return {
|
|
754
754
|
node: itemWithResolvedChildren,
|
|
755
|
-
didChange: !
|
|
755
|
+
didChange: !deepEqual2(item, itemWithResolvedChildren)
|
|
756
756
|
};
|
|
757
757
|
});
|
|
758
758
|
|
|
@@ -958,6 +958,7 @@ export {
|
|
|
958
958
|
useSlots,
|
|
959
959
|
SlotRenderPure,
|
|
960
960
|
SlotRender,
|
|
961
|
+
toComponent,
|
|
961
962
|
migrate,
|
|
962
963
|
transformProps,
|
|
963
964
|
resolveAllData
|
package/dist/index.css
CHANGED
|
@@ -1331,16 +1331,17 @@ body:has(._DropZone--isAnimating_1i2sv_68:empty) [data-puck-overlay] {
|
|
|
1331
1331
|
}
|
|
1332
1332
|
|
|
1333
1333
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/InlineTextField/styles.module.css/#css-module-data */
|
|
1334
|
-
.
|
|
1334
|
+
._InlineTextField_104qp_1 {
|
|
1335
1335
|
cursor: text;
|
|
1336
1336
|
display: inline-block;
|
|
1337
1337
|
white-space: pre-wrap;
|
|
1338
|
+
text-decoration: inherit;
|
|
1338
1339
|
}
|
|
1339
|
-
[data-dnd-dragging] .
|
|
1340
|
+
[data-dnd-dragging] ._InlineTextField_104qp_1 {
|
|
1340
1341
|
cursor: none;
|
|
1341
1342
|
caret-color: transparent;
|
|
1342
1343
|
}
|
|
1343
|
-
[data-dnd-dragging] .
|
|
1344
|
+
[data-dnd-dragging] ._InlineTextField_104qp_1::selection {
|
|
1344
1345
|
display: none;
|
|
1345
1346
|
}
|
|
1346
1347
|
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { H as History, P as Permissions, a as ComponentData, C as Config, U as UserGenerics, F as Fields, b as PuckAction, R as RootDataWithProps, c as ResolveDataTrigger, d as Plugin, O as Overrides, V as Viewports, I as IframeConfig, e as UiState, f as ComponentConfig, A as AppState, M as Metadata, g as FieldTransforms, h as Field, i as FieldProps, D as DropZoneProps, j as Data, k as OnAction, l as InitialHistory, n as ItemSelector } from './walk-tree-
|
|
2
|
-
export { a7 as Adaptor, a5 as ArrayField, B as ArrayState,
|
|
1
|
+
import { H as History, P as Permissions, a as ComponentData, C as Config, U as UserGenerics, F as Fields, b as PuckAction, R as RootDataWithProps, c as ResolveDataTrigger, d as Plugin, O as Overrides, V as Viewports, I as IframeConfig, e as UiState, f as ComponentConfig, A as AppState, M as Metadata, g as FieldTransforms, h as Field, i as FieldProps, D as DropZoneProps, j as Data, k as OnAction, l as InitialHistory, n as ItemSelector } from './walk-tree-DkTSFbz_.mjs';
|
|
2
|
+
export { a7 as Adaptor, a5 as ArrayField, B as ArrayState, al as AsFieldProps, N as BaseData, $ as BaseField, a9 as CacheOpts, Z as ComponentDataMap, X as ComponentDataOptionalId, _ as Content, ac as CustomField, ab as CustomFieldRender, ai as DefaultComponentProps, K as DefaultComponents, af as DefaultRootFieldProps, ah as DefaultRootProps, ag as DefaultRootRenderProps, o as Direction, p as DragAxis, aa as ExternalField, a8 as ExternalFieldWithAdaptor, L as ExtractConfigParams, an as ExtractField, y as FieldRenderFunctions, u as FieldTransformFn, s as FieldTransformFnParams, z as ItemWithId, Y as MappedItem, a1 as NumberField, a6 as ObjectField, x as OverrideKey, G as PuckComponent, ae as PuckContext, a4 as RadioField, J as RootConfig, T as RootData, Q as RootDataWithoutProps, a3 as SelectField, S as Slot, E as SlotComponent, ad as SlotField, a0 as TextField, a2 as TextareaField, q as Viewport, am as WithChildren, aj as WithId, ak as WithPuckProps, W as WithSlotProps, m as migrate, v as overrideKeys, r as resolveAllData, t as transformProps, w as walkTree } from './walk-tree-DkTSFbz_.mjs';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import * as react from 'react';
|
|
5
5
|
import react__default, { ReactNode, SyntheticEvent, ReactElement } from 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { H as History, P as Permissions, a as ComponentData, C as Config, U as UserGenerics, F as Fields, b as PuckAction, R as RootDataWithProps, c as ResolveDataTrigger, d as Plugin, O as Overrides, V as Viewports, I as IframeConfig, e as UiState, f as ComponentConfig, A as AppState, M as Metadata, g as FieldTransforms, h as Field, i as FieldProps, D as DropZoneProps, j as Data, k as OnAction, l as InitialHistory, n as ItemSelector } from './walk-tree-
|
|
2
|
-
export { a7 as Adaptor, a5 as ArrayField, B as ArrayState,
|
|
1
|
+
import { H as History, P as Permissions, a as ComponentData, C as Config, U as UserGenerics, F as Fields, b as PuckAction, R as RootDataWithProps, c as ResolveDataTrigger, d as Plugin, O as Overrides, V as Viewports, I as IframeConfig, e as UiState, f as ComponentConfig, A as AppState, M as Metadata, g as FieldTransforms, h as Field, i as FieldProps, D as DropZoneProps, j as Data, k as OnAction, l as InitialHistory, n as ItemSelector } from './walk-tree-DkTSFbz_.js';
|
|
2
|
+
export { a7 as Adaptor, a5 as ArrayField, B as ArrayState, al as AsFieldProps, N as BaseData, $ as BaseField, a9 as CacheOpts, Z as ComponentDataMap, X as ComponentDataOptionalId, _ as Content, ac as CustomField, ab as CustomFieldRender, ai as DefaultComponentProps, K as DefaultComponents, af as DefaultRootFieldProps, ah as DefaultRootProps, ag as DefaultRootRenderProps, o as Direction, p as DragAxis, aa as ExternalField, a8 as ExternalFieldWithAdaptor, L as ExtractConfigParams, an as ExtractField, y as FieldRenderFunctions, u as FieldTransformFn, s as FieldTransformFnParams, z as ItemWithId, Y as MappedItem, a1 as NumberField, a6 as ObjectField, x as OverrideKey, G as PuckComponent, ae as PuckContext, a4 as RadioField, J as RootConfig, T as RootData, Q as RootDataWithoutProps, a3 as SelectField, S as Slot, E as SlotComponent, ad as SlotField, a0 as TextField, a2 as TextareaField, q as Viewport, am as WithChildren, aj as WithId, ak as WithPuckProps, W as WithSlotProps, m as migrate, v as overrideKeys, r as resolveAllData, t as transformProps, w as walkTree } from './walk-tree-DkTSFbz_.js';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import * as react from 'react';
|
|
5
5
|
import react__default, { ReactNode, SyntheticEvent, ReactElement } from 'react';
|