react-datocms 7.2.11 → 7.2.14
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/cjs/ContentLink/index.js +7 -5
- package/dist/cjs/ContentLink/index.js.map +1 -1
- package/dist/cjs/useContentLink/index.js +8 -12
- package/dist/cjs/useContentLink/index.js.map +1 -1
- package/dist/esm/ContentLink/index.js +7 -5
- package/dist/esm/ContentLink/index.js.map +1 -1
- package/dist/esm/useContentLink/index.js +8 -12
- package/dist/esm/useContentLink/index.js.map +1 -1
- package/dist/types/useContentLink/index.d.ts +1 -1
- package/package.json +2 -2
- package/src/ContentLink/index.tsx +11 -9
- package/src/useContentLink/index.ts +10 -15
|
@@ -90,12 +90,14 @@ function ContentLink(props) {
|
|
|
90
90
|
}, [currentPath, setCurrentPath]);
|
|
91
91
|
// Enable click-to-edit on mount if requested
|
|
92
92
|
(0, react_1.useEffect)(() => {
|
|
93
|
-
if (enableClickToEditOptions
|
|
94
|
-
|
|
95
|
-
enableClickToEdit(enableClickToEditOptions === true
|
|
96
|
-
? undefined
|
|
97
|
-
: enableClickToEditOptions);
|
|
93
|
+
if (!enableClickToEditOptions) {
|
|
94
|
+
return;
|
|
98
95
|
}
|
|
96
|
+
// Never enable click-to-edit inside an iframe
|
|
97
|
+
if (typeof window === 'undefined' || window.parent !== window) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
enableClickToEdit(enableClickToEditOptions === true ? undefined : enableClickToEditOptions);
|
|
99
101
|
}, [enableClickToEditOptions, enableClickToEdit]);
|
|
100
102
|
return null;
|
|
101
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ContentLink/index.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;AAgGb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ContentLink/index.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;AAgGb,kCAqCC;AAnID,iCAAkC;AAClC,yDAIoC;AAyBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,SAAgB,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,WAAW,EACX,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,KAER,KAAK,EADJ,qBAAqB,UACtB,KAAK,EALH,kDAKL,CAAQ,CAAC;IAEV,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,IAAA,yBAAc,kCACvD,qBAAqB,KACxB,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IACzD,CAAC;IAEH,oCAAoC;IACpC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAElC,6CAA6C;IAC7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,iBAAiB,CACf,wBAAwB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CACzE,CAAC;IACJ,CAAC,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -5,6 +5,7 @@ exports.stripStega = exports.decodeStega = void 0;
|
|
|
5
5
|
exports.useContentLink = useContentLink;
|
|
6
6
|
const content_link_1 = require("@datocms/content-link");
|
|
7
7
|
const react_1 = require("react");
|
|
8
|
+
// Re-export types and utilities from @datocms/content-link for convenience
|
|
8
9
|
var content_link_2 = require("@datocms/content-link");
|
|
9
10
|
Object.defineProperty(exports, "decodeStega", { enumerable: true, get: function () { return content_link_2.decodeStega; } });
|
|
10
11
|
Object.defineProperty(exports, "stripStega", { enumerable: true, get: function () { return content_link_2.stripStega; } });
|
|
@@ -72,20 +73,15 @@ function useContentLink(options = {}) {
|
|
|
72
73
|
// Stable method references that call through to the controller
|
|
73
74
|
const enableClickToEdit = (0, react_1.useCallback)((opts) => {
|
|
74
75
|
var _a;
|
|
75
|
-
// Never enable click-to-edit inside an iframe
|
|
76
|
-
if (typeof window !== 'undefined' && window.parent !== window) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
76
|
// If hoverOnly is true, check if the device supports hover
|
|
80
|
-
if (opts === null || opts === void 0 ? void 0 : opts.hoverOnly)
|
|
81
|
-
|
|
82
|
-
window.matchMedia('(hover: hover)').matches
|
|
83
|
-
|
|
84
|
-
// Don't enable click-to-edit on touch-only devices
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
77
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.hoverOnly) &&
|
|
78
|
+
(typeof window === 'undefined' ||
|
|
79
|
+
!window.matchMedia('(hover: hover)').matches)) {
|
|
80
|
+
return;
|
|
87
81
|
}
|
|
88
|
-
(_a = controllerRef.current) === null || _a === void 0 ? void 0 : _a.enableClickToEdit((opts === null || opts === void 0 ? void 0 : opts.scrollToNearestTarget)
|
|
82
|
+
(_a = controllerRef.current) === null || _a === void 0 ? void 0 : _a.enableClickToEdit((opts === null || opts === void 0 ? void 0 : opts.scrollToNearestTarget)
|
|
83
|
+
? { scrollToNearestTarget: opts.scrollToNearestTarget }
|
|
84
|
+
: undefined);
|
|
89
85
|
}, []);
|
|
90
86
|
const disableClickToEdit = (0, react_1.useCallback)(() => {
|
|
91
87
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useContentLink/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAkGb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useContentLink/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,12 +87,14 @@ export function ContentLink(props) {
|
|
|
87
87
|
}, [currentPath, setCurrentPath]);
|
|
88
88
|
// Enable click-to-edit on mount if requested
|
|
89
89
|
useEffect(() => {
|
|
90
|
-
if (enableClickToEditOptions
|
|
91
|
-
|
|
92
|
-
enableClickToEdit(enableClickToEditOptions === true
|
|
93
|
-
? undefined
|
|
94
|
-
: enableClickToEditOptions);
|
|
90
|
+
if (!enableClickToEditOptions) {
|
|
91
|
+
return;
|
|
95
92
|
}
|
|
93
|
+
// Never enable click-to-edit inside an iframe
|
|
94
|
+
if (typeof window === 'undefined' || window.parent !== window) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
enableClickToEdit(enableClickToEditOptions === true ? undefined : enableClickToEditOptions);
|
|
96
98
|
}, [enableClickToEditOptions, enableClickToEdit]);
|
|
97
99
|
return null;
|
|
98
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ContentLink/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAGL,cAAc,GACf,MAAM,4BAA4B,CAAC;AAyBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,WAAW,EACX,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,KAER,KAAK,EADJ,qBAAqB,UACtB,KAAK,EALH,kDAKL,CAAQ,CAAC;IAEV,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,cAAc,iCACvD,qBAAqB,KACxB,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IACzD,CAAC;IAEH,oCAAoC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAElC,6CAA6C;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ContentLink/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAGL,cAAc,GACf,MAAM,4BAA4B,CAAC;AAyBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,WAAW,EACX,iBAAiB,EAAE,wBAAwB,EAC3C,UAAU,KAER,KAAK,EADJ,qBAAqB,UACtB,KAAK,EALH,kDAKL,CAAQ,CAAC;IAEV,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,cAAc,iCACvD,qBAAqB,KACxB,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IACzD,CAAC;IAEH,oCAAoC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAElC,6CAA6C;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,iBAAiB,CACf,wBAAwB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CACzE,CAAC;IACJ,CAAC,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { createController } from '@datocms/content-link';
|
|
3
3
|
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
// Re-export types and utilities from @datocms/content-link for convenience
|
|
4
5
|
export { decodeStega, stripStega } from '@datocms/content-link';
|
|
5
6
|
/**
|
|
6
7
|
* Hook to control the ContentLink controller for Visual Editing.
|
|
@@ -66,20 +67,15 @@ export function useContentLink(options = {}) {
|
|
|
66
67
|
// Stable method references that call through to the controller
|
|
67
68
|
const enableClickToEdit = useCallback((opts) => {
|
|
68
69
|
var _a;
|
|
69
|
-
// Never enable click-to-edit inside an iframe
|
|
70
|
-
if (typeof window !== 'undefined' && window.parent !== window) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
70
|
// If hoverOnly is true, check if the device supports hover
|
|
74
|
-
if (opts === null || opts === void 0 ? void 0 : opts.hoverOnly)
|
|
75
|
-
|
|
76
|
-
window.matchMedia('(hover: hover)').matches
|
|
77
|
-
|
|
78
|
-
// Don't enable click-to-edit on touch-only devices
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
71
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.hoverOnly) &&
|
|
72
|
+
(typeof window === 'undefined' ||
|
|
73
|
+
!window.matchMedia('(hover: hover)').matches)) {
|
|
74
|
+
return;
|
|
81
75
|
}
|
|
82
|
-
(_a = controllerRef.current) === null || _a === void 0 ? void 0 : _a.enableClickToEdit((opts === null || opts === void 0 ? void 0 : opts.scrollToNearestTarget)
|
|
76
|
+
(_a = controllerRef.current) === null || _a === void 0 ? void 0 : _a.enableClickToEdit((opts === null || opts === void 0 ? void 0 : opts.scrollToNearestTarget)
|
|
77
|
+
? { scrollToNearestTarget: opts.scrollToNearestTarget }
|
|
78
|
+
: undefined);
|
|
83
79
|
}, []);
|
|
84
80
|
const disableClickToEdit = useCallback(() => {
|
|
85
81
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/useContentLink/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Controller } from '@datocms/content-link';
|
|
2
|
-
export type { Controller } from '@datocms/content-link';
|
|
3
2
|
export { decodeStega, stripStega } from '@datocms/content-link';
|
|
3
|
+
export type { Controller } from '@datocms/content-link';
|
|
4
4
|
export type UseContentLinkOptions = {
|
|
5
5
|
/**
|
|
6
6
|
* Whether the controller is enabled, or an options object.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-datocms",
|
|
3
|
-
"version": "7.2.
|
|
3
|
+
"version": "7.2.14",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=8.0.0"
|
|
6
6
|
},
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
"react": ">= 16.12.0"
|
|
151
151
|
},
|
|
152
152
|
"dependencies": {
|
|
153
|
-
"@datocms/content-link": "^0.3.
|
|
153
|
+
"@datocms/content-link": "^0.3.13",
|
|
154
154
|
"@mux/mux-player-react": "*",
|
|
155
155
|
"datocms-listen": "^1.0.2",
|
|
156
156
|
"datocms-structured-text-generic-html-renderer": "^5.0.0",
|
|
@@ -116,16 +116,18 @@ export function ContentLink(props: ContentLinkProps): null {
|
|
|
116
116
|
|
|
117
117
|
// Enable click-to-edit on mount if requested
|
|
118
118
|
useEffect(() => {
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
enableClickToEditOptions !== false
|
|
122
|
-
) {
|
|
123
|
-
enableClickToEdit(
|
|
124
|
-
enableClickToEditOptions === true
|
|
125
|
-
? undefined
|
|
126
|
-
: enableClickToEditOptions,
|
|
127
|
-
);
|
|
119
|
+
if (!enableClickToEditOptions) {
|
|
120
|
+
return;
|
|
128
121
|
}
|
|
122
|
+
|
|
123
|
+
// Never enable click-to-edit inside an iframe
|
|
124
|
+
if (typeof window === 'undefined' || window.parent !== window) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
enableClickToEdit(
|
|
129
|
+
enableClickToEditOptions === true ? undefined : enableClickToEditOptions,
|
|
130
|
+
);
|
|
129
131
|
}, [enableClickToEditOptions, enableClickToEdit]);
|
|
130
132
|
|
|
131
133
|
return null;
|
|
@@ -4,8 +4,8 @@ import { type Controller, createController } from '@datocms/content-link';
|
|
|
4
4
|
import { useCallback, useEffect, useRef } from 'react';
|
|
5
5
|
|
|
6
6
|
// Re-export types and utilities from @datocms/content-link for convenience
|
|
7
|
-
export type { Controller } from '@datocms/content-link';
|
|
8
7
|
export { decodeStega, stripStega } from '@datocms/content-link';
|
|
8
|
+
export type { Controller } from '@datocms/content-link';
|
|
9
9
|
|
|
10
10
|
export type UseContentLinkOptions = {
|
|
11
11
|
/**
|
|
@@ -144,24 +144,19 @@ export function useContentLink(
|
|
|
144
144
|
|
|
145
145
|
// Stable method references that call through to the controller
|
|
146
146
|
const enableClickToEdit = useCallback((opts?: ClickToEditOptions) => {
|
|
147
|
-
// Never enable click-to-edit inside an iframe
|
|
148
|
-
if (typeof window !== 'undefined' && window.parent !== window) {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
147
|
// If hoverOnly is true, check if the device supports hover
|
|
153
|
-
if (
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
window.matchMedia('(hover: hover)').matches
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
148
|
+
if (
|
|
149
|
+
opts?.hoverOnly &&
|
|
150
|
+
(typeof window === 'undefined' ||
|
|
151
|
+
!window.matchMedia('(hover: hover)').matches)
|
|
152
|
+
) {
|
|
153
|
+
return;
|
|
161
154
|
}
|
|
162
155
|
|
|
163
156
|
controllerRef.current?.enableClickToEdit(
|
|
164
|
-
opts?.scrollToNearestTarget
|
|
157
|
+
opts?.scrollToNearestTarget
|
|
158
|
+
? { scrollToNearestTarget: opts.scrollToNearestTarget }
|
|
159
|
+
: undefined,
|
|
165
160
|
);
|
|
166
161
|
}, []);
|
|
167
162
|
|