@atlaskit/renderer 133.14.2 → 133.16.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/afm-products/tsconfig.json +3 -0
  4. package/dist/cjs/messages.js +13 -1
  5. package/dist/cjs/react/nodes/heading.compiled.css +12 -0
  6. package/dist/cjs/react/nodes/heading.js +188 -48
  7. package/dist/cjs/ui/Renderer/RendererStyleContainer.js +8 -1
  8. package/dist/cjs/ui/Renderer/index.js +8 -2
  9. package/dist/cjs/ui/collapsible-headings-dom.js +138 -0
  10. package/dist/cjs/ui/collapsible-headings-section-model.js +38 -0
  11. package/dist/cjs/ui/collapsible-headings.js +232 -0
  12. package/dist/es2019/messages.js +12 -0
  13. package/dist/es2019/react/nodes/heading.compiled.css +12 -0
  14. package/dist/es2019/react/nodes/heading.js +142 -32
  15. package/dist/es2019/ui/Renderer/RendererStyleContainer.js +8 -0
  16. package/dist/es2019/ui/Renderer/index.js +8 -2
  17. package/dist/es2019/ui/collapsible-headings-dom.js +118 -0
  18. package/dist/es2019/ui/collapsible-headings-section-model.js +32 -0
  19. package/dist/es2019/ui/collapsible-headings.js +183 -0
  20. package/dist/esm/messages.js +12 -0
  21. package/dist/esm/react/nodes/heading.compiled.css +12 -0
  22. package/dist/esm/react/nodes/heading.js +188 -46
  23. package/dist/esm/ui/Renderer/RendererStyleContainer.js +8 -1
  24. package/dist/esm/ui/Renderer/index.js +8 -2
  25. package/dist/esm/ui/collapsible-headings-dom.js +129 -0
  26. package/dist/esm/ui/collapsible-headings-section-model.js +32 -0
  27. package/dist/esm/ui/collapsible-headings.js +221 -0
  28. package/dist/types/messages.d.ts +23 -21
  29. package/dist/types/react/nodes/heading.d.ts +3 -2
  30. package/dist/types/ui/collapsible-headings-dom.d.ts +14 -0
  31. package/dist/types/ui/collapsible-headings-section-model.d.ts +9 -0
  32. package/dist/types/ui/collapsible-headings.d.ts +26 -0
  33. package/dist/types/ui/renderer-props.d.ts +7 -0
  34. package/package.json +14 -13
