react-datocms 7.2.5-0 → 7.2.5-1
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.
|
@@ -37,7 +37,14 @@ Object.defineProperty(exports, "stripStega", { enumerable: true, get: function (
|
|
|
37
37
|
function useContentLink(options = {}) {
|
|
38
38
|
const { enabled = true, onNavigateTo, root } = options;
|
|
39
39
|
const controllerRef = (0, react_1.useRef)(null);
|
|
40
|
-
//
|
|
40
|
+
// Store the callback in a ref to avoid recreating the controller when it changes
|
|
41
|
+
const onNavigateToRef = (0, react_1.useRef)(onNavigateTo);
|
|
42
|
+
// Keep the callback ref up to date
|
|
43
|
+
(0, react_1.useEffect)(() => {
|
|
44
|
+
onNavigateToRef.current = onNavigateTo;
|
|
45
|
+
}, [onNavigateTo]);
|
|
46
|
+
// Create/dispose controller based on enabled flag and root only
|
|
47
|
+
// The onNavigateTo callback is accessed via ref, so changes don't trigger recreation
|
|
41
48
|
(0, react_1.useEffect)(() => {
|
|
42
49
|
if (!enabled) {
|
|
43
50
|
if (controllerRef.current) {
|
|
@@ -47,7 +54,7 @@ function useContentLink(options = {}) {
|
|
|
47
54
|
return;
|
|
48
55
|
}
|
|
49
56
|
const controller = (0, content_link_1.createController)({
|
|
50
|
-
onNavigateTo,
|
|
57
|
+
onNavigateTo: (path) => { var _a; return (_a = onNavigateToRef.current) === null || _a === void 0 ? void 0 : _a.call(onNavigateToRef, path); },
|
|
51
58
|
root: (root === null || root === void 0 ? void 0 : root.current) || undefined,
|
|
52
59
|
});
|
|
53
60
|
controllerRef.current = controller;
|
|
@@ -55,7 +62,7 @@ function useContentLink(options = {}) {
|
|
|
55
62
|
controller.dispose();
|
|
56
63
|
controllerRef.current = null;
|
|
57
64
|
};
|
|
58
|
-
}, [enabled,
|
|
65
|
+
}, [enabled, root]);
|
|
59
66
|
// Stable method references that call through to the controller
|
|
60
67
|
const enableClickToEdit = (0, react_1.useCallback)((opts) => {
|
|
61
68
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useContentLink/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAEb,wDAA0E;AAC1E,iCAAuD;AAIvD,sDAAgE;AAAvD,2GAAA,WAAW,OAAA;AAAE,0GAAA,UAAU,OAAA;AA0BhC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,cAAc,CAC5B,UAAiC,EAAE;IAEnC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,aAAa,GAAG,IAAA,cAAM,EAAoB,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useContentLink/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAEb,wDAA0E;AAC1E,iCAAuD;AAIvD,sDAAgE;AAAvD,2GAAA,WAAW,OAAA;AAAE,0GAAA,UAAU,OAAA;AA0BhC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,cAAc,CAC5B,UAAiC,EAAE;IAEnC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,aAAa,GAAG,IAAA,cAAM,EAAoB,IAAI,CAAC,CAAC;IACtD,iFAAiF;IACjF,MAAM,eAAe,GAAG,IAAA,cAAM,EAAC,YAAY,CAAC,CAAC;IAE7C,mCAAmC;IACnC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;IACzC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,gEAAgE;IAChE,qFAAqF;IACrF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAChC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,+BAAgB,EAAC;YAClC,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,WAAC,OAAA,MAAA,eAAe,CAAC,OAAO,gEAAG,IAAI,CAAC,CAAA,EAAA;YAC/D,IAAI,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,SAAS;SACjC,CAAC,CAAC;QAEH,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;QAEnC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,IAAA,mBAAW,EACnC,CAAC,IAAyC,EAAE,EAAE;;QAC5C,MAAA,aAAa,CAAC,OAAO,0CAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;;QAC1C,MAAA,aAAa,CAAC,OAAO,0CAAE,kBAAkB,EAAE,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;;QAC5C,OAAO,MAAA,MAAA,aAAa,CAAC,OAAO,0CAAE,oBAAoB,EAAE,mCAAI,KAAK,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,CAAC,qBAA+B,EAAE,EAAE;;QAC/D,MAAA,aAAa,CAAC,OAAO,0CAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAY,EAAE,EAAE;;QAClD,MAAA,aAAa,CAAC,OAAO,0CAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,UAAU,EAAE,aAAa,CAAC,OAAO;QACjC,iBAAiB;QACjB,kBAAkB;QAClB,oBAAoB;QACpB,QAAQ;QACR,cAAc;KACf,CAAC;AACJ,CAAC;AAtED,wCAsEC"}
|
|
@@ -32,7 +32,14 @@ export { decodeStega, stripStega } from '@datocms/content-link';
|
|
|
32
32
|
export function useContentLink(options = {}) {
|
|
33
33
|
const { enabled = true, onNavigateTo, root } = options;
|
|
34
34
|
const controllerRef = useRef(null);
|
|
35
|
-
//
|
|
35
|
+
// Store the callback in a ref to avoid recreating the controller when it changes
|
|
36
|
+
const onNavigateToRef = useRef(onNavigateTo);
|
|
37
|
+
// Keep the callback ref up to date
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
onNavigateToRef.current = onNavigateTo;
|
|
40
|
+
}, [onNavigateTo]);
|
|
41
|
+
// Create/dispose controller based on enabled flag and root only
|
|
42
|
+
// The onNavigateTo callback is accessed via ref, so changes don't trigger recreation
|
|
36
43
|
useEffect(() => {
|
|
37
44
|
if (!enabled) {
|
|
38
45
|
if (controllerRef.current) {
|
|
@@ -42,7 +49,7 @@ export function useContentLink(options = {}) {
|
|
|
42
49
|
return;
|
|
43
50
|
}
|
|
44
51
|
const controller = createController({
|
|
45
|
-
onNavigateTo,
|
|
52
|
+
onNavigateTo: (path) => { var _a; return (_a = onNavigateToRef.current) === null || _a === void 0 ? void 0 : _a.call(onNavigateToRef, path); },
|
|
46
53
|
root: (root === null || root === void 0 ? void 0 : root.current) || undefined,
|
|
47
54
|
});
|
|
48
55
|
controllerRef.current = controller;
|
|
@@ -50,7 +57,7 @@ export function useContentLink(options = {}) {
|
|
|
50
57
|
controller.dispose();
|
|
51
58
|
controllerRef.current = null;
|
|
52
59
|
};
|
|
53
|
-
}, [enabled,
|
|
60
|
+
}, [enabled, root]);
|
|
54
61
|
// Stable method references that call through to the controller
|
|
55
62
|
const enableClickToEdit = useCallback((opts) => {
|
|
56
63
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useContentLink/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAmB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA0BhE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAiC,EAAE;IAEnC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,aAAa,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useContentLink/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAmB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA0BhE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAiC,EAAE;IAEnC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEvD,MAAM,aAAa,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACtD,iFAAiF;IACjF,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAE7C,mCAAmC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;IACzC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,gEAAgE;IAChE,qFAAqF;IACrF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAChC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,WAAC,OAAA,MAAA,eAAe,CAAC,OAAO,gEAAG,IAAI,CAAC,CAAA,EAAA;YAC/D,IAAI,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,SAAS;SACjC,CAAC,CAAC;QAEH,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;QAEnC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAAyC,EAAE,EAAE;;QAC5C,MAAA,aAAa,CAAC,OAAO,0CAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;;QAC1C,MAAA,aAAa,CAAC,OAAO,0CAAE,kBAAkB,EAAE,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;;QAC5C,OAAO,MAAA,MAAA,aAAa,CAAC,OAAO,0CAAE,oBAAoB,EAAE,mCAAI,KAAK,CAAC;IAChE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,qBAA+B,EAAE,EAAE;;QAC/D,MAAA,aAAa,CAAC,OAAO,0CAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;;QAClD,MAAA,aAAa,CAAC,OAAO,0CAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,UAAU,EAAE,aAAa,CAAC,OAAO;QACjC,iBAAiB;QACjB,kBAAkB;QAClB,oBAAoB;QACpB,QAAQ;QACR,cAAc;KACf,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -64,8 +64,16 @@ export function useContentLink(
|
|
|
64
64
|
const { enabled = true, onNavigateTo, root } = options;
|
|
65
65
|
|
|
66
66
|
const controllerRef = useRef<Controller | null>(null);
|
|
67
|
+
// Store the callback in a ref to avoid recreating the controller when it changes
|
|
68
|
+
const onNavigateToRef = useRef(onNavigateTo);
|
|
67
69
|
|
|
68
|
-
//
|
|
70
|
+
// Keep the callback ref up to date
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
onNavigateToRef.current = onNavigateTo;
|
|
73
|
+
}, [onNavigateTo]);
|
|
74
|
+
|
|
75
|
+
// Create/dispose controller based on enabled flag and root only
|
|
76
|
+
// The onNavigateTo callback is accessed via ref, so changes don't trigger recreation
|
|
69
77
|
useEffect(() => {
|
|
70
78
|
if (!enabled) {
|
|
71
79
|
if (controllerRef.current) {
|
|
@@ -76,7 +84,7 @@ export function useContentLink(
|
|
|
76
84
|
}
|
|
77
85
|
|
|
78
86
|
const controller = createController({
|
|
79
|
-
onNavigateTo,
|
|
87
|
+
onNavigateTo: (path: string) => onNavigateToRef.current?.(path),
|
|
80
88
|
root: root?.current || undefined,
|
|
81
89
|
});
|
|
82
90
|
|
|
@@ -86,7 +94,7 @@ export function useContentLink(
|
|
|
86
94
|
controller.dispose();
|
|
87
95
|
controllerRef.current = null;
|
|
88
96
|
};
|
|
89
|
-
}, [enabled,
|
|
97
|
+
}, [enabled, root]);
|
|
90
98
|
|
|
91
99
|
// Stable method references that call through to the controller
|
|
92
100
|
const enableClickToEdit = useCallback(
|