@atlaskit/editor-common 105.2.4 → 105.4.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 +20 -0
- package/dist/cjs/extensibility/Extension/Extension/index.js +24 -6
- package/dist/cjs/extensibility/Extension/InlineExtension/index.js +20 -3
- package/dist/cjs/extensibility/MultiBodiedExtension/index.js +19 -2
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/styles/shared/lists.js +7 -1
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/utils/table.js +44 -4
- package/dist/es2019/extensibility/Extension/Extension/index.js +25 -5
- package/dist/es2019/extensibility/Extension/InlineExtension/index.js +21 -3
- package/dist/es2019/extensibility/MultiBodiedExtension/index.js +20 -2
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/styles/shared/lists.js +6 -1
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/utils/table.js +44 -4
- package/dist/esm/extensibility/Extension/Extension/index.js +25 -7
- package/dist/esm/extensibility/Extension/InlineExtension/index.js +21 -4
- package/dist/esm/extensibility/MultiBodiedExtension/index.js +20 -3
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/styles/shared/lists.js +7 -1
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/utils/table.js +44 -4
- package/dist/types/analytics/types/selection-toolbar-events.d.ts +1 -1
- package/dist/types/utils/table.d.ts +40 -3
- package/dist/types-ts4.5/analytics/types/selection-toolbar-events.d.ts +1 -1
- package/dist/types-ts4.5/utils/table.d.ts +40 -3
- package/package.json +9 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atlaskit/editor-common
|
|
2
2
|
|
|
3
|
+
## 105.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#155913](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/155913)
|
|
8
|
+
[`5ec1fdc17a7ae`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5ec1fdc17a7ae) -
|
|
9
|
+
refactor: migrate to useSharedPluginStateSelector in editor-common
|
|
10
|
+
|
|
11
|
+
## 105.3.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [#155142](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/155142)
|
|
16
|
+
[`50eb20003ad27`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/50eb20003ad27) -
|
|
17
|
+
Replace platform_editor_table_row_span_fix with platform_editor_table_row_span_fix_confluence
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
3
23
|
## 105.2.4
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -14,6 +14,7 @@ var _react2 = require("@emotion/react");
|
|
|
14
14
|
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
15
15
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
16
|
var _hooks = require("../../../hooks");
|
|
17
|
+
var _useSharedPluginStateSelector = require("../../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector");
|
|
17
18
|
var _ui = require("../../../ui");
|
|
18
19
|
var _utils = require("../../../utils");
|
|
19
20
|
var _Lozenge = _interopRequireDefault(require("../Lozenge"));
|
|
@@ -35,10 +36,7 @@ function ExtensionWithPluginState(props) {
|
|
|
35
36
|
var node = props.node,
|
|
36
37
|
handleContentDOMRef = props.handleContentDOMRef,
|
|
37
38
|
children = props.children,
|
|
38
|
-
|
|
39
|
-
widthState = _props$widthState === void 0 ? {
|
|
40
|
-
width: 0
|
|
41
|
-
} : _props$widthState,
|
|
39
|
+
widthState = props.widthState,
|
|
42
40
|
handleRef = props.handleRef,
|
|
43
41
|
shadowClassNames = props.shadowClassNames,
|
|
44
42
|
hideFrame = props.hideFrame,
|
|
@@ -210,10 +208,30 @@ function ExtensionWithPluginState(props) {
|
|
|
210
208
|
ref: handleContentDOMRef
|
|
211
209
|
}))))));
|
|
212
210
|
}
|
|
213
|
-
var
|
|
214
|
-
var
|
|
211
|
+
var useExtensionSharedPluginState = (0, _hooks.sharedPluginStateHookMigratorFactory)(function (pluginInjectionApi) {
|
|
212
|
+
var _widthState$width;
|
|
215
213
|
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width']),
|
|
216
214
|
widthState = _useSharedPluginState.widthState;
|
|
215
|
+
return {
|
|
216
|
+
widthState: {
|
|
217
|
+
width: (_widthState$width = widthState === null || widthState === void 0 ? void 0 : widthState.width) !== null && _widthState$width !== void 0 ? _widthState$width : 0,
|
|
218
|
+
lineLength: widthState === null || widthState === void 0 ? void 0 : widthState.lineLength
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
}, function (pluginInjectionApi) {
|
|
222
|
+
var width = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.width');
|
|
223
|
+
var lineLength = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.lineLength');
|
|
224
|
+
return {
|
|
225
|
+
widthState: {
|
|
226
|
+
width: width !== null && width !== void 0 ? width : 0,
|
|
227
|
+
lineLength: lineLength
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
});
|
|
231
|
+
var Extension = function Extension(props) {
|
|
232
|
+
var pluginInjectionApi = props.pluginInjectionApi;
|
|
233
|
+
var _useExtensionSharedPl = useExtensionSharedPluginState(pluginInjectionApi),
|
|
234
|
+
widthState = _useExtensionSharedPl.widthState;
|
|
217
235
|
|
|
218
236
|
// Ignored via go/ees005
|
|
219
237
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
@@ -11,6 +11,7 @@ var _react2 = require("@emotion/react");
|
|
|
11
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
12
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
13
13
|
var _hooks = require("../../../hooks");
|
|
14
|
+
var _useSharedPluginStateSelector = require("../../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector");
|
|
14
15
|
var _ui = require("../../../ui");
|
|
15
16
|
var _Lozenge = _interopRequireDefault(require("../Lozenge"));
|
|
16
17
|
var _styles = require("../styles");
|
|
@@ -24,6 +25,22 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
24
25
|
|
|
25
26
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
26
27
|
|
|
28
|
+
var useInlineExtensionSharedPluginState = (0, _hooks.sharedPluginStateHookMigratorFactory)(function (pluginInjectionApi) {
|
|
29
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width']),
|
|
30
|
+
widthState = _useSharedPluginState.widthState;
|
|
31
|
+
return {
|
|
32
|
+
widthState: {
|
|
33
|
+
width: widthState === null || widthState === void 0 ? void 0 : widthState.width
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}, function (pluginInjectionApi) {
|
|
37
|
+
var width = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.width');
|
|
38
|
+
return {
|
|
39
|
+
widthState: {
|
|
40
|
+
width: width
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
});
|
|
27
44
|
var InlineExtension = function InlineExtension(props) {
|
|
28
45
|
var node = props.node,
|
|
29
46
|
pluginInjectionApi = props.pluginInjectionApi,
|
|
@@ -35,8 +52,8 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
35
52
|
isLivePageViewMode = props.isLivePageViewMode;
|
|
36
53
|
var _ref = macroInteractionDesignFeatureFlags || {},
|
|
37
54
|
showMacroInteractionDesignUpdates = _ref.showMacroInteractionDesignUpdates;
|
|
38
|
-
var
|
|
39
|
-
widthState =
|
|
55
|
+
var _useInlineExtensionSh = useInlineExtensionSharedPluginState(pluginInjectionApi),
|
|
56
|
+
widthState = _useInlineExtensionSh.widthState;
|
|
40
57
|
var hasChildren = !!children;
|
|
41
58
|
var classNames = (0, _classnames.default)('extension-container', 'inline', {
|
|
42
59
|
'with-overlay': !showMacroInteractionDesignUpdates,
|
|
@@ -44,7 +61,7 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
44
61
|
'with-danger-overlay': showMacroInteractionDesignUpdates,
|
|
45
62
|
'with-hover-border': showMacroInteractionDesignUpdates && isNodeHovered
|
|
46
63
|
});
|
|
47
|
-
var rendererContainerWidth = widthState ? widthState.width - (0, _editorSharedStyles.akEditorGutterPaddingDynamic)() * 2 : 0;
|
|
64
|
+
var rendererContainerWidth = widthState.width ? widthState.width - (0, _editorSharedStyles.akEditorGutterPaddingDynamic)() * 2 : 0;
|
|
48
65
|
var handleMouseEvent = function handleMouseEvent(didHover) {
|
|
49
66
|
if (setIsNodeHovered) {
|
|
50
67
|
setIsNodeHovered(didHover);
|
|
@@ -16,6 +16,7 @@ var _react2 = require("@emotion/react");
|
|
|
16
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
17
|
var _fileEditorFile = _interopRequireDefault(require("@atlaskit/icon/core/migration/file--editor-file"));
|
|
18
18
|
var _hooks = require("../../hooks");
|
|
19
|
+
var _useSharedPluginStateSelector = require("../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector");
|
|
19
20
|
var _MultiBodiedExtension = require("../../ui/MultiBodiedExtension");
|
|
20
21
|
var _utils = require("../../utils");
|
|
21
22
|
var _Lozenge = _interopRequireDefault(require("../Extension/Lozenge"));
|
|
@@ -240,10 +241,26 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
|
|
|
240
241
|
"data-testid": "multiBodiedExtension-navigation"
|
|
241
242
|
}, extensionHandlerResult), childrenContainer))));
|
|
242
243
|
};
|
|
243
|
-
var
|
|
244
|
-
var pluginInjectionApi = props.pluginInjectionApi;
|
|
244
|
+
var useMultiBodyExtensionSharedPluginState = (0, _hooks.sharedPluginStateHookMigratorFactory)(function (pluginInjectionApi) {
|
|
245
245
|
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width']),
|
|
246
246
|
widthState = _useSharedPluginState.widthState;
|
|
247
|
+
return {
|
|
248
|
+
widthState: widthState
|
|
249
|
+
};
|
|
250
|
+
}, function (pluginInjectionApi) {
|
|
251
|
+
var width = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.width');
|
|
252
|
+
var lineLength = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.lineLength');
|
|
253
|
+
return {
|
|
254
|
+
widthState: width === undefined ? undefined : {
|
|
255
|
+
width: width,
|
|
256
|
+
lineLength: lineLength
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
});
|
|
260
|
+
var MultiBodiedExtension = function MultiBodiedExtension(props) {
|
|
261
|
+
var pluginInjectionApi = props.pluginInjectionApi;
|
|
262
|
+
var _useMultiBodyExtensio = useMultiBodyExtensionSharedPluginState(pluginInjectionApi),
|
|
263
|
+
widthState = _useMultiBodyExtensio.widthState;
|
|
247
264
|
// Ignored via go/ees005
|
|
248
265
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
249
266
|
return (0, _react2.jsx)(MultiBodiedExtensionWithWidth, (0, _extends2.default)({
|
|
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
17
17
|
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; }
|
|
18
18
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
19
19
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
20
|
-
var packageVersion = "105.
|
|
20
|
+
var packageVersion = "105.4.0";
|
|
21
21
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
22
22
|
// Remove URL as it has UGC
|
|
23
23
|
// Ignored via go/ees007
|
|
@@ -43,6 +43,12 @@ var stringifyStyle = function stringifyStyle(style) {
|
|
|
43
43
|
return "".concat(str).concat(key, ":").concat(value, ";");
|
|
44
44
|
}, "");
|
|
45
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @param itemCounterDigitsSize
|
|
49
|
+
* @param styleFormat
|
|
50
|
+
* @example
|
|
51
|
+
*/
|
|
46
52
|
function getOrderedListInlineStyles(itemCounterDigitsSize, styleFormat
|
|
47
53
|
// Ignored via go/ees005
|
|
48
54
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -55,4 +61,4 @@ function getOrderedListInlineStyles(itemCounterDigitsSize, styleFormat
|
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
// eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766, There is some "flow-root" hack that is not actually valid css. Do note, this might not even work in Compiled (or Emotion) due to the way tagged template expressions are parsed…
|
|
58
|
-
var listsSharedStyles = exports.listsSharedStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t/* =============== INDENTATION SPACING ========= */\n\n\tul,\n\tol {\n\t\tbox-sizing: border-box;\n\t\tpadding-left: var(", ", ", "px);\n\
|
|
64
|
+
var listsSharedStyles = exports.listsSharedStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t/* =============== INDENTATION SPACING ========= */\n\n\tul,\n\tol {\n\t\tbox-sizing: border-box;\n\t\tpadding-left: var(", ", ", "px);\n\t\t/*\n Firefox does not handle empty block element inside li tag.\n If there is not block element inside li tag,\n then firefox sets inherited height to li\n However, if there is any block element and if it's empty\n (or has empty inline element) then\n firefox sets li tag height to zero.\n More details at\n https://product-fabric.atlassian.net/wiki/spaces/~455502413/pages/3149365890/ED-14110+Investigation\n */\n\t\tli p:empty,\n\t\tli p > span:empty {\n\t\t\t", "\n\t\t}\n\t}\n\n\t", ", ", " {\n\t\t/*\n Ensures list item content adheres to the list's margin instead\n of filling the entire block row. This is important to allow\n clicking interactive elements which are floated next to a list.\n\n For some history and context on this block, see PRs related to tickets.:\n @see ED-6551 - original issue.\n @see ED-7015 - follow up issue.\n @see ED-7447 - flow-root change.\n\n We use 'display: table' (old clear fix / new block formatting context hack)\n for older browsers and 'flow-root' for modern browsers.\n\n @see https://css-tricks.com/display-flow-root/\n */\n\t\t/* For older browsers the do not support flow-root. */\n\t\t/* stylelint-disable declaration-block-no-duplicate-properties */\n\t\tdisplay: table;\n\t\tdisplay: flow-root;\n\t\t/* stylelint-enable declaration-block-no-duplicate-properties */\n\t}\n\n\t/* =============== INDENTATION AESTHETICS ========= */\n\n\t/**\n We support nested lists up to six levels deep.\n **/\n\n\t/* LEGACY LISTS */\n\n\tul,\n\tul ul ul ul {\n\t\tlist-style-type: disc;\n\t}\n\n\tul ul,\n\tul ul ul ul ul {\n\t\tlist-style-type: circle;\n\t}\n\n\tul ul ul,\n\tul ul ul ul ul ul {\n\t\tlist-style-type: square;\n\t}\n\n\tol,\n\tol ol ol ol {\n\t\tlist-style-type: decimal;\n\t}\n\tol ol,\n\tol ol ol ol ol {\n\t\tlist-style-type: lower-alpha;\n\t}\n\tol ol ol,\n\tol ol ol ol ol ol {\n\t\tlist-style-type: lower-roman;\n\t}\n\n\t/* PREDICTABLE LISTS */\n\n\tol[data-indent-level='1'],\n\tol[data-indent-level='4'] {\n\t\tlist-style-type: decimal;\n\t}\n\n\tol[data-indent-level='2'],\n\tol[data-indent-level='5'] {\n\t\tlist-style-type: lower-alpha;\n\t}\n\n\tol[data-indent-level='3'],\n\tol[data-indent-level='6'] {\n\t\tlist-style-type: lower-roman;\n\t}\n\n\tul[data-indent-level='1'],\n\tul[data-indent-level='4'] {\n\t\tlist-style-type: disc;\n\t}\n\n\tul[data-indent-level='2'],\n\tul[data-indent-level='5'] {\n\t\tlist-style-type: circle;\n\t}\n\n\tul[data-indent-level='3'],\n\tul[data-indent-level='6'] {\n\t\tlist-style-type: square;\n\t}\n"])), CSS_VAR_NAMES.ITEM_COUNTER_PADDING, listItemCounterPadding, _browser.browser.gecko ? 'display: inline-block;' : '', _adfSchema.orderedListSelector, _adfSchema.bulletListSelector);
|
|
@@ -23,7 +23,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
23
23
|
* @jsx jsx
|
|
24
24
|
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
25
25
|
var packageName = "@atlaskit/editor-common";
|
|
26
|
-
var packageVersion = "105.
|
|
26
|
+
var packageVersion = "105.4.0";
|
|
27
27
|
var halfFocusRing = 1;
|
|
28
28
|
var dropOffset = '0, 8';
|
|
29
29
|
// Ignored via go/ees005
|
package/dist/cjs/utils/table.js
CHANGED
|
@@ -12,10 +12,17 @@ exports.isPositionNearTableRow = isPositionNearTableRow;
|
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
13
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
* accounts for tables with uneven rows.
|
|
15
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **entire table**.
|
|
17
16
|
*
|
|
18
|
-
*
|
|
17
|
+
* Warning: the entire table is scanned and should only be used if where the table can be in a broken state such that rows have different number of cells (e.g. in **renderer**).
|
|
18
|
+
* @param node - Table node
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const columnWidths = getColumnWidths(tableNode);
|
|
22
|
+
* console.log(columnWidths);
|
|
23
|
+
* // Output: [100, 200, 300]
|
|
24
|
+
* ```
|
|
25
|
+
* @returns Array<number>
|
|
19
26
|
*/
|
|
20
27
|
function getColumnWidths(node) {
|
|
21
28
|
var tableColumnWidths = [];
|
|
@@ -42,11 +49,25 @@ function getColumnWidths(node) {
|
|
|
42
49
|
});
|
|
43
50
|
return tableColumnWidths;
|
|
44
51
|
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **first row**.
|
|
55
|
+
*
|
|
56
|
+
* Warning: is preferred and should be used if the table is not in a broken state (e.g. in **editor**).
|
|
57
|
+
* @param node - Table node
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const columnWidths = calcTableColumnWidths(tableNode);
|
|
61
|
+
* console.log(columnWidths);
|
|
62
|
+
* // Output: [100, 200, 300]
|
|
63
|
+
* ```
|
|
64
|
+
* @returns Array<number>
|
|
65
|
+
*/
|
|
45
66
|
function calcTableColumnWidths(node) {
|
|
46
67
|
// Ignored via go/ees007
|
|
47
68
|
// eslint-disable-next-line @atlaskit/editor/enforce-todo-comment-format
|
|
48
69
|
// TODO: replaced with getColumnWidths, which correctly scans entire table for column widths
|
|
49
|
-
if ((0, _platformFeatureFlags.fg)('platform_editor_table_row_span_fix')) {
|
|
70
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_table_row_span_fix') || (0, _platformFeatureFlags.fg)('platform_editor_table_row_span_fix_all')) {
|
|
50
71
|
var _firstRow = node.firstChild;
|
|
51
72
|
var _tableColumnWidths = [];
|
|
52
73
|
if (_firstRow) {
|
|
@@ -84,6 +105,12 @@ function calcTableColumnWidths(node) {
|
|
|
84
105
|
}
|
|
85
106
|
return tableColumnWidths;
|
|
86
107
|
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* @param tableNode
|
|
112
|
+
* @example
|
|
113
|
+
*/
|
|
87
114
|
function hasMergedCell(tableNode) {
|
|
88
115
|
var hasSpan = false;
|
|
89
116
|
tableNode.descendants(function (node) {
|
|
@@ -100,6 +127,12 @@ function hasMergedCell(tableNode) {
|
|
|
100
127
|
});
|
|
101
128
|
return hasSpan;
|
|
102
129
|
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
*
|
|
133
|
+
* @param tableNode
|
|
134
|
+
* @example
|
|
135
|
+
*/
|
|
103
136
|
function convertProsemirrorTableNodeToArrayOfRows(tableNode) {
|
|
104
137
|
var result = [];
|
|
105
138
|
tableNode.forEach(function (rowNode) {
|
|
@@ -119,6 +152,13 @@ function convertProsemirrorTableNodeToArrayOfRows(tableNode) {
|
|
|
119
152
|
Returns true when a sibling node, or any of the parent's sibling
|
|
120
153
|
nodes are a tableRow
|
|
121
154
|
*/
|
|
155
|
+
/**
|
|
156
|
+
*
|
|
157
|
+
* @param pos
|
|
158
|
+
* @param schema
|
|
159
|
+
* @param direction
|
|
160
|
+
* @example
|
|
161
|
+
*/
|
|
122
162
|
function isPositionNearTableRow(pos, schema, direction) {
|
|
123
163
|
if (!schema.nodes.tableRow) {
|
|
124
164
|
return false;
|
|
@@ -10,7 +10,8 @@ import React, { Fragment } from 'react';
|
|
|
10
10
|
import { jsx } from '@emotion/react';
|
|
11
11
|
import classnames from 'classnames';
|
|
12
12
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
13
|
-
import { useSharedPluginState } from '../../../hooks';
|
|
13
|
+
import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '../../../hooks';
|
|
14
|
+
import { useSharedPluginStateSelector } from '../../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector';
|
|
14
15
|
import { overflowShadow } from '../../../ui';
|
|
15
16
|
import { calculateBreakoutStyles } from '../../../utils';
|
|
16
17
|
import ExtensionLozenge from '../Lozenge';
|
|
@@ -23,9 +24,7 @@ function ExtensionWithPluginState(props) {
|
|
|
23
24
|
node,
|
|
24
25
|
handleContentDOMRef,
|
|
25
26
|
children,
|
|
26
|
-
widthState
|
|
27
|
-
width: 0
|
|
28
|
-
},
|
|
27
|
+
widthState,
|
|
29
28
|
handleRef,
|
|
30
29
|
shadowClassNames,
|
|
31
30
|
hideFrame,
|
|
@@ -204,13 +203,34 @@ function ExtensionWithPluginState(props) {
|
|
|
204
203
|
ref: handleContentDOMRef
|
|
205
204
|
}))))));
|
|
206
205
|
}
|
|
206
|
+
const useExtensionSharedPluginState = sharedPluginStateHookMigratorFactory(pluginInjectionApi => {
|
|
207
|
+
var _widthState$width;
|
|
208
|
+
const {
|
|
209
|
+
widthState
|
|
210
|
+
} = useSharedPluginState(pluginInjectionApi, ['width']);
|
|
211
|
+
return {
|
|
212
|
+
widthState: {
|
|
213
|
+
width: (_widthState$width = widthState === null || widthState === void 0 ? void 0 : widthState.width) !== null && _widthState$width !== void 0 ? _widthState$width : 0,
|
|
214
|
+
lineLength: widthState === null || widthState === void 0 ? void 0 : widthState.lineLength
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}, pluginInjectionApi => {
|
|
218
|
+
const width = useSharedPluginStateSelector(pluginInjectionApi, 'width.width');
|
|
219
|
+
const lineLength = useSharedPluginStateSelector(pluginInjectionApi, 'width.lineLength');
|
|
220
|
+
return {
|
|
221
|
+
widthState: {
|
|
222
|
+
width: width !== null && width !== void 0 ? width : 0,
|
|
223
|
+
lineLength
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
});
|
|
207
227
|
const Extension = props => {
|
|
208
228
|
const {
|
|
209
229
|
pluginInjectionApi
|
|
210
230
|
} = props;
|
|
211
231
|
const {
|
|
212
232
|
widthState
|
|
213
|
-
} =
|
|
233
|
+
} = useExtensionSharedPluginState(pluginInjectionApi);
|
|
214
234
|
|
|
215
235
|
// Ignored via go/ees005
|
|
216
236
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
@@ -8,11 +8,29 @@ import React, { Fragment } from 'react';
|
|
|
8
8
|
import { jsx } from '@emotion/react';
|
|
9
9
|
import classnames from 'classnames';
|
|
10
10
|
import { akEditorGutterPaddingDynamic } from '@atlaskit/editor-shared-styles';
|
|
11
|
-
import { useSharedPluginState } from '../../../hooks';
|
|
11
|
+
import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '../../../hooks';
|
|
12
|
+
import { useSharedPluginStateSelector } from '../../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector';
|
|
12
13
|
import { createWidthContext, WidthContext } from '../../../ui';
|
|
13
14
|
import ExtensionLozenge from '../Lozenge';
|
|
14
15
|
import { overlay } from '../styles';
|
|
15
16
|
import { inlineWrapperStyles, wrapperStyle } from './styles';
|
|
17
|
+
const useInlineExtensionSharedPluginState = sharedPluginStateHookMigratorFactory(pluginInjectionApi => {
|
|
18
|
+
const {
|
|
19
|
+
widthState
|
|
20
|
+
} = useSharedPluginState(pluginInjectionApi, ['width']);
|
|
21
|
+
return {
|
|
22
|
+
widthState: {
|
|
23
|
+
width: widthState === null || widthState === void 0 ? void 0 : widthState.width
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}, pluginInjectionApi => {
|
|
27
|
+
const width = useSharedPluginStateSelector(pluginInjectionApi, 'width.width');
|
|
28
|
+
return {
|
|
29
|
+
widthState: {
|
|
30
|
+
width
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
});
|
|
16
34
|
const InlineExtension = props => {
|
|
17
35
|
const {
|
|
18
36
|
node,
|
|
@@ -29,7 +47,7 @@ const InlineExtension = props => {
|
|
|
29
47
|
} = macroInteractionDesignFeatureFlags || {};
|
|
30
48
|
const {
|
|
31
49
|
widthState
|
|
32
|
-
} =
|
|
50
|
+
} = useInlineExtensionSharedPluginState(pluginInjectionApi);
|
|
33
51
|
const hasChildren = !!children;
|
|
34
52
|
const classNames = classnames('extension-container', 'inline', {
|
|
35
53
|
'with-overlay': !showMacroInteractionDesignUpdates,
|
|
@@ -37,7 +55,7 @@ const InlineExtension = props => {
|
|
|
37
55
|
'with-danger-overlay': showMacroInteractionDesignUpdates,
|
|
38
56
|
'with-hover-border': showMacroInteractionDesignUpdates && isNodeHovered
|
|
39
57
|
});
|
|
40
|
-
const rendererContainerWidth = widthState ? widthState.width - akEditorGutterPaddingDynamic() * 2 : 0;
|
|
58
|
+
const rendererContainerWidth = widthState.width ? widthState.width - akEditorGutterPaddingDynamic() * 2 : 0;
|
|
41
59
|
const handleMouseEvent = didHover => {
|
|
42
60
|
if (setIsNodeHovered) {
|
|
43
61
|
setIsNodeHovered(didHover);
|
|
@@ -11,7 +11,8 @@ import React, { Fragment, useState } from 'react';
|
|
|
11
11
|
import { css, jsx } from '@emotion/react';
|
|
12
12
|
import classnames from 'classnames';
|
|
13
13
|
import EditorFileIcon from '@atlaskit/icon/core/migration/file--editor-file';
|
|
14
|
-
import { useSharedPluginState } from '../../hooks';
|
|
14
|
+
import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '../../hooks';
|
|
15
|
+
import { useSharedPluginStateSelector } from '../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector';
|
|
15
16
|
import { removeMarginsAndBorder, sharedMultiBodiedExtensionStyles } from '../../ui/MultiBodiedExtension';
|
|
16
17
|
import { calculateBreakoutStyles, getExtensionLozengeData } from '../../utils';
|
|
17
18
|
import ExtensionLozenge from '../Extension/Lozenge';
|
|
@@ -226,13 +227,30 @@ const MultiBodiedExtensionWithWidth = ({
|
|
|
226
227
|
"data-testid": "multiBodiedExtension-navigation"
|
|
227
228
|
}, extensionHandlerResult), childrenContainer))));
|
|
228
229
|
};
|
|
230
|
+
const useMultiBodyExtensionSharedPluginState = sharedPluginStateHookMigratorFactory(pluginInjectionApi => {
|
|
231
|
+
const {
|
|
232
|
+
widthState
|
|
233
|
+
} = useSharedPluginState(pluginInjectionApi, ['width']);
|
|
234
|
+
return {
|
|
235
|
+
widthState
|
|
236
|
+
};
|
|
237
|
+
}, pluginInjectionApi => {
|
|
238
|
+
const width = useSharedPluginStateSelector(pluginInjectionApi, 'width.width');
|
|
239
|
+
const lineLength = useSharedPluginStateSelector(pluginInjectionApi, 'width.lineLength');
|
|
240
|
+
return {
|
|
241
|
+
widthState: width === undefined ? undefined : {
|
|
242
|
+
width,
|
|
243
|
+
lineLength
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
});
|
|
229
247
|
const MultiBodiedExtension = props => {
|
|
230
248
|
const {
|
|
231
249
|
pluginInjectionApi
|
|
232
250
|
} = props;
|
|
233
251
|
const {
|
|
234
252
|
widthState
|
|
235
|
-
} =
|
|
253
|
+
} = useMultiBodyExtensionSharedPluginState(pluginInjectionApi);
|
|
236
254
|
// Ignored via go/ees005
|
|
237
255
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
238
256
|
return jsx(MultiBodiedExtensionWithWidth, _extends({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isFedRamp } from './environment';
|
|
2
2
|
const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
3
3
|
const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
4
|
-
const packageVersion = "105.
|
|
4
|
+
const packageVersion = "105.4.0";
|
|
5
5
|
const sanitiseSentryEvents = (data, _hint) => {
|
|
6
6
|
// Remove URL as it has UGC
|
|
7
7
|
// Ignored via go/ees007
|
|
@@ -25,6 +25,12 @@ const getItemCounterLeftPadding = itemCounterDigitsSize => {
|
|
|
25
25
|
return paddingLeft;
|
|
26
26
|
};
|
|
27
27
|
const stringifyStyle = style => Object.entries(style).reduce((str, [key, value]) => `${str}${key}:${value};`, ``);
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param itemCounterDigitsSize
|
|
31
|
+
* @param styleFormat
|
|
32
|
+
* @example
|
|
33
|
+
*/
|
|
28
34
|
export function getOrderedListInlineStyles(itemCounterDigitsSize, styleFormat
|
|
29
35
|
// Ignored via go/ees005
|
|
30
36
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -46,7 +52,6 @@ export const listsSharedStyles = css`
|
|
|
46
52
|
ol {
|
|
47
53
|
box-sizing: border-box;
|
|
48
54
|
padding-left: var(${CSS_VAR_NAMES.ITEM_COUNTER_PADDING}, ${listItemCounterPadding}px);
|
|
49
|
-
|
|
50
55
|
/*
|
|
51
56
|
Firefox does not handle empty block element inside li tag.
|
|
52
57
|
If there is not block element inside li tag,
|
|
@@ -13,7 +13,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
|
|
|
13
13
|
import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
14
14
|
import Layer from '../Layer';
|
|
15
15
|
const packageName = "@atlaskit/editor-common";
|
|
16
|
-
const packageVersion = "105.
|
|
16
|
+
const packageVersion = "105.4.0";
|
|
17
17
|
const halfFocusRing = 1;
|
|
18
18
|
const dropOffset = '0, 8';
|
|
19
19
|
// Ignored via go/ees005
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* accounts for tables with uneven rows.
|
|
4
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **entire table**.
|
|
6
5
|
*
|
|
7
|
-
*
|
|
6
|
+
* Warning: the entire table is scanned and should only be used if where the table can be in a broken state such that rows have different number of cells (e.g. in **renderer**).
|
|
7
|
+
* @param node - Table node
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* const columnWidths = getColumnWidths(tableNode);
|
|
11
|
+
* console.log(columnWidths);
|
|
12
|
+
* // Output: [100, 200, 300]
|
|
13
|
+
* ```
|
|
14
|
+
* @returns Array<number>
|
|
8
15
|
*/
|
|
9
16
|
export function getColumnWidths(node) {
|
|
10
17
|
let tableColumnWidths = [];
|
|
@@ -32,11 +39,25 @@ export function getColumnWidths(node) {
|
|
|
32
39
|
});
|
|
33
40
|
return tableColumnWidths;
|
|
34
41
|
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **first row**.
|
|
45
|
+
*
|
|
46
|
+
* Warning: is preferred and should be used if the table is not in a broken state (e.g. in **editor**).
|
|
47
|
+
* @param node - Table node
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* const columnWidths = calcTableColumnWidths(tableNode);
|
|
51
|
+
* console.log(columnWidths);
|
|
52
|
+
* // Output: [100, 200, 300]
|
|
53
|
+
* ```
|
|
54
|
+
* @returns Array<number>
|
|
55
|
+
*/
|
|
35
56
|
export function calcTableColumnWidths(node) {
|
|
36
57
|
// Ignored via go/ees007
|
|
37
58
|
// eslint-disable-next-line @atlaskit/editor/enforce-todo-comment-format
|
|
38
59
|
// TODO: replaced with getColumnWidths, which correctly scans entire table for column widths
|
|
39
|
-
if (fg('platform_editor_table_row_span_fix')) {
|
|
60
|
+
if (fg('platform_editor_table_row_span_fix') || fg('platform_editor_table_row_span_fix_all')) {
|
|
40
61
|
const firstRow = node.firstChild;
|
|
41
62
|
const tableColumnWidths = [];
|
|
42
63
|
if (firstRow) {
|
|
@@ -75,6 +96,12 @@ export function calcTableColumnWidths(node) {
|
|
|
75
96
|
}
|
|
76
97
|
return tableColumnWidths;
|
|
77
98
|
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
* @param tableNode
|
|
103
|
+
* @example
|
|
104
|
+
*/
|
|
78
105
|
export function hasMergedCell(tableNode) {
|
|
79
106
|
let hasSpan = false;
|
|
80
107
|
tableNode.descendants(node => {
|
|
@@ -92,6 +119,12 @@ export function hasMergedCell(tableNode) {
|
|
|
92
119
|
});
|
|
93
120
|
return hasSpan;
|
|
94
121
|
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
*
|
|
125
|
+
* @param tableNode
|
|
126
|
+
* @example
|
|
127
|
+
*/
|
|
95
128
|
export function convertProsemirrorTableNodeToArrayOfRows(tableNode) {
|
|
96
129
|
const result = [];
|
|
97
130
|
tableNode.forEach(rowNode => {
|
|
@@ -109,6 +142,13 @@ export function convertProsemirrorTableNodeToArrayOfRows(tableNode) {
|
|
|
109
142
|
Returns true when a sibling node, or any of the parent's sibling
|
|
110
143
|
nodes are a tableRow
|
|
111
144
|
*/
|
|
145
|
+
/**
|
|
146
|
+
*
|
|
147
|
+
* @param pos
|
|
148
|
+
* @param schema
|
|
149
|
+
* @param direction
|
|
150
|
+
* @example
|
|
151
|
+
*/
|
|
112
152
|
export function isPositionNearTableRow(pos, schema, direction) {
|
|
113
153
|
if (!schema.nodes.tableRow) {
|
|
114
154
|
return false;
|
|
@@ -15,7 +15,8 @@ import React, { Fragment } from 'react';
|
|
|
15
15
|
import { jsx } from '@emotion/react';
|
|
16
16
|
import classnames from 'classnames';
|
|
17
17
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
18
|
-
import { useSharedPluginState } from '../../../hooks';
|
|
18
|
+
import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '../../../hooks';
|
|
19
|
+
import { useSharedPluginStateSelector } from '../../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector';
|
|
19
20
|
import { overflowShadow } from '../../../ui';
|
|
20
21
|
import { calculateBreakoutStyles } from '../../../utils';
|
|
21
22
|
import ExtensionLozenge from '../Lozenge';
|
|
@@ -27,10 +28,7 @@ function ExtensionWithPluginState(props) {
|
|
|
27
28
|
var node = props.node,
|
|
28
29
|
handleContentDOMRef = props.handleContentDOMRef,
|
|
29
30
|
children = props.children,
|
|
30
|
-
|
|
31
|
-
widthState = _props$widthState === void 0 ? {
|
|
32
|
-
width: 0
|
|
33
|
-
} : _props$widthState,
|
|
31
|
+
widthState = props.widthState,
|
|
34
32
|
handleRef = props.handleRef,
|
|
35
33
|
shadowClassNames = props.shadowClassNames,
|
|
36
34
|
hideFrame = props.hideFrame,
|
|
@@ -202,10 +200,30 @@ function ExtensionWithPluginState(props) {
|
|
|
202
200
|
ref: handleContentDOMRef
|
|
203
201
|
}))))));
|
|
204
202
|
}
|
|
205
|
-
var
|
|
206
|
-
var
|
|
203
|
+
var useExtensionSharedPluginState = sharedPluginStateHookMigratorFactory(function (pluginInjectionApi) {
|
|
204
|
+
var _widthState$width;
|
|
207
205
|
var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['width']),
|
|
208
206
|
widthState = _useSharedPluginState.widthState;
|
|
207
|
+
return {
|
|
208
|
+
widthState: {
|
|
209
|
+
width: (_widthState$width = widthState === null || widthState === void 0 ? void 0 : widthState.width) !== null && _widthState$width !== void 0 ? _widthState$width : 0,
|
|
210
|
+
lineLength: widthState === null || widthState === void 0 ? void 0 : widthState.lineLength
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
}, function (pluginInjectionApi) {
|
|
214
|
+
var width = useSharedPluginStateSelector(pluginInjectionApi, 'width.width');
|
|
215
|
+
var lineLength = useSharedPluginStateSelector(pluginInjectionApi, 'width.lineLength');
|
|
216
|
+
return {
|
|
217
|
+
widthState: {
|
|
218
|
+
width: width !== null && width !== void 0 ? width : 0,
|
|
219
|
+
lineLength: lineLength
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
});
|
|
223
|
+
var Extension = function Extension(props) {
|
|
224
|
+
var pluginInjectionApi = props.pluginInjectionApi;
|
|
225
|
+
var _useExtensionSharedPl = useExtensionSharedPluginState(pluginInjectionApi),
|
|
226
|
+
widthState = _useExtensionSharedPl.widthState;
|
|
209
227
|
|
|
210
228
|
// Ignored via go/ees005
|
|
211
229
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
@@ -8,11 +8,28 @@ import React, { Fragment } from 'react';
|
|
|
8
8
|
import { jsx } from '@emotion/react';
|
|
9
9
|
import classnames from 'classnames';
|
|
10
10
|
import { akEditorGutterPaddingDynamic } from '@atlaskit/editor-shared-styles';
|
|
11
|
-
import { useSharedPluginState } from '../../../hooks';
|
|
11
|
+
import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '../../../hooks';
|
|
12
|
+
import { useSharedPluginStateSelector } from '../../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector';
|
|
12
13
|
import { createWidthContext, WidthContext } from '../../../ui';
|
|
13
14
|
import ExtensionLozenge from '../Lozenge';
|
|
14
15
|
import { overlay } from '../styles';
|
|
15
16
|
import { inlineWrapperStyles, wrapperStyle } from './styles';
|
|
17
|
+
var useInlineExtensionSharedPluginState = sharedPluginStateHookMigratorFactory(function (pluginInjectionApi) {
|
|
18
|
+
var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['width']),
|
|
19
|
+
widthState = _useSharedPluginState.widthState;
|
|
20
|
+
return {
|
|
21
|
+
widthState: {
|
|
22
|
+
width: widthState === null || widthState === void 0 ? void 0 : widthState.width
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}, function (pluginInjectionApi) {
|
|
26
|
+
var width = useSharedPluginStateSelector(pluginInjectionApi, 'width.width');
|
|
27
|
+
return {
|
|
28
|
+
widthState: {
|
|
29
|
+
width: width
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
});
|
|
16
33
|
var InlineExtension = function InlineExtension(props) {
|
|
17
34
|
var node = props.node,
|
|
18
35
|
pluginInjectionApi = props.pluginInjectionApi,
|
|
@@ -24,8 +41,8 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
24
41
|
isLivePageViewMode = props.isLivePageViewMode;
|
|
25
42
|
var _ref = macroInteractionDesignFeatureFlags || {},
|
|
26
43
|
showMacroInteractionDesignUpdates = _ref.showMacroInteractionDesignUpdates;
|
|
27
|
-
var
|
|
28
|
-
widthState =
|
|
44
|
+
var _useInlineExtensionSh = useInlineExtensionSharedPluginState(pluginInjectionApi),
|
|
45
|
+
widthState = _useInlineExtensionSh.widthState;
|
|
29
46
|
var hasChildren = !!children;
|
|
30
47
|
var classNames = classnames('extension-container', 'inline', {
|
|
31
48
|
'with-overlay': !showMacroInteractionDesignUpdates,
|
|
@@ -33,7 +50,7 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
33
50
|
'with-danger-overlay': showMacroInteractionDesignUpdates,
|
|
34
51
|
'with-hover-border': showMacroInteractionDesignUpdates && isNodeHovered
|
|
35
52
|
});
|
|
36
|
-
var rendererContainerWidth = widthState ? widthState.width - akEditorGutterPaddingDynamic() * 2 : 0;
|
|
53
|
+
var rendererContainerWidth = widthState.width ? widthState.width - akEditorGutterPaddingDynamic() * 2 : 0;
|
|
37
54
|
var handleMouseEvent = function handleMouseEvent(didHover) {
|
|
38
55
|
if (setIsNodeHovered) {
|
|
39
56
|
setIsNodeHovered(didHover);
|
|
@@ -16,7 +16,8 @@ import React, { Fragment, useState } from 'react';
|
|
|
16
16
|
import { css, jsx } from '@emotion/react';
|
|
17
17
|
import classnames from 'classnames';
|
|
18
18
|
import EditorFileIcon from '@atlaskit/icon/core/migration/file--editor-file';
|
|
19
|
-
import { useSharedPluginState } from '../../hooks';
|
|
19
|
+
import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '../../hooks';
|
|
20
|
+
import { useSharedPluginStateSelector } from '../../hooks/useSharedPluginStateSelector/useSharedPluginStateSelector';
|
|
20
21
|
import { removeMarginsAndBorder, sharedMultiBodiedExtensionStyles } from '../../ui/MultiBodiedExtension';
|
|
21
22
|
import { calculateBreakoutStyles, getExtensionLozengeData } from '../../utils';
|
|
22
23
|
import ExtensionLozenge from '../Extension/Lozenge';
|
|
@@ -232,10 +233,26 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
|
|
|
232
233
|
"data-testid": "multiBodiedExtension-navigation"
|
|
233
234
|
}, extensionHandlerResult), childrenContainer))));
|
|
234
235
|
};
|
|
235
|
-
var
|
|
236
|
-
var pluginInjectionApi = props.pluginInjectionApi;
|
|
236
|
+
var useMultiBodyExtensionSharedPluginState = sharedPluginStateHookMigratorFactory(function (pluginInjectionApi) {
|
|
237
237
|
var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['width']),
|
|
238
238
|
widthState = _useSharedPluginState.widthState;
|
|
239
|
+
return {
|
|
240
|
+
widthState: widthState
|
|
241
|
+
};
|
|
242
|
+
}, function (pluginInjectionApi) {
|
|
243
|
+
var width = useSharedPluginStateSelector(pluginInjectionApi, 'width.width');
|
|
244
|
+
var lineLength = useSharedPluginStateSelector(pluginInjectionApi, 'width.lineLength');
|
|
245
|
+
return {
|
|
246
|
+
widthState: width === undefined ? undefined : {
|
|
247
|
+
width: width,
|
|
248
|
+
lineLength: lineLength
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
});
|
|
252
|
+
var MultiBodiedExtension = function MultiBodiedExtension(props) {
|
|
253
|
+
var pluginInjectionApi = props.pluginInjectionApi;
|
|
254
|
+
var _useMultiBodyExtensio = useMultiBodyExtensionSharedPluginState(pluginInjectionApi),
|
|
255
|
+
widthState = _useMultiBodyExtensio.widthState;
|
|
239
256
|
// Ignored via go/ees005
|
|
240
257
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
241
258
|
return jsx(MultiBodiedExtensionWithWidth, _extends({
|
|
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
7
7
|
import { isFedRamp } from './environment';
|
|
8
8
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
9
9
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
10
|
-
var packageVersion = "105.
|
|
10
|
+
var packageVersion = "105.4.0";
|
|
11
11
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
12
12
|
// Remove URL as it has UGC
|
|
13
13
|
// Ignored via go/ees007
|
|
@@ -36,6 +36,12 @@ var stringifyStyle = function stringifyStyle(style) {
|
|
|
36
36
|
return "".concat(str).concat(key, ":").concat(value, ";");
|
|
37
37
|
}, "");
|
|
38
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @param itemCounterDigitsSize
|
|
42
|
+
* @param styleFormat
|
|
43
|
+
* @example
|
|
44
|
+
*/
|
|
39
45
|
export function getOrderedListInlineStyles(itemCounterDigitsSize, styleFormat
|
|
40
46
|
// Ignored via go/ees005
|
|
41
47
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -48,4 +54,4 @@ export function getOrderedListInlineStyles(itemCounterDigitsSize, styleFormat
|
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
// eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766, There is some "flow-root" hack that is not actually valid css. Do note, this might not even work in Compiled (or Emotion) due to the way tagged template expressions are parsed…
|
|
51
|
-
export var listsSharedStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t/* =============== INDENTATION SPACING ========= */\n\n\tul,\n\tol {\n\t\tbox-sizing: border-box;\n\t\tpadding-left: var(", ", ", "px);\n\
|
|
57
|
+
export var listsSharedStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t/* =============== INDENTATION SPACING ========= */\n\n\tul,\n\tol {\n\t\tbox-sizing: border-box;\n\t\tpadding-left: var(", ", ", "px);\n\t\t/*\n Firefox does not handle empty block element inside li tag.\n If there is not block element inside li tag,\n then firefox sets inherited height to li\n However, if there is any block element and if it's empty\n (or has empty inline element) then\n firefox sets li tag height to zero.\n More details at\n https://product-fabric.atlassian.net/wiki/spaces/~455502413/pages/3149365890/ED-14110+Investigation\n */\n\t\tli p:empty,\n\t\tli p > span:empty {\n\t\t\t", "\n\t\t}\n\t}\n\n\t", ", ", " {\n\t\t/*\n Ensures list item content adheres to the list's margin instead\n of filling the entire block row. This is important to allow\n clicking interactive elements which are floated next to a list.\n\n For some history and context on this block, see PRs related to tickets.:\n @see ED-6551 - original issue.\n @see ED-7015 - follow up issue.\n @see ED-7447 - flow-root change.\n\n We use 'display: table' (old clear fix / new block formatting context hack)\n for older browsers and 'flow-root' for modern browsers.\n\n @see https://css-tricks.com/display-flow-root/\n */\n\t\t/* For older browsers the do not support flow-root. */\n\t\t/* stylelint-disable declaration-block-no-duplicate-properties */\n\t\tdisplay: table;\n\t\tdisplay: flow-root;\n\t\t/* stylelint-enable declaration-block-no-duplicate-properties */\n\t}\n\n\t/* =============== INDENTATION AESTHETICS ========= */\n\n\t/**\n We support nested lists up to six levels deep.\n **/\n\n\t/* LEGACY LISTS */\n\n\tul,\n\tul ul ul ul {\n\t\tlist-style-type: disc;\n\t}\n\n\tul ul,\n\tul ul ul ul ul {\n\t\tlist-style-type: circle;\n\t}\n\n\tul ul ul,\n\tul ul ul ul ul ul {\n\t\tlist-style-type: square;\n\t}\n\n\tol,\n\tol ol ol ol {\n\t\tlist-style-type: decimal;\n\t}\n\tol ol,\n\tol ol ol ol ol {\n\t\tlist-style-type: lower-alpha;\n\t}\n\tol ol ol,\n\tol ol ol ol ol ol {\n\t\tlist-style-type: lower-roman;\n\t}\n\n\t/* PREDICTABLE LISTS */\n\n\tol[data-indent-level='1'],\n\tol[data-indent-level='4'] {\n\t\tlist-style-type: decimal;\n\t}\n\n\tol[data-indent-level='2'],\n\tol[data-indent-level='5'] {\n\t\tlist-style-type: lower-alpha;\n\t}\n\n\tol[data-indent-level='3'],\n\tol[data-indent-level='6'] {\n\t\tlist-style-type: lower-roman;\n\t}\n\n\tul[data-indent-level='1'],\n\tul[data-indent-level='4'] {\n\t\tlist-style-type: disc;\n\t}\n\n\tul[data-indent-level='2'],\n\tul[data-indent-level='5'] {\n\t\tlist-style-type: circle;\n\t}\n\n\tul[data-indent-level='3'],\n\tul[data-indent-level='6'] {\n\t\tlist-style-type: square;\n\t}\n"])), CSS_VAR_NAMES.ITEM_COUNTER_PADDING, listItemCounterPadding, browser.gecko ? 'display: inline-block;' : '', orderedListSelector, bulletListSelector);
|
|
@@ -20,7 +20,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
|
|
|
20
20
|
import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
21
21
|
import Layer from '../Layer';
|
|
22
22
|
var packageName = "@atlaskit/editor-common";
|
|
23
|
-
var packageVersion = "105.
|
|
23
|
+
var packageVersion = "105.4.0";
|
|
24
24
|
var halfFocusRing = 1;
|
|
25
25
|
var dropOffset = '0, 8';
|
|
26
26
|
// Ignored via go/ees005
|
package/dist/esm/utils/table.js
CHANGED
|
@@ -2,10 +2,17 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
2
2
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* accounts for tables with uneven rows.
|
|
5
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **entire table**.
|
|
7
6
|
*
|
|
8
|
-
*
|
|
7
|
+
* Warning: the entire table is scanned and should only be used if where the table can be in a broken state such that rows have different number of cells (e.g. in **renderer**).
|
|
8
|
+
* @param node - Table node
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const columnWidths = getColumnWidths(tableNode);
|
|
12
|
+
* console.log(columnWidths);
|
|
13
|
+
* // Output: [100, 200, 300]
|
|
14
|
+
* ```
|
|
15
|
+
* @returns Array<number>
|
|
9
16
|
*/
|
|
10
17
|
export function getColumnWidths(node) {
|
|
11
18
|
var tableColumnWidths = [];
|
|
@@ -32,11 +39,25 @@ export function getColumnWidths(node) {
|
|
|
32
39
|
});
|
|
33
40
|
return tableColumnWidths;
|
|
34
41
|
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **first row**.
|
|
45
|
+
*
|
|
46
|
+
* Warning: is preferred and should be used if the table is not in a broken state (e.g. in **editor**).
|
|
47
|
+
* @param node - Table node
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* const columnWidths = calcTableColumnWidths(tableNode);
|
|
51
|
+
* console.log(columnWidths);
|
|
52
|
+
* // Output: [100, 200, 300]
|
|
53
|
+
* ```
|
|
54
|
+
* @returns Array<number>
|
|
55
|
+
*/
|
|
35
56
|
export function calcTableColumnWidths(node) {
|
|
36
57
|
// Ignored via go/ees007
|
|
37
58
|
// eslint-disable-next-line @atlaskit/editor/enforce-todo-comment-format
|
|
38
59
|
// TODO: replaced with getColumnWidths, which correctly scans entire table for column widths
|
|
39
|
-
if (fg('platform_editor_table_row_span_fix')) {
|
|
60
|
+
if (fg('platform_editor_table_row_span_fix') || fg('platform_editor_table_row_span_fix_all')) {
|
|
40
61
|
var _firstRow = node.firstChild;
|
|
41
62
|
var _tableColumnWidths = [];
|
|
42
63
|
if (_firstRow) {
|
|
@@ -74,6 +95,12 @@ export function calcTableColumnWidths(node) {
|
|
|
74
95
|
}
|
|
75
96
|
return tableColumnWidths;
|
|
76
97
|
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
*
|
|
101
|
+
* @param tableNode
|
|
102
|
+
* @example
|
|
103
|
+
*/
|
|
77
104
|
export function hasMergedCell(tableNode) {
|
|
78
105
|
var hasSpan = false;
|
|
79
106
|
tableNode.descendants(function (node) {
|
|
@@ -90,6 +117,12 @@ export function hasMergedCell(tableNode) {
|
|
|
90
117
|
});
|
|
91
118
|
return hasSpan;
|
|
92
119
|
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
*
|
|
123
|
+
* @param tableNode
|
|
124
|
+
* @example
|
|
125
|
+
*/
|
|
93
126
|
export function convertProsemirrorTableNodeToArrayOfRows(tableNode) {
|
|
94
127
|
var result = [];
|
|
95
128
|
tableNode.forEach(function (rowNode) {
|
|
@@ -109,6 +142,13 @@ export function convertProsemirrorTableNodeToArrayOfRows(tableNode) {
|
|
|
109
142
|
Returns true when a sibling node, or any of the parent's sibling
|
|
110
143
|
nodes are a tableRow
|
|
111
144
|
*/
|
|
145
|
+
/**
|
|
146
|
+
*
|
|
147
|
+
* @param pos
|
|
148
|
+
* @param schema
|
|
149
|
+
* @param direction
|
|
150
|
+
* @example
|
|
151
|
+
*/
|
|
112
152
|
export function isPositionNearTableRow(pos, schema, direction) {
|
|
113
153
|
if (!schema.nodes.tableRow) {
|
|
114
154
|
return false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ACTION, type ACTION_SUBJECT, type ACTION_SUBJECT_ID } from './enums';
|
|
2
|
-
import { TrackAEP, type OperationalAEP } from './utils';
|
|
2
|
+
import { type TrackAEP, type OperationalAEP } from './utils';
|
|
3
3
|
export type UserPreferencesInitialisedAEP = OperationalAEP<ACTION.INITIALISED, ACTION_SUBJECT.USER_PREFERENCES, ACTION_SUBJECT_ID.SELECTION_TOOLBAR_PREFERENCES, {
|
|
4
4
|
toolbarDocking: string | null;
|
|
5
5
|
}>;
|
|
@@ -1,12 +1,49 @@
|
|
|
1
1
|
import type { Node as PmNode, ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* accounts for tables with uneven rows.
|
|
3
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **entire table**.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
5
|
+
* Warning: the entire table is scanned and should only be used if where the table can be in a broken state such that rows have different number of cells (e.g. in **renderer**).
|
|
6
|
+
* @param node - Table node
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const columnWidths = getColumnWidths(tableNode);
|
|
10
|
+
* console.log(columnWidths);
|
|
11
|
+
* // Output: [100, 200, 300]
|
|
12
|
+
* ```
|
|
13
|
+
* @returns Array<number>
|
|
7
14
|
*/
|
|
8
15
|
export declare function getColumnWidths(node: PmNode): number[];
|
|
16
|
+
/**
|
|
17
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **first row**.
|
|
18
|
+
*
|
|
19
|
+
* Warning: is preferred and should be used if the table is not in a broken state (e.g. in **editor**).
|
|
20
|
+
* @param node - Table node
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const columnWidths = calcTableColumnWidths(tableNode);
|
|
24
|
+
* console.log(columnWidths);
|
|
25
|
+
* // Output: [100, 200, 300]
|
|
26
|
+
* ```
|
|
27
|
+
* @returns Array<number>
|
|
28
|
+
*/
|
|
9
29
|
export declare function calcTableColumnWidths(node: PmNode): number[];
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param tableNode
|
|
33
|
+
* @example
|
|
34
|
+
*/
|
|
10
35
|
export declare function hasMergedCell(tableNode: PmNode): boolean;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param tableNode
|
|
39
|
+
* @example
|
|
40
|
+
*/
|
|
11
41
|
export declare function convertProsemirrorTableNodeToArrayOfRows(tableNode: PmNode): Array<Array<PmNode | null>>;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param pos
|
|
45
|
+
* @param schema
|
|
46
|
+
* @param direction
|
|
47
|
+
* @example
|
|
48
|
+
*/
|
|
12
49
|
export declare function isPositionNearTableRow(pos: ResolvedPos, schema: Schema, direction: 'before' | 'after'): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ACTION, type ACTION_SUBJECT, type ACTION_SUBJECT_ID } from './enums';
|
|
2
|
-
import { TrackAEP, type OperationalAEP } from './utils';
|
|
2
|
+
import { type TrackAEP, type OperationalAEP } from './utils';
|
|
3
3
|
export type UserPreferencesInitialisedAEP = OperationalAEP<ACTION.INITIALISED, ACTION_SUBJECT.USER_PREFERENCES, ACTION_SUBJECT_ID.SELECTION_TOOLBAR_PREFERENCES, {
|
|
4
4
|
toolbarDocking: string | null;
|
|
5
5
|
}>;
|
|
@@ -1,12 +1,49 @@
|
|
|
1
1
|
import type { Node as PmNode, ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* accounts for tables with uneven rows.
|
|
3
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **entire table**.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
5
|
+
* Warning: the entire table is scanned and should only be used if where the table can be in a broken state such that rows have different number of cells (e.g. in **renderer**).
|
|
6
|
+
* @param node - Table node
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const columnWidths = getColumnWidths(tableNode);
|
|
10
|
+
* console.log(columnWidths);
|
|
11
|
+
* // Output: [100, 200, 300]
|
|
12
|
+
* ```
|
|
13
|
+
* @returns Array<number>
|
|
7
14
|
*/
|
|
8
15
|
export declare function getColumnWidths(node: PmNode): number[];
|
|
16
|
+
/**
|
|
17
|
+
* Returns an array of column widths (0 if column width is undefined) of a given table node by scanning the **first row**.
|
|
18
|
+
*
|
|
19
|
+
* Warning: is preferred and should be used if the table is not in a broken state (e.g. in **editor**).
|
|
20
|
+
* @param node - Table node
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const columnWidths = calcTableColumnWidths(tableNode);
|
|
24
|
+
* console.log(columnWidths);
|
|
25
|
+
* // Output: [100, 200, 300]
|
|
26
|
+
* ```
|
|
27
|
+
* @returns Array<number>
|
|
28
|
+
*/
|
|
9
29
|
export declare function calcTableColumnWidths(node: PmNode): number[];
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param tableNode
|
|
33
|
+
* @example
|
|
34
|
+
*/
|
|
10
35
|
export declare function hasMergedCell(tableNode: PmNode): boolean;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param tableNode
|
|
39
|
+
* @example
|
|
40
|
+
*/
|
|
11
41
|
export declare function convertProsemirrorTableNodeToArrayOfRows(tableNode: PmNode): Array<Array<PmNode | null>>;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @param pos
|
|
45
|
+
* @param schema
|
|
46
|
+
* @param direction
|
|
47
|
+
* @example
|
|
48
|
+
*/
|
|
12
49
|
export declare function isPositionNearTableRow(pos: ResolvedPos, schema: Schema, direction: 'before' | 'after'): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-common",
|
|
3
|
-
"version": "105.
|
|
3
|
+
"version": "105.4.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/"
|
|
@@ -144,8 +144,8 @@
|
|
|
144
144
|
"@atlaskit/link-datasource": "^4.10.0",
|
|
145
145
|
"@atlaskit/link-picker": "^3.2.0",
|
|
146
146
|
"@atlaskit/media-card": "^79.2.0",
|
|
147
|
-
"@atlaskit/media-client": "^33.
|
|
148
|
-
"@atlaskit/media-client-react": "^4.
|
|
147
|
+
"@atlaskit/media-client": "^33.3.0",
|
|
148
|
+
"@atlaskit/media-client-react": "^4.1.0",
|
|
149
149
|
"@atlaskit/media-common": "^12.0.0",
|
|
150
150
|
"@atlaskit/media-file-preview": "^0.11.0",
|
|
151
151
|
"@atlaskit/media-picker": "^69.0.0",
|
|
@@ -158,8 +158,8 @@
|
|
|
158
158
|
"@atlaskit/platform-feature-flags-react": "^0.2.0",
|
|
159
159
|
"@atlaskit/popper": "^7.0.0",
|
|
160
160
|
"@atlaskit/primitives": "^14.7.0",
|
|
161
|
-
"@atlaskit/profilecard": "^23.
|
|
162
|
-
"@atlaskit/react-ufo": "^3.
|
|
161
|
+
"@atlaskit/profilecard": "^23.15.0",
|
|
162
|
+
"@atlaskit/react-ufo": "^3.12.0",
|
|
163
163
|
"@atlaskit/section-message": "^8.2.0",
|
|
164
164
|
"@atlaskit/smart-card": "^38.1.0",
|
|
165
165
|
"@atlaskit/smart-user-picker": "^8.0.0",
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
"@atlaskit/task-decision": "^19.2.0",
|
|
168
168
|
"@atlaskit/textfield": "^8.0.0",
|
|
169
169
|
"@atlaskit/theme": "^18.0.0",
|
|
170
|
-
"@atlaskit/tmp-editor-statsig": "^4.
|
|
170
|
+
"@atlaskit/tmp-editor-statsig": "^4.22.0",
|
|
171
171
|
"@atlaskit/tokens": "^4.8.0",
|
|
172
172
|
"@atlaskit/tooltip": "^20.0.0",
|
|
173
173
|
"@atlaskit/width-detector": "^5.0.0",
|
|
@@ -290,6 +290,9 @@
|
|
|
290
290
|
"platform_editor_table_row_span_fix": {
|
|
291
291
|
"type": "boolean"
|
|
292
292
|
},
|
|
293
|
+
"platform_editor_table_row_span_fix_all": {
|
|
294
|
+
"type": "boolean"
|
|
295
|
+
},
|
|
293
296
|
"platform-component-visual-refresh": {
|
|
294
297
|
"type": "boolean"
|
|
295
298
|
},
|