@atlaskit/editor-plugin-card 21.0.10 → 21.0.12

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 CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atlaskit/editor-plugin-card
2
2
 
3
+ ## 21.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9e4a665de419a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9e4a665de419a) -
8
+ Clean up of expriment flag `platform_editor_preview_panel_linking_exp_conf` and
9
+ `platform_editor_preview_panel_linking_exp_jira`.
10
+ - [`a8fb048ddba1a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a8fb048ddba1a) -
11
+ Add a gated table settings menu next to the column picker. When
12
+ `platform_lp_sllv_table_settings_menu` is on, the menu includes a wrap-text toggle that turns
13
+ wrapping on for every visible column, or off for every visible column. Gate off keeps the previous
14
+ column-picker-only header, and the editor does not pass `onWrappedColumnsChange`.
15
+
16
+ `DatasourceTableView` now accepts an optional `onWrappedColumnsChange` callback that updates the
17
+ wrapped state of multiple columns at once.
18
+
19
+ - Updated dependencies
20
+
21
+ ## 21.0.11
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies
26
+
3
27
  ## 21.0.10
4
28
 
5
29
  ### Patch Changes
@@ -22,6 +22,7 @@ var _utils = require("@atlaskit/editor-common/utils");
22
22
  var _linkDatasource = require("@atlaskit/link-datasource");
23
23
  var _linkProvider = require("@atlaskit/link-provider");
24
24
  var _linkingCommon = require("@atlaskit/linking-common");
25
+ var _fg = require("@atlaskit/platform-feature-flags/fg");
25
26
  var _datasourceErrorBoundary = require("../ui/datasourceErrorBoundary");
26
27
  var _EditorAnalyticsContext = require("../ui/EditorAnalyticsContext");
27
28
  function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
@@ -92,6 +93,14 @@ var DatasourceComponent = exports.DatasourceComponent = /*#__PURE__*/function (_
92
93
  }
93
94
  _this.updateTableProperties(visibleColumnKeys, columnCustomSizes, Array.from(wrappedColumnKeysSet));
94
95
  });
96
+ (0, _defineProperty2.default)(_this, "handleWrappedColumnsChange", function (wrappedColumnKeys) {
97
+ var _this$getColumnsInfo0 = _this.getColumnsInfo(),
98
+ _this$getColumnsInfo1 = _this$getColumnsInfo0.columnCustomSizes,
99
+ columnCustomSizes = _this$getColumnsInfo1 === void 0 ? {} : _this$getColumnsInfo1,
100
+ _this$getColumnsInfo10 = _this$getColumnsInfo0.visibleColumnKeys,
101
+ visibleColumnKeys = _this$getColumnsInfo10 === void 0 ? [] : _this$getColumnsInfo10;
102
+ _this.updateTableProperties(visibleColumnKeys, columnCustomSizes, wrappedColumnKeys);
103
+ });
95
104
  (0, _defineProperty2.default)(_this, "onError", function (_ref) {
96
105
  var err = _ref.err;
97
106
  if (err) {
@@ -184,10 +193,10 @@ var DatasourceComponent = exports.DatasourceComponent = /*#__PURE__*/function (_
184
193
  var attrs = this.props.node.attrs;
185
194
  var tableView = this.getTableView();
186
195
  if (tableView) {
187
- var _this$getColumnsInfo0 = this.getColumnsInfo(),
188
- visibleColumnKeys = _this$getColumnsInfo0.visibleColumnKeys,
189
- columnCustomSizes = _this$getColumnsInfo0.columnCustomSizes,
190
- wrappedColumnKeys = _this$getColumnsInfo0.wrappedColumnKeys;
196
+ var _this$getColumnsInfo11 = this.getColumnsInfo(),
197
+ visibleColumnKeys = _this$getColumnsInfo11.visibleColumnKeys,
198
+ columnCustomSizes = _this$getColumnsInfo11.columnCustomSizes,
199
+ wrappedColumnKeys = _this$getColumnsInfo11.wrappedColumnKeys;
191
200
  return (0, _react2.jsx)(_linkProvider.EditorSmartCardProviderValueGuard, null, (0, _react2.jsx)(_EditorAnalyticsContext.EditorAnalyticsContext, {
192
201
  editorView: this.props.view
193
202
  }, (0, _react2.jsx)(_linkProvider.EditorSmartCardProvider, null, (0, _react2.jsx)(_linkDatasource.DatasourceTableView, {
@@ -199,6 +208,7 @@ var DatasourceComponent = exports.DatasourceComponent = /*#__PURE__*/function (_
199
208
  onColumnResize: this.handleColumnResize,
200
209
  columnCustomSizes: columnCustomSizes,
201
210
  onWrappedColumnChange: this.handleWrappedColumnChange,
211
+ onWrappedColumnsChange: (0, _fg.fg)('platform_lp_sllv_table_settings_menu') ? this.handleWrappedColumnsChange : undefined,
202
212
  wrappedColumnKeys: wrappedColumnKeys
203
213
  }))));
204
214
  }
@@ -17,7 +17,6 @@ var _utils = require("@atlaskit/linking-common/utils");
17
17
  var _smartCard = require("@atlaskit/smart-card");
18
18
  var _useSmartLinkDestinationUrl = require("@atlaskit/smart-card/hook/use-smart-link-destination-url");
19
19
  var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
20
- var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
21
20
  var _actions = require("../pm-plugins/actions");
22
21
  var _pluginKey = require("../pm-plugins/plugin-key");
23
22
  var _AwarenessWrapper = require("../ui/AwarenessWrapper");
@@ -91,9 +90,7 @@ var InlineCardWithAwareness = exports.InlineCardWithAwareness = /*#__PURE__*/(0,
91
90
  selection = _useSharedPluginState.selection;
92
91
  var floatingToolbarNode = selection instanceof _state.NodeSelection && selection.node;
93
92
  // This is a prop to show Hover card, Hover card should be shown only in Live View and Classic Renderer (note when only Editor controls enabled we don't show in Live view)
94
- var showHoverPreview = floatingToolbarNode !== node && (0, _experiments.editorExperiment)('platform_editor_preview_panel_linking_exp', true, {
95
- exposure: true
96
- });
93
+ var showHoverPreview = floatingToolbarNode !== node;
97
94
  var innerCardWithOpenButtonOverlay = (0, _react.useMemo)(function () {
98
95
  var _pluginInjectionApi$a;
99
96
  return /*#__PURE__*/_react.default.createElement(_ui.HoverLinkOverlay, {
@@ -138,14 +135,10 @@ var InlineCardWithAwareness = exports.InlineCardWithAwareness = /*#__PURE__*/(0,
138
135
  }, [actionOptions, cardContext, getPos, isHovered, node, onClick, onResolve, useAlternativePreloader, view, isPageSSRed, provider, pluginInjectionApi]);
139
136
  var shouldShowOpenButtonOverlay = (0, _react.useMemo)(function () {
140
137
  var shouldShowOpenButtonOverlayInChomeless = editorAppearance === 'chromeless';
141
- return (mode === 'edit' || editorAppearance === 'comment' || shouldShowOpenButtonOverlayInChomeless) && ((0, _experiments.editorExperiment)('platform_editor_controls', 'variant1') || (0, _experiments.editorExperiment)('platform_editor_preview_panel_linking_exp', true, {
142
- exposure: true
143
- }));
138
+ return mode === 'edit' || editorAppearance === 'comment' || shouldShowOpenButtonOverlayInChomeless;
144
139
  }, [mode, editorAppearance]);
145
140
  var innerCard = shouldShowOpenButtonOverlay ? innerCardWithOpenButtonOverlay : innerCardOriginal;
146
- if (mode === 'view' && (0, _experiments.editorExperiment)('platform_editor_preview_panel_linking_exp', true, {
147
- exposure: true
148
- })) {
141
+ if (mode === 'view') {
149
142
  var _cardContext$value;
150
143
  var url = node.attrs.url;
151
144
  var cardState = cardContext === null || cardContext === void 0 || (_cardContext$value = cardContext.value) === null || _cardContext$value === void 0 || (_cardContext$value = _cardContext$value.store) === null || _cardContext$value === void 0 ? void 0 : _cardContext$value.getState()[url];
@@ -5,14 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.AwarenessWrapper = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
8
  var _react = require("react");
10
9
  var _react2 = require("@emotion/react");
11
10
  var _analyticsNext = require("@atlaskit/analytics-next");
12
- var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
13
11
  var _utils = require("../../pm-plugins/utils");
14
12
  var _useLinkUpgradeDiscoverability = _interopRequireDefault(require("../hooks/useLinkUpgradeDiscoverability"));
15
- var _InlineCardOverlay = _interopRequireDefault(require("../InlineCardOverlay"));
16
13
  var _localStorage = require("../local-storage");
17
14
  var _Pulse = require("../Pulse");
18
15
  /**
@@ -36,20 +33,14 @@ var AwarenessWrapper = exports.AwarenessWrapper = function AwarenessWrapper(_ref
36
33
  var cardContext = _ref.cardContext,
37
34
  children = _ref.children,
38
35
  getPos = _ref.getPos,
39
- isInserted = _ref.isInserted,
40
36
  isOverlayEnabled = _ref.isOverlayEnabled,
41
37
  isSelected = _ref.isSelected,
42
38
  isResolvedViewRendered = _ref.isResolvedViewRendered,
43
39
  isPulseEnabled = _ref.isPulseEnabled,
44
40
  markMostRecentlyInsertedLink = _ref.markMostRecentlyInsertedLink,
45
41
  pluginInjectionApi = _ref.pluginInjectionApi,
46
- setOverlayHoveredStyles = _ref.setOverlayHoveredStyles,
47
42
  url = _ref.url,
48
43
  appearance = _ref.appearance;
49
- var _useState = (0, _react.useState)(false),
50
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
- isHovered = _useState2[0],
52
- setIsHovered = _useState2[1];
53
44
  var linkPosition = (0, _react.useMemo)(function () {
54
45
  if (!getPos || typeof getPos === 'boolean') {
55
46
  return undefined;
@@ -80,30 +71,6 @@ var AwarenessWrapper = exports.AwarenessWrapper = function AwarenessWrapper(_ref
80
71
  markMostRecentlyInsertedLink(true);
81
72
  }
82
73
  }, [isLinkMostRecentlyInserted, markMostRecentlyInsertedLink, shouldShowLinkOverlay]);
83
- var handleOverlayChange = (0, _react.useCallback)(function (isHovered) {
84
- setIsHovered(isHovered);
85
- setOverlayHoveredStyles(isHovered);
86
- }, [setOverlayHoveredStyles]);
87
- var cardWithOverlay = (0, _react.useMemo)(function () {
88
- if (shouldShowLinkOverlay && !(0, _experiments.editorExperiment)('platform_editor_controls', 'variant1') && !(0, _experiments.editorExperiment)('platform_editor_preview_panel_linking_exp', true)) {
89
- return (0, _react2.jsx)(_InlineCardOverlay.default, {
90
- isSelected: isSelected,
91
- isVisible: isResolvedViewRendered && (isInserted || isHovered || isSelected)
92
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
93
- ,
94
- onMouseEnter: function onMouseEnter() {
95
- return handleOverlayChange(true);
96
- }
97
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
98
- ,
99
- onMouseLeave: function onMouseLeave() {
100
- return handleOverlayChange(false);
101
- },
102
- url: url
103
- }, children);
104
- }
105
- return children;
106
- }, [shouldShowLinkOverlay, children, isSelected, isResolvedViewRendered, isInserted, isHovered, url, handleOverlayChange]);
107
74
  var isInline = appearance === 'inline';
108
75
  var placeholderUniqId = linkPosition || 0;
109
76
  return (0, _react.useMemo)(function () {
@@ -129,6 +96,6 @@ var AwarenessWrapper = exports.AwarenessWrapper = function AwarenessWrapper(_ref
129
96
  shouldShowPulse: isResolvedViewRendered && shouldShowLinkPulse,
130
97
  testId: "link-discovery-pulse",
131
98
  isInline: isInline
132
- }, cardWithOverlay)));
133
- }, [shouldShowLinkPulse, url, cardContext === null || cardContext === void 0 || (_cardContext$value2 = cardContext.value) === null || _cardContext$value2 === void 0 ? void 0 : _cardContext$value2.store, isResolvedViewRendered, cardWithOverlay, isInline, placeholderUniqId]);
99
+ }, children)));
100
+ }, [shouldShowLinkPulse, url, cardContext === null || cardContext === void 0 || (_cardContext$value2 = cardContext.value) === null || _cardContext$value2 === void 0 ? void 0 : _cardContext$value2.store, isResolvedViewRendered, children, isInline, placeholderUniqId]);
134
101
  };
@@ -353,9 +353,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
353
353
  testId: 'link-toolbar-edit-link-button',
354
354
  onClick: (0, _EditLinkToolbar.getEditLinkCallback)(editorAnalyticsApi, true)
355
355
  }];
356
- var openPreviewPanelItems = (0, _experiments.editorExperiment)('platform_editor_preview_panel_linking_exp', true, {
357
- exposure: true
358
- }) ? [{
356
+ var openPreviewPanelItems = [{
359
357
  type: 'custom',
360
358
  fallback: [],
361
359
  render: function render() {
@@ -366,7 +364,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
366
364
  areAnyNewToolbarFlagsEnabled: !areAllNewToolbarFlagsDisabled
367
365
  });
368
366
  }
369
- }] : [];
367
+ }];
370
368
  var resolvedToolbarAttributes = url ? (_pluginState$resolved = pluginState === null || pluginState === void 0 ? void 0 : pluginState.resolvedToolbarAttributesByUrl[url]) !== null && _pluginState$resolved !== void 0 ? _pluginState$resolved : {} : {};
371
369
  var openLinkToolbarItemFallback = {
372
370
  id: 'editor.link.openLink',
@@ -14,6 +14,7 @@ import { calcBreakoutWidth } from '@atlaskit/editor-common/utils';
14
14
  import { DatasourceTableView } from '@atlaskit/link-datasource';
15
15
  import { EditorSmartCardProvider, EditorSmartCardProviderValueGuard } from '@atlaskit/link-provider';
16
16
  import { DATASOURCE_DEFAULT_LAYOUT } from '@atlaskit/linking-common';
17
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
17
18
  import { DatasourceErrorBoundary } from '../ui/datasourceErrorBoundary';
18
19
  import { EditorAnalyticsContext } from '../ui/EditorAnalyticsContext';
19
20
  const getPosSafely = pos => {
@@ -68,6 +69,13 @@ export class DatasourceComponent extends React.PureComponent {
68
69
  }
69
70
  this.updateTableProperties(visibleColumnKeys, columnCustomSizes, Array.from(wrappedColumnKeysSet));
70
71
  });
72
+ _defineProperty(this, "handleWrappedColumnsChange", wrappedColumnKeys => {
73
+ const {
74
+ columnCustomSizes = {},
75
+ visibleColumnKeys = []
76
+ } = this.getColumnsInfo();
77
+ this.updateTableProperties(visibleColumnKeys, columnCustomSizes, wrappedColumnKeys);
78
+ });
71
79
  _defineProperty(this, "onError", ({
72
80
  err
73
81
  }) => {
@@ -165,6 +173,7 @@ export class DatasourceComponent extends React.PureComponent {
165
173
  onColumnResize: this.handleColumnResize,
166
174
  columnCustomSizes: columnCustomSizes,
167
175
  onWrappedColumnChange: this.handleWrappedColumnChange,
176
+ onWrappedColumnsChange: fg('platform_lp_sllv_table_settings_menu') ? this.handleWrappedColumnsChange : undefined,
168
177
  wrappedColumnKeys: wrappedColumnKeys
169
178
  }))));
170
179
  }
@@ -8,7 +8,6 @@ import { isWithinPreviewPanelIFrame } from '@atlaskit/linking-common/utils';
8
8
  import { getObjectAri, getObjectName, getObjectIconUrl } from '@atlaskit/smart-card';
9
9
  import { useSmartLinkDestinationUrl } from '@atlaskit/smart-card/hook/use-smart-link-destination-url';
10
10
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
11
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
12
11
  import { registerRemoveOverlay } from '../pm-plugins/actions';
13
12
  import { pluginKey } from '../pm-plugins/plugin-key';
14
13
  import { AwarenessWrapper } from '../ui/AwarenessWrapper';
@@ -70,9 +69,7 @@ export const InlineCardWithAwareness = /*#__PURE__*/memo(({
70
69
  } = useSharedPluginStateWithSelector(pluginInjectionApi, ['selection', 'editorViewMode'], selector);
71
70
  const floatingToolbarNode = selection instanceof NodeSelection && selection.node;
72
71
  // This is a prop to show Hover card, Hover card should be shown only in Live View and Classic Renderer (note when only Editor controls enabled we don't show in Live view)
73
- const showHoverPreview = floatingToolbarNode !== node && editorExperiment('platform_editor_preview_panel_linking_exp', true, {
74
- exposure: true
75
- });
72
+ const showHoverPreview = floatingToolbarNode !== node;
76
73
  const innerCardWithOpenButtonOverlay = useMemo(() => {
77
74
  var _pluginInjectionApi$a;
78
75
  return /*#__PURE__*/React.createElement(HoverLinkOverlay, {
@@ -115,14 +112,10 @@ export const InlineCardWithAwareness = /*#__PURE__*/memo(({
115
112
  }), [actionOptions, cardContext, getPos, isHovered, node, onClick, onResolve, useAlternativePreloader, view, isPageSSRed, provider, pluginInjectionApi]);
116
113
  const shouldShowOpenButtonOverlay = useMemo(() => {
117
114
  const shouldShowOpenButtonOverlayInChomeless = editorAppearance === 'chromeless';
118
- return (mode === 'edit' || editorAppearance === 'comment' || shouldShowOpenButtonOverlayInChomeless) && (editorExperiment('platform_editor_controls', 'variant1') || editorExperiment('platform_editor_preview_panel_linking_exp', true, {
119
- exposure: true
120
- }));
115
+ return mode === 'edit' || editorAppearance === 'comment' || shouldShowOpenButtonOverlayInChomeless;
121
116
  }, [mode, editorAppearance]);
122
117
  let innerCard = shouldShowOpenButtonOverlay ? innerCardWithOpenButtonOverlay : innerCardOriginal;
123
- if (mode === 'view' && editorExperiment('platform_editor_preview_panel_linking_exp', true, {
124
- exposure: true
125
- })) {
118
+ if (mode === 'view') {
126
119
  var _cardContext$value, _cardContext$value$st;
127
120
  const url = node.attrs.url;
128
121
  const cardState = cardContext === null || cardContext === void 0 ? void 0 : (_cardContext$value = cardContext.value) === null || _cardContext$value === void 0 ? void 0 : (_cardContext$value$st = _cardContext$value.store) === null || _cardContext$value$st === void 0 ? void 0 : _cardContext$value$st.getState()[url];
@@ -2,15 +2,13 @@
2
2
  * @jsxRuntime classic
3
3
  * @jsx jsx
4
4
  */
5
- import { useCallback, useEffect, useMemo, useState } from 'react';
5
+ import { useEffect, useMemo } from 'react';
6
6
 
7
7
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import { AnalyticsContext } from '@atlaskit/analytics-next';
10
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
11
10
  import { getResolvedAttributesFromStore } from '../../pm-plugins/utils';
12
11
  import useLinkUpgradeDiscoverability from '../hooks/useLinkUpgradeDiscoverability';
13
- import InlineCardOverlay from '../InlineCardOverlay';
14
12
  import { isLocalStorageKeyDiscovered, LOCAL_STORAGE_DISCOVERY_KEY_SMART_LINK, LOCAL_STORAGE_DISCOVERY_KEY_TOOLBAR, markLocalStorageKeyDiscovered, ONE_DAY_IN_MILLISECONDS } from '../local-storage';
15
13
  import { DiscoveryPulse } from '../Pulse';
16
14
  // editor adds a standard line-height that is bigger than an inline smart link
@@ -26,19 +24,16 @@ export const AwarenessWrapper = ({
26
24
  cardContext,
27
25
  children,
28
26
  getPos,
29
- isInserted,
30
27
  isOverlayEnabled,
31
28
  isSelected,
32
29
  isResolvedViewRendered,
33
30
  isPulseEnabled,
34
31
  markMostRecentlyInsertedLink,
35
32
  pluginInjectionApi,
36
- setOverlayHoveredStyles,
37
33
  url,
38
34
  appearance
39
35
  }) => {
40
36
  var _cardContext$value2;
41
- const [isHovered, setIsHovered] = useState(false);
42
37
  const linkPosition = useMemo(() => {
43
38
  if (!getPos || typeof getPos === 'boolean') {
44
39
  return undefined;
@@ -70,26 +65,6 @@ export const AwarenessWrapper = ({
70
65
  markMostRecentlyInsertedLink(true);
71
66
  }
72
67
  }, [isLinkMostRecentlyInserted, markMostRecentlyInsertedLink, shouldShowLinkOverlay]);
73
- const handleOverlayChange = useCallback(isHovered => {
74
- setIsHovered(isHovered);
75
- setOverlayHoveredStyles(isHovered);
76
- }, [setOverlayHoveredStyles]);
77
- const cardWithOverlay = useMemo(() => {
78
- if (shouldShowLinkOverlay && !editorExperiment('platform_editor_controls', 'variant1') && !editorExperiment('platform_editor_preview_panel_linking_exp', true)) {
79
- return jsx(InlineCardOverlay, {
80
- isSelected: isSelected,
81
- isVisible: isResolvedViewRendered && (isInserted || isHovered || isSelected)
82
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
83
- ,
84
- onMouseEnter: () => handleOverlayChange(true)
85
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
86
- ,
87
- onMouseLeave: () => handleOverlayChange(false),
88
- url: url
89
- }, children);
90
- }
91
- return children;
92
- }, [shouldShowLinkOverlay, children, isSelected, isResolvedViewRendered, isInserted, isHovered, url, handleOverlayChange]);
93
68
  const isInline = appearance === 'inline';
94
69
  const placeholderUniqId = linkPosition || 0;
95
70
  return useMemo(() => {
@@ -115,6 +90,6 @@ export const AwarenessWrapper = ({
115
90
  shouldShowPulse: isResolvedViewRendered && shouldShowLinkPulse,
116
91
  testId: "link-discovery-pulse",
117
92
  isInline: isInline
118
- }, cardWithOverlay)));
119
- }, [shouldShowLinkPulse, url, cardContext === null || cardContext === void 0 ? void 0 : (_cardContext$value2 = cardContext.value) === null || _cardContext$value2 === void 0 ? void 0 : _cardContext$value2.store, isResolvedViewRendered, cardWithOverlay, isInline, placeholderUniqId]);
93
+ }, children)));
94
+ }, [shouldShowLinkPulse, url, cardContext === null || cardContext === void 0 ? void 0 : (_cardContext$value2 = cardContext.value) === null || _cardContext$value2 === void 0 ? void 0 : _cardContext$value2.store, isResolvedViewRendered, children, isInline, placeholderUniqId]);
120
95
  };
@@ -340,9 +340,7 @@ const generateToolbarItems = (state, intl, providerFactory, cardOptions, lpLinkP
340
340
  testId: 'link-toolbar-edit-link-button',
341
341
  onClick: getEditLinkCallback(editorAnalyticsApi, true)
342
342
  }];
343
- const openPreviewPanelItems = editorExperiment('platform_editor_preview_panel_linking_exp', true, {
344
- exposure: true
345
- }) ? [{
343
+ const openPreviewPanelItems = [{
346
344
  type: 'custom',
347
345
  fallback: [],
348
346
  render: () => /*#__PURE__*/React.createElement(OpenPreviewPanelToolbarButton, {
@@ -351,7 +349,7 @@ const generateToolbarItems = (state, intl, providerFactory, cardOptions, lpLinkP
351
349
  editorAnalyticsApi: editorAnalyticsApi,
352
350
  areAnyNewToolbarFlagsEnabled: !areAllNewToolbarFlagsDisabled
353
351
  })
354
- }] : [];
352
+ }];
355
353
  const resolvedToolbarAttributes = url ? (_pluginState$resolved = pluginState === null || pluginState === void 0 ? void 0 : pluginState.resolvedToolbarAttributesByUrl[url]) !== null && _pluginState$resolved !== void 0 ? _pluginState$resolved : {} : {};
356
354
  const openLinkToolbarItemFallback = {
357
355
  id: 'editor.link.openLink',
@@ -26,6 +26,7 @@ import { calcBreakoutWidth } from '@atlaskit/editor-common/utils';
26
26
  import { DatasourceTableView } from '@atlaskit/link-datasource';
27
27
  import { EditorSmartCardProvider, EditorSmartCardProviderValueGuard } from '@atlaskit/link-provider';
28
28
  import { DATASOURCE_DEFAULT_LAYOUT } from '@atlaskit/linking-common';
29
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
29
30
  import { DatasourceErrorBoundary } from '../ui/datasourceErrorBoundary';
30
31
  import { EditorAnalyticsContext } from '../ui/EditorAnalyticsContext';
31
32
  var getPosSafely = function getPosSafely(pos) {
@@ -88,6 +89,14 @@ export var DatasourceComponent = /*#__PURE__*/function (_React$PureComponent) {
88
89
  }
89
90
  _this.updateTableProperties(visibleColumnKeys, columnCustomSizes, Array.from(wrappedColumnKeysSet));
90
91
  });
92
+ _defineProperty(_this, "handleWrappedColumnsChange", function (wrappedColumnKeys) {
93
+ var _this$getColumnsInfo0 = _this.getColumnsInfo(),
94
+ _this$getColumnsInfo1 = _this$getColumnsInfo0.columnCustomSizes,
95
+ columnCustomSizes = _this$getColumnsInfo1 === void 0 ? {} : _this$getColumnsInfo1,
96
+ _this$getColumnsInfo10 = _this$getColumnsInfo0.visibleColumnKeys,
97
+ visibleColumnKeys = _this$getColumnsInfo10 === void 0 ? [] : _this$getColumnsInfo10;
98
+ _this.updateTableProperties(visibleColumnKeys, columnCustomSizes, wrappedColumnKeys);
99
+ });
91
100
  _defineProperty(_this, "onError", function (_ref) {
92
101
  var err = _ref.err;
93
102
  if (err) {
@@ -180,10 +189,10 @@ export var DatasourceComponent = /*#__PURE__*/function (_React$PureComponent) {
180
189
  var attrs = this.props.node.attrs;
181
190
  var tableView = this.getTableView();
182
191
  if (tableView) {
183
- var _this$getColumnsInfo0 = this.getColumnsInfo(),
184
- visibleColumnKeys = _this$getColumnsInfo0.visibleColumnKeys,
185
- columnCustomSizes = _this$getColumnsInfo0.columnCustomSizes,
186
- wrappedColumnKeys = _this$getColumnsInfo0.wrappedColumnKeys;
192
+ var _this$getColumnsInfo11 = this.getColumnsInfo(),
193
+ visibleColumnKeys = _this$getColumnsInfo11.visibleColumnKeys,
194
+ columnCustomSizes = _this$getColumnsInfo11.columnCustomSizes,
195
+ wrappedColumnKeys = _this$getColumnsInfo11.wrappedColumnKeys;
187
196
  return jsx(EditorSmartCardProviderValueGuard, null, jsx(EditorAnalyticsContext, {
188
197
  editorView: this.props.view
189
198
  }, jsx(EditorSmartCardProvider, null, jsx(DatasourceTableView, {
@@ -195,6 +204,7 @@ export var DatasourceComponent = /*#__PURE__*/function (_React$PureComponent) {
195
204
  onColumnResize: this.handleColumnResize,
196
205
  columnCustomSizes: columnCustomSizes,
197
206
  onWrappedColumnChange: this.handleWrappedColumnChange,
207
+ onWrappedColumnsChange: fg('platform_lp_sllv_table_settings_menu') ? this.handleWrappedColumnsChange : undefined,
198
208
  wrappedColumnKeys: wrappedColumnKeys
199
209
  }))));
200
210
  }
@@ -9,7 +9,6 @@ import { isWithinPreviewPanelIFrame } from '@atlaskit/linking-common/utils';
9
9
  import { getObjectAri, getObjectName, getObjectIconUrl } from '@atlaskit/smart-card';
10
10
  import { useSmartLinkDestinationUrl } from '@atlaskit/smart-card/hook/use-smart-link-destination-url';
11
11
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
12
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
13
12
  import { registerRemoveOverlay } from '../pm-plugins/actions';
14
13
  import { pluginKey } from '../pm-plugins/plugin-key';
15
14
  import { AwarenessWrapper } from '../ui/AwarenessWrapper';
@@ -82,9 +81,7 @@ export var InlineCardWithAwareness = /*#__PURE__*/memo(function (_ref) {
82
81
  selection = _useSharedPluginState.selection;
83
82
  var floatingToolbarNode = selection instanceof NodeSelection && selection.node;
84
83
  // This is a prop to show Hover card, Hover card should be shown only in Live View and Classic Renderer (note when only Editor controls enabled we don't show in Live view)
85
- var showHoverPreview = floatingToolbarNode !== node && editorExperiment('platform_editor_preview_panel_linking_exp', true, {
86
- exposure: true
87
- });
84
+ var showHoverPreview = floatingToolbarNode !== node;
88
85
  var innerCardWithOpenButtonOverlay = useMemo(function () {
89
86
  var _pluginInjectionApi$a;
90
87
  return /*#__PURE__*/React.createElement(HoverLinkOverlay, {
@@ -129,14 +126,10 @@ export var InlineCardWithAwareness = /*#__PURE__*/memo(function (_ref) {
129
126
  }, [actionOptions, cardContext, getPos, isHovered, node, onClick, onResolve, useAlternativePreloader, view, isPageSSRed, provider, pluginInjectionApi]);
130
127
  var shouldShowOpenButtonOverlay = useMemo(function () {
131
128
  var shouldShowOpenButtonOverlayInChomeless = editorAppearance === 'chromeless';
132
- return (mode === 'edit' || editorAppearance === 'comment' || shouldShowOpenButtonOverlayInChomeless) && (editorExperiment('platform_editor_controls', 'variant1') || editorExperiment('platform_editor_preview_panel_linking_exp', true, {
133
- exposure: true
134
- }));
129
+ return mode === 'edit' || editorAppearance === 'comment' || shouldShowOpenButtonOverlayInChomeless;
135
130
  }, [mode, editorAppearance]);
136
131
  var innerCard = shouldShowOpenButtonOverlay ? innerCardWithOpenButtonOverlay : innerCardOriginal;
137
- if (mode === 'view' && editorExperiment('platform_editor_preview_panel_linking_exp', true, {
138
- exposure: true
139
- })) {
132
+ if (mode === 'view') {
140
133
  var _cardContext$value;
141
134
  var url = node.attrs.url;
142
135
  var cardState = cardContext === null || cardContext === void 0 || (_cardContext$value = cardContext.value) === null || _cardContext$value === void 0 || (_cardContext$value = _cardContext$value.store) === null || _cardContext$value === void 0 ? void 0 : _cardContext$value.getState()[url];
@@ -1,17 +1,14 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
1
  /**
3
2
  * @jsxRuntime classic
4
3
  * @jsx jsx
5
4
  */
6
- import { useCallback, useEffect, useMemo, useState } from 'react';
5
+ import { useEffect, useMemo } from 'react';
7
6
 
8
7
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
9
8
  import { css, jsx } from '@emotion/react';
10
9
  import { AnalyticsContext } from '@atlaskit/analytics-next';
11
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
12
10
  import { getResolvedAttributesFromStore } from '../../pm-plugins/utils';
13
11
  import useLinkUpgradeDiscoverability from '../hooks/useLinkUpgradeDiscoverability';
14
- import InlineCardOverlay from '../InlineCardOverlay';
15
12
  import { isLocalStorageKeyDiscovered, LOCAL_STORAGE_DISCOVERY_KEY_SMART_LINK, LOCAL_STORAGE_DISCOVERY_KEY_TOOLBAR, markLocalStorageKeyDiscovered, ONE_DAY_IN_MILLISECONDS } from '../local-storage';
16
13
  import { DiscoveryPulse } from '../Pulse';
17
14
  // editor adds a standard line-height that is bigger than an inline smart link
@@ -28,20 +25,14 @@ export var AwarenessWrapper = function AwarenessWrapper(_ref) {
28
25
  var cardContext = _ref.cardContext,
29
26
  children = _ref.children,
30
27
  getPos = _ref.getPos,
31
- isInserted = _ref.isInserted,
32
28
  isOverlayEnabled = _ref.isOverlayEnabled,
33
29
  isSelected = _ref.isSelected,
34
30
  isResolvedViewRendered = _ref.isResolvedViewRendered,
35
31
  isPulseEnabled = _ref.isPulseEnabled,
36
32
  markMostRecentlyInsertedLink = _ref.markMostRecentlyInsertedLink,
37
33
  pluginInjectionApi = _ref.pluginInjectionApi,
38
- setOverlayHoveredStyles = _ref.setOverlayHoveredStyles,
39
34
  url = _ref.url,
40
35
  appearance = _ref.appearance;
41
- var _useState = useState(false),
42
- _useState2 = _slicedToArray(_useState, 2),
43
- isHovered = _useState2[0],
44
- setIsHovered = _useState2[1];
45
36
  var linkPosition = useMemo(function () {
46
37
  if (!getPos || typeof getPos === 'boolean') {
47
38
  return undefined;
@@ -72,30 +63,6 @@ export var AwarenessWrapper = function AwarenessWrapper(_ref) {
72
63
  markMostRecentlyInsertedLink(true);
73
64
  }
74
65
  }, [isLinkMostRecentlyInserted, markMostRecentlyInsertedLink, shouldShowLinkOverlay]);
75
- var handleOverlayChange = useCallback(function (isHovered) {
76
- setIsHovered(isHovered);
77
- setOverlayHoveredStyles(isHovered);
78
- }, [setOverlayHoveredStyles]);
79
- var cardWithOverlay = useMemo(function () {
80
- if (shouldShowLinkOverlay && !editorExperiment('platform_editor_controls', 'variant1') && !editorExperiment('platform_editor_preview_panel_linking_exp', true)) {
81
- return jsx(InlineCardOverlay, {
82
- isSelected: isSelected,
83
- isVisible: isResolvedViewRendered && (isInserted || isHovered || isSelected)
84
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
85
- ,
86
- onMouseEnter: function onMouseEnter() {
87
- return handleOverlayChange(true);
88
- }
89
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
90
- ,
91
- onMouseLeave: function onMouseLeave() {
92
- return handleOverlayChange(false);
93
- },
94
- url: url
95
- }, children);
96
- }
97
- return children;
98
- }, [shouldShowLinkOverlay, children, isSelected, isResolvedViewRendered, isInserted, isHovered, url, handleOverlayChange]);
99
66
  var isInline = appearance === 'inline';
100
67
  var placeholderUniqId = linkPosition || 0;
101
68
  return useMemo(function () {
@@ -121,6 +88,6 @@ export var AwarenessWrapper = function AwarenessWrapper(_ref) {
121
88
  shouldShowPulse: isResolvedViewRendered && shouldShowLinkPulse,
122
89
  testId: "link-discovery-pulse",
123
90
  isInline: isInline
124
- }, cardWithOverlay)));
125
- }, [shouldShowLinkPulse, url, cardContext === null || cardContext === void 0 || (_cardContext$value2 = cardContext.value) === null || _cardContext$value2 === void 0 ? void 0 : _cardContext$value2.store, isResolvedViewRendered, cardWithOverlay, isInline, placeholderUniqId]);
91
+ }, children)));
92
+ }, [shouldShowLinkPulse, url, cardContext === null || cardContext === void 0 || (_cardContext$value2 = cardContext.value) === null || _cardContext$value2 === void 0 ? void 0 : _cardContext$value2.store, isResolvedViewRendered, children, isInline, placeholderUniqId]);
126
93
  };
@@ -344,9 +344,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
344
344
  testId: 'link-toolbar-edit-link-button',
345
345
  onClick: getEditLinkCallback(editorAnalyticsApi, true)
346
346
  }];
347
- var openPreviewPanelItems = editorExperiment('platform_editor_preview_panel_linking_exp', true, {
348
- exposure: true
349
- }) ? [{
347
+ var openPreviewPanelItems = [{
350
348
  type: 'custom',
351
349
  fallback: [],
352
350
  render: function render() {
@@ -357,7 +355,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
357
355
  areAnyNewToolbarFlagsEnabled: !areAllNewToolbarFlagsDisabled
358
356
  });
359
357
  }
360
- }] : [];
358
+ }];
361
359
  var resolvedToolbarAttributes = url ? (_pluginState$resolved = pluginState === null || pluginState === void 0 ? void 0 : pluginState.resolvedToolbarAttributesByUrl[url]) !== null && _pluginState$resolved !== void 0 ? _pluginState$resolved : {} : {};
362
360
  var openLinkToolbarItemFallback = {
363
361
  id: 'editor.link.openLink',
@@ -31,6 +31,7 @@ export declare class DatasourceComponent extends React.PureComponent<DatasourceC
31
31
  handleColumnChange: (columnKeys: string[]) => void;
32
32
  handleColumnResize: (key: string, width: number) => void;
33
33
  handleWrappedColumnChange: (key: string, shouldWrap: boolean) => void;
34
+ handleWrappedColumnsChange: (wrappedColumnKeys: string[]) => void;
34
35
  onError: ({ err }: {
35
36
  err?: Error;
36
37
  }) => void;
@@ -11,5 +11,5 @@ type AwarenessWrapperProps = {
11
11
  setOverlayHoveredStyles: (isHovered: boolean) => void;
12
12
  url: string;
13
13
  } & Partial<SmartCardProps>;
14
- export declare const AwarenessWrapper: ({ cardContext, children, getPos, isInserted, isOverlayEnabled, isSelected, isResolvedViewRendered, isPulseEnabled, markMostRecentlyInsertedLink, pluginInjectionApi, setOverlayHoveredStyles, url, appearance, }: AwarenessWrapperProps) => jsx.JSX.Element;
14
+ export declare const AwarenessWrapper: ({ cardContext, children, getPos, isOverlayEnabled, isSelected, isResolvedViewRendered, isPulseEnabled, markMostRecentlyInsertedLink, pluginInjectionApi, url, appearance, }: AwarenessWrapperProps) => jsx.JSX.Element;
15
15
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-card",
3
- "version": "21.0.10",
3
+ "version": "21.0.12",
4
4
  "description": "Card plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@atlaskit/adf-schema": "^57.0.0",
25
25
  "@atlaskit/analytics-next": "^12.3.0",
26
- "@atlaskit/button": "^25.1.0",
26
+ "@atlaskit/button": "^25.2.0",
27
27
  "@atlaskit/css": "^1.0.0",
28
28
  "@atlaskit/custom-steps": "^1.0.0",
29
29
  "@atlaskit/editor-card-provider": "^7.1.0",
@@ -42,27 +42,27 @@
42
42
  "@atlaskit/editor-prosemirror": "^8.0.0",
43
43
  "@atlaskit/editor-shared-styles": "^4.0.0",
44
44
  "@atlaskit/editor-smart-link-draggable": "^1.2.0",
45
- "@atlaskit/editor-toolbar": "^2.5.0",
46
- "@atlaskit/editor-ui-control-model": "^2.7.0",
45
+ "@atlaskit/editor-toolbar": "^2.6.0",
46
+ "@atlaskit/editor-ui-control-model": "^2.8.0",
47
47
  "@atlaskit/frontend-utilities": "^4.1.0",
48
- "@atlaskit/icon": "^37.4.0",
48
+ "@atlaskit/icon": "^37.5.0",
49
49
  "@atlaskit/json-ld-types": "^2.0.0",
50
- "@atlaskit/link": "^5.0.0",
51
- "@atlaskit/link-analytics": "^12.1.0",
52
- "@atlaskit/link-client-extension": "^7.1.0",
53
- "@atlaskit/link-datasource": "^6.4.0",
54
- "@atlaskit/link-extractors": "^4.0.0",
55
- "@atlaskit/linking-common": "^11.2.0",
56
- "@atlaskit/linking-types": "^15.0.0",
57
- "@atlaskit/menu": "^10.0.0",
50
+ "@atlaskit/link": "^5.1.0",
51
+ "@atlaskit/link-analytics": "^12.2.0",
52
+ "@atlaskit/link-client-extension": "^7.2.0",
53
+ "@atlaskit/link-datasource": "^6.7.0",
54
+ "@atlaskit/link-extractors": "^4.1.0",
55
+ "@atlaskit/linking-common": "^12.0.0",
56
+ "@atlaskit/linking-types": "^15.1.0",
57
+ "@atlaskit/menu": "^10.1.0",
58
58
  "@atlaskit/platform-feature-experiments": "^0.3.0",
59
59
  "@atlaskit/platform-feature-flags": "^2.1.0",
60
60
  "@atlaskit/platform-feature-flags-react": "^1.1.0",
61
- "@atlaskit/primitives": "^22.3.0",
61
+ "@atlaskit/primitives": "^22.4.0",
62
62
  "@atlaskit/prosemirror-history": "^1.2.0",
63
- "@atlaskit/smart-card": "^45.17.0",
64
- "@atlaskit/tmp-editor-statsig": "^156.0.0",
65
- "@atlaskit/tokens": "^16.7.0",
63
+ "@atlaskit/smart-card": "^45.18.0",
64
+ "@atlaskit/tmp-editor-statsig": "^158.0.0",
65
+ "@atlaskit/tokens": "^16.8.0",
66
66
  "@babel/runtime": "^7.0.0",
67
67
  "@emotion/react": "^11.7.1",
68
68
  "lodash": "^4.17.21",
@@ -71,8 +71,8 @@
71
71
  "uuid": "^3.1.0"
72
72
  },
73
73
  "peerDependencies": {
74
- "@atlaskit/editor-common": "^119.12.0",
75
- "@atlaskit/link-provider": "^5.3.0",
74
+ "@atlaskit/editor-common": "^119.16.0",
75
+ "@atlaskit/link-provider": "^5.4.0",
76
76
  "react": "^18.2.0 || ^19.2.0",
77
77
  "react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
78
78
  },
@@ -126,6 +126,9 @@
126
126
  "type": "boolean",
127
127
  "referenceOnly": true
128
128
  },
129
+ "platform_lp_sllv_table_settings_menu": {
130
+ "type": "boolean"
131
+ },
129
132
  "jim-lower-ranking-in-jira-macro-search": {
130
133
  "type": "boolean"
131
134
  }