@atlaskit/editor-common 111.8.3 → 111.8.5
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 +21 -0
- package/afm-products/tsconfig.json +1 -1
- package/dist/cjs/analytics/types/enums.js +1 -0
- package/dist/cjs/collab/index.js +1 -1
- package/dist/cjs/element-browser/components/ElementList/EmptyState.js +1 -1
- package/dist/cjs/extensibility/Extension/Extension/index.js +11 -7
- package/dist/cjs/extensibility/Extension/Lozenge/EditToggle.js +1 -1
- package/dist/cjs/extensibility/Extension/Lozenge/ExtensionLabel.js +1 -1
- package/dist/cjs/extensibility/MultiBodiedExtension/index.js +11 -5
- package/dist/cjs/extensibility/utils/should-extension-breakout.js +32 -0
- package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/cjs/messages/mentions.js +10 -0
- package/dist/cjs/messages/syncBlock.js +5 -0
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/react-node-view/generateUniqueNodeKey.js +1 -0
- package/dist/cjs/styles/shared/headings.js +1 -1
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/unsupported-content-helper.js +3 -1
- package/dist/cjs/utils/breakout.js +1 -0
- package/dist/es2019/analytics/types/enums.js +1 -0
- package/dist/es2019/collab/index.js +1 -1
- package/dist/es2019/element-browser/components/ElementList/EmptyState.js +1 -1
- package/dist/es2019/extensibility/Extension/Extension/index.js +11 -7
- package/dist/es2019/extensibility/Extension/Lozenge/EditToggle.js +1 -1
- package/dist/es2019/extensibility/Extension/Lozenge/ExtensionLabel.js +1 -1
- package/dist/es2019/extensibility/MultiBodiedExtension/index.js +11 -5
- package/dist/es2019/extensibility/utils/should-extension-breakout.js +26 -0
- package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/es2019/messages/mentions.js +10 -0
- package/dist/es2019/messages/syncBlock.js +5 -0
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/react-node-view/generateUniqueNodeKey.js +2 -0
- package/dist/es2019/styles/shared/headings.js +1 -1
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui/MediaSingle/styled.js +3 -1
- package/dist/es2019/ui/unsupported-content-helper.js +3 -1
- package/dist/es2019/utils/breakout.js +1 -0
- package/dist/esm/analytics/types/enums.js +1 -0
- package/dist/esm/collab/index.js +1 -1
- package/dist/esm/element-browser/components/ElementList/EmptyState.js +1 -1
- package/dist/esm/extensibility/Extension/Extension/index.js +11 -7
- package/dist/esm/extensibility/Extension/Lozenge/EditToggle.js +1 -1
- package/dist/esm/extensibility/Extension/Lozenge/ExtensionLabel.js +1 -1
- package/dist/esm/extensibility/MultiBodiedExtension/index.js +11 -5
- package/dist/esm/extensibility/utils/should-extension-breakout.js +26 -0
- package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/esm/messages/mentions.js +10 -0
- package/dist/esm/messages/syncBlock.js +5 -0
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/react-node-view/generateUniqueNodeKey.js +2 -0
- package/dist/esm/styles/shared/headings.js +1 -1
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/unsupported-content-helper.js +3 -1
- package/dist/esm/utils/breakout.js +1 -0
- package/dist/types/analytics/types/ai-unified-events.d.ts +4 -1
- package/dist/types/analytics/types/enums.d.ts +1 -0
- package/dist/types/extensibility/utils/should-extension-breakout.d.ts +8 -0
- package/dist/types/messages/mentions.d.ts +10 -0
- package/dist/types/messages/syncBlock.d.ts +5 -0
- package/dist/types/provider-helpers/combine-providers.d.ts +1 -1
- package/dist/types/utils/breakout.d.ts +10 -10
- package/dist/types-ts4.5/analytics/types/ai-unified-events.d.ts +4 -1
- package/dist/types-ts4.5/analytics/types/enums.d.ts +1 -0
- package/dist/types-ts4.5/extensibility/utils/should-extension-breakout.d.ts +8 -0
- package/dist/types-ts4.5/messages/mentions.d.ts +10 -0
- package/dist/types-ts4.5/messages/syncBlock.d.ts +5 -0
- package/dist/types-ts4.5/provider-helpers/combine-providers.d.ts +1 -1
- package/dist/types-ts4.5/utils/breakout.d.ts +10 -10
- package/package.json +4 -4
- package/build/tsconfig.json +0 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @atlaskit/editor-common
|
|
2
2
|
|
|
3
|
+
## 111.8.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`498fc3298e069`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/498fc3298e069) -
|
|
8
|
+
[ux] EDITOR-3463: Keep extension breakout aligned with page width in full-width and max modes. The
|
|
9
|
+
rollout is guarded by `confluence_max_width_content_appearance` and the new
|
|
10
|
+
`confluence_max_width_breakout_extension_fix` experiment so the bugfix can be toggled
|
|
11
|
+
independently.
|
|
12
|
+
- [`b34b724d67362`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b34b724d67362) -
|
|
13
|
+
Improve AI analytics by ensuring attributes are set and firing additional free gen events
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
16
|
+
## 111.8.4
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- [`7b1f7ff1a2235`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7b1f7ff1a2235) -
|
|
21
|
+
[ux] [EDITOR-4536] Update synced location dropdown UI
|
|
22
|
+
- Updated dependencies
|
|
23
|
+
|
|
3
24
|
## 111.8.3
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -43,6 +43,7 @@ var ACTION = exports.ACTION = /*#__PURE__*/function (ACTION) {
|
|
|
43
43
|
ACTION["DECREMENTED"] = "decremented";
|
|
44
44
|
ACTION["DELETED"] = "deleted";
|
|
45
45
|
ACTION["DISCARDED_INVALID_STEPS_FROM_TRANSACTION"] = "discardedInvalidStepsFromTransaction";
|
|
46
|
+
ACTION["DISCARDED"] = "discarded";
|
|
46
47
|
/** used in @atlassian/editor-referentiality */
|
|
47
48
|
ACTION["DISCONNECTED_SOURCE"] = "disconnectedSource";
|
|
48
49
|
/** used in @atlassian/editor-referentiality */
|
package/dist/cjs/collab/index.js
CHANGED
|
@@ -141,7 +141,7 @@ var TELEPOINTER_DATA_SESSION_ID_ATTR = exports.TELEPOINTER_DATA_SESSION_ID_ATTR
|
|
|
141
141
|
// ED-22557: Safely convert to object styling
|
|
142
142
|
// Disable top: -14px since it is necessary to align to cursor
|
|
143
143
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview, @atlaskit/design-system/no-css-tagged-template-expression, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
144
|
-
var telepointerStyle = exports.telepointerStyle = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t@keyframes pulseIn {\n\t\t0%,\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t\t10% {\n\t\t\ttransform: scaleX(1.4);\n\t\t\topacity: 1;\n\t\t}\n\t\t15%,\n\t\t85% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t@keyframes pulseOut {\n\t\t0%,\n\t\t90%,\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t10%,\n\t\t80% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseInDuringTr {\n\t\t0%,\n\t\t95% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseOutDuringTr {\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t0%,\n\t\t90% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ProseMirror .telepointer {\n\t\tposition: relative;\n\t\ttransition: opacity 200ms;\n\n\t\t&.telepointer-selection:not(.inlineNodeView) {\n\t\t\tline-height: 1.2;\n\t\t\tpointer-events: none;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&.telepointer-selection-badge {\n\t\t\t.telepointer-initial,\n\t\t\t.telepointer-fullname {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\tuser-select: none;\n\t\t\t\twhite-space: pre;\n\t\t\t\ttop: -14px;\n\t\t\t\tleft: 0px;\n\t\t\t\tfont: ", ";\n\t\t\t\tpadding-left: ", ";\n\t\t\t\tpadding-right: ", ";\n\t\t\t\tborder-radius: 0 2px 2px 0;\n\t\t\t}\n\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity 0.15s ease-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scaleX(0);\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransition:\n\t\t\t\t\ttransform 0.15s ease-out,\n\t\t\t\t\topacity 0.15s ease-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOut 2.5s ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseIn 2.5s ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOutDuringTr ", "ms ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseInDuringTr ", "ms ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition-delay: 150ms;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\ttransform: scaleX(1);\n\t\t\t\topacity: 1;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\topacity: 0.2;\n\t\t}\n\n\t\t", ";\n\t}\n"])), "var(--ds-font-body-small, normal 400
|
|
144
|
+
var telepointerStyle = exports.telepointerStyle = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\t@keyframes pulseIn {\n\t\t0%,\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t\t10% {\n\t\t\ttransform: scaleX(1.4);\n\t\t\topacity: 1;\n\t\t}\n\t\t15%,\n\t\t85% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t@keyframes pulseOut {\n\t\t0%,\n\t\t90%,\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t10%,\n\t\t80% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseInDuringTr {\n\t\t0%,\n\t\t95% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseOutDuringTr {\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t0%,\n\t\t90% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ProseMirror .telepointer {\n\t\tposition: relative;\n\t\ttransition: opacity 200ms;\n\n\t\t&.telepointer-selection:not(.inlineNodeView) {\n\t\t\tline-height: 1.2;\n\t\t\tpointer-events: none;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&.telepointer-selection-badge {\n\t\t\t.telepointer-initial,\n\t\t\t.telepointer-fullname {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\tuser-select: none;\n\t\t\t\twhite-space: pre;\n\t\t\t\ttop: -14px;\n\t\t\t\tleft: 0px;\n\t\t\t\tfont: ", ";\n\t\t\t\tpadding-left: ", ";\n\t\t\t\tpadding-right: ", ";\n\t\t\t\tborder-radius: 0 2px 2px 0;\n\t\t\t}\n\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity 0.15s ease-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scaleX(0);\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransition:\n\t\t\t\t\ttransform 0.15s ease-out,\n\t\t\t\t\topacity 0.15s ease-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOut 2.5s ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseIn 2.5s ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOutDuringTr ", "ms ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseInDuringTr ", "ms ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition-delay: 150ms;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\ttransform: scaleX(1);\n\t\t\t\topacity: 1;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\topacity: 0.2;\n\t\t}\n\n\t\t", ";\n\t}\n"])), "var(--ds-font-body-small, normal 400 12px/16px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)", "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)", TELEPOINTER_PULSE_CLASS, TELEPOINTER_PULSE_DURING_TR_CLASS, TELEPOINTER_PULSE_DURING_TR_DURATION_MS, TELEPOINTER_PULSE_DURING_TR_DURATION_MS, TELEPOINTER_DIM_CLASS, _editorSharedStyles.participantColors.map(function (participantColor, index) {
|
|
145
145
|
return telepointerColorStyle(participantColor.backgroundColor, participantColor.textColor, index);
|
|
146
146
|
}));
|
|
147
147
|
var tintKey = 'collab:isDirtyTransaction';
|
|
@@ -59,7 +59,7 @@ function EmptyState(_ref) {
|
|
|
59
59
|
})))));
|
|
60
60
|
}
|
|
61
61
|
var emptyStateHeading = (0, _react2.css)({
|
|
62
|
-
font: "var(--ds-font-heading-medium, normal
|
|
62
|
+
font: "var(--ds-font-heading-medium, normal 653 20px/24px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
63
63
|
color: "var(--ds-text, rgb(23, 43, 77))",
|
|
64
64
|
marginTop: "var(--ds-space-300, 24px)"
|
|
65
65
|
});
|
|
@@ -17,6 +17,7 @@ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
|
17
17
|
var _hooks = require("../../../hooks");
|
|
18
18
|
var _ui = require("../../../ui");
|
|
19
19
|
var _utils = require("../../../utils");
|
|
20
|
+
var _shouldExtensionBreakout = require("../../utils/should-extension-breakout");
|
|
20
21
|
var _LegacyContentHeader = require("../LegacyContentHeader");
|
|
21
22
|
var _Lozenge = _interopRequireDefault(require("../Lozenge"));
|
|
22
23
|
var _styles = require("../styles");
|
|
@@ -82,13 +83,16 @@ function ExtensionWithPluginState(props) {
|
|
|
82
83
|
var pos = typeof getPos === 'function' ? getPos() : undefined;
|
|
83
84
|
return typeof pos !== 'undefined' && !isNaN(pos) && view.state.doc.resolve(pos).depth === 0;
|
|
84
85
|
}, [view, getPos]);
|
|
85
|
-
var
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
86
|
+
var layout = node.attrs.layout;
|
|
87
|
+
var legacyShouldBreakout = ['full-width', 'wide'].includes(layout) && isTopLevelNode && editorAppearance !== 'full-width';
|
|
88
|
+
var tinymceFullWidthModeEnabled = (0, _expValEquals.expValEquals)('confluence_max_width_content_appearance', 'isEnabled', true);
|
|
89
|
+
var breakoutExtensionFixEnabled = (0, _expValEquals.expValEquals)('confluence_max_width_breakout_extension_fix', 'isEnabled', true);
|
|
90
|
+
var shouldUseBreakoutFix = tinymceFullWidthModeEnabled && breakoutExtensionFixEnabled;
|
|
91
|
+
var shouldBreakout = shouldUseBreakoutFix ? (0, _shouldExtensionBreakout.shouldExtensionBreakout)({
|
|
92
|
+
layout: layout,
|
|
93
|
+
isTopLevelNode: isTopLevelNode,
|
|
94
|
+
editorAppearance: editorAppearance
|
|
95
|
+
}) : legacyShouldBreakout;
|
|
92
96
|
|
|
93
97
|
// We don't want to show border for non-empty 1p bodied extensions in live pages
|
|
94
98
|
var show1PBodiedExtensionBorder = showUpdatedLivePages1PBodiedExtensionUI ? (0, _extensionUtils.isEmptyBodiedMacro)(node) : true;
|
|
@@ -42,7 +42,7 @@ var buttonStyles = (0, _react2.css)({
|
|
|
42
42
|
borderRadius: "var(--ds-radius-small, 4px)",
|
|
43
43
|
paddingLeft: "var(--ds-space-150, 12px)",
|
|
44
44
|
paddingRight: "var(--ds-space-150, 12px)",
|
|
45
|
-
font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
45
|
+
font: "var(--ds-font-body, normal 400 14px/20px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
46
46
|
'&:hover': {
|
|
47
47
|
backgroundColor: "var(--ds-background-input-hovered, #F8F8F8)"
|
|
48
48
|
},
|
|
@@ -88,7 +88,7 @@ var labelStyles = (0, _react.css)({
|
|
|
88
88
|
'&.remove-nested-left-margin': {
|
|
89
89
|
marginLeft: 0
|
|
90
90
|
},
|
|
91
|
-
font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
91
|
+
font: "var(--ds-font-body, normal 400 14px/20px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
92
92
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
|
|
93
93
|
'&.with-bodied-macro-live-page-styles': {
|
|
94
94
|
backgroundColor: "var(--ds-background-input, #FFFFFF)",
|
|
@@ -20,6 +20,7 @@ var _hooks = require("../../hooks");
|
|
|
20
20
|
var _MultiBodiedExtension = require("../../ui/MultiBodiedExtension");
|
|
21
21
|
var _utils = require("../../utils");
|
|
22
22
|
var _Lozenge = _interopRequireDefault(require("../Extension/Lozenge"));
|
|
23
|
+
var _shouldExtensionBreakout = require("../utils/should-extension-breakout");
|
|
23
24
|
var _actionApi = require("./action-api");
|
|
24
25
|
var _styles = require("./styles");
|
|
25
26
|
var _excluded = ["url"];
|
|
@@ -152,11 +153,16 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
|
|
|
152
153
|
var extensionHandlerResult = _react.default.useMemo(function () {
|
|
153
154
|
return tryExtensionHandler(actions);
|
|
154
155
|
}, [tryExtensionHandler, actions]);
|
|
155
|
-
var
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
156
|
+
var layout = node.attrs.layout;
|
|
157
|
+
var legacyShouldBreakout = ['full-width', 'wide'].includes(layout) && editorAppearance !== 'full-width';
|
|
158
|
+
var tinymceFullWidthModeEnabled = (0, _expValEquals.expValEquals)('confluence_max_width_content_appearance', 'isEnabled', true);
|
|
159
|
+
var breakoutExtensionFixEnabled = (0, _expValEquals.expValEquals)('confluence_max_width_breakout_extension_fix', 'isEnabled', true);
|
|
160
|
+
var shouldUseBreakoutFix = tinymceFullWidthModeEnabled && breakoutExtensionFixEnabled;
|
|
161
|
+
var shouldBreakout = shouldUseBreakoutFix ? (0, _shouldExtensionBreakout.shouldExtensionBreakout)({
|
|
162
|
+
layout: layout,
|
|
163
|
+
editorAppearance: editorAppearance,
|
|
164
|
+
isTopLevelNode: true
|
|
165
|
+
}) : legacyShouldBreakout;
|
|
160
166
|
var mbeWrapperStyles = {};
|
|
161
167
|
if (shouldBreakout) {
|
|
162
168
|
var _calculateBreakoutSty = (0, _utils.calculateBreakoutStyles)({
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.shouldExtensionBreakout = void 0;
|
|
7
|
+
var breakoutLayouts = new Set(['full-width', 'wide']);
|
|
8
|
+
var shouldRespectBreakoutForAppearance = function shouldRespectBreakoutForAppearance(appearance) {
|
|
9
|
+
if (!appearance) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (appearance === 'full-width') {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (appearance === 'max') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
};
|
|
20
|
+
var shouldExtensionBreakout = exports.shouldExtensionBreakout = function shouldExtensionBreakout(_ref) {
|
|
21
|
+
var layout = _ref.layout,
|
|
22
|
+
_ref$isTopLevelNode = _ref.isTopLevelNode,
|
|
23
|
+
isTopLevelNode = _ref$isTopLevelNode === void 0 ? true : _ref$isTopLevelNode,
|
|
24
|
+
editorAppearance = _ref.editorAppearance;
|
|
25
|
+
if (!layout || !breakoutLayouts.has(layout)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
if (!isTopLevelNode) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return shouldRespectBreakoutForAppearance(editorAppearance);
|
|
32
|
+
};
|
|
@@ -79,7 +79,7 @@ var textLabelMargin = (0, _react2.css)({
|
|
|
79
79
|
var inputLabel = (0, _react2.css)({
|
|
80
80
|
color: "var(--ds-text-subtlest, #6B6E76)",
|
|
81
81
|
paddingBottom: "var(--ds-space-050, 4px)",
|
|
82
|
-
font: "var(--ds-font-body-small, normal 400
|
|
82
|
+
font: "var(--ds-font-body-small, normal 400 12px/16px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
83
83
|
fontWeight: "var(--ds-font-weight-medium, 500)"
|
|
84
84
|
});
|
|
85
85
|
var inputWrapperPosition = (0, _react2.css)({
|
|
@@ -30,5 +30,15 @@ var mentionMessages = exports.mentionMessages = (0, _reactIntlNext.defineMessage
|
|
|
30
30
|
id: 'fabric.editor.unknown.label',
|
|
31
31
|
defaultMessage: 'Unknown',
|
|
32
32
|
description: 'Label to indicate unknown mention node'
|
|
33
|
+
},
|
|
34
|
+
inviteTeammateInvalidEmail: {
|
|
35
|
+
id: 'fabric.editor.inviteItem.invalidEmail',
|
|
36
|
+
defaultMessage: 'Enter a valid email address',
|
|
37
|
+
description: 'By line text for invite teammate option shown in mentions when the email is invalid. This is a placeholder for the actual error message that will be shown to the user.'
|
|
38
|
+
},
|
|
39
|
+
sendInvite: {
|
|
40
|
+
id: 'fabric.editor.inviteItem.sendInvite',
|
|
41
|
+
defaultMessage: 'Send request to invite teammate',
|
|
42
|
+
description: 'By line text for send request to invite teammate option shown in mentions.'
|
|
33
43
|
}
|
|
34
44
|
});
|
|
@@ -250,5 +250,10 @@ var syncBlockMessages = exports.syncBlockMessages = (0, _reactIntlNext.defineMes
|
|
|
250
250
|
id: 'fabric.editor.syncedLocationDropdownSourceLozenge',
|
|
251
251
|
defaultMessage: 'Source',
|
|
252
252
|
description: 'Lozenge label shown in the synced location dropdown option when the sync block is source'
|
|
253
|
+
},
|
|
254
|
+
syncedLocationDropdownRequestAccess: {
|
|
255
|
+
id: 'fabric.editor.syncedLocationDropdownRequestAccess',
|
|
256
|
+
defaultMessage: 'Request access',
|
|
257
|
+
description: 'Label shown in the synced location dropdown option when the sync block is not accessible to the user'
|
|
253
258
|
}
|
|
254
259
|
});
|
|
@@ -19,7 +19,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
19
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
20
20
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
21
21
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
22
|
-
var packageVersion = "
|
|
22
|
+
var packageVersion = "111.8.4";
|
|
23
23
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
24
24
|
// Remove URL as it has UGC
|
|
25
25
|
// Ignored via go/ees007
|
|
@@ -8,6 +8,7 @@ exports.generateUniqueNodeKey = void 0;
|
|
|
8
8
|
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
9
9
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
10
10
|
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
12
|
var generateUniqueNodeKey = exports.generateUniqueNodeKey = function generateUniqueNodeKey() {
|
|
12
13
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
13
14
|
return (0, _v.default)();
|
|
@@ -154,7 +154,7 @@ var headingsSharedStyles = exports.headingsSharedStyles = function headingsShare
|
|
|
154
154
|
fontStyle: 'inherit',
|
|
155
155
|
lineHeight: 16 / 11,
|
|
156
156
|
color: "var(--ds-text-subtlest, #6B6E76)",
|
|
157
|
-
fontWeight: "var(--ds-font-weight-bold,
|
|
157
|
+
fontWeight: "var(--ds-font-weight-bold, 653)",
|
|
158
158
|
marginTop: '1.455em',
|
|
159
159
|
textTransform: 'none'
|
|
160
160
|
}
|
|
@@ -24,7 +24,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
24
24
|
* @jsx jsx
|
|
25
25
|
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
26
26
|
var packageName = "@atlaskit/editor-common";
|
|
27
|
-
var packageVersion = "
|
|
27
|
+
var packageVersion = "111.8.4";
|
|
28
28
|
var halfFocusRing = 1;
|
|
29
29
|
var dropOffset = '0, 8';
|
|
30
30
|
var fadeIn = (0, _react2.keyframes)({
|
|
@@ -7,7 +7,9 @@ exports.getUnsupportedContent = getUnsupportedContent;
|
|
|
7
7
|
function getUnsupportedContent(
|
|
8
8
|
// Ignored via go/ees005
|
|
9
9
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
message, prefix, node, intl
|
|
10
|
+
message, prefix, node, intl
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
+
) {
|
|
11
13
|
var defaultLocale = 'en';
|
|
12
14
|
var canTranslateToLocale = true;
|
|
13
15
|
var locale = intl ? intl.locale : defaultLocale;
|
|
@@ -108,6 +108,7 @@ var absoluteBreakoutWidth = exports.absoluteBreakoutWidth = function absoluteBre
|
|
|
108
108
|
return parseInt(breakoutWidth, 10);
|
|
109
109
|
};
|
|
110
110
|
var calcWideWidth = exports.calcWideWidth = breakoutConsts.calcWideWidth(breakoutConsts);
|
|
111
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
111
112
|
var calcBreakoutWidth = exports.calcBreakoutWidth = breakoutConsts.calcBreakoutWidth(breakoutConsts);
|
|
112
113
|
var calcBreakoutWithCustomWidth = exports.calcBreakoutWithCustomWidth = breakoutConsts.calcBreakoutWithCustomWidth(breakoutConsts);
|
|
113
114
|
function calculateBreakoutStyles(_ref) {
|
|
@@ -37,6 +37,7 @@ export let ACTION = /*#__PURE__*/function (ACTION) {
|
|
|
37
37
|
ACTION["DECREMENTED"] = "decremented";
|
|
38
38
|
ACTION["DELETED"] = "deleted";
|
|
39
39
|
ACTION["DISCARDED_INVALID_STEPS_FROM_TRANSACTION"] = "discardedInvalidStepsFromTransaction";
|
|
40
|
+
ACTION["DISCARDED"] = "discarded";
|
|
40
41
|
/** used in @atlassian/editor-referentiality */
|
|
41
42
|
ACTION["DISCONNECTED_SOURCE"] = "disconnectedSource";
|
|
42
43
|
/** used in @atlassian/editor-referentiality */
|
|
@@ -241,7 +241,7 @@ export const telepointerStyle = css`
|
|
|
241
241
|
white-space: pre;
|
|
242
242
|
top: -14px;
|
|
243
243
|
left: 0px;
|
|
244
|
-
font: ${"var(--ds-font-body-small, normal 400
|
|
244
|
+
font: ${"var(--ds-font-body-small, normal 400 12px/16px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)"};
|
|
245
245
|
padding-left: ${"var(--ds-space-050, 4px)"};
|
|
246
246
|
padding-right: ${"var(--ds-space-050, 4px)"};
|
|
247
247
|
border-radius: 0 2px 2px 0;
|
|
@@ -51,7 +51,7 @@ export default function EmptyState({
|
|
|
51
51
|
})))));
|
|
52
52
|
}
|
|
53
53
|
const emptyStateHeading = css({
|
|
54
|
-
font: "var(--ds-font-heading-medium, normal
|
|
54
|
+
font: "var(--ds-font-heading-medium, normal 653 20px/24px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
55
55
|
color: "var(--ds-text, rgb(23, 43, 77))",
|
|
56
56
|
marginTop: "var(--ds-space-300, 24px)"
|
|
57
57
|
});
|
|
@@ -14,6 +14,7 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
|
14
14
|
import { useSharedPluginStateWithSelector } from '../../../hooks';
|
|
15
15
|
import { overflowShadow } from '../../../ui';
|
|
16
16
|
import { calculateBreakoutStyles } from '../../../utils';
|
|
17
|
+
import { shouldExtensionBreakout } from '../../utils/should-extension-breakout';
|
|
17
18
|
import { LegacyContentHeader } from '../LegacyContentHeader';
|
|
18
19
|
import ExtensionLozenge from '../Lozenge';
|
|
19
20
|
import { overlay } from '../styles';
|
|
@@ -75,13 +76,16 @@ function ExtensionWithPluginState(props) {
|
|
|
75
76
|
const pos = typeof getPos === 'function' ? getPos() : undefined;
|
|
76
77
|
return typeof pos !== 'undefined' && !isNaN(pos) && view.state.doc.resolve(pos).depth === 0;
|
|
77
78
|
}, [view, getPos]);
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
const layout = node.attrs.layout;
|
|
80
|
+
const legacyShouldBreakout = ['full-width', 'wide'].includes(layout) && isTopLevelNode && editorAppearance !== 'full-width';
|
|
81
|
+
const tinymceFullWidthModeEnabled = expValEquals('confluence_max_width_content_appearance', 'isEnabled', true);
|
|
82
|
+
const breakoutExtensionFixEnabled = expValEquals('confluence_max_width_breakout_extension_fix', 'isEnabled', true);
|
|
83
|
+
const shouldUseBreakoutFix = tinymceFullWidthModeEnabled && breakoutExtensionFixEnabled;
|
|
84
|
+
const shouldBreakout = shouldUseBreakoutFix ? shouldExtensionBreakout({
|
|
85
|
+
layout,
|
|
86
|
+
isTopLevelNode,
|
|
87
|
+
editorAppearance
|
|
88
|
+
}) : legacyShouldBreakout;
|
|
85
89
|
|
|
86
90
|
// We don't want to show border for non-empty 1p bodied extensions in live pages
|
|
87
91
|
const show1PBodiedExtensionBorder = showUpdatedLivePages1PBodiedExtensionUI ? isEmptyBodiedMacro(node) : true;
|
|
@@ -34,7 +34,7 @@ const buttonStyles = css({
|
|
|
34
34
|
borderRadius: "var(--ds-radius-small, 4px)",
|
|
35
35
|
paddingLeft: "var(--ds-space-150, 12px)",
|
|
36
36
|
paddingRight: "var(--ds-space-150, 12px)",
|
|
37
|
-
font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
37
|
+
font: "var(--ds-font-body, normal 400 14px/20px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
38
38
|
'&:hover': {
|
|
39
39
|
backgroundColor: "var(--ds-background-input-hovered, #F8F8F8)"
|
|
40
40
|
},
|
|
@@ -78,7 +78,7 @@ const labelStyles = css({
|
|
|
78
78
|
'&.remove-nested-left-margin': {
|
|
79
79
|
marginLeft: 0
|
|
80
80
|
},
|
|
81
|
-
font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
81
|
+
font: "var(--ds-font-body, normal 400 14px/20px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
82
82
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
|
|
83
83
|
'&.with-bodied-macro-live-page-styles': {
|
|
84
84
|
backgroundColor: "var(--ds-background-input, #FFFFFF)",
|
|
@@ -16,6 +16,7 @@ import { useSharedPluginStateWithSelector } from '../../hooks';
|
|
|
16
16
|
import { removeMarginsAndBorder, sharedMultiBodiedExtensionStyles } from '../../ui/MultiBodiedExtension';
|
|
17
17
|
import { calculateBreakoutStyles, getExtensionLozengeData } from '../../utils';
|
|
18
18
|
import ExtensionLozenge from '../Extension/Lozenge';
|
|
19
|
+
import { shouldExtensionBreakout } from '../utils/should-extension-breakout';
|
|
19
20
|
import { useMultiBodiedExtensionActions } from './action-api';
|
|
20
21
|
import { mbeExtensionWrapperCSSStyles, overlayStyles } from './styles';
|
|
21
22
|
const getContainerCssExtendedStyles = (activeChildIndex, showMacroInteractionDesignUpdates) =>
|
|
@@ -142,11 +143,16 @@ const MultiBodiedExtensionWithWidth = ({
|
|
|
142
143
|
const extensionHandlerResult = React.useMemo(() => {
|
|
143
144
|
return tryExtensionHandler(actions);
|
|
144
145
|
}, [tryExtensionHandler, actions]);
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
146
|
+
const layout = node.attrs.layout;
|
|
147
|
+
const legacyShouldBreakout = ['full-width', 'wide'].includes(layout) && editorAppearance !== 'full-width';
|
|
148
|
+
const tinymceFullWidthModeEnabled = expValEquals('confluence_max_width_content_appearance', 'isEnabled', true);
|
|
149
|
+
const breakoutExtensionFixEnabled = expValEquals('confluence_max_width_breakout_extension_fix', 'isEnabled', true);
|
|
150
|
+
const shouldUseBreakoutFix = tinymceFullWidthModeEnabled && breakoutExtensionFixEnabled;
|
|
151
|
+
const shouldBreakout = shouldUseBreakoutFix ? shouldExtensionBreakout({
|
|
152
|
+
layout,
|
|
153
|
+
editorAppearance,
|
|
154
|
+
isTopLevelNode: true
|
|
155
|
+
}) : legacyShouldBreakout;
|
|
150
156
|
let mbeWrapperStyles = {};
|
|
151
157
|
if (shouldBreakout) {
|
|
152
158
|
const {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const breakoutLayouts = new Set(['full-width', 'wide']);
|
|
2
|
+
const shouldRespectBreakoutForAppearance = appearance => {
|
|
3
|
+
if (!appearance) {
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
if (appearance === 'full-width') {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
if (appearance === 'max') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
export const shouldExtensionBreakout = ({
|
|
15
|
+
layout,
|
|
16
|
+
isTopLevelNode = true,
|
|
17
|
+
editorAppearance
|
|
18
|
+
}) => {
|
|
19
|
+
if (!layout || !breakoutLayouts.has(layout)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (!isTopLevelNode) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return shouldRespectBreakoutForAppearance(editorAppearance);
|
|
26
|
+
};
|
|
@@ -64,7 +64,7 @@ const textLabelMargin = css({
|
|
|
64
64
|
const inputLabel = css({
|
|
65
65
|
color: "var(--ds-text-subtlest, #6B6E76)",
|
|
66
66
|
paddingBottom: "var(--ds-space-050, 4px)",
|
|
67
|
-
font: "var(--ds-font-body-small, normal 400
|
|
67
|
+
font: "var(--ds-font-body-small, normal 400 12px/16px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
68
68
|
fontWeight: "var(--ds-font-weight-medium, 500)"
|
|
69
69
|
});
|
|
70
70
|
const inputWrapperPosition = css({
|
|
@@ -24,5 +24,15 @@ export const mentionMessages = defineMessages({
|
|
|
24
24
|
id: 'fabric.editor.unknown.label',
|
|
25
25
|
defaultMessage: 'Unknown',
|
|
26
26
|
description: 'Label to indicate unknown mention node'
|
|
27
|
+
},
|
|
28
|
+
inviteTeammateInvalidEmail: {
|
|
29
|
+
id: 'fabric.editor.inviteItem.invalidEmail',
|
|
30
|
+
defaultMessage: 'Enter a valid email address',
|
|
31
|
+
description: 'By line text for invite teammate option shown in mentions when the email is invalid. This is a placeholder for the actual error message that will be shown to the user.'
|
|
32
|
+
},
|
|
33
|
+
sendInvite: {
|
|
34
|
+
id: 'fabric.editor.inviteItem.sendInvite',
|
|
35
|
+
defaultMessage: 'Send request to invite teammate',
|
|
36
|
+
description: 'By line text for send request to invite teammate option shown in mentions.'
|
|
27
37
|
}
|
|
28
38
|
});
|
|
@@ -244,5 +244,10 @@ export const syncBlockMessages = defineMessages({
|
|
|
244
244
|
id: 'fabric.editor.syncedLocationDropdownSourceLozenge',
|
|
245
245
|
defaultMessage: 'Source',
|
|
246
246
|
description: 'Lozenge label shown in the synced location dropdown option when the sync block is source'
|
|
247
|
+
},
|
|
248
|
+
syncedLocationDropdownRequestAccess: {
|
|
249
|
+
id: 'fabric.editor.syncedLocationDropdownRequestAccess',
|
|
250
|
+
defaultMessage: 'Request access',
|
|
251
|
+
description: 'Label shown in the synced location dropdown option when the sync block is not accessible to the user'
|
|
247
252
|
}
|
|
248
253
|
});
|
|
@@ -4,7 +4,7 @@ import { isFedRamp } from './environment';
|
|
|
4
4
|
import { normaliseSentryBreadcrumbs, SERIALIZABLE_ATTRIBUTES } from './normalise-sentry-breadcrumbs';
|
|
5
5
|
const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
6
6
|
const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
7
|
-
const packageVersion = "
|
|
7
|
+
const packageVersion = "111.8.4";
|
|
8
8
|
const sanitiseSentryEvents = (data, _hint) => {
|
|
9
9
|
// Remove URL as it has UGC
|
|
10
10
|
// Ignored via go/ees007
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
2
2
|
import uuid from 'uuid/v4';
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
5
|
export const generateUniqueNodeKey = () => {
|
|
4
6
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
5
7
|
return uuid();
|
|
@@ -148,7 +148,7 @@ export const headingsSharedStyles = _typographyTheme => {
|
|
|
148
148
|
fontStyle: 'inherit',
|
|
149
149
|
lineHeight: 16 / 11,
|
|
150
150
|
color: "var(--ds-text-subtlest, #6B6E76)",
|
|
151
|
-
fontWeight: "var(--ds-font-weight-bold,
|
|
151
|
+
fontWeight: "var(--ds-font-weight-bold, 653)",
|
|
152
152
|
marginTop: '1.455em',
|
|
153
153
|
textTransform: 'none'
|
|
154
154
|
},
|
|
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
|
14
14
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
15
15
|
import Layer from '../Layer';
|
|
16
16
|
const packageName = "@atlaskit/editor-common";
|
|
17
|
-
const packageVersion = "
|
|
17
|
+
const packageVersion = "111.8.4";
|
|
18
18
|
const halfFocusRing = 1;
|
|
19
19
|
const dropOffset = '0, 8';
|
|
20
20
|
const fadeIn = keyframes({
|
|
@@ -103,7 +103,9 @@ export function calcLegacyWidthForInline(layout, width, containerWidth = 0, full
|
|
|
103
103
|
* @param containerWidth
|
|
104
104
|
* @example
|
|
105
105
|
*/
|
|
106
|
-
export function calcResizedWidth(layout, width, containerWidth = 0
|
|
106
|
+
export function calcResizedWidth(layout, width, containerWidth = 0
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
108
|
+
) {
|
|
107
109
|
switch (layout) {
|
|
108
110
|
case 'wide':
|
|
109
111
|
return calcWideWidth(containerWidth);
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export function getUnsupportedContent(
|
|
2
2
|
// Ignored via go/ees005
|
|
3
3
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
|
-
message, prefix, node, intl
|
|
4
|
+
message, prefix, node, intl
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
) {
|
|
5
7
|
const defaultLocale = 'en';
|
|
6
8
|
let canTranslateToLocale = true;
|
|
7
9
|
const locale = intl ? intl.locale : defaultLocale;
|
|
@@ -85,6 +85,7 @@ export const absoluteBreakoutWidth = (layout, containerWidth) => {
|
|
|
85
85
|
};
|
|
86
86
|
export { breakoutConsts };
|
|
87
87
|
export const calcWideWidth = breakoutConsts.calcWideWidth(breakoutConsts);
|
|
88
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
88
89
|
export const calcBreakoutWidth = breakoutConsts.calcBreakoutWidth(breakoutConsts);
|
|
89
90
|
export const calcBreakoutWithCustomWidth = breakoutConsts.calcBreakoutWithCustomWidth(breakoutConsts);
|
|
90
91
|
export function calculateBreakoutStyles({
|
|
@@ -37,6 +37,7 @@ export var ACTION = /*#__PURE__*/function (ACTION) {
|
|
|
37
37
|
ACTION["DECREMENTED"] = "decremented";
|
|
38
38
|
ACTION["DELETED"] = "deleted";
|
|
39
39
|
ACTION["DISCARDED_INVALID_STEPS_FROM_TRANSACTION"] = "discardedInvalidStepsFromTransaction";
|
|
40
|
+
ACTION["DISCARDED"] = "discarded";
|
|
40
41
|
/** used in @atlassian/editor-referentiality */
|
|
41
42
|
ACTION["DISCONNECTED_SOURCE"] = "disconnectedSource";
|
|
42
43
|
/** used in @atlassian/editor-referentiality */
|
package/dist/esm/collab/index.js
CHANGED
|
@@ -158,7 +158,7 @@ export var TELEPOINTER_DATA_SESSION_ID_ATTR = 'data-telepointer-sessionid';
|
|
|
158
158
|
// ED-22557: Safely convert to object styling
|
|
159
159
|
// Disable top: -14px since it is necessary to align to cursor
|
|
160
160
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview, @atlaskit/design-system/no-css-tagged-template-expression, @atlaskit/ui-styling-standard/no-exported-styles -- Ignored via go/DSP-18766
|
|
161
|
-
export var telepointerStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t@keyframes pulseIn {\n\t\t0%,\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t\t10% {\n\t\t\ttransform: scaleX(1.4);\n\t\t\topacity: 1;\n\t\t}\n\t\t15%,\n\t\t85% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t@keyframes pulseOut {\n\t\t0%,\n\t\t90%,\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t10%,\n\t\t80% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseInDuringTr {\n\t\t0%,\n\t\t95% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseOutDuringTr {\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t0%,\n\t\t90% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ProseMirror .telepointer {\n\t\tposition: relative;\n\t\ttransition: opacity 200ms;\n\n\t\t&.telepointer-selection:not(.inlineNodeView) {\n\t\t\tline-height: 1.2;\n\t\t\tpointer-events: none;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&.telepointer-selection-badge {\n\t\t\t.telepointer-initial,\n\t\t\t.telepointer-fullname {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\tuser-select: none;\n\t\t\t\twhite-space: pre;\n\t\t\t\ttop: -14px;\n\t\t\t\tleft: 0px;\n\t\t\t\tfont: ", ";\n\t\t\t\tpadding-left: ", ";\n\t\t\t\tpadding-right: ", ";\n\t\t\t\tborder-radius: 0 2px 2px 0;\n\t\t\t}\n\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity 0.15s ease-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scaleX(0);\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransition:\n\t\t\t\t\ttransform 0.15s ease-out,\n\t\t\t\t\topacity 0.15s ease-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOut 2.5s ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseIn 2.5s ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOutDuringTr ", "ms ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseInDuringTr ", "ms ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition-delay: 150ms;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\ttransform: scaleX(1);\n\t\t\t\topacity: 1;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\topacity: 0.2;\n\t\t}\n\n\t\t", ";\n\t}\n"])), "var(--ds-font-body-small, normal 400
|
|
161
|
+
export var telepointerStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\t@keyframes pulseIn {\n\t\t0%,\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t\t10% {\n\t\t\ttransform: scaleX(1.4);\n\t\t\topacity: 1;\n\t\t}\n\t\t15%,\n\t\t85% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t@keyframes pulseOut {\n\t\t0%,\n\t\t90%,\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t10%,\n\t\t80% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseInDuringTr {\n\t\t0%,\n\t\t95% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t100% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t@keyframes pulseOutDuringTr {\n\t\t100% {\n\t\t\ttransform: scaleX(1);\n\t\t\topacity: 1;\n\t\t}\n\t\t0%,\n\t\t90% {\n\t\t\ttransform: scaleX(0);\n\t\t\topacity: 0;\n\t\t}\n\t}\n\n\t.ProseMirror .telepointer {\n\t\tposition: relative;\n\t\ttransition: opacity 200ms;\n\n\t\t&.telepointer-selection:not(.inlineNodeView) {\n\t\t\tline-height: 1.2;\n\t\t\tpointer-events: none;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&.telepointer-selection-badge {\n\t\t\t.telepointer-initial,\n\t\t\t.telepointer-fullname {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t\tuser-select: none;\n\t\t\t\twhite-space: pre;\n\t\t\t\ttop: -14px;\n\t\t\t\tleft: 0px;\n\t\t\t\tfont: ", ";\n\t\t\t\tpadding-left: ", ";\n\t\t\t\tpadding-right: ", ";\n\t\t\t\tborder-radius: 0 2px 2px 0;\n\t\t\t}\n\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity 0.15s ease-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scaleX(0);\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransition:\n\t\t\t\t\ttransform 0.15s ease-out,\n\t\t\t\t\topacity 0.15s ease-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOut 2.5s ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseIn 2.5s ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\t.telepointer-initial {\n\t\t\t\tanimation: pulseOutDuringTr ", "ms ease-in-out;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\tanimation: pulseInDuringTr ", "ms ease-in-out;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t.telepointer-initial {\n\t\t\t\topacity: 0;\n\t\t\t\ttransition-delay: 150ms;\n\t\t\t}\n\n\t\t\t.telepointer-fullname {\n\t\t\t\ttransform: scaleX(1);\n\t\t\t\topacity: 1;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\t\t}\n\n\t\t&.", " {\n\t\t\topacity: 0.2;\n\t\t}\n\n\t\t", ";\n\t}\n"])), "var(--ds-font-body-small, normal 400 12px/16px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)", "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)", TELEPOINTER_PULSE_CLASS, TELEPOINTER_PULSE_DURING_TR_CLASS, TELEPOINTER_PULSE_DURING_TR_DURATION_MS, TELEPOINTER_PULSE_DURING_TR_DURATION_MS, TELEPOINTER_DIM_CLASS, participantColors.map(function (participantColor, index) {
|
|
162
162
|
return telepointerColorStyle(participantColor.backgroundColor, participantColor.textColor, index);
|
|
163
163
|
}));
|
|
164
164
|
var tintKey = 'collab:isDirtyTransaction';
|
|
@@ -50,7 +50,7 @@ export default function EmptyState(_ref) {
|
|
|
50
50
|
})))));
|
|
51
51
|
}
|
|
52
52
|
var emptyStateHeading = css({
|
|
53
|
-
font: "var(--ds-font-heading-medium, normal
|
|
53
|
+
font: "var(--ds-font-heading-medium, normal 653 20px/24px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
54
54
|
color: "var(--ds-text, rgb(23, 43, 77))",
|
|
55
55
|
marginTop: "var(--ds-space-300, 24px)"
|
|
56
56
|
});
|
|
@@ -19,6 +19,7 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
|
19
19
|
import { useSharedPluginStateWithSelector } from '../../../hooks';
|
|
20
20
|
import { overflowShadow } from '../../../ui';
|
|
21
21
|
import { calculateBreakoutStyles } from '../../../utils';
|
|
22
|
+
import { shouldExtensionBreakout } from '../../utils/should-extension-breakout';
|
|
22
23
|
import { LegacyContentHeader } from '../LegacyContentHeader';
|
|
23
24
|
import ExtensionLozenge from '../Lozenge';
|
|
24
25
|
import { overlay } from '../styles';
|
|
@@ -75,13 +76,16 @@ function ExtensionWithPluginState(props) {
|
|
|
75
76
|
var pos = typeof getPos === 'function' ? getPos() : undefined;
|
|
76
77
|
return typeof pos !== 'undefined' && !isNaN(pos) && view.state.doc.resolve(pos).depth === 0;
|
|
77
78
|
}, [view, getPos]);
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
var layout = node.attrs.layout;
|
|
80
|
+
var legacyShouldBreakout = ['full-width', 'wide'].includes(layout) && isTopLevelNode && editorAppearance !== 'full-width';
|
|
81
|
+
var tinymceFullWidthModeEnabled = expValEquals('confluence_max_width_content_appearance', 'isEnabled', true);
|
|
82
|
+
var breakoutExtensionFixEnabled = expValEquals('confluence_max_width_breakout_extension_fix', 'isEnabled', true);
|
|
83
|
+
var shouldUseBreakoutFix = tinymceFullWidthModeEnabled && breakoutExtensionFixEnabled;
|
|
84
|
+
var shouldBreakout = shouldUseBreakoutFix ? shouldExtensionBreakout({
|
|
85
|
+
layout: layout,
|
|
86
|
+
isTopLevelNode: isTopLevelNode,
|
|
87
|
+
editorAppearance: editorAppearance
|
|
88
|
+
}) : legacyShouldBreakout;
|
|
85
89
|
|
|
86
90
|
// We don't want to show border for non-empty 1p bodied extensions in live pages
|
|
87
91
|
var show1PBodiedExtensionBorder = showUpdatedLivePages1PBodiedExtensionUI ? isEmptyBodiedMacro(node) : true;
|
|
@@ -34,7 +34,7 @@ var buttonStyles = css({
|
|
|
34
34
|
borderRadius: "var(--ds-radius-small, 4px)",
|
|
35
35
|
paddingLeft: "var(--ds-space-150, 12px)",
|
|
36
36
|
paddingRight: "var(--ds-space-150, 12px)",
|
|
37
|
-
font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
37
|
+
font: "var(--ds-font-body, normal 400 14px/20px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
38
38
|
'&:hover': {
|
|
39
39
|
backgroundColor: "var(--ds-background-input-hovered, #F8F8F8)"
|
|
40
40
|
},
|
|
@@ -79,7 +79,7 @@ var labelStyles = css({
|
|
|
79
79
|
'&.remove-nested-left-margin': {
|
|
80
80
|
marginLeft: 0
|
|
81
81
|
},
|
|
82
|
-
font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
82
|
+
font: "var(--ds-font-body, normal 400 14px/20px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
83
83
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
|
|
84
84
|
'&.with-bodied-macro-live-page-styles': {
|
|
85
85
|
backgroundColor: "var(--ds-background-input, #FFFFFF)",
|
|
@@ -21,6 +21,7 @@ import { useSharedPluginStateWithSelector } from '../../hooks';
|
|
|
21
21
|
import { removeMarginsAndBorder, sharedMultiBodiedExtensionStyles } from '../../ui/MultiBodiedExtension';
|
|
22
22
|
import { calculateBreakoutStyles, getExtensionLozengeData } from '../../utils';
|
|
23
23
|
import ExtensionLozenge from '../Extension/Lozenge';
|
|
24
|
+
import { shouldExtensionBreakout } from '../utils/should-extension-breakout';
|
|
24
25
|
import { useMultiBodiedExtensionActions } from './action-api';
|
|
25
26
|
import { mbeExtensionWrapperCSSStyles, overlayStyles } from './styles';
|
|
26
27
|
var getContainerCssExtendedStyles = function getContainerCssExtendedStyles(activeChildIndex, showMacroInteractionDesignUpdates) {
|
|
@@ -145,11 +146,16 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
|
|
|
145
146
|
var extensionHandlerResult = React.useMemo(function () {
|
|
146
147
|
return tryExtensionHandler(actions);
|
|
147
148
|
}, [tryExtensionHandler, actions]);
|
|
148
|
-
var
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
149
|
+
var layout = node.attrs.layout;
|
|
150
|
+
var legacyShouldBreakout = ['full-width', 'wide'].includes(layout) && editorAppearance !== 'full-width';
|
|
151
|
+
var tinymceFullWidthModeEnabled = expValEquals('confluence_max_width_content_appearance', 'isEnabled', true);
|
|
152
|
+
var breakoutExtensionFixEnabled = expValEquals('confluence_max_width_breakout_extension_fix', 'isEnabled', true);
|
|
153
|
+
var shouldUseBreakoutFix = tinymceFullWidthModeEnabled && breakoutExtensionFixEnabled;
|
|
154
|
+
var shouldBreakout = shouldUseBreakoutFix ? shouldExtensionBreakout({
|
|
155
|
+
layout: layout,
|
|
156
|
+
editorAppearance: editorAppearance,
|
|
157
|
+
isTopLevelNode: true
|
|
158
|
+
}) : legacyShouldBreakout;
|
|
153
159
|
var mbeWrapperStyles = {};
|
|
154
160
|
if (shouldBreakout) {
|
|
155
161
|
var _calculateBreakoutSty = calculateBreakoutStyles({
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var breakoutLayouts = new Set(['full-width', 'wide']);
|
|
2
|
+
var shouldRespectBreakoutForAppearance = function shouldRespectBreakoutForAppearance(appearance) {
|
|
3
|
+
if (!appearance) {
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
if (appearance === 'full-width') {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
if (appearance === 'max') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
export var shouldExtensionBreakout = function shouldExtensionBreakout(_ref) {
|
|
15
|
+
var layout = _ref.layout,
|
|
16
|
+
_ref$isTopLevelNode = _ref.isTopLevelNode,
|
|
17
|
+
isTopLevelNode = _ref$isTopLevelNode === void 0 ? true : _ref$isTopLevelNode,
|
|
18
|
+
editorAppearance = _ref.editorAppearance;
|
|
19
|
+
if (!layout || !breakoutLayouts.has(layout)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (!isTopLevelNode) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return shouldRespectBreakoutForAppearance(editorAppearance);
|
|
26
|
+
};
|
|
@@ -75,7 +75,7 @@ var textLabelMargin = css({
|
|
|
75
75
|
var inputLabel = css({
|
|
76
76
|
color: "var(--ds-text-subtlest, #6B6E76)",
|
|
77
77
|
paddingBottom: "var(--ds-space-050, 4px)",
|
|
78
|
-
font: "var(--ds-font-body-small, normal 400
|
|
78
|
+
font: "var(--ds-font-body-small, normal 400 12px/16px \"Atlassian Sans\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)",
|
|
79
79
|
fontWeight: "var(--ds-font-weight-medium, 500)"
|
|
80
80
|
});
|
|
81
81
|
var inputWrapperPosition = css({
|
|
@@ -24,5 +24,15 @@ export var mentionMessages = defineMessages({
|
|
|
24
24
|
id: 'fabric.editor.unknown.label',
|
|
25
25
|
defaultMessage: 'Unknown',
|
|
26
26
|
description: 'Label to indicate unknown mention node'
|
|
27
|
+
},
|
|
28
|
+
inviteTeammateInvalidEmail: {
|
|
29
|
+
id: 'fabric.editor.inviteItem.invalidEmail',
|
|
30
|
+
defaultMessage: 'Enter a valid email address',
|
|
31
|
+
description: 'By line text for invite teammate option shown in mentions when the email is invalid. This is a placeholder for the actual error message that will be shown to the user.'
|
|
32
|
+
},
|
|
33
|
+
sendInvite: {
|
|
34
|
+
id: 'fabric.editor.inviteItem.sendInvite',
|
|
35
|
+
defaultMessage: 'Send request to invite teammate',
|
|
36
|
+
description: 'By line text for send request to invite teammate option shown in mentions.'
|
|
27
37
|
}
|
|
28
38
|
});
|
|
@@ -244,5 +244,10 @@ export var syncBlockMessages = defineMessages({
|
|
|
244
244
|
id: 'fabric.editor.syncedLocationDropdownSourceLozenge',
|
|
245
245
|
defaultMessage: 'Source',
|
|
246
246
|
description: 'Lozenge label shown in the synced location dropdown option when the sync block is source'
|
|
247
|
+
},
|
|
248
|
+
syncedLocationDropdownRequestAccess: {
|
|
249
|
+
id: 'fabric.editor.syncedLocationDropdownRequestAccess',
|
|
250
|
+
defaultMessage: 'Request access',
|
|
251
|
+
description: 'Label shown in the synced location dropdown option when the sync block is not accessible to the user'
|
|
247
252
|
}
|
|
248
253
|
});
|
|
@@ -10,7 +10,7 @@ import { isFedRamp } from './environment';
|
|
|
10
10
|
import { normaliseSentryBreadcrumbs, SERIALIZABLE_ATTRIBUTES } from './normalise-sentry-breadcrumbs';
|
|
11
11
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
12
12
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
13
|
-
var packageVersion = "
|
|
13
|
+
var packageVersion = "111.8.4";
|
|
14
14
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
15
15
|
// Remove URL as it has UGC
|
|
16
16
|
// Ignored via go/ees007
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
2
2
|
import uuid from 'uuid/v4';
|
|
3
|
+
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
3
5
|
export var generateUniqueNodeKey = function generateUniqueNodeKey() {
|
|
4
6
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
5
7
|
return uuid();
|
|
@@ -153,7 +153,7 @@ export var headingsSharedStyles = function headingsSharedStyles(_typographyTheme
|
|
|
153
153
|
fontStyle: 'inherit',
|
|
154
154
|
lineHeight: 16 / 11,
|
|
155
155
|
color: "var(--ds-text-subtlest, #6B6E76)",
|
|
156
|
-
fontWeight: "var(--ds-font-weight-bold,
|
|
156
|
+
fontWeight: "var(--ds-font-weight-bold, 653)",
|
|
157
157
|
marginTop: '1.455em',
|
|
158
158
|
textTransform: 'none'
|
|
159
159
|
}
|
|
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
|
21
21
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
22
22
|
import Layer from '../Layer';
|
|
23
23
|
var packageName = "@atlaskit/editor-common";
|
|
24
|
-
var packageVersion = "
|
|
24
|
+
var packageVersion = "111.8.4";
|
|
25
25
|
var halfFocusRing = 1;
|
|
26
26
|
var dropOffset = '0, 8';
|
|
27
27
|
var fadeIn = keyframes({
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export function getUnsupportedContent(
|
|
2
2
|
// Ignored via go/ees005
|
|
3
3
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
|
-
message, prefix, node, intl
|
|
4
|
+
message, prefix, node, intl
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
) {
|
|
5
7
|
var defaultLocale = 'en';
|
|
6
8
|
var canTranslateToLocale = true;
|
|
7
9
|
var locale = intl ? intl.locale : defaultLocale;
|
|
@@ -98,6 +98,7 @@ export var absoluteBreakoutWidth = function absoluteBreakoutWidth(layout, contai
|
|
|
98
98
|
};
|
|
99
99
|
export { breakoutConsts };
|
|
100
100
|
export var calcWideWidth = breakoutConsts.calcWideWidth(breakoutConsts);
|
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
101
102
|
export var calcBreakoutWidth = breakoutConsts.calcBreakoutWidth(breakoutConsts);
|
|
102
103
|
export var calcBreakoutWithCustomWidth = breakoutConsts.calcBreakoutWithCustomWidth(breakoutConsts);
|
|
103
104
|
export function calculateBreakoutStyles(_ref) {
|
|
@@ -35,12 +35,15 @@ type AIUnifiedAgentAttributes = {
|
|
|
35
35
|
};
|
|
36
36
|
type AIInteractionInitiatedAEP = TrackAEP<ACTION.INITIATED, ACTION_SUBJECT.AI_INTERACTION, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
37
37
|
type AIInteractionDismissedAEP = TrackAEP<ACTION.DISMISSED, ACTION_SUBJECT.AI_INTERACTION, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
38
|
+
type AIInteractionDiscardedAEP = TrackAEP<ACTION.DISCARDED, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
38
39
|
type AIResultViewedAEP = TrackAEP<ACTION.VIEWED, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
39
40
|
type AIResultActionedAEP = TrackAEP<ACTION.ACTIONED, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes & {
|
|
40
41
|
aiActionedType?: string;
|
|
42
|
+
aiGroupId: string | undefined;
|
|
41
43
|
aiResultAction: string;
|
|
42
44
|
promptType?: string;
|
|
43
45
|
refinementCount?: number;
|
|
46
|
+
wasRedone?: Boolean;
|
|
44
47
|
}, undefined>;
|
|
45
48
|
type AIResultErrorAEP = TrackAEP<ACTION.ERROR, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes & {
|
|
46
49
|
aiErrorCode?: number;
|
|
@@ -49,5 +52,5 @@ type AIResultErrorAEP = TrackAEP<ACTION.ERROR, ACTION_SUBJECT.AI_RESULT, ACTION_
|
|
|
49
52
|
type AIFeedbackSubmittedAEP = TrackAEP<ACTION.SUBMITTED, ACTION_SUBJECT.AI_FEEDBACK, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes & {
|
|
50
53
|
aiFeedbackResult: 'up' | 'down';
|
|
51
54
|
}, undefined>;
|
|
52
|
-
export type AIUnifiedEventPayload = AIInteractionInitiatedAEP | AIResultViewedAEP | AIResultErrorAEP | AIInteractionDismissedAEP | AIResultActionedAEP | AIFeedbackSubmittedAEP;
|
|
55
|
+
export type AIUnifiedEventPayload = AIInteractionInitiatedAEP | AIResultViewedAEP | AIResultErrorAEP | AIInteractionDismissedAEP | AIResultActionedAEP | AIFeedbackSubmittedAEP | AIInteractionDiscardedAEP;
|
|
53
56
|
export {};
|
|
@@ -36,6 +36,7 @@ export declare enum ACTION {
|
|
|
36
36
|
DECREMENTED = "decremented",
|
|
37
37
|
DELETED = "deleted",
|
|
38
38
|
DISCARDED_INVALID_STEPS_FROM_TRANSACTION = "discardedInvalidStepsFromTransaction",
|
|
39
|
+
DISCARDED = "discarded",
|
|
39
40
|
/** used in @atlassian/editor-referentiality */
|
|
40
41
|
DISCONNECTED_SOURCE = "disconnectedSource",
|
|
41
42
|
/** used in @atlassian/editor-referentiality */
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EditorAppearance } from '../../types';
|
|
2
|
+
interface ShouldExtensionBreakoutArgs {
|
|
3
|
+
editorAppearance?: EditorAppearance;
|
|
4
|
+
isTopLevelNode?: boolean;
|
|
5
|
+
layout?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const shouldExtensionBreakout: ({ layout, isTopLevelNode, editorAppearance, }: ShouldExtensionBreakoutArgs) => boolean;
|
|
8
|
+
export {};
|
|
@@ -24,4 +24,14 @@ export declare const mentionMessages: {
|
|
|
24
24
|
defaultMessage: string;
|
|
25
25
|
description: string;
|
|
26
26
|
};
|
|
27
|
+
inviteTeammateInvalidEmail: {
|
|
28
|
+
id: string;
|
|
29
|
+
defaultMessage: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
sendInvite: {
|
|
33
|
+
id: string;
|
|
34
|
+
defaultMessage: string;
|
|
35
|
+
description: string;
|
|
36
|
+
};
|
|
27
37
|
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Handles promise racing and discards rejected promises safely.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: <P>(providers: (P | Promise<P>)[]) => {
|
|
6
|
-
invokeSingle: <T>(methodName: keyof P, args?: any[]) => Promise<T>;
|
|
7
6
|
invokeList: <T>(methodName: keyof P, args?: any[]) => Promise<T[]>;
|
|
7
|
+
invokeSingle: <T>(methodName: keyof P, args?: any[]) => Promise<T>;
|
|
8
8
|
};
|
|
9
9
|
export default _default;
|
|
@@ -43,23 +43,23 @@ export declare function calculateBreakoutStyles({ mode, widthStateLineLength, wi
|
|
|
43
43
|
*/
|
|
44
44
|
widthStateWidth?: number;
|
|
45
45
|
}): {
|
|
46
|
-
type: "line-length-unknown";
|
|
47
|
-
width: any;
|
|
48
|
-
minWidth: number;
|
|
49
46
|
display: string;
|
|
50
47
|
justifyContent: string;
|
|
51
|
-
transform: string;
|
|
52
|
-
transition: string;
|
|
53
48
|
marginLeft?: undefined;
|
|
54
|
-
} | {
|
|
55
|
-
type: "line-length-known";
|
|
56
|
-
width: any;
|
|
57
49
|
minWidth: number;
|
|
58
|
-
transition: string;
|
|
59
50
|
transform: string;
|
|
60
|
-
|
|
51
|
+
transition: string;
|
|
52
|
+
type: 'line-length-unknown';
|
|
53
|
+
width: any;
|
|
54
|
+
} | {
|
|
61
55
|
display?: undefined;
|
|
62
56
|
justifyContent?: undefined;
|
|
57
|
+
marginLeft: string;
|
|
58
|
+
minWidth: number;
|
|
59
|
+
transform: string;
|
|
60
|
+
transition: string;
|
|
61
|
+
type: 'line-length-known';
|
|
62
|
+
width: any;
|
|
63
63
|
};
|
|
64
64
|
export declare function calcBreakoutWidthPx(mode: BreakoutMarkAttrs['mode'], widthStateWidth?: number, padding?: number): number;
|
|
65
65
|
export declare const getNextBreakoutMode: (currentMode?: BreakoutMode) => Exclude<BreakoutMode, "max">;
|
|
@@ -35,12 +35,15 @@ type AIUnifiedAgentAttributes = {
|
|
|
35
35
|
};
|
|
36
36
|
type AIInteractionInitiatedAEP = TrackAEP<ACTION.INITIATED, ACTION_SUBJECT.AI_INTERACTION, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
37
37
|
type AIInteractionDismissedAEP = TrackAEP<ACTION.DISMISSED, ACTION_SUBJECT.AI_INTERACTION, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
38
|
+
type AIInteractionDiscardedAEP = TrackAEP<ACTION.DISCARDED, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
38
39
|
type AIResultViewedAEP = TrackAEP<ACTION.VIEWED, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes, undefined>;
|
|
39
40
|
type AIResultActionedAEP = TrackAEP<ACTION.ACTIONED, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes & {
|
|
40
41
|
aiActionedType?: string;
|
|
42
|
+
aiGroupId: string | undefined;
|
|
41
43
|
aiResultAction: string;
|
|
42
44
|
promptType?: string;
|
|
43
45
|
refinementCount?: number;
|
|
46
|
+
wasRedone?: Boolean;
|
|
44
47
|
}, undefined>;
|
|
45
48
|
type AIResultErrorAEP = TrackAEP<ACTION.ERROR, ACTION_SUBJECT.AI_RESULT, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes & {
|
|
46
49
|
aiErrorCode?: number;
|
|
@@ -49,5 +52,5 @@ type AIResultErrorAEP = TrackAEP<ACTION.ERROR, ACTION_SUBJECT.AI_RESULT, ACTION_
|
|
|
49
52
|
type AIFeedbackSubmittedAEP = TrackAEP<ACTION.SUBMITTED, ACTION_SUBJECT.AI_FEEDBACK, ACTION_SUBJECT_ID.EDITOR_PLUGIN_AI, AIUnifiedCommonAttributes & AIUnifiedAgentAttributes & {
|
|
50
53
|
aiFeedbackResult: 'up' | 'down';
|
|
51
54
|
}, undefined>;
|
|
52
|
-
export type AIUnifiedEventPayload = AIInteractionInitiatedAEP | AIResultViewedAEP | AIResultErrorAEP | AIInteractionDismissedAEP | AIResultActionedAEP | AIFeedbackSubmittedAEP;
|
|
55
|
+
export type AIUnifiedEventPayload = AIInteractionInitiatedAEP | AIResultViewedAEP | AIResultErrorAEP | AIInteractionDismissedAEP | AIResultActionedAEP | AIFeedbackSubmittedAEP | AIInteractionDiscardedAEP;
|
|
53
56
|
export {};
|
|
@@ -36,6 +36,7 @@ export declare enum ACTION {
|
|
|
36
36
|
DECREMENTED = "decremented",
|
|
37
37
|
DELETED = "deleted",
|
|
38
38
|
DISCARDED_INVALID_STEPS_FROM_TRANSACTION = "discardedInvalidStepsFromTransaction",
|
|
39
|
+
DISCARDED = "discarded",
|
|
39
40
|
/** used in @atlassian/editor-referentiality */
|
|
40
41
|
DISCONNECTED_SOURCE = "disconnectedSource",
|
|
41
42
|
/** used in @atlassian/editor-referentiality */
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EditorAppearance } from '../../types';
|
|
2
|
+
interface ShouldExtensionBreakoutArgs {
|
|
3
|
+
editorAppearance?: EditorAppearance;
|
|
4
|
+
isTopLevelNode?: boolean;
|
|
5
|
+
layout?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const shouldExtensionBreakout: ({ layout, isTopLevelNode, editorAppearance, }: ShouldExtensionBreakoutArgs) => boolean;
|
|
8
|
+
export {};
|
|
@@ -24,4 +24,14 @@ export declare const mentionMessages: {
|
|
|
24
24
|
defaultMessage: string;
|
|
25
25
|
description: string;
|
|
26
26
|
};
|
|
27
|
+
inviteTeammateInvalidEmail: {
|
|
28
|
+
id: string;
|
|
29
|
+
defaultMessage: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
sendInvite: {
|
|
33
|
+
id: string;
|
|
34
|
+
defaultMessage: string;
|
|
35
|
+
description: string;
|
|
36
|
+
};
|
|
27
37
|
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Handles promise racing and discards rejected promises safely.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: <P>(providers: (P | Promise<P>)[]) => {
|
|
6
|
-
invokeSingle: <T>(methodName: keyof P, args?: any[]) => Promise<T>;
|
|
7
6
|
invokeList: <T>(methodName: keyof P, args?: any[]) => Promise<T[]>;
|
|
7
|
+
invokeSingle: <T>(methodName: keyof P, args?: any[]) => Promise<T>;
|
|
8
8
|
};
|
|
9
9
|
export default _default;
|
|
@@ -43,23 +43,23 @@ export declare function calculateBreakoutStyles({ mode, widthStateLineLength, wi
|
|
|
43
43
|
*/
|
|
44
44
|
widthStateWidth?: number;
|
|
45
45
|
}): {
|
|
46
|
-
type: "line-length-unknown";
|
|
47
|
-
width: any;
|
|
48
|
-
minWidth: number;
|
|
49
46
|
display: string;
|
|
50
47
|
justifyContent: string;
|
|
51
|
-
transform: string;
|
|
52
|
-
transition: string;
|
|
53
48
|
marginLeft?: undefined;
|
|
54
|
-
} | {
|
|
55
|
-
type: "line-length-known";
|
|
56
|
-
width: any;
|
|
57
49
|
minWidth: number;
|
|
58
|
-
transition: string;
|
|
59
50
|
transform: string;
|
|
60
|
-
|
|
51
|
+
transition: string;
|
|
52
|
+
type: 'line-length-unknown';
|
|
53
|
+
width: any;
|
|
54
|
+
} | {
|
|
61
55
|
display?: undefined;
|
|
62
56
|
justifyContent?: undefined;
|
|
57
|
+
marginLeft: string;
|
|
58
|
+
minWidth: number;
|
|
59
|
+
transform: string;
|
|
60
|
+
transition: string;
|
|
61
|
+
type: 'line-length-known';
|
|
62
|
+
width: any;
|
|
63
63
|
};
|
|
64
64
|
export declare function calcBreakoutWidthPx(mode: BreakoutMarkAttrs['mode'], widthStateWidth?: number, padding?: number): number;
|
|
65
65
|
export declare const getNextBreakoutMode: (currentMode?: BreakoutMode) => Exclude<BreakoutMode, "max">;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-common",
|
|
3
|
-
"version": "111.8.
|
|
3
|
+
"version": "111.8.5",
|
|
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/"
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@atlaskit/editor-shared-styles": "^3.10.0",
|
|
49
49
|
"@atlaskit/editor-tables": "^2.9.0",
|
|
50
50
|
"@atlaskit/editor-toolbar": "^0.19.0",
|
|
51
|
-
"@atlaskit/editor-toolbar-model": "^0.
|
|
51
|
+
"@atlaskit/editor-toolbar-model": "^0.3.0",
|
|
52
52
|
"@atlaskit/emoji": "^69.10.0",
|
|
53
53
|
"@atlaskit/icon": "^29.4.0",
|
|
54
54
|
"@atlaskit/icon-object": "^7.4.0",
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
"@atlaskit/task-decision": "^19.2.0",
|
|
82
82
|
"@atlaskit/textfield": "^8.2.0",
|
|
83
83
|
"@atlaskit/theme": "^21.0.0",
|
|
84
|
-
"@atlaskit/tmp-editor-statsig": "^16.
|
|
85
|
-
"@atlaskit/tokens": "^
|
|
84
|
+
"@atlaskit/tmp-editor-statsig": "^16.24.0",
|
|
85
|
+
"@atlaskit/tokens": "^10.0.0",
|
|
86
86
|
"@atlaskit/tooltip": "^20.14.0",
|
|
87
87
|
"@atlaskit/width-detector": "^5.0.0",
|
|
88
88
|
"@babel/runtime": "^7.0.0",
|
package/build/tsconfig.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../tsconfig",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"declaration": true,
|
|
5
|
-
"target": "es5",
|
|
6
|
-
"paths": {}
|
|
7
|
-
},
|
|
8
|
-
"include": [
|
|
9
|
-
"../src/**/*.ts",
|
|
10
|
-
"../src/**/*.tsx"
|
|
11
|
-
],
|
|
12
|
-
"exclude": [
|
|
13
|
-
"../src/**/__tests__/*",
|
|
14
|
-
"../src/**/*.test.*",
|
|
15
|
-
"../src/**/test.*",
|
|
16
|
-
"../src/**/examples.*",
|
|
17
|
-
"../src/**/examples/*",
|
|
18
|
-
"../src/**/examples/**/*",
|
|
19
|
-
"../src/**/*.stories.*",
|
|
20
|
-
"../src/**/stories/*",
|
|
21
|
-
"../src/**/stories/**/*"
|
|
22
|
-
]
|
|
23
|
-
}
|