@atlaskit/editor-common 74.3.1 → 74.5.0
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 +17 -0
- package/dist/cjs/hooks/useSharedPluginState.js +25 -10
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/styles/shared/resizer.js +5 -3
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/Resizer/index.js +11 -20
- package/dist/cjs/utils/validator.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/hooks/useSharedPluginState.js +34 -19
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/styles/shared/resizer.js +8 -6
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui/Resizer/index.js +17 -19
- package/dist/es2019/utils/validator.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/hooks/useSharedPluginState.js +26 -11
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/styles/shared/resizer.js +2 -1
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/Resizer/index.js +10 -19
- package/dist/esm/utils/validator.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/styles/shared/resizer.d.ts +1 -0
- package/dist/types/types/editor-container-width.d.ts +0 -1
- package/dist/types/types/editor-plugin.d.ts +10 -1
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/ui-components.d.ts +1 -0
- package/dist/types/ui/Resizer/index.d.ts +2 -1
- package/dist/types/ui/Resizer/types.d.ts +1 -0
- package/dist/types-ts4.5/styles/shared/resizer.d.ts +1 -0
- package/dist/types-ts4.5/types/editor-container-width.d.ts +0 -1
- package/dist/types-ts4.5/types/editor-plugin.d.ts +10 -1
- package/dist/types-ts4.5/types/index.d.ts +1 -1
- package/dist/types-ts4.5/types/ui-components.d.ts +1 -0
- package/dist/types-ts4.5/ui/Resizer/index.d.ts +2 -1
- package/dist/types-ts4.5/ui/Resizer/types.d.ts +1 -0
- package/package.json +8 -8
- package/tmp/api-report-tmp.d.ts +9 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atlaskit/editor-common
|
|
2
2
|
|
|
3
|
+
## 74.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`7cd4abcdc0d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7cd4abcdc0d) - Fix workaround in `editor-plugin-width`. This involved removing `WidthEmitter` in `editor-core`, removing `containerWidth` from `WidthPluginState`. This change also introduces `usePluginHook` for an `EditorPlugin` - this enables a react hook to be mounted for plugins (in all appearances).
|
|
8
|
+
|
|
9
|
+
## 74.4.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`d9fe34b3f2b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d9fe34b3f2b) - [ux] The ResizerNext component now supports a new property handleAlignmentMethod which defaults to "sticky". This means the resizer handles wil stick to the top/bottom bounds of the browser viewport if the component extends beyond and the user scrolls down. An alternative "center" value can be set which means the handles will just center to their content and not stick.
|
|
14
|
+
- [`f3d2c08d61b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f3d2c08d61b) - Adds new datasource attribute to existing blockCard node
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
|
|
3
20
|
## 74.3.1
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -28,6 +28,16 @@ function mapValues(object, mapFunction) {
|
|
|
28
28
|
}, {});
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
// When we use the `useSharedPluginState` example: `useSharedPluginState(api, ['width'])`
|
|
32
|
+
// it will re-render every time the component re-renders as the array "['width']" is seen as an update.
|
|
33
|
+
// This hook is used to prevent re-renders due to this.
|
|
34
|
+
function useStaticPlugins(plugins) {
|
|
35
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
36
|
+
return (0, _react.useMemo)(function () {
|
|
37
|
+
return plugins;
|
|
38
|
+
}, []);
|
|
39
|
+
}
|
|
40
|
+
|
|
31
41
|
/**
|
|
32
42
|
*
|
|
33
43
|
* Used to return the current plugin state of
|
|
@@ -61,12 +71,14 @@ function mapValues(object, mapFunction) {
|
|
|
61
71
|
* the values are the shared state exposed by that plugin.
|
|
62
72
|
*/
|
|
63
73
|
function useSharedPluginState(injectionApi, plugins) {
|
|
74
|
+
var pluginNames = useStaticPlugins(plugins);
|
|
75
|
+
|
|
64
76
|
// Create a memoized object containing the named plugins
|
|
65
77
|
var namedExternalPlugins = (0, _react.useMemo)(function () {
|
|
66
|
-
return
|
|
78
|
+
return pluginNames.reduce(function (acc, pluginName) {
|
|
67
79
|
return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, "".concat(pluginName, "State"), injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies[pluginName]));
|
|
68
80
|
}, {});
|
|
69
|
-
}, [injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies,
|
|
81
|
+
}, [injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies, pluginNames]);
|
|
70
82
|
return useSharedPluginStateInternal(namedExternalPlugins);
|
|
71
83
|
}
|
|
72
84
|
function useSharedPluginStateInternal(externalPlugins) {
|
|
@@ -74,10 +86,10 @@ function useSharedPluginStateInternal(externalPlugins) {
|
|
|
74
86
|
return value === null || value === void 0 ? void 0 : value.sharedState.currentState();
|
|
75
87
|
})),
|
|
76
88
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
(0, _react.
|
|
80
|
-
var
|
|
89
|
+
pluginStates = _useState2[0],
|
|
90
|
+
setPluginState = _useState2[1];
|
|
91
|
+
(0, _react.useLayoutEffect)(function () {
|
|
92
|
+
var unsubs = Object.entries(externalPlugins).map(function (_ref3) {
|
|
81
93
|
var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
82
94
|
pluginKey = _ref4[0],
|
|
83
95
|
externalPlugin = _ref4[1];
|
|
@@ -87,16 +99,19 @@ function useSharedPluginStateInternal(externalPlugins) {
|
|
|
87
99
|
if (prevSharedState === nextSharedState) {
|
|
88
100
|
return;
|
|
89
101
|
}
|
|
90
|
-
|
|
91
|
-
return _objectSpread(_objectSpread({},
|
|
102
|
+
setPluginState(function (currentPluginStates) {
|
|
103
|
+
return _objectSpread(_objectSpread({}, currentPluginStates), {}, (0, _defineProperty2.default)({}, pluginKey, nextSharedState));
|
|
92
104
|
});
|
|
93
105
|
});
|
|
94
106
|
});
|
|
95
107
|
return function () {
|
|
96
|
-
|
|
108
|
+
unsubs.forEach(function (cb) {
|
|
97
109
|
return cb === null || cb === void 0 ? void 0 : cb();
|
|
98
110
|
});
|
|
99
111
|
};
|
|
112
|
+
// Do not re-render due to state changes, we only need to check this when
|
|
113
|
+
// setting up the initial subscription.
|
|
114
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
100
115
|
}, [externalPlugins]);
|
|
101
|
-
return
|
|
116
|
+
return pluginStates;
|
|
102
117
|
}
|
|
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
16
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
17
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
18
18
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
19
|
-
var packageVersion = "74.
|
|
19
|
+
var packageVersion = "74.5.0";
|
|
20
20
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
21
21
|
// Remove URL as it has UGC
|
|
22
22
|
// TODO: Sanitise the URL instead of just removing it
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.resizerStyles = exports.resizerItemClassName = exports.resizerHandlerSmallClassName = exports.resizerHandlerMediumClassName = exports.resizerHandlerLargeClassName = exports.resizerHandlerClassName = exports.resizerHandleZIndex = exports.resizerHandleRightClassName = exports.resizerHandlePadding = exports.resizerHandleLeftClassName = void 0;
|
|
7
|
+
exports.resizerStyles = exports.resizerItemClassName = exports.resizerHandlerSmallClassName = exports.resizerHandlerMediumClassName = exports.resizerHandlerLargeClassName = exports.resizerHandlerClassName = exports.resizerHandleZIndex = exports.resizerHandleStickyClassName = exports.resizerHandleRightClassName = exports.resizerHandlePadding = exports.resizerHandleLeftClassName = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
9
|
var _react = require("@emotion/react");
|
|
10
10
|
var _colors = require("@atlaskit/theme/colors");
|
|
@@ -19,9 +19,11 @@ exports.resizerItemClassName = resizerItemClassName;
|
|
|
19
19
|
var resizerHandleRightClassName = 'resizer-handle-right';
|
|
20
20
|
exports.resizerHandleRightClassName = resizerHandleRightClassName;
|
|
21
21
|
var resizerHandleLeftClassName = 'resizer-handle-left';
|
|
22
|
+
exports.resizerHandleLeftClassName = resizerHandleLeftClassName;
|
|
23
|
+
var resizerHandleStickyClassName = 'resizer-handle-sticky';
|
|
22
24
|
|
|
23
25
|
// akEditorSelectedNodeClassName from '@atlaskit/editor-shared-styles';
|
|
24
|
-
exports.
|
|
26
|
+
exports.resizerHandleStickyClassName = resizerHandleStickyClassName;
|
|
25
27
|
var akEditorSelectedNodeClassName = 'ak-editor-selected-node';
|
|
26
28
|
var resizerHandlePadding = 13;
|
|
27
29
|
exports.resizerHandlePadding = resizerHandlePadding;
|
|
@@ -39,5 +41,5 @@ var resizerHandlerClassName = {
|
|
|
39
41
|
large: resizerHandlerLargeClassName
|
|
40
42
|
};
|
|
41
43
|
exports.resizerHandlerClassName = resizerHandlerClassName;
|
|
42
|
-
var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n background: ", ";\n }\n\n .", ", .", " {\n display: flex;\n flex-direction: column;\n
|
|
44
|
+
var resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n background: ", ";\n }\n\n .", ", .", " {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n .", " {\n align-items: flex-end;\n }\n\n .", " {\n align-items: flex-start;\n }\n\n .", "::after,\n .", "::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n\n border-radius: 6px;\n }\n\n .", ":hover\n .", "::after,\n .", ":hover\n .", "::after {\n background: ", ";\n }\n\n .", "\n .", "::after,\n .", "\n .", "::after,\n .", "\n .", ":hover::after,\n .", "\n .", ":hover::after,\n .", ".is-resizing\n .", "::after,\n .", ".is-resizing\n .", "::after {\n background: ", ";\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 64px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 43px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 96px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n position: sticky;\n top: 10px;\n bottom: 10px;\n }\n"])), resizerItemClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, "var(--ds-border, ".concat(_colors.N60, ")"), akEditorSelectedNodeClassName, resizerHandleRightClassName, akEditorSelectedNodeClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleRightClassName, resizerHandlerClassName.medium, resizerHandleLeftClassName, resizerHandlerClassName.medium, resizerHandleRightClassName, resizerHandlerClassName.small, resizerHandleLeftClassName, resizerHandlerClassName.small, resizerHandleRightClassName, resizerHandlerClassName.large, resizerHandleLeftClassName, resizerHandlerClassName.large, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleLeftClassName, resizerHandleStickyClassName);
|
|
43
45
|
exports.resizerStyles = resizerStyles;
|
|
@@ -24,7 +24,7 @@ var _templateObject, _templateObject2, _templateObject3;
|
|
|
24
24
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
25
25
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
|
|
26
26
|
var packageName = "@atlaskit/editor-common";
|
|
27
|
-
var packageVersion = "74.
|
|
27
|
+
var packageVersion = "74.5.0";
|
|
28
28
|
var halfFocusRing = 1;
|
|
29
29
|
var dropOffset = '0, 8';
|
|
30
30
|
var DropList = /*#__PURE__*/function (_Component) {
|
|
@@ -5,18 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = ResizerNext;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
9
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var
|
|
10
|
+
var _classnames3 = _interopRequireDefault(require("classnames"));
|
|
10
11
|
var _reResizable = require("re-resizable");
|
|
11
12
|
var _resizer = require("../../styles/shared/resizer");
|
|
12
|
-
var _utils = require("./utils");
|
|
13
13
|
function ResizerNext(props) {
|
|
14
|
+
var _classnames, _classnames2;
|
|
14
15
|
var resizable = _react.default.useRef(null);
|
|
15
16
|
var handleResize = props.handleResize,
|
|
16
17
|
handleResizeStart = props.handleResizeStart,
|
|
17
18
|
handleResizeStop = props.handleResizeStop,
|
|
18
19
|
_props$handlerHeightS = props.handlerHeightSize,
|
|
19
|
-
handlerHeightSize = _props$handlerHeightS === void 0 ? 'medium' : _props$handlerHeightS
|
|
20
|
+
handlerHeightSize = _props$handlerHeightS === void 0 ? 'medium' : _props$handlerHeightS,
|
|
21
|
+
_props$handleAlignmen = props.handleAlignmentMethod,
|
|
22
|
+
handleAlignmentMethod = _props$handleAlignmen === void 0 ? 'center' : _props$handleAlignmen;
|
|
20
23
|
var onResizeStart = _react.default.useCallback(function (event) {
|
|
21
24
|
// prevent creating a drag event on Firefox
|
|
22
25
|
event.preventDefault();
|
|
@@ -48,22 +51,10 @@ function ResizerNext(props) {
|
|
|
48
51
|
};
|
|
49
52
|
handleResizeStop(originalState, delta);
|
|
50
53
|
}, [handleResizeStop]);
|
|
51
|
-
var handles = {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
handles = {
|
|
58
|
-
left: _resizer.resizerHandleLeftClassName,
|
|
59
|
-
right: _resizer.resizerHandleRightClassName
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// add handler height size classname to handleClasses
|
|
64
|
-
Object.keys(handles).forEach(function (key) {
|
|
65
|
-
handles[key] = (0, _classnames.default)(handles[key], _resizer.resizerHandlerClassName[handlerHeightSize]);
|
|
66
|
-
});
|
|
54
|
+
var handles = {
|
|
55
|
+
left: (0, _classnames3.default)((_classnames = {}, (0, _defineProperty2.default)(_classnames, "".concat(props.handleClassName, "-left"), !!props.handleClassName), (0, _defineProperty2.default)(_classnames, _resizer.resizerHandleLeftClassName, !props.handleClassName), (0, _defineProperty2.default)(_classnames, _resizer.resizerHandlerClassName[handlerHeightSize], true), (0, _defineProperty2.default)(_classnames, _resizer.resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames)),
|
|
56
|
+
right: (0, _classnames3.default)((_classnames2 = {}, (0, _defineProperty2.default)(_classnames2, "".concat(props.handleClassName, "-right"), !!props.handleClassName), (0, _defineProperty2.default)(_classnames2, _resizer.resizerHandleRightClassName, !props.handleClassName), (0, _defineProperty2.default)(_classnames2, _resizer.resizerHandlerClassName[handlerHeightSize], true), (0, _defineProperty2.default)(_classnames2, _resizer.resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames2))
|
|
57
|
+
};
|
|
67
58
|
var innerPadding = props.innerPadding || _resizer.resizerHandlePadding;
|
|
68
59
|
var handleStyles = {
|
|
69
60
|
left: {
|
|
@@ -79,7 +70,7 @@ function ResizerNext(props) {
|
|
|
79
70
|
pointerEvents: 'auto'
|
|
80
71
|
}
|
|
81
72
|
};
|
|
82
|
-
var className = (0,
|
|
73
|
+
var className = (0, _classnames3.default)(props.className, _resizer.resizerItemClassName);
|
|
83
74
|
return /*#__PURE__*/_react.default.createElement(_reResizable.Resizable, {
|
|
84
75
|
ref: resizable,
|
|
85
76
|
size: {
|
|
@@ -299,7 +299,7 @@ var getValidNode = function getValidNode(originalNode) {
|
|
|
299
299
|
case 'inlineCard':
|
|
300
300
|
case 'blockCard':
|
|
301
301
|
{
|
|
302
|
-
if (attrs && (attrs.url && (0, _adfSchema.isSafeUrl)(attrs.url) || attrs.data && attrs.data.url && (0, _adfSchema.isSafeUrl)(attrs.data.url))) {
|
|
302
|
+
if (attrs && (attrs.datasource && !attrs.url || attrs.url && (0, _adfSchema.isSafeUrl)(attrs.url) || attrs.data && attrs.data.url && (0, _adfSchema.isSafeUrl)(attrs.data.url))) {
|
|
303
303
|
return {
|
|
304
304
|
type: type,
|
|
305
305
|
attrs: attrs
|
package/dist/cjs/version.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useLayoutEffect, useMemo, useState } from 'react';
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* Directly map object values
|
|
@@ -15,6 +15,14 @@ function mapValues(object, mapFunction) {
|
|
|
15
15
|
}), {});
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
// When we use the `useSharedPluginState` example: `useSharedPluginState(api, ['width'])`
|
|
19
|
+
// it will re-render every time the component re-renders as the array "['width']" is seen as an update.
|
|
20
|
+
// This hook is used to prevent re-renders due to this.
|
|
21
|
+
function useStaticPlugins(plugins) {
|
|
22
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
|
+
return useMemo(() => plugins, []);
|
|
24
|
+
}
|
|
25
|
+
|
|
18
26
|
/**
|
|
19
27
|
*
|
|
20
28
|
* Used to return the current plugin state of
|
|
@@ -48,31 +56,38 @@ function mapValues(object, mapFunction) {
|
|
|
48
56
|
* the values are the shared state exposed by that plugin.
|
|
49
57
|
*/
|
|
50
58
|
export function useSharedPluginState(injectionApi, plugins) {
|
|
59
|
+
const pluginNames = useStaticPlugins(plugins);
|
|
60
|
+
|
|
51
61
|
// Create a memoized object containing the named plugins
|
|
52
|
-
const namedExternalPlugins = useMemo(() =>
|
|
62
|
+
const namedExternalPlugins = useMemo(() => pluginNames.reduce((acc, pluginName) => ({
|
|
53
63
|
...acc,
|
|
54
64
|
[`${pluginName}State`]: injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies[pluginName]
|
|
55
|
-
}), {}), [injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies,
|
|
65
|
+
}), {}), [injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies, pluginNames]);
|
|
56
66
|
return useSharedPluginStateInternal(namedExternalPlugins);
|
|
57
67
|
}
|
|
58
68
|
function useSharedPluginStateInternal(externalPlugins) {
|
|
59
|
-
const [
|
|
60
|
-
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
const [pluginStates, setPluginState] = useState(mapValues(externalPlugins, value => value === null || value === void 0 ? void 0 : value.sharedState.currentState()));
|
|
70
|
+
useLayoutEffect(() => {
|
|
71
|
+
const unsubs = Object.entries(externalPlugins).map(([pluginKey, externalPlugin]) => {
|
|
72
|
+
return externalPlugin === null || externalPlugin === void 0 ? void 0 : externalPlugin.sharedState.onChange(({
|
|
73
|
+
nextSharedState,
|
|
74
|
+
prevSharedState
|
|
75
|
+
}) => {
|
|
76
|
+
if (prevSharedState === nextSharedState) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
setPluginState(currentPluginStates => ({
|
|
80
|
+
...currentPluginStates,
|
|
81
|
+
[pluginKey]: nextSharedState
|
|
82
|
+
}));
|
|
83
|
+
});
|
|
84
|
+
});
|
|
73
85
|
return () => {
|
|
74
|
-
|
|
86
|
+
unsubs.forEach(cb => cb === null || cb === void 0 ? void 0 : cb());
|
|
75
87
|
};
|
|
88
|
+
// Do not re-render due to state changes, we only need to check this when
|
|
89
|
+
// setting up the initial subscription.
|
|
90
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
91
|
}, [externalPlugins]);
|
|
77
|
-
return
|
|
92
|
+
return pluginStates;
|
|
78
93
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
2
2
|
const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
3
|
-
const packageVersion = "74.
|
|
3
|
+
const packageVersion = "74.5.0";
|
|
4
4
|
const sanitiseSentryEvents = (data, _hint) => {
|
|
5
5
|
// Remove URL as it has UGC
|
|
6
6
|
// TODO: Sanitise the URL instead of just removing it
|
|
@@ -8,6 +8,7 @@ import { B200, N60 } from '@atlaskit/theme/colors';
|
|
|
8
8
|
export const resizerItemClassName = 'resizer-item';
|
|
9
9
|
export const resizerHandleRightClassName = 'resizer-handle-right';
|
|
10
10
|
export const resizerHandleLeftClassName = 'resizer-handle-left';
|
|
11
|
+
export const resizerHandleStickyClassName = 'resizer-handle-sticky';
|
|
11
12
|
|
|
12
13
|
// akEditorSelectedNodeClassName from '@atlaskit/editor-shared-styles';
|
|
13
14
|
const akEditorSelectedNodeClassName = 'ak-editor-selected-node';
|
|
@@ -29,21 +30,15 @@ export const resizerStyles = css`
|
|
|
29
30
|
.${resizerHandleRightClassName}, .${resizerHandleLeftClassName} {
|
|
30
31
|
display: flex;
|
|
31
32
|
flex-direction: column;
|
|
32
|
-
|
|
33
|
-
/* vertical align */
|
|
34
33
|
justify-content: center;
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
.${resizerHandleRightClassName} {
|
|
38
37
|
align-items: flex-end;
|
|
39
|
-
/* padding-right: 12px; */
|
|
40
|
-
/* margin-right: -${resizerHandlePadding}px; */
|
|
41
38
|
}
|
|
42
39
|
|
|
43
40
|
.${resizerHandleLeftClassName} {
|
|
44
41
|
align-items: flex-start;
|
|
45
|
-
/* padding-left: 12px; */
|
|
46
|
-
/* margin-left: -${resizerHandlePadding}px; */
|
|
47
42
|
}
|
|
48
43
|
|
|
49
44
|
.${resizerHandleRightClassName}::after,
|
|
@@ -92,4 +87,11 @@ export const resizerStyles = css`
|
|
|
92
87
|
.${resizerHandleLeftClassName}.${resizerHandlerClassName.large}::after {
|
|
93
88
|
height: 96px;
|
|
94
89
|
}
|
|
90
|
+
|
|
91
|
+
.${resizerHandleRightClassName}.${resizerHandleStickyClassName}::after,
|
|
92
|
+
.${resizerHandleLeftClassName}.${resizerHandleStickyClassName}::after {
|
|
93
|
+
position: sticky;
|
|
94
|
+
top: 10px;
|
|
95
|
+
bottom: 10px;
|
|
96
|
+
}
|
|
95
97
|
`;
|
|
@@ -8,7 +8,7 @@ import { themed } from '@atlaskit/theme/components';
|
|
|
8
8
|
import { borderRadius } from '@atlaskit/theme/constants';
|
|
9
9
|
import Layer from '../Layer';
|
|
10
10
|
const packageName = "@atlaskit/editor-common";
|
|
11
|
-
const packageVersion = "74.
|
|
11
|
+
const packageVersion = "74.5.0";
|
|
12
12
|
const halfFocusRing = 1;
|
|
13
13
|
const dropOffset = '0, 8';
|
|
14
14
|
class DropList extends Component {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { Resizable } from 're-resizable';
|
|
4
|
-
import { resizerHandleLeftClassName, resizerHandlePadding, resizerHandlerClassName, resizerHandleRightClassName, resizerHandleZIndex, resizerItemClassName } from '../../styles/shared/resizer';
|
|
5
|
-
import { handleSides } from './utils';
|
|
4
|
+
import { resizerHandleLeftClassName, resizerHandlePadding, resizerHandlerClassName, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleZIndex, resizerItemClassName } from '../../styles/shared/resizer';
|
|
6
5
|
export default function ResizerNext(props) {
|
|
7
6
|
const resizable = React.useRef(null);
|
|
8
7
|
const {
|
|
9
8
|
handleResize,
|
|
10
9
|
handleResizeStart,
|
|
11
10
|
handleResizeStop,
|
|
12
|
-
handlerHeightSize = 'medium'
|
|
11
|
+
handlerHeightSize = 'medium',
|
|
12
|
+
handleAlignmentMethod = 'center'
|
|
13
13
|
} = props;
|
|
14
14
|
const onResizeStart = React.useCallback(event => {
|
|
15
15
|
// prevent creating a drag event on Firefox
|
|
@@ -42,22 +42,20 @@ export default function ResizerNext(props) {
|
|
|
42
42
|
};
|
|
43
43
|
handleResizeStop(originalState, delta);
|
|
44
44
|
}, [handleResizeStop]);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
right:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
handles[key] = classnames(handles[key], resizerHandlerClassName[handlerHeightSize]);
|
|
60
|
-
});
|
|
45
|
+
const handles = {
|
|
46
|
+
left: classnames({
|
|
47
|
+
[`${props.handleClassName}-left`]: !!props.handleClassName,
|
|
48
|
+
[resizerHandleLeftClassName]: !props.handleClassName,
|
|
49
|
+
[resizerHandlerClassName[handlerHeightSize]]: true,
|
|
50
|
+
[resizerHandleStickyClassName]: handleAlignmentMethod === 'sticky'
|
|
51
|
+
}),
|
|
52
|
+
right: classnames({
|
|
53
|
+
[`${props.handleClassName}-right`]: !!props.handleClassName,
|
|
54
|
+
[resizerHandleRightClassName]: !props.handleClassName,
|
|
55
|
+
[resizerHandlerClassName[handlerHeightSize]]: true,
|
|
56
|
+
[resizerHandleStickyClassName]: handleAlignmentMethod === 'sticky'
|
|
57
|
+
})
|
|
58
|
+
};
|
|
61
59
|
const innerPadding = props.innerPadding || resizerHandlePadding;
|
|
62
60
|
const handleStyles = {
|
|
63
61
|
left: {
|
|
@@ -273,7 +273,7 @@ export const getValidNode = (originalNode, schema = defaultSchema, adfStage = 'f
|
|
|
273
273
|
case 'inlineCard':
|
|
274
274
|
case 'blockCard':
|
|
275
275
|
{
|
|
276
|
-
if (attrs && (attrs.url && isSafeUrl(attrs.url) || attrs.data && attrs.data.url && isSafeUrl(attrs.data.url))) {
|
|
276
|
+
if (attrs && (attrs.datasource && !attrs.url || attrs.url && isSafeUrl(attrs.url) || attrs.data && attrs.data.url && isSafeUrl(attrs.data.url))) {
|
|
277
277
|
return {
|
|
278
278
|
type,
|
|
279
279
|
attrs
|
package/dist/es2019/version.json
CHANGED
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
-
import {
|
|
5
|
+
import { useLayoutEffect, useMemo, useState } from 'react';
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
8
|
* Directly map object values
|
|
@@ -21,6 +21,16 @@ function mapValues(object, mapFunction) {
|
|
|
21
21
|
}, {});
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
// When we use the `useSharedPluginState` example: `useSharedPluginState(api, ['width'])`
|
|
25
|
+
// it will re-render every time the component re-renders as the array "['width']" is seen as an update.
|
|
26
|
+
// This hook is used to prevent re-renders due to this.
|
|
27
|
+
function useStaticPlugins(plugins) {
|
|
28
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
+
return useMemo(function () {
|
|
30
|
+
return plugins;
|
|
31
|
+
}, []);
|
|
32
|
+
}
|
|
33
|
+
|
|
24
34
|
/**
|
|
25
35
|
*
|
|
26
36
|
* Used to return the current plugin state of
|
|
@@ -54,12 +64,14 @@ function mapValues(object, mapFunction) {
|
|
|
54
64
|
* the values are the shared state exposed by that plugin.
|
|
55
65
|
*/
|
|
56
66
|
export function useSharedPluginState(injectionApi, plugins) {
|
|
67
|
+
var pluginNames = useStaticPlugins(plugins);
|
|
68
|
+
|
|
57
69
|
// Create a memoized object containing the named plugins
|
|
58
70
|
var namedExternalPlugins = useMemo(function () {
|
|
59
|
-
return
|
|
71
|
+
return pluginNames.reduce(function (acc, pluginName) {
|
|
60
72
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, "".concat(pluginName, "State"), injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies[pluginName]));
|
|
61
73
|
}, {});
|
|
62
|
-
}, [injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies,
|
|
74
|
+
}, [injectionApi === null || injectionApi === void 0 ? void 0 : injectionApi.dependencies, pluginNames]);
|
|
63
75
|
return useSharedPluginStateInternal(namedExternalPlugins);
|
|
64
76
|
}
|
|
65
77
|
function useSharedPluginStateInternal(externalPlugins) {
|
|
@@ -67,10 +79,10 @@ function useSharedPluginStateInternal(externalPlugins) {
|
|
|
67
79
|
return value === null || value === void 0 ? void 0 : value.sharedState.currentState();
|
|
68
80
|
})),
|
|
69
81
|
_useState2 = _slicedToArray(_useState, 2),
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
var
|
|
82
|
+
pluginStates = _useState2[0],
|
|
83
|
+
setPluginState = _useState2[1];
|
|
84
|
+
useLayoutEffect(function () {
|
|
85
|
+
var unsubs = Object.entries(externalPlugins).map(function (_ref3) {
|
|
74
86
|
var _ref4 = _slicedToArray(_ref3, 2),
|
|
75
87
|
pluginKey = _ref4[0],
|
|
76
88
|
externalPlugin = _ref4[1];
|
|
@@ -80,16 +92,19 @@ function useSharedPluginStateInternal(externalPlugins) {
|
|
|
80
92
|
if (prevSharedState === nextSharedState) {
|
|
81
93
|
return;
|
|
82
94
|
}
|
|
83
|
-
|
|
84
|
-
return _objectSpread(_objectSpread({},
|
|
95
|
+
setPluginState(function (currentPluginStates) {
|
|
96
|
+
return _objectSpread(_objectSpread({}, currentPluginStates), {}, _defineProperty({}, pluginKey, nextSharedState));
|
|
85
97
|
});
|
|
86
98
|
});
|
|
87
99
|
});
|
|
88
100
|
return function () {
|
|
89
|
-
|
|
101
|
+
unsubs.forEach(function (cb) {
|
|
90
102
|
return cb === null || cb === void 0 ? void 0 : cb();
|
|
91
103
|
});
|
|
92
104
|
};
|
|
105
|
+
// Do not re-render due to state changes, we only need to check this when
|
|
106
|
+
// setting up the initial subscription.
|
|
107
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
93
108
|
}, [externalPlugins]);
|
|
94
|
-
return
|
|
109
|
+
return pluginStates;
|
|
95
110
|
}
|
|
@@ -6,7 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
6
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
7
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
8
8
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
9
|
-
var packageVersion = "74.
|
|
9
|
+
var packageVersion = "74.5.0";
|
|
10
10
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
11
11
|
// Remove URL as it has UGC
|
|
12
12
|
// TODO: Sanitise the URL instead of just removing it
|
|
@@ -10,6 +10,7 @@ import { B200, N60 } from '@atlaskit/theme/colors';
|
|
|
10
10
|
export var resizerItemClassName = 'resizer-item';
|
|
11
11
|
export var resizerHandleRightClassName = 'resizer-handle-right';
|
|
12
12
|
export var resizerHandleLeftClassName = 'resizer-handle-left';
|
|
13
|
+
export var resizerHandleStickyClassName = 'resizer-handle-sticky';
|
|
13
14
|
|
|
14
15
|
// akEditorSelectedNodeClassName from '@atlaskit/editor-shared-styles';
|
|
15
16
|
var akEditorSelectedNodeClassName = 'ak-editor-selected-node';
|
|
@@ -23,4 +24,4 @@ export var resizerHandlerClassName = {
|
|
|
23
24
|
medium: resizerHandlerMediumClassName,
|
|
24
25
|
large: resizerHandlerLargeClassName
|
|
25
26
|
};
|
|
26
|
-
export var resizerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n background: ", ";\n }\n\n .", ", .", " {\n display: flex;\n flex-direction: column;\n
|
|
27
|
+
export var resizerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n background: ", ";\n }\n\n .", ", .", " {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n .", " {\n align-items: flex-end;\n }\n\n .", " {\n align-items: flex-start;\n }\n\n .", "::after,\n .", "::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n\n border-radius: 6px;\n }\n\n .", ":hover\n .", "::after,\n .", ":hover\n .", "::after {\n background: ", ";\n }\n\n .", "\n .", "::after,\n .", "\n .", "::after,\n .", "\n .", ":hover::after,\n .", "\n .", ":hover::after,\n .", ".is-resizing\n .", "::after,\n .", ".is-resizing\n .", "::after {\n background: ", ";\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 64px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 43px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n height: 96px;\n }\n\n .", ".", "::after,\n .", ".", "::after {\n position: sticky;\n top: 10px;\n bottom: 10px;\n }\n"])), resizerItemClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerHandleRightClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, "var(--ds-border, ".concat(N60, ")"), akEditorSelectedNodeClassName, resizerHandleRightClassName, akEditorSelectedNodeClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, resizerItemClassName, resizerHandleRightClassName, resizerItemClassName, resizerHandleLeftClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHandleRightClassName, resizerHandlerClassName.medium, resizerHandleLeftClassName, resizerHandlerClassName.medium, resizerHandleRightClassName, resizerHandlerClassName.small, resizerHandleLeftClassName, resizerHandlerClassName.small, resizerHandleRightClassName, resizerHandlerClassName.large, resizerHandleLeftClassName, resizerHandlerClassName.large, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleLeftClassName, resizerHandleStickyClassName);
|
|
@@ -18,7 +18,7 @@ import { themed } from '@atlaskit/theme/components';
|
|
|
18
18
|
import { borderRadius } from '@atlaskit/theme/constants';
|
|
19
19
|
import Layer from '../Layer';
|
|
20
20
|
var packageName = "@atlaskit/editor-common";
|
|
21
|
-
var packageVersion = "74.
|
|
21
|
+
var packageVersion = "74.5.0";
|
|
22
22
|
var halfFocusRing = 1;
|
|
23
23
|
var dropOffset = '0, 8';
|
|
24
24
|
var DropList = /*#__PURE__*/function (_Component) {
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import classnames from 'classnames';
|
|
3
4
|
import { Resizable } from 're-resizable';
|
|
4
|
-
import { resizerHandleLeftClassName, resizerHandlePadding, resizerHandlerClassName, resizerHandleRightClassName, resizerHandleZIndex, resizerItemClassName } from '../../styles/shared/resizer';
|
|
5
|
-
import { handleSides } from './utils';
|
|
5
|
+
import { resizerHandleLeftClassName, resizerHandlePadding, resizerHandlerClassName, resizerHandleRightClassName, resizerHandleStickyClassName, resizerHandleZIndex, resizerItemClassName } from '../../styles/shared/resizer';
|
|
6
6
|
export default function ResizerNext(props) {
|
|
7
|
+
var _classnames, _classnames2;
|
|
7
8
|
var resizable = React.useRef(null);
|
|
8
9
|
var handleResize = props.handleResize,
|
|
9
10
|
handleResizeStart = props.handleResizeStart,
|
|
10
11
|
handleResizeStop = props.handleResizeStop,
|
|
11
12
|
_props$handlerHeightS = props.handlerHeightSize,
|
|
12
|
-
handlerHeightSize = _props$handlerHeightS === void 0 ? 'medium' : _props$handlerHeightS
|
|
13
|
+
handlerHeightSize = _props$handlerHeightS === void 0 ? 'medium' : _props$handlerHeightS,
|
|
14
|
+
_props$handleAlignmen = props.handleAlignmentMethod,
|
|
15
|
+
handleAlignmentMethod = _props$handleAlignmen === void 0 ? 'center' : _props$handleAlignmen;
|
|
13
16
|
var onResizeStart = React.useCallback(function (event) {
|
|
14
17
|
// prevent creating a drag event on Firefox
|
|
15
18
|
event.preventDefault();
|
|
@@ -41,22 +44,10 @@ export default function ResizerNext(props) {
|
|
|
41
44
|
};
|
|
42
45
|
handleResizeStop(originalState, delta);
|
|
43
46
|
}, [handleResizeStop]);
|
|
44
|
-
var handles = {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
});
|
|
49
|
-
} else {
|
|
50
|
-
handles = {
|
|
51
|
-
left: resizerHandleLeftClassName,
|
|
52
|
-
right: resizerHandleRightClassName
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// add handler height size classname to handleClasses
|
|
57
|
-
Object.keys(handles).forEach(function (key) {
|
|
58
|
-
handles[key] = classnames(handles[key], resizerHandlerClassName[handlerHeightSize]);
|
|
59
|
-
});
|
|
47
|
+
var handles = {
|
|
48
|
+
left: classnames((_classnames = {}, _defineProperty(_classnames, "".concat(props.handleClassName, "-left"), !!props.handleClassName), _defineProperty(_classnames, resizerHandleLeftClassName, !props.handleClassName), _defineProperty(_classnames, resizerHandlerClassName[handlerHeightSize], true), _defineProperty(_classnames, resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames)),
|
|
49
|
+
right: classnames((_classnames2 = {}, _defineProperty(_classnames2, "".concat(props.handleClassName, "-right"), !!props.handleClassName), _defineProperty(_classnames2, resizerHandleRightClassName, !props.handleClassName), _defineProperty(_classnames2, resizerHandlerClassName[handlerHeightSize], true), _defineProperty(_classnames2, resizerHandleStickyClassName, handleAlignmentMethod === 'sticky'), _classnames2))
|
|
50
|
+
};
|
|
60
51
|
var innerPadding = props.innerPadding || resizerHandlePadding;
|
|
61
52
|
var handleStyles = {
|
|
62
53
|
left: {
|
|
@@ -285,7 +285,7 @@ export var getValidNode = function getValidNode(originalNode) {
|
|
|
285
285
|
case 'inlineCard':
|
|
286
286
|
case 'blockCard':
|
|
287
287
|
{
|
|
288
|
-
if (attrs && (attrs.url && isSafeUrl(attrs.url) || attrs.data && attrs.data.url && isSafeUrl(attrs.data.url))) {
|
|
288
|
+
if (attrs && (attrs.datasource && !attrs.url || attrs.url && isSafeUrl(attrs.url) || attrs.data && attrs.data.url && isSafeUrl(attrs.data.url))) {
|
|
289
289
|
return {
|
|
290
290
|
type: type,
|
|
291
291
|
attrs: attrs
|
package/dist/esm/version.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const resizerItemClassName = "resizer-item";
|
|
2
2
|
export declare const resizerHandleRightClassName = "resizer-handle-right";
|
|
3
3
|
export declare const resizerHandleLeftClassName = "resizer-handle-left";
|
|
4
|
+
export declare const resizerHandleStickyClassName = "resizer-handle-sticky";
|
|
4
5
|
export declare const resizerHandlePadding = 13;
|
|
5
6
|
export declare const resizerHandleZIndex = 99;
|
|
6
7
|
export declare const resizerHandlerSmallClassName = "resizer-handler-small";
|
|
@@ -6,7 +6,7 @@ import type { MarkConfig, NodeConfig } from './prosemirror-config';
|
|
|
6
6
|
import type { QuickInsertHandler } from './quick-insert';
|
|
7
7
|
import type { ToolbarUIComponentFactory } from './toolbar';
|
|
8
8
|
import type { TypeAheadHandler } from './type-ahead';
|
|
9
|
-
import type { UIComponentFactory } from './ui-components';
|
|
9
|
+
import type { ReactHookFactory, UIComponentFactory } from './ui-components';
|
|
10
10
|
export type PluginsOptions = {
|
|
11
11
|
[pluginName: string]: any;
|
|
12
12
|
/**
|
|
@@ -60,6 +60,15 @@ export interface EditorPlugin {
|
|
|
60
60
|
* Although it’s common to specify a custom mount point (eg. date picker)
|
|
61
61
|
*/
|
|
62
62
|
contentComponent?: UIComponentFactory;
|
|
63
|
+
/**
|
|
64
|
+
* Optional react hook that is mounted for all appearances
|
|
65
|
+
*
|
|
66
|
+
* This can be used to access React context, or other React specific code (ie. run `useEffect`)
|
|
67
|
+
* within a plugin that will run for all appearances without mounting any components.
|
|
68
|
+
*
|
|
69
|
+
* Example usages include analytics or width.
|
|
70
|
+
*/
|
|
71
|
+
usePluginHook?: ReactHookFactory;
|
|
63
72
|
/**
|
|
64
73
|
* Optional UI-component that will be added to the toolbar at the top of the editor (doesn't exist in the compact-editor).
|
|
65
74
|
*
|
|
@@ -23,7 +23,7 @@ export type { ContextPanelHandler } from './context-panel';
|
|
|
23
23
|
export type { EditorAppearance } from './editor-appearance';
|
|
24
24
|
export type { ToolbarUiComponentFactoryParams, ToolbarUIComponentFactory, } from './toolbar';
|
|
25
25
|
export { ToolbarSize, ToolbarWidths, ToolbarWidthsFullPage } from './toolbar';
|
|
26
|
-
export type { UiComponentFactoryParams, UIComponentFactory, } from './ui-components';
|
|
26
|
+
export type { UiComponentFactoryParams, UIComponentFactory, ReactHookFactory, } from './ui-components';
|
|
27
27
|
export type { EditorReactContext } from './editor-react-context';
|
|
28
28
|
export type { PMPluginFactoryParams, PMPluginFactory, PMPlugin, } from './plugin-factory';
|
|
29
29
|
export type { NodeConfig, MarkConfig, NodeViewConfig, } from './prosemirror-config';
|
|
@@ -20,3 +20,4 @@ export type UiComponentFactoryParams = {
|
|
|
20
20
|
wrapperElement: HTMLElement | null;
|
|
21
21
|
};
|
|
22
22
|
export type UIComponentFactory = (params: UiComponentFactoryParams) => React.ReactElement<any> | null;
|
|
23
|
+
export type ReactHookFactory = (params: Pick<UiComponentFactoryParams, 'editorView' | 'containerElement'>) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
2
|
import { HandleComponent } from 're-resizable';
|
|
3
|
-
import { EnabledHandles, HandleResize, HandlerHeightSizeType } from './types';
|
|
3
|
+
import { EnabledHandles, HandleAlignmentMethod, HandleResize, HandlerHeightSizeType } from './types';
|
|
4
4
|
export interface ResizableNumberSize {
|
|
5
5
|
width: number;
|
|
6
6
|
height: number;
|
|
@@ -19,5 +19,6 @@ export type ResizerProps = {
|
|
|
19
19
|
handleWrapperStyle?: React.CSSProperties;
|
|
20
20
|
handleComponent?: HandleComponent;
|
|
21
21
|
handlerHeightSize?: HandlerHeightSizeType;
|
|
22
|
+
handleAlignmentMethod?: HandleAlignmentMethod;
|
|
22
23
|
};
|
|
23
24
|
export default function ResizerNext(props: PropsWithChildren<ResizerProps>): JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const resizerItemClassName = "resizer-item";
|
|
2
2
|
export declare const resizerHandleRightClassName = "resizer-handle-right";
|
|
3
3
|
export declare const resizerHandleLeftClassName = "resizer-handle-left";
|
|
4
|
+
export declare const resizerHandleStickyClassName = "resizer-handle-sticky";
|
|
4
5
|
export declare const resizerHandlePadding = 13;
|
|
5
6
|
export declare const resizerHandleZIndex = 99;
|
|
6
7
|
export declare const resizerHandlerSmallClassName = "resizer-handler-small";
|
|
@@ -6,7 +6,7 @@ import type { MarkConfig, NodeConfig } from './prosemirror-config';
|
|
|
6
6
|
import type { QuickInsertHandler } from './quick-insert';
|
|
7
7
|
import type { ToolbarUIComponentFactory } from './toolbar';
|
|
8
8
|
import type { TypeAheadHandler } from './type-ahead';
|
|
9
|
-
import type { UIComponentFactory } from './ui-components';
|
|
9
|
+
import type { ReactHookFactory, UIComponentFactory } from './ui-components';
|
|
10
10
|
export type PluginsOptions = {
|
|
11
11
|
[pluginName: string]: any;
|
|
12
12
|
/**
|
|
@@ -60,6 +60,15 @@ export interface EditorPlugin {
|
|
|
60
60
|
* Although it’s common to specify a custom mount point (eg. date picker)
|
|
61
61
|
*/
|
|
62
62
|
contentComponent?: UIComponentFactory;
|
|
63
|
+
/**
|
|
64
|
+
* Optional react hook that is mounted for all appearances
|
|
65
|
+
*
|
|
66
|
+
* This can be used to access React context, or other React specific code (ie. run `useEffect`)
|
|
67
|
+
* within a plugin that will run for all appearances without mounting any components.
|
|
68
|
+
*
|
|
69
|
+
* Example usages include analytics or width.
|
|
70
|
+
*/
|
|
71
|
+
usePluginHook?: ReactHookFactory;
|
|
63
72
|
/**
|
|
64
73
|
* Optional UI-component that will be added to the toolbar at the top of the editor (doesn't exist in the compact-editor).
|
|
65
74
|
*
|
|
@@ -23,7 +23,7 @@ export type { ContextPanelHandler } from './context-panel';
|
|
|
23
23
|
export type { EditorAppearance } from './editor-appearance';
|
|
24
24
|
export type { ToolbarUiComponentFactoryParams, ToolbarUIComponentFactory, } from './toolbar';
|
|
25
25
|
export { ToolbarSize, ToolbarWidths, ToolbarWidthsFullPage } from './toolbar';
|
|
26
|
-
export type { UiComponentFactoryParams, UIComponentFactory, } from './ui-components';
|
|
26
|
+
export type { UiComponentFactoryParams, UIComponentFactory, ReactHookFactory, } from './ui-components';
|
|
27
27
|
export type { EditorReactContext } from './editor-react-context';
|
|
28
28
|
export type { PMPluginFactoryParams, PMPluginFactory, PMPlugin, } from './plugin-factory';
|
|
29
29
|
export type { NodeConfig, MarkConfig, NodeViewConfig, } from './prosemirror-config';
|
|
@@ -20,3 +20,4 @@ export type UiComponentFactoryParams = {
|
|
|
20
20
|
wrapperElement: HTMLElement | null;
|
|
21
21
|
};
|
|
22
22
|
export type UIComponentFactory = (params: UiComponentFactoryParams) => React.ReactElement<any> | null;
|
|
23
|
+
export type ReactHookFactory = (params: Pick<UiComponentFactoryParams, 'editorView' | 'containerElement'>) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
2
|
import { HandleComponent } from 're-resizable';
|
|
3
|
-
import { EnabledHandles, HandleResize, HandlerHeightSizeType } from './types';
|
|
3
|
+
import { EnabledHandles, HandleAlignmentMethod, HandleResize, HandlerHeightSizeType } from './types';
|
|
4
4
|
export interface ResizableNumberSize {
|
|
5
5
|
width: number;
|
|
6
6
|
height: number;
|
|
@@ -19,5 +19,6 @@ export type ResizerProps = {
|
|
|
19
19
|
handleWrapperStyle?: React.CSSProperties;
|
|
20
20
|
handleComponent?: HandleComponent;
|
|
21
21
|
handlerHeightSize?: HandlerHeightSizeType;
|
|
22
|
+
handleAlignmentMethod?: HandleAlignmentMethod;
|
|
22
23
|
};
|
|
23
24
|
export default function ResizerNext(props: PropsWithChildren<ResizerProps>): JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-common",
|
|
3
|
-
"version": "74.
|
|
3
|
+
"version": "74.5.0",
|
|
4
4
|
"description": "A package that contains common classes and components for editor and renderer",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"atlassian": {
|
|
26
26
|
"team": "Editor",
|
|
27
27
|
"inPublicMirror": true,
|
|
28
|
-
"releaseModel": "
|
|
28
|
+
"releaseModel": "continuous"
|
|
29
29
|
},
|
|
30
30
|
"af:exports": {
|
|
31
31
|
"./event-dispatcher": "./src/event-dispatcher/index.ts",
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"@atlaskit/activity-provider": "^2.4.0",
|
|
73
|
-
"@atlaskit/adf-schema": "^25.
|
|
74
|
-
"@atlaskit/adf-utils": "^18.
|
|
73
|
+
"@atlaskit/adf-schema": "^25.8.0",
|
|
74
|
+
"@atlaskit/adf-utils": "^18.3.0",
|
|
75
75
|
"@atlaskit/analytics-listeners": "^8.7.0",
|
|
76
76
|
"@atlaskit/analytics-namespaced-context": "^6.7.0",
|
|
77
77
|
"@atlaskit/analytics-next": "^9.1.0",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"@atlaskit/button": "^16.7.0",
|
|
80
80
|
"@atlaskit/code": "^14.6.0",
|
|
81
81
|
"@atlaskit/codemod-utils": "^4.2.0",
|
|
82
|
-
"@atlaskit/collab-provider": "^9.
|
|
82
|
+
"@atlaskit/collab-provider": "^9.2.0",
|
|
83
83
|
"@atlaskit/editor-json-transformer": "^8.9.0",
|
|
84
84
|
"@atlaskit/editor-palette": "1.4.2",
|
|
85
85
|
"@atlaskit/editor-shared-styles": "^2.4.0",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"@atlaskit/icon": "^21.12.0",
|
|
88
88
|
"@atlaskit/in-product-testing": "^0.2.0",
|
|
89
89
|
"@atlaskit/media-card": "^76.0.0",
|
|
90
|
-
"@atlaskit/media-client": "^
|
|
90
|
+
"@atlaskit/media-client": "^23.0.0",
|
|
91
91
|
"@atlaskit/media-picker": "^66.0.0",
|
|
92
92
|
"@atlaskit/mention": "^22.1.0",
|
|
93
93
|
"@atlaskit/menu": "^1.7.0",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
136
136
|
},
|
|
137
137
|
"devDependencies": {
|
|
138
|
-
"@atlaskit/editor-core": "^185.
|
|
138
|
+
"@atlaskit/editor-core": "^185.1.0",
|
|
139
139
|
"@atlaskit/editor-json-transformer": "^8.9.0",
|
|
140
140
|
"@atlaskit/editor-plugin-analytics": "^0.0.1",
|
|
141
141
|
"@atlaskit/editor-plugin-content-insertion": "^0.0.1",
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
"@atlaskit/editor-plugin-feature-flags": "^0.1.0",
|
|
144
144
|
"@atlaskit/editor-plugin-grid": "^0.1.0",
|
|
145
145
|
"@atlaskit/editor-plugin-table": "^1.5.0",
|
|
146
|
-
"@atlaskit/editor-plugin-width": "^0.0
|
|
146
|
+
"@atlaskit/editor-plugin-width": "^0.1.0",
|
|
147
147
|
"@atlaskit/editor-test-helpers": "^18.5.0",
|
|
148
148
|
"@atlaskit/media-core": "^34.1.0",
|
|
149
149
|
"@atlaskit/util-data-test": "^17.8.0",
|