@@ -0,0 +1,221 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
3
+ import { bind } from 'bind-event-listener';
4
+ import { COLLAPSED_CONTENT_OWNERS_ATTRIBUTE, getCollapsedContentOwners, getOwnedRendererDocuments, reconcileCollapsedHeadingContent } from './collapsible-headings-dom';
5
+ import { buildTopLevelHeadingSections } from './collapsible-headings-section-model';
6
+ var CollapsibleHeadingsContext = /*#__PURE__*/React.createContext(null);
7
+ var emptyCollapsedHeadings = new Set();
8
+ function supportsHiddenUntilFound(rendererRef) {
9
+ var _rendererRef$current;
10
+ var body = (_rendererRef$current = rendererRef.current) === null || _rendererRef$current === void 0 ? void 0 : _rendererRef$current.ownerDocument.body;
11
+ return body ? 'onbeforematch' in body : false;
12
+ }
13
+
14
+ /** Provides collapse state and synchronizes hidden top-level renderer content. */
15
+ export function CollapsibleHeadingsProvider(_ref) {
16
+ var children = _ref.children,
17
+ isEnabled = _ref.isEnabled,
18
+ pmDocument = _ref.pmDocument,
19
+ rendererRef = _ref.rendererRef;
20
+ var _useState = useState(false),
21
+ _useState2 = _slicedToArray(_useState, 2),
22
+ isBrowserFindSupported = _useState2[0],
23
+ setIsBrowserFindSupported = _useState2[1];
24
+ var _useState3 = useState({
25
+ pmDocument: pmDocument,
26
+ positions: new Set()
27
+ }),
28
+ _useState4 = _slicedToArray(_useState3, 2),
29
+ state = _useState4[0],
30
+ setState = _useState4[1];
31
+ var originalHiddenAttributes = React.useRef(new WeakMap()).current;
32
+ var sections = useMemo(function () {
33
+ return buildTopLevelHeadingSections(pmDocument);
34
+ }, [pmDocument]);
35
+ var collapsibleSectionPositions = useMemo(function () {
36
+ return new Set(sections.filter(function (section) {
37
+ return section.contentFrom < section.to;
38
+ }).map(function (section) {
39
+ return section.headingPos;
40
+ }));
41
+ }, [sections]);
42
+ var collapsedHeadings = state.pmDocument === pmDocument ? state.positions : emptyCollapsedHeadings;
43
+ var isActive = isEnabled && isBrowserFindSupported && Boolean(pmDocument);
44
+ useEffect(function () {
45
+ setIsBrowserFindSupported(isEnabled && supportsHiddenUntilFound(rendererRef));
46
+ }, [isEnabled, rendererRef]);
47
+ var updateCollapsedHeadings = useCallback(function (update) {
48
+ setState(function (currentState) {
49
+ var positions = new Set(currentState.pmDocument === pmDocument ? currentState.positions : emptyCollapsedHeadings);
50
+ if (!update(positions)) {
51
+ return currentState.pmDocument === pmDocument ? currentState : {
52
+ pmDocument: pmDocument,
53
+ positions: positions
54
+ };
55
+ }
56
+ return {
57
+ pmDocument: pmDocument,
58
+ positions: positions
59
+ };
60
+ });
61
+ }, [pmDocument]);
62
+ var collapse = useCallback(function (headingPos) {
63
+ if (!collapsibleSectionPositions.has(headingPos)) {
64
+ return;
65
+ }
66
+ updateCollapsedHeadings(function (positions) {
67
+ if (positions.has(headingPos)) {
68
+ return false;
69
+ }
70
+ positions.add(headingPos);
71
+ return true;
72
+ });
73
+ }, [collapsibleSectionPositions, updateCollapsedHeadings]);
74
+ var expand = useCallback(function (headingPos) {
75
+ updateCollapsedHeadings(function (positions) {
76
+ return positions.delete(headingPos);
77
+ });
78
+ }, [updateCollapsedHeadings]);
79
+ var expandMany = useCallback(function (headingPositions) {
80
+ var positionsToExpand = new Set(headingPositions);
81
+ updateCollapsedHeadings(function (positions) {
82
+ var didChange = false;
83
+ positionsToExpand.forEach(function (headingPos) {
84
+ didChange = positions.delete(headingPos) || didChange;
85
+ });
86
+ return didChange;
87
+ });
88
+ }, [updateCollapsedHeadings]);
89
+ var expandContainingPosition = useCallback(function (position) {
90
+ expandMany(sections.filter(function (section) {
91
+ return position >= section.contentFrom && position < section.to;
92
+ }).map(function (section) {
93
+ return section.headingPos;
94
+ }));
95
+ }, [expandMany, sections]);
96
+ var toggle = useCallback(function (headingPos) {
97
+ if (!collapsibleSectionPositions.has(headingPos)) {
98
+ return;
99
+ }
100
+ updateCollapsedHeadings(function (positions) {
101
+ if (positions.has(headingPos)) {
102
+ positions.delete(headingPos);
103
+ } else {
104
+ positions.add(headingPos);
105
+ }
106
+ return true;
107
+ });
108
+ }, [collapsibleSectionPositions, updateCollapsedHeadings]);
109
+ var contextValue = useMemo(function () {
110
+ return isActive ? {
111
+ canCollapse: function canCollapse(headingPos) {
112
+ return collapsibleSectionPositions.has(headingPos);
113
+ },
114
+ collapse: collapse,
115
+ expand: expand,
116
+ expandContainingPosition: expandContainingPosition,
117
+ expandMany: expandMany,
118
+ isCollapsed: function isCollapsed(headingPos) {
119
+ return collapsedHeadings.has(headingPos);
120
+ },
121
+ toggle: toggle
122
+ } : null;
123
+ }, [collapse, collapsedHeadings, collapsibleSectionPositions, expand, expandContainingPosition, expandMany, isActive, toggle]);
124
+ useEffect(function () {
125
+ var rendererRoot = rendererRef.current;
126
+ if (!rendererRoot) {
127
+ return;
128
+ }
129
+ var positions = isActive ? collapsedHeadings : emptyCollapsedHeadings;
130
+ var sync = function sync() {
131
+ return reconcileCollapsedHeadingContent({
132
+ collapsedHeadings: positions,
133
+ originalHiddenAttributes: originalHiddenAttributes,
134
+ rendererRoot: rendererRoot,
135
+ sections: sections
136
+ });
137
+ };
138
+ sync();
139
+ if (!isActive || positions.size === 0) {
140
+ return;
141
+ }
142
+ var rendererDocuments = getOwnedRendererDocuments(rendererRoot);
143
+ var rendererDocumentSet = new Set(rendererDocuments);
144
+ var handleBeforeMatch = function handleBeforeMatch(event) {
145
+ var _rendererRoot$ownerDo;
146
+ var target = event.target;
147
+ var HTMLElementConstructor = (_rendererRoot$ownerDo = rendererRoot.ownerDocument.defaultView) === null || _rendererRoot$ownerDo === void 0 ? void 0 : _rendererRoot$ownerDo.HTMLElement;
148
+ if (!HTMLElementConstructor || !(target instanceof HTMLElementConstructor)) {
149
+ return;
150
+ }
151
+ var collapsedContent = target.closest("[".concat(COLLAPSED_CONTENT_OWNERS_ATTRIBUTE, "]"));
152
+ if (!collapsedContent) {
153
+ return;
154
+ }
155
+ var rendererDocument = collapsedContent.closest('.ak-renderer-document');
156
+ if (!rendererDocument || !rendererDocumentSet.has(rendererDocument)) {
157
+ return;
158
+ }
159
+ expandMany(getCollapsedContentOwners(collapsedContent));
160
+ };
161
+ var unbindBeforeMatchListeners = rendererDocuments.map(function (rendererDocument) {
162
+ return bind(rendererDocument, {
163
+ type: 'beforematch',
164
+ listener: handleBeforeMatch,
165
+ options: {
166
+ capture: true
167
+ }
168
+ });
169
+ });
170
+ var observer = typeof MutationObserver === 'undefined' ? undefined : new MutationObserver(sync);
171
+ rendererDocuments.forEach(function (rendererDocument) {
172
+ observer === null || observer === void 0 || observer.observe(rendererDocument, {
173
+ childList: true
174
+ });
175
+ });
176
+ return function () {
177
+ observer === null || observer === void 0 || observer.disconnect();
178
+ unbindBeforeMatchListeners.forEach(function (unbindBeforeMatch) {
179
+ return unbindBeforeMatch();
180
+ });
181
+ };
182
+ }, [collapsedHeadings, expandMany, isActive, originalHiddenAttributes, rendererRef, sections]);
183
+ useEffect(function () {
184
+ return function () {
185
+ var rendererRoot = rendererRef.current;
186
+ if (rendererRoot) {
187
+ reconcileCollapsedHeadingContent({
188
+ collapsedHeadings: emptyCollapsedHeadings,
189
+ originalHiddenAttributes: originalHiddenAttributes,
190
+ rendererRoot: rendererRoot,
191
+ sections: []
192
+ });
193
+ }
194
+ };
195
+ }, [originalHiddenAttributes, rendererRef]);
196
+ return /*#__PURE__*/React.createElement(CollapsibleHeadingsContext.Provider, {
197
+ value: contextValue
198
+ }, children);
199
+ }
200
+
201
+ /** Returns collapse state for a top-level heading when the provider is enabled. */
202
+ export function useCollapsibleHeading(startPos, isTopLevel) {
203
+ var context = React.useContext(CollapsibleHeadingsContext);
204
+ var contextToggle = context === null || context === void 0 ? void 0 : context.toggle;
205
+ var isCollapsible = Boolean(context && isTopLevel && context.canCollapse(startPos));
206
+ var isCollapsed = Boolean(isCollapsible && (context === null || context === void 0 ? void 0 : context.isCollapsed(startPos)));
207
+ var toggle = useCallback(function () {
208
+ return contextToggle === null || contextToggle === void 0 ? void 0 : contextToggle(startPos);
209
+ }, [contextToggle, startPos]);
210
+ return useMemo(function () {
211
+ return isCollapsible ? {
212
+ isCollapsed: isCollapsed,
213
+ toggle: toggle
214
+ } : null;
215
+ }, [isCollapsed, isCollapsible, toggle]);
216
+ }
217
+
218
+ /** Returns the collapse controller for integrations such as renderer Find. */
219
+ export function useCollapsibleHeadingsController() {
220
+ return React.useContext(CollapsibleHeadingsContext);
221
+ }
@@ -1,61 +1,63 @@
1
+ import { type MessageDescriptor } from 'react-intl';
2
+ export declare const collapsibleHeadingMessages: Record<'collapseSection' | 'expandSection', MessageDescriptor>;
1
3
  export declare const headingAnchorLinkMessages: {
2
- copyHeadingLinkToClipboard: {
3
- id: string;
4
+ copiedHeadingLinkToClipboard: {
4
5
  defaultMessage: string;
5
6
  description: string;
6
- };
7
- copyLinkToClipboard: {
8
7
  id: string;
8
+ };
9
+ copyAriaLabel: {
9
10
  defaultMessage: string;
10
11
  description: string;
12
+ id: string;
11
13
  };
12
14
  copyHeadingLinkLabelledBy: {
13
- id: string;
14
15
  defaultMessage: string;
15
16
  description: string;
16
- };
17
- copiedHeadingLinkToClipboard: {
18
17
  id: string;
18
+ };
19
+ copyHeadingLinkToClipboard: {
19
20
  defaultMessage: string;
20
21
  description: string;
21
- };
22
- failedToCopyHeadingLink: {
23
22
  id: string;
23
+ };
24
+ copyLinkToClipboard: {
24
25
  defaultMessage: string;
25
26
  description: string;
26
- };
27
- copyAriaLabel: {
28
27
  id: string;
28
+ };
29
+ failedToCopyHeadingLink: {
29
30
  defaultMessage: string;
30
31
  description: string;
32
+ id: string;
31
33
  };
32
34
  };
33
35
  export declare const tableCellMessages: {
34
- noneSortingLabel: {
35
- id: string;
36
- defaultMessage: string;
37
- description: string;
38
- };
39
36
  ascSortingLabel: {
40
- id: string;
41
37
  defaultMessage: string;
42
38
  description: string;
39
+ id: string;
43
40
  };
44
41
  descSortingLabel: {
42
+ defaultMessage: string;
43
+ description: string;
45
44
  id: string;
45
+ };
46
+ noneSortingLabel: {
46
47
  defaultMessage: string;
47
48
  description: string;
49
+ id: string;
48
50
  };
49
51
  };
50
52
  export declare const inlineCommentMessages: {
51
- contentRendererInlineCommentMarkerStart: {
52
- id: string;
53
+ contentRendererInlineCommentMarkerEnd: {
53
54
  defaultMessage: string;
54
55
  description: string;
55
- };
56
- contentRendererInlineCommentMarkerEnd: {
57
56
  id: string;
57
+ };
58
+ contentRendererInlineCommentMarkerStart: {
58
59
  defaultMessage: string;
59
60
  description: string;
61
+ id: string;
60
62
  };
61
63
  };
@@ -20,7 +20,8 @@ type HeadingProps = NodeProps<{
20
20
  * Gated Heading component:
21
21
  * - When platform_editor_copy_link_a11y_inconsistency_fix experiment is enabled,
22
22
  * returns HeadingWithWrapper (new a11y-improved structure)
23
- * - Otherwise returns HeadingWithDuplicateAnchor (old structure)
23
+ * - Otherwise preserves HeadingWithDuplicateAnchor (old structure), adding only the collapse
24
+ * container when the top-level heading is collapsible
24
25
  */
25
- declare function Heading({ allowHeadingAnchorLinks, children, dataAttributes, headingId, invisible, level, localId, marks, nodeType, showAnchorLink, serializer, asInline, }: HeadingProps): React.JSX.Element;
26
+ declare function Heading({ allowHeadingAnchorLinks, children, dataAttributes, headingId, invisible, level, localId, marks, nodeType, path, showAnchorLink, serializer, asInline, }: HeadingProps): React.JSX.Element;
26
27
  export default Heading;
@@ -0,0 +1,14 @@
1
+ import type { HeadingSection } from './collapsible-headings-section-model';
2
+ export declare const COLLAPSED_CONTENT_OWNERS_ATTRIBUTE = "data-renderer-collapsed-content-owners";
3
+ export type OriginalHiddenAttributes = WeakMap<HTMLElement, string | null>;
4
+ /** Returns renderer documents owned by this renderer root, excluding nested renderers. */
5
+ export declare function getOwnedRendererDocuments(rendererRoot: HTMLElement): HTMLElement[];
6
+ /** Applies only the visibility-attribute differences required by the collapsed section model. */
7
+ export declare function reconcileCollapsedHeadingContent({ collapsedHeadings, originalHiddenAttributes, rendererRoot, sections, }: {
8
+ collapsedHeadings: ReadonlySet<number>;
9
+ originalHiddenAttributes: OriginalHiddenAttributes;
10
+ rendererRoot: HTMLElement;
11
+ sections: ReadonlyArray<HeadingSection>;
12
+ }): void;
13
+ /** Returns the collapsed heading positions that currently hide an element. */
14
+ export declare function getCollapsedContentOwners(element: HTMLElement): number[];
@@ -0,0 +1,9 @@
1
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
+ export type HeadingSection = {
3
+ contentFrom: number;
4
+ headingPos: number;
5
+ level: number;
6
+ to: number;
7
+ };
8
+ /** Builds collapsible ranges for headings that are direct children of the renderer document. */
9
+ export declare function buildTopLevelHeadingSections(pmDocument?: PMNode): HeadingSection[];
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
+ export type CollapsibleHeadingsController = {
4
+ canCollapse: (headingPos: number) => boolean;
5
+ collapse: (headingPos: number) => void;
6
+ expand: (headingPos: number) => void;
7
+ expandContainingPosition: (position: number) => void;
8
+ expandMany: (headingPositions: Iterable<number>) => void;
9
+ isCollapsed: (headingPos: number) => boolean;
10
+ toggle: (headingPos: number) => void;
11
+ };
12
+ export type CollapsibleHeading = {
13
+ isCollapsed: boolean;
14
+ toggle: () => void;
15
+ };
16
+ /** Provides collapse state and synchronizes hidden top-level renderer content. */
17
+ export declare function CollapsibleHeadingsProvider({ children, isEnabled, pmDocument, rendererRef, }: {
18
+ children: React.ReactNode;
19
+ isEnabled: boolean;
20
+ pmDocument?: PMNode;
21
+ rendererRef: React.RefObject<HTMLDivElement>;
22
+ }): React.JSX.Element;
23
+ /** Returns collapse state for a top-level heading when the provider is enabled. */
24
+ export declare function useCollapsibleHeading(startPos: number, isTopLevel: boolean): CollapsibleHeading | null;
25
+ /** Returns the collapse controller for integrations such as renderer Find. */
26
+ export declare function useCollapsibleHeadingsController(): CollapsibleHeadingsController | null;
@@ -45,6 +45,13 @@ export interface RendererProps {
45
45
  adfStage?: ADFStage;
46
46
  allowAltTextOnImages?: boolean;
47
47
  allowAnnotations?: boolean;
48
+ /**
49
+ * **WARNING** this attribute is not supported outside of Confluence Full Page editors
50
+ * Until `platform_renderer_collapsible_headings` is cleaned up.
51
+ *
52
+ * Enables collapsing top-level heading sections in a full-page, full-width, max renderer only.
53
+ */
54
+ allowCollapsibleHeadings?: boolean;
48
55
  allowColumnSorting?: boolean;
49
56
  allowCopyToClipboard?: boolean;
50
57
  allowCustomPanels?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "133.14.2",
3
+ "version": "133.16.0",
4
4
  "description": "Renderer component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -32,23 +32,24 @@
32
32
  "dependencies": {
33
33
  "@atlaskit/adf-schema": "^56.1.0",
34
34
  "@atlaskit/adf-utils": "^20.3.0",
35
- "@atlaskit/afm-i18n-platform-editor-renderer": "2.194.0",
35
+ "@atlaskit/afm-i18n-platform-editor-renderer": "2.196.0",
36
36
  "@atlaskit/analytics-listeners": "^11.1.0",
37
37
  "@atlaskit/analytics-namespaced-context": "^8.1.0",
38
38
  "@atlaskit/analytics-next": "^12.3.0",
39
39
  "@atlaskit/browser-apis": "^1.2.0",
40
40
  "@atlaskit/button": "^24.3.0",
41
41
  "@atlaskit/code": "^18.2.0",
42
+ "@atlaskit/css": "^1.0.0",
42
43
  "@atlaskit/editor-json-transformer": "^9.0.0",
43
44
  "@atlaskit/editor-palette": "^3.1.0",
44
45
  "@atlaskit/editor-prosemirror": "^8.0.0",
45
46
  "@atlaskit/editor-shared-styles": "^4.0.0",
46
47
  "@atlaskit/editor-smart-link-draggable": "^1.1.0",
47
- "@atlaskit/emoji": "^71.11.0",
48
+ "@atlaskit/emoji": "^71.13.0",
48
49
  "@atlaskit/feature-gate-js-client": "^6.0.0",
49
50
  "@atlaskit/icon": "^37.1.0",
50
51
  "@atlaskit/link": "^4.3.0",
51
- "@atlaskit/link-datasource": "^6.1.0",
52
+ "@atlaskit/link-datasource": "^6.2.0",
52
53
  "@atlaskit/link-extractors": "^3.2.0",
53
54
  "@atlaskit/linking-common": "^11.0.0",
54
55
  "@atlaskit/media-card": "^81.4.0",
@@ -56,19 +57,19 @@
56
57
  "@atlaskit/media-client-react": "^6.1.0",
57
58
  "@atlaskit/media-common": "^14.3.0",
58
59
  "@atlaskit/media-filmstrip": "^52.2.0",
59
- "@atlaskit/media-ui": "^30.9.0",
60
+ "@atlaskit/media-ui": "^30.10.0",
60
61
  "@atlaskit/media-viewer": "^54.5.0",
61
62
  "@atlaskit/platform-feature-flags": "^2.1.0",
62
63
  "@atlaskit/platform-feature-flags-react": "^1.1.0",
63
64
  "@atlaskit/pragmatic-drag-and-drop": "^2.0.0",
64
65
  "@atlaskit/react-compiler-gating": "^0.2.0",
65
66
  "@atlaskit/react-ufo": "^7.3.0",
66
- "@atlaskit/smart-card": "^45.11.0",
67
- "@atlaskit/status": "^5.6.0",
68
- "@atlaskit/task-decision": "^21.6.0",
67
+ "@atlaskit/smart-card": "^45.12.0",
68
+ "@atlaskit/status": "^5.7.0",
69
+ "@atlaskit/task-decision": "^21.7.0",
69
70
  "@atlaskit/theme": "^26.1.0",
70
- "@atlaskit/tmp-editor-statsig": "^132.1.0",
71
- "@atlaskit/tokens": "^16.2.0",
71
+ "@atlaskit/tmp-editor-statsig": "^132.6.0",
72
+ "@atlaskit/tokens": "^16.3.0",
72
73
  "@atlaskit/tooltip": "^23.1.0",
73
74
  "@atlaskit/visually-hidden": "^4.2.0",
74
75
  "@babel/runtime": "^7.0.0",
@@ -82,7 +83,7 @@
82
83
  "uuid": "^3.1.0"
83
84
  },
84
85
  "peerDependencies": {
85
- "@atlaskit/editor-common": "^116.35.0",
86
+ "@atlaskit/editor-common": "^116.38.0",
86
87
  "@atlaskit/link-provider": "^5.2.0",
87
88
  "@atlaskit/media-core": "^38.0.0",
88
89
  "react": "^18.2.0",
@@ -100,10 +101,10 @@
100
101
  "@atlaskit/media-core": "^38.0.0",
101
102
  "@atlaskit/media-integration-test-helpers": "workspace:^",
102
103
  "@atlaskit/media-test-helpers": "^42.2.0",
103
- "@atlaskit/mention": "^27.9.0",
104
+ "@atlaskit/mention": "^27.10.0",
104
105
  "@atlaskit/modal-dialog": "^16.1.0",
105
106
  "@atlaskit/navigation-system": "^10.7.0",
106
- "@atlaskit/profilecard": "^26.12.0",
107
+ "@atlaskit/profilecard": "^26.13.0",
107
108
  "@atlaskit/side-nav-items": "^2.3.0",
108
109
  "@atlaskit/util-data-test": "^19.1.0",
109
110
  "@atlassian/a11y-jest-testing": "^0.13.0",