@atlaskit/renderer 114.13.0 → 114.13.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.
- package/CHANGELOG.md +9 -0
- package/dist/cjs/ui/Renderer/index.js +9 -16
- package/dist/cjs/ui/Renderer/useMemoFromPropsDerivative.js +57 -0
- package/dist/es2019/ui/Renderer/index.js +7 -17
- package/dist/es2019/ui/Renderer/useMemoFromPropsDerivative.js +44 -0
- package/dist/esm/ui/Renderer/index.js +9 -16
- package/dist/esm/ui/Renderer/useMemoFromPropsDerivative.js +50 -0
- package/dist/types/ui/Renderer/useMemoFromPropsDerivative.d.ts +1 -0
- package/dist/types-ts4.5/ui/Renderer/useMemoFromPropsDerivative.d.ts +1 -0
- package/package.json +6 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atlaskit/renderer
|
|
2
2
|
|
|
3
|
+
## 114.13.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#148536](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/148536)
|
|
8
|
+
[`da7c16d27cfcc`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/da7c16d27cfcc) -
|
|
9
|
+
Update fragment serializer logic
|
|
10
|
+
- Updated dependencies
|
|
11
|
+
|
|
3
12
|
## 114.13.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -48,6 +48,7 @@ var _ValidationContext = require("./ValidationContext");
|
|
|
48
48
|
var _RendererStyleContainer = require("./RendererStyleContainer");
|
|
49
49
|
var _getBaseFontSize = require("./get-base-font-size");
|
|
50
50
|
var _rendererHelper = require("./rendererHelper");
|
|
51
|
+
var _useMemoFromPropsDerivative = require("./useMemoFromPropsDerivative");
|
|
51
52
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
52
53
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
53
54
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -59,7 +60,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
59
60
|
var NORMAL_SEVERITY_THRESHOLD = exports.NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
60
61
|
var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
61
62
|
var packageName = "@atlaskit/renderer";
|
|
62
|
-
var packageVersion = "114.13.
|
|
63
|
+
var packageVersion = "114.13.1";
|
|
63
64
|
var setAsQueryContainerStyles = (0, _react2.css)({
|
|
64
65
|
containerName: 'ak-renderer-wrapper',
|
|
65
66
|
containerType: 'inline-size',
|
|
@@ -207,13 +208,14 @@ var RendererFunctionalComponent = exports.RendererFunctionalComponent = function
|
|
|
207
208
|
exposure: true
|
|
208
209
|
}) ? fireAnalyticsEventNew : fireAnalyticsEventOld;
|
|
209
210
|
var deriveSerializerProps = (0, _react.useCallback)(function (props) {
|
|
211
|
+
var _props$startPos;
|
|
210
212
|
var stickyHeaders = props.stickyHeaders ? props.stickyHeaders === true ? {} : props.stickyHeaders : undefined;
|
|
211
213
|
var annotationProvider = props.annotationProvider;
|
|
212
214
|
var allowAnnotationsDraftMode = Boolean(annotationProvider && annotationProvider.inlineComment && annotationProvider.inlineComment.allowDraftMode);
|
|
213
215
|
var _createRendererContex = createRendererContext(props.featureFlags, props.isTopLevelRenderer),
|
|
214
216
|
featureFlags = _createRendererContex.featureFlags;
|
|
215
217
|
return {
|
|
216
|
-
startPos: props.startPos,
|
|
218
|
+
startPos: (_props$startPos = props.startPos) !== null && _props$startPos !== void 0 ? _props$startPos : 0,
|
|
217
219
|
providers: providerFactory,
|
|
218
220
|
eventHandlers: props.eventHandlers,
|
|
219
221
|
extensionHandlers: props.extensionHandlers,
|
|
@@ -252,20 +254,11 @@ var RendererFunctionalComponent = exports.RendererFunctionalComponent = function
|
|
|
252
254
|
allowTableResizing: props.UNSTABLE_allowTableResizing
|
|
253
255
|
};
|
|
254
256
|
}, [createRendererContext, providerFactory, _fireAnalyticsEvent]);
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
if ((0, _platformFeatureFlags.fg)('cc_complexit_fe_progressive_adf_rendering')) {
|
|
261
|
-
var _props$createSerializ;
|
|
262
|
-
var newSerializer = (_props$createSerializ = props.createSerializer) === null || _props$createSerializ === void 0 ? void 0 : _props$createSerializ.call(props, init);
|
|
263
|
-
if (newSerializer) {
|
|
264
|
-
return newSerializer;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return new _.ReactSerializer(init);
|
|
268
|
-
}, [deriveSerializerProps, props]);
|
|
257
|
+
|
|
258
|
+
// Abstract out the logic into its own function
|
|
259
|
+
var serializer = (0, _useMemoFromPropsDerivative.useMemoFromPropsDerivative)(function (serializerProps) {
|
|
260
|
+
return new _.ReactSerializer(serializerProps);
|
|
261
|
+
}, deriveSerializerProps, props);
|
|
269
262
|
var localRef = (0, _react.useRef)(null);
|
|
270
263
|
var editorRef = props.innerRef || localRef;
|
|
271
264
|
var id = (0, _react.useMemo)(function () {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useMemoFromPropsDerivative = useMemoFromPropsDerivative;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
|
+
function useMemoFromPropsDerivative(factory, propsDerivator, props) {
|
|
12
|
+
// cache the last set of props
|
|
13
|
+
var prev = (0, _react.useRef)(props);
|
|
14
|
+
var prevFactory = (0, _react.useRef)(null);
|
|
15
|
+
return (0, _react.useMemo)(function () {
|
|
16
|
+
var init = propsDerivator(props);
|
|
17
|
+
if ((0, _platformFeatureFlags.fg)('cc_complexit_fe_reduce_fragment_serialization')) {
|
|
18
|
+
// check if the serializer is already created
|
|
19
|
+
var shouldCreate = !prevFactory.current;
|
|
20
|
+
// check each prop to see if value has changed and also check if the number of props has changed
|
|
21
|
+
if (prev.current !== props) {
|
|
22
|
+
// @ts-ignore - error TS2769: No overload matches this call.
|
|
23
|
+
var propsEntries = Object.entries(props);
|
|
24
|
+
// Break these into its own const to skip TS checks.
|
|
25
|
+
// @ts-ignore - error TS2769: No overload matches this call.
|
|
26
|
+
var isLengthDifferent = propsEntries.length !== Object.keys(prev.current).length;
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
var isValueDifferent = propsEntries.some(function (_ref) {
|
|
29
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
30
|
+
key = _ref2[0],
|
|
31
|
+
prop = _ref2[1];
|
|
32
|
+
return prev.current[key] !== prop;
|
|
33
|
+
});
|
|
34
|
+
shouldCreate = isLengthDifferent || isValueDifferent;
|
|
35
|
+
}
|
|
36
|
+
prev.current = props;
|
|
37
|
+
// If first time or any prop value has changed, create a new serializer
|
|
38
|
+
if (shouldCreate) {
|
|
39
|
+
prevFactory.current = factory(init);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// If progressive rendering is enabled, create a new serializer
|
|
44
|
+
if ((0, _platformFeatureFlags.fg)('cc_complexit_fe_progressive_adf_rendering')) {
|
|
45
|
+
var _props$createSerializ;
|
|
46
|
+
// @ts-ignore - erorr TS2339 Property 'createSerializer' does not exist on type 'Props'.
|
|
47
|
+
var newSerializer = (_props$createSerializ = props.createSerializer) === null || _props$createSerializ === void 0 ? void 0 : _props$createSerializ.call(props, init);
|
|
48
|
+
if (newSerializer) {
|
|
49
|
+
return newSerializer;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return (0, _platformFeatureFlags.fg)('cc_complexit_fe_reduce_fragment_serialization') ? prevFactory.current : factory(init);
|
|
53
|
+
},
|
|
54
|
+
// To keep deps consistent, here disable the exhaustive-deps rule to drop factory from the deps array
|
|
55
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
+
[propsDerivator, props]);
|
|
57
|
+
}
|
|
@@ -43,10 +43,11 @@ import { ValidationContext } from './ValidationContext';
|
|
|
43
43
|
import { RendererStyleContainer } from './RendererStyleContainer';
|
|
44
44
|
import { getBaseFontSize } from './get-base-font-size';
|
|
45
45
|
import { removeEmptySpaceAroundContent } from './rendererHelper';
|
|
46
|
+
import { useMemoFromPropsDerivative } from './useMemoFromPropsDerivative';
|
|
46
47
|
export const NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
47
48
|
export const DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
48
49
|
const packageName = "@atlaskit/renderer";
|
|
49
|
-
const packageVersion = "114.13.
|
|
50
|
+
const packageVersion = "114.13.1";
|
|
50
51
|
const setAsQueryContainerStyles = css({
|
|
51
52
|
containerName: 'ak-renderer-wrapper',
|
|
52
53
|
containerType: 'inline-size',
|
|
@@ -196,6 +197,7 @@ export const RendererFunctionalComponent = props => {
|
|
|
196
197
|
exposure: true
|
|
197
198
|
}) ? fireAnalyticsEventNew : fireAnalyticsEventOld;
|
|
198
199
|
const deriveSerializerProps = useCallback(props => {
|
|
200
|
+
var _props$startPos;
|
|
199
201
|
const stickyHeaders = props.stickyHeaders ? props.stickyHeaders === true ? {} : props.stickyHeaders : undefined;
|
|
200
202
|
const {
|
|
201
203
|
annotationProvider
|
|
@@ -205,7 +207,7 @@ export const RendererFunctionalComponent = props => {
|
|
|
205
207
|
featureFlags
|
|
206
208
|
} = createRendererContext(props.featureFlags, props.isTopLevelRenderer);
|
|
207
209
|
return {
|
|
208
|
-
startPos: props.startPos,
|
|
210
|
+
startPos: (_props$startPos = props.startPos) !== null && _props$startPos !== void 0 ? _props$startPos : 0,
|
|
209
211
|
providers: providerFactory,
|
|
210
212
|
eventHandlers: props.eventHandlers,
|
|
211
213
|
extensionHandlers: props.extensionHandlers,
|
|
@@ -245,21 +247,9 @@ export const RendererFunctionalComponent = props => {
|
|
|
245
247
|
allowTableResizing: props.UNSTABLE_allowTableResizing
|
|
246
248
|
};
|
|
247
249
|
}, [createRendererContext, providerFactory, fireAnalyticsEvent]);
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
...props,
|
|
252
|
-
startPos: (_props$startPos = props.startPos) !== null && _props$startPos !== void 0 ? _props$startPos : 0
|
|
253
|
-
});
|
|
254
|
-
if (fg('cc_complexit_fe_progressive_adf_rendering')) {
|
|
255
|
-
var _props$createSerializ;
|
|
256
|
-
const newSerializer = (_props$createSerializ = props.createSerializer) === null || _props$createSerializ === void 0 ? void 0 : _props$createSerializ.call(props, init);
|
|
257
|
-
if (newSerializer) {
|
|
258
|
-
return newSerializer;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
return new ReactSerializer(init);
|
|
262
|
-
}, [deriveSerializerProps, props]);
|
|
250
|
+
|
|
251
|
+
// Abstract out the logic into its own function
|
|
252
|
+
const serializer = useMemoFromPropsDerivative(serializerProps => new ReactSerializer(serializerProps), deriveSerializerProps, props);
|
|
263
253
|
const localRef = useRef(null);
|
|
264
254
|
const editorRef = props.innerRef || localRef;
|
|
265
255
|
const id = useMemo(() => uuid(), []);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useMemo, useRef } from 'react';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
|
+
export function useMemoFromPropsDerivative(factory, propsDerivator, props) {
|
|
4
|
+
// cache the last set of props
|
|
5
|
+
const prev = useRef(props);
|
|
6
|
+
const prevFactory = useRef(null);
|
|
7
|
+
return useMemo(() => {
|
|
8
|
+
const init = propsDerivator(props);
|
|
9
|
+
if (fg('cc_complexit_fe_reduce_fragment_serialization')) {
|
|
10
|
+
// check if the serializer is already created
|
|
11
|
+
let shouldCreate = !prevFactory.current;
|
|
12
|
+
// check each prop to see if value has changed and also check if the number of props has changed
|
|
13
|
+
if (prev.current !== props) {
|
|
14
|
+
// @ts-ignore - error TS2769: No overload matches this call.
|
|
15
|
+
const propsEntries = Object.entries(props);
|
|
16
|
+
// Break these into its own const to skip TS checks.
|
|
17
|
+
// @ts-ignore - error TS2769: No overload matches this call.
|
|
18
|
+
const isLengthDifferent = propsEntries.length !== Object.keys(prev.current).length;
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
const isValueDifferent = propsEntries.some(([key, prop]) => prev.current[key] !== prop);
|
|
21
|
+
shouldCreate = isLengthDifferent || isValueDifferent;
|
|
22
|
+
}
|
|
23
|
+
prev.current = props;
|
|
24
|
+
// If first time or any prop value has changed, create a new serializer
|
|
25
|
+
if (shouldCreate) {
|
|
26
|
+
prevFactory.current = factory(init);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// If progressive rendering is enabled, create a new serializer
|
|
31
|
+
if (fg('cc_complexit_fe_progressive_adf_rendering')) {
|
|
32
|
+
var _props$createSerializ;
|
|
33
|
+
// @ts-ignore - erorr TS2339 Property 'createSerializer' does not exist on type 'Props'.
|
|
34
|
+
const newSerializer = (_props$createSerializ = props.createSerializer) === null || _props$createSerializ === void 0 ? void 0 : _props$createSerializ.call(props, init);
|
|
35
|
+
if (newSerializer) {
|
|
36
|
+
return newSerializer;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return fg('cc_complexit_fe_reduce_fragment_serialization') ? prevFactory.current : factory(init);
|
|
40
|
+
},
|
|
41
|
+
// To keep deps consistent, here disable the exhaustive-deps rule to drop factory from the deps array
|
|
42
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
43
|
+
[propsDerivator, props]);
|
|
44
|
+
}
|
|
@@ -46,10 +46,11 @@ import { ValidationContext } from './ValidationContext';
|
|
|
46
46
|
import { RendererStyleContainer } from './RendererStyleContainer';
|
|
47
47
|
import { getBaseFontSize } from './get-base-font-size';
|
|
48
48
|
import { removeEmptySpaceAroundContent } from './rendererHelper';
|
|
49
|
+
import { useMemoFromPropsDerivative } from './useMemoFromPropsDerivative';
|
|
49
50
|
export var NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
50
51
|
export var DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
51
52
|
var packageName = "@atlaskit/renderer";
|
|
52
|
-
var packageVersion = "114.13.
|
|
53
|
+
var packageVersion = "114.13.1";
|
|
53
54
|
var setAsQueryContainerStyles = css({
|
|
54
55
|
containerName: 'ak-renderer-wrapper',
|
|
55
56
|
containerType: 'inline-size',
|
|
@@ -197,13 +198,14 @@ export var RendererFunctionalComponent = function RendererFunctionalComponent(pr
|
|
|
197
198
|
exposure: true
|
|
198
199
|
}) ? fireAnalyticsEventNew : fireAnalyticsEventOld;
|
|
199
200
|
var deriveSerializerProps = useCallback(function (props) {
|
|
201
|
+
var _props$startPos;
|
|
200
202
|
var stickyHeaders = props.stickyHeaders ? props.stickyHeaders === true ? {} : props.stickyHeaders : undefined;
|
|
201
203
|
var annotationProvider = props.annotationProvider;
|
|
202
204
|
var allowAnnotationsDraftMode = Boolean(annotationProvider && annotationProvider.inlineComment && annotationProvider.inlineComment.allowDraftMode);
|
|
203
205
|
var _createRendererContex = createRendererContext(props.featureFlags, props.isTopLevelRenderer),
|
|
204
206
|
featureFlags = _createRendererContex.featureFlags;
|
|
205
207
|
return {
|
|
206
|
-
startPos: props.startPos,
|
|
208
|
+
startPos: (_props$startPos = props.startPos) !== null && _props$startPos !== void 0 ? _props$startPos : 0,
|
|
207
209
|
providers: providerFactory,
|
|
208
210
|
eventHandlers: props.eventHandlers,
|
|
209
211
|
extensionHandlers: props.extensionHandlers,
|
|
@@ -242,20 +244,11 @@ export var RendererFunctionalComponent = function RendererFunctionalComponent(pr
|
|
|
242
244
|
allowTableResizing: props.UNSTABLE_allowTableResizing
|
|
243
245
|
};
|
|
244
246
|
}, [createRendererContext, providerFactory, _fireAnalyticsEvent]);
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
if (fg('cc_complexit_fe_progressive_adf_rendering')) {
|
|
251
|
-
var _props$createSerializ;
|
|
252
|
-
var newSerializer = (_props$createSerializ = props.createSerializer) === null || _props$createSerializ === void 0 ? void 0 : _props$createSerializ.call(props, init);
|
|
253
|
-
if (newSerializer) {
|
|
254
|
-
return newSerializer;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
return new ReactSerializer(init);
|
|
258
|
-
}, [deriveSerializerProps, props]);
|
|
247
|
+
|
|
248
|
+
// Abstract out the logic into its own function
|
|
249
|
+
var serializer = useMemoFromPropsDerivative(function (serializerProps) {
|
|
250
|
+
return new ReactSerializer(serializerProps);
|
|
251
|
+
}, deriveSerializerProps, props);
|
|
259
252
|
var localRef = useRef(null);
|
|
260
253
|
var editorRef = props.innerRef || localRef;
|
|
261
254
|
var id = useMemo(function () {
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useMemo, useRef } from 'react';
|
|
3
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
4
|
+
export function useMemoFromPropsDerivative(factory, propsDerivator, props) {
|
|
5
|
+
// cache the last set of props
|
|
6
|
+
var prev = useRef(props);
|
|
7
|
+
var prevFactory = useRef(null);
|
|
8
|
+
return useMemo(function () {
|
|
9
|
+
var init = propsDerivator(props);
|
|
10
|
+
if (fg('cc_complexit_fe_reduce_fragment_serialization')) {
|
|
11
|
+
// check if the serializer is already created
|
|
12
|
+
var shouldCreate = !prevFactory.current;
|
|
13
|
+
// check each prop to see if value has changed and also check if the number of props has changed
|
|
14
|
+
if (prev.current !== props) {
|
|
15
|
+
// @ts-ignore - error TS2769: No overload matches this call.
|
|
16
|
+
var propsEntries = Object.entries(props);
|
|
17
|
+
// Break these into its own const to skip TS checks.
|
|
18
|
+
// @ts-ignore - error TS2769: No overload matches this call.
|
|
19
|
+
var isLengthDifferent = propsEntries.length !== Object.keys(prev.current).length;
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
var isValueDifferent = propsEntries.some(function (_ref) {
|
|
22
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
23
|
+
key = _ref2[0],
|
|
24
|
+
prop = _ref2[1];
|
|
25
|
+
return prev.current[key] !== prop;
|
|
26
|
+
});
|
|
27
|
+
shouldCreate = isLengthDifferent || isValueDifferent;
|
|
28
|
+
}
|
|
29
|
+
prev.current = props;
|
|
30
|
+
// If first time or any prop value has changed, create a new serializer
|
|
31
|
+
if (shouldCreate) {
|
|
32
|
+
prevFactory.current = factory(init);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// If progressive rendering is enabled, create a new serializer
|
|
37
|
+
if (fg('cc_complexit_fe_progressive_adf_rendering')) {
|
|
38
|
+
var _props$createSerializ;
|
|
39
|
+
// @ts-ignore - erorr TS2339 Property 'createSerializer' does not exist on type 'Props'.
|
|
40
|
+
var newSerializer = (_props$createSerializ = props.createSerializer) === null || _props$createSerializ === void 0 ? void 0 : _props$createSerializ.call(props, init);
|
|
41
|
+
if (newSerializer) {
|
|
42
|
+
return newSerializer;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return fg('cc_complexit_fe_reduce_fragment_serialization') ? prevFactory.current : factory(init);
|
|
46
|
+
},
|
|
47
|
+
// To keep deps consistent, here disable the exhaustive-deps rule to drop factory from the deps array
|
|
48
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
|
+
[propsDerivator, props]);
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useMemoFromPropsDerivative<Memo, PropsDerivative, Props>(factory: (propsDerivative: PropsDerivative) => Memo, propsDerivator: (props: Props) => PropsDerivative, props: Props): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useMemoFromPropsDerivative<Memo, PropsDerivative, Props>(factory: (propsDerivative: PropsDerivative) => Memo, propsDerivator: (props: Props) => PropsDerivative, props: Props): any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/renderer",
|
|
3
|
-
"version": "114.13.
|
|
3
|
+
"version": "114.13.1",
|
|
4
4
|
"description": "Renderer component",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@atlaskit/analytics-next": "^11.0.0",
|
|
32
32
|
"@atlaskit/button": "^23.0.0",
|
|
33
33
|
"@atlaskit/code": "^17.1.0",
|
|
34
|
-
"@atlaskit/editor-common": "^103.
|
|
34
|
+
"@atlaskit/editor-common": "^103.24.0",
|
|
35
35
|
"@atlaskit/editor-json-transformer": "^8.24.0",
|
|
36
36
|
"@atlaskit/editor-palette": "^2.1.0",
|
|
37
37
|
"@atlaskit/editor-prosemirror": "7.0.0",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
52
52
|
"@atlaskit/platform-feature-flags-react": "^0.1.0",
|
|
53
53
|
"@atlaskit/react-ufo": "^3.9.0",
|
|
54
|
-
"@atlaskit/smart-card": "^36.
|
|
54
|
+
"@atlaskit/smart-card": "^36.14.0",
|
|
55
55
|
"@atlaskit/status": "^3.0.0",
|
|
56
56
|
"@atlaskit/task-decision": "^19.2.0",
|
|
57
57
|
"@atlaskit/theme": "^18.0.0",
|
|
@@ -130,6 +130,9 @@
|
|
|
130
130
|
"cc_perf_reduce_rerenders": {
|
|
131
131
|
"type": "boolean"
|
|
132
132
|
},
|
|
133
|
+
"cc_complexit_fe_reduce_fragment_serialization": {
|
|
134
|
+
"type": "boolean"
|
|
135
|
+
},
|
|
133
136
|
"platform_renderer_annotations_create_debug_logging": {
|
|
134
137
|
"type": "boolean"
|
|
135
138
|
},
|
|
@@ -198,10 +201,6 @@
|
|
|
198
201
|
"platform_editor_multi_body_extension_extensibility": {
|
|
199
202
|
"type": "boolean"
|
|
200
203
|
},
|
|
201
|
-
"platform-smart-card-icon-migration": {
|
|
202
|
-
"type": "boolean",
|
|
203
|
-
"referenceOnly": true
|
|
204
|
-
},
|
|
205
204
|
"platform_editor_add_media_from_url_rollout": {
|
|
206
205
|
"type": "boolean"
|
|
207
206
|
},
